O perating s ystems t hree e asy p ieces



Download 3,96 Mb.
Pdf ko'rish
bet126/384
Sana01.01.2022
Hajmi3,96 Mb.
#286329
1   ...   122   123   124   125   126   127   128   129   ...   384
Bog'liq
Operating system three easy pease

References

[HJ92] Purify: Fast Detection of Memory Leaks and Access Errors

R. Hastings and B. Joyce

USENIX Winter ’92

The paper behind the cool Purify tool, now a commercial product.

[KR88] “The C Programming Language”

Brian Kernighan and Dennis Ritchie

Prentice-Hall 1988

The C book, by the developers of C. Read it once, do some programming, then read it again, and then

keep it near your desk or wherever you program.

[N+07] “Exterminator: Automatically Correcting Memory Errors with High Probability”

Gene Novark, Emery D. Berger, and Benjamin G. Zorn

PLDI 2007

A cool paper on finding and correcting memory errors automatically, and a great overview of many

common errors in C and C++ programs.

[SN05] “Using Valgrind to Detect Undefined Value Errors with Bit-precision”

J. Seward and N. Nethercote

USENIX ’05

How to use valgrind to find certain types of errors.

[SR05] “Advanced Programming in the U

NIX

Environment”



W. Richard Stevens and Stephen A. Rago

Addison-Wesley, 2005

We’ve said it before, we’ll say it again: read this book many times and use it as a reference whenever you

are in doubt. The authors are always surprised at how each time they read something in this book, they

learn something new, even after many years of C programming.

[W06] “Survey on Buffer Overflow Attacks and Countermeasures”

Tim Werthman

Available: www.nds.rub.de/lehre/seminar/SS06/Werthmann BufferOverflow.pdf

A nice survey of buffer overflows and some of the security problems they cause. Refers to many of the

famous exploits.

c

 2014, A


RPACI

-D

USSEAU



T

HREE


E

ASY


P

IECES




15

Mechanism: Address Translation

In developing the virtualization of the CPU, we focused on a general

mechanism known as limited direct execution (or LDE). The idea be-

hind LDE is simple: for the most part, let the program run directly on the

hardware; however, at certain key points in time (such as when a process

issues a system call, or a timer interrupt occurs), arrange so that the OS

gets involved and makes sure the “right” thing happens. Thus, the OS,

with a little hardware support, tries its best to get out of the way of the

running program, to deliver an efficient virtualization; however, by inter-



posing

at those critical points in time, the OS ensures that it maintains

control over the hardware. Efficiency and control together are two of the

main goals of any modern operating system.

In virtualizing memory, we will pursue a similar strategy, attaining

both efficiency and control while providing the desired virtualization. Ef-

ficiency dictates that we make use of hardware support, which at first

will be quite rudimentary (e.g., just a few registers) but will grow to be

fairly complex (e.g., TLBs, page-table support, and so forth, as you will

see). Control implies that the OS ensures that no application is allowed

to access any memory but its own; thus, to protect applications from one

another, and the OS from applications, we will need help from the hard-

ware here too. Finally, we will need a little more from the VM system, in

terms of flexibility; specifically, we’d like for programs to be able to use

their address spaces in whatever way they would like, thus making the

system easier to program. And thus arrive at the refined crux:

T

HE

C



RUX

:

H



OW

T

O



E

FFICIENTLY

A

ND

F



LEXIBLY

V

IRTUALIZE



M

EMORY


How can we build an efficient virtualization of memory? How do

we provide the flexibility needed by applications? How do we maintain

control over which memory locations an application can access, and thus

ensure that application memory accesses are properly restricted? How

do we do all of this efficiently?

129



130

M

ECHANISM



: A

DDRESS


T

RANSLATION

The generic technique we will use, which you can consider an addition

to our general approach of limited direct execution, is something that is

referred to as hardware-based address translation, or just address trans-


Download 3,96 Mb.

Do'stlaringiz bilan baham:
1   ...   122   123   124   125   126   127   128   129   ...   384




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish