Virtual memory 4 separation of user logical memory

  • Slides: 29
Download presentation
Virtual memory 4 separation of user logical memory from physical memory < Only part

Virtual memory 4 separation of user logical memory from physical memory < Only part of the program needs to be in memory for execution. < Logical address space can therefore be much larger than physical address space. < Allows address spaces to be shared by several processes. < Allows for more efficient process creation 9/11/2021 CSE 542: Graduate Operating Systems page 1

Demand Paging 4 Bring a page into memory only when it is needed. <

Demand Paging 4 Bring a page into memory only when it is needed. < Less I/O needed < Less memory needed < Faster response < More users 4 Page is needed reference to it < invalid reference abort < not-in-memory bring to memory 9/11/2021 CSE 542: Graduate Operating Systems page 2

Valid-Invalid Bit 4 With each page table entry a valid–invalid bit is associated (1

Valid-Invalid Bit 4 With each page table entry a valid–invalid bit is associated (1 in-memory, 0 not-in-memory) 4 Initially valid–invalid but is set to 0 on all entries. 4 Example of a page table snapshot. Frame # valid-invalid bit 1 1 0 � 0 0 page table 4 During address translation, if valid–invalid bit in page table entry is 0 page fault. 9/11/2021 CSE 542: Graduate Operating Systems page 3

Page Fault 4 If there is ever a reference to a page, first reference

Page Fault 4 If there is ever a reference to a page, first reference will trap to OS page fault 4 OS looks at another table to decide: < Invalid reference abort. < Just not in memory. 4 4 Get empty frame. Swap page into frame. Reset tables, validation bit = 1. Restart instruction: Least Recently Used < block move < auto increment/decrement location 9/11/2021 CSE 542: Graduate Operating Systems page 4

What happens if there is no free frame? 4 Page replacement – find some

What happens if there is no free frame? 4 Page replacement – find some page in memory, but not really in use, swap it out < performance – want an algorithm which will result in minimum number of page faults. 4 Same page may be brought into memory several times. 4 Page Fault Rate 0 p 1. 0 < if p = 0 no page faults < if p = 1, every reference is a fault 9/11/2021 CSE 542: Graduate Operating Systems page 5

Process Creation 4 Virtual memory allows other benefits during process creation: < Copy-on-Write =

Process Creation 4 Virtual memory allows other benefits during process creation: < Copy-on-Write = Copy-on-Write (COW) allows both parent and child processes to initially share the same pages in memory. = If either process modifies a shared page, only then is the page copied. COW allows more efficient process creation as only modified pages are copied < Memory-Mapped Files = Memory-mapped file I/O allows file I/O to be treated as routine memory access by mapping a disk block to a page in memory = Simplifies file access by treating file I/O through memory rather than read() write() system calls = Also allows several processes to map the same file allowing the pages in memory to be shared 9/11/2021 CSE 542: Graduate Operating Systems page 6

Page Replacement 4 Prevent over-allocation of memory by modifying page-fault service routine to include

Page Replacement 4 Prevent over-allocation of memory by modifying page-fault service routine to include page replacement. 4 Use modify (dirty) bit to reduce overhead of page transfers – only modified pages are written to disk. 4 Page replacement completes separation between logical memory and physical memory – large virtual memory can be provided on a smaller physical memory. 9/11/2021 CSE 542: Graduate Operating Systems page 7

Basic Page Replacement 1. Find the location of the desired page on disk. 2.

Basic Page Replacement 1. Find the location of the desired page on disk. 2. Find a free frame: - If there is a free frame, use it. - If there is no free frame, use a page replacement algorithm to select a victim frame. 3. Read the desired page into the (newly) free frame. Update the page and frame tables. 4. Restart the process. 9/11/2021 CSE 542: Graduate Operating Systems page 8

Page Replacement Algorithms 4 Want lowest page-fault rate. 4 Evaluate algorithm by running it

Page Replacement Algorithms 4 Want lowest page-fault rate. 4 Evaluate algorithm by running it on a particular string of memory references (reference string) and computing the number of page faults on that string. 4 In all our examples, the reference string is 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5. 9/11/2021 CSE 542: Graduate Operating Systems page 9

First-In-First-Out (FIFO) Algorithm 4 Reference string: 1, 2, 3, 4, 1, 2, 5, 1,

First-In-First-Out (FIFO) Algorithm 4 Reference string: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 4 3 frames (3 pages can be in memory at a time per process) 1 1 4 5 2 2 1 3 3 3 2 4 1 1 5 4 2 2 1 5 3 3 2 4 4 3 9 page faults 4 4 frames 10 page faults 4 FIFO Replacement – Belady’s Anomaly < more frames less page faults 9/11/2021 CSE 542: Graduate Operating Systems page 10

FIFO Illustrating Belady’s Anomaly 9/11/2021 CSE 542: Graduate Operating Systems page 11

FIFO Illustrating Belady’s Anomaly 9/11/2021 CSE 542: Graduate Operating Systems page 11

Optimal Algorithm 4 Replace page that will not be used for longest period of

Optimal Algorithm 4 Replace page that will not be used for longest period of time. 4 4 frames example 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 1 4 2 6 page faults 3 4 5 4 How do you know this? 4 Used for measuring how well your algorithm performs. 9/11/2021 CSE 542: Graduate Operating Systems page 12

Least Recently Used (LRU) Algorithm 4 Reference string: 1, 2, 3, 4, 1, 2,

Least Recently Used (LRU) Algorithm 4 Reference string: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 1 5 2 3 5 4 3 4 4 Counter implementation < Every page entry has a counter; every time page is referenced through this entry, copy the clock into the counter. < When a page needs to be changed, look at the counters to determine which are to change. 9/11/2021 CSE 542: Graduate Operating Systems page 13

LRU Algorithm (Cont. ) 4 Stack implementation – keep a stack of page numbers

LRU Algorithm (Cont. ) 4 Stack implementation – keep a stack of page numbers in a double link form: < Page referenced: = move it to the top = requires 6 pointers to be changed < No search for replacement 9/11/2021 CSE 542: Graduate Operating Systems page 14

LRU Approximation Algorithms 4 Reference bit < With each page associate a bit, initially

LRU Approximation Algorithms 4 Reference bit < With each page associate a bit, initially = 0 < When page is referenced bit set to 1. < Replace the one which is 0 (if one exists). We do not know the order, however. 4 Second chance < Need reference bit. < Clock replacement. < If page to be replaced (in clock order) has reference bit = 1. then: = set reference bit 0. = leave page in memory. = replace next page (in clock order), subject to same rules. 9/11/2021 CSE 542: Graduate Operating Systems page 15

Counting Algorithms 4 Keep a counter of the number of references that have been

Counting Algorithms 4 Keep a counter of the number of references that have been made to each page. 4 LFU Algorithm: replaces page with smallest count. 4 MFU Algorithm: based on the argument that the page with the smallest count was probably just brought in and has yet to be used. 9/11/2021 CSE 542: Graduate Operating Systems page 16

Thrashing 4 If a process does not have “enough” pages, the page-fault rate is

Thrashing 4 If a process does not have “enough” pages, the page-fault rate is very high. This leads to: < low CPU utilization. < operating system thinks that it needs to increase the degree of multiprogramming. < another process added to the system. 4 Thrashing a process is busy swapping pages in and out. 9/11/2021 CSE 542: Graduate Operating Systems page 17

Thrashing 4 Why does paging work? Locality model < Process migrates from one locality

Thrashing 4 Why does paging work? Locality model < Process migrates from one locality to another. < Localities may overlap. 4 Why does thrashing occur? size of locality > total memory size 9/11/2021 CSE 542: Graduate Operating Systems page 18

Demand Segmentation 4 Used when insufficient hardware to implement demand paging. 4 OS/2 allocates

Demand Segmentation 4 Used when insufficient hardware to implement demand paging. 4 OS/2 allocates memory in segments, which it keeps track of through segment descriptors 4 Segment descriptor contains a valid bit to indicate whether the segment is currently in memory. < If segment is in main memory, access continues, < If not in memory, segment fault. 9/11/2021 CSE 542: Graduate Operating Systems page 19

Outline 4 Chapter 18: Protection 4 Chapter 19: Security 9/11/2021 CSE 542: Graduate Operating

Outline 4 Chapter 18: Protection 4 Chapter 19: Security 9/11/2021 CSE 542: Graduate Operating Systems page 20

Protection 4 Protect computer resources from being accessed by processes that should not have

Protection 4 Protect computer resources from being accessed by processes that should not have access < Access right: Operations allowed on an object < Domain: Set of all access rights 4 UNIX: domain is userid, setuid bit in file switches domains 4 Multics: rings, tasks can get access based on entry points 4 Access Matrix defines protection: rows represent domains & columns represent objects < Global table < Access list for objects: easier to program < Capability list for domains/users: < Hybrid: lock-key mechanism 4 Revocation of rights: < Immediate vs delayed, selective vs general, partial vs total, temporary vs permanent 9/11/2021 CSE 542: Graduate Operating Systems page 21

Revocation 4 Access List – Delete access rights from access list. < Simple <

Revocation 4 Access List – Delete access rights from access list. < Simple < Immediate 4 Capability List – Scheme required to locate capability in the system before capability can be revoked. < Reacquisition < Back-pointers < Indirection < Keys 9/11/2021 CSE 542: Graduate Operating Systems page 22

Compiler/language based mechanism 4 Compiler based enforcement < Specification of protection in a programming

Compiler/language based mechanism 4 Compiler based enforcement < Specification of protection in a programming language allows the high-level description of policies for the allocation and use of resources 4 Java VM < Multiple threads within a single JVM have different access rights 4 A class is assigned a protection domain when it is loaded by the JVM. The protection domain indicates what operations the class can (and cannot) perform < Protection enforced using stack inspection 9/11/2021 CSE 542: Graduate Operating Systems page 23

Security 4 Security problem: protection from unauthorized access, malicious modification or destruction 4 User

Security 4 Security problem: protection from unauthorized access, malicious modification or destruction 4 User authentication: < Passwords = Encrypted passwords – Encrypted form should be secret because attacker can check offline = One-time passwords = Biometrics 4 Threats: < Trojan horse < Trap door/stack and buffer overflow < Worms/viruses < Denial of service < Intrusion and detection 9/11/2021 CSE 542: Graduate Operating Systems page 24

Risk analysis 4 Important to understand threat and perform risk analysis < No system

Risk analysis 4 Important to understand threat and perform risk analysis < No system is “secure”, systems usually trade security for performance, ease of use etc. < If information is worth x and it costs y to break into system and if (x < y), then not worth encryption < Wasteful to build a system that is more secure than is necessary = Ssh in CSE dept – good < Palm pilots may not require powerful encryption systems if they are expected to be physically secure 9/11/2021 CSE 542: Graduate Operating Systems page 25

Security classification 4 U. S. Department of Defense outlines four divisions of computer security:

Security classification 4 U. S. Department of Defense outlines four divisions of computer security: A, B, C, and D < D – Minimal security < C – Provides discretionary protection through auditing. Divided into C 1 and C 2. C 1 identifies cooperating users with the same level of protection. C 2 allows user-level access control < B – All the properties of C, however each object may have unique sensitivity labels. Divided into B 1, B 2, and B 3 < A – Uses formal design and verification techniques to ensure security 4 Windows NT: Configurable security from D to C 2 4 Su. SE Linux Enterprise Server 8 on IBM e. Server x. Series Evaluation Assurance Level 2+ certification (EAL 2) 4 http: //www. radium. ncsc. mil/tpep/epl/historical. html 9/11/2021 CSE 542: Graduate Operating Systems page 26

Security Attacks 4 Social engineering attacks < Preys on people gullibility (good nature), hardest

Security Attacks 4 Social engineering attacks < Preys on people gullibility (good nature), hardest to defend =E. g. I once got an unlisted number from a telephone operator because I sounded desperate (I was, but that was not the point) =E. g. Anna kour*va virus, Nigerian email scam, MS update scam =E. g. If I walk in with coupla heavy looking boxes into the elevator to go to Fitz 3 rd floor (at night) would you let me in? You can get into “secure” companies by looking like you “belong” there 4 Denial of service attacks < Network flooding, Distributed DOS, holding resources, viruses 9/11/2021 CSE 542: Graduate Operating Systems page 27

Common technology - firewalls 4 Firewalls are used to restrict the kinds of network

Common technology - firewalls 4 Firewalls are used to restrict the kinds of network traffic in/out of companies < Application level proxies < Packet level firewalls 4 Does not prevent end-to-end security violations < People sometimes email list of internal computer users outside firewall to scrupulous “researchers” < Emails viruses exploit certain vulnerabilities in VBS to get around firewalls 9/11/2021 CSE 542: Graduate Operating Systems page 28

Intrusion detection 4 Detect attempts to intrude into computer systems. 4 Detection methods: <

Intrusion detection 4 Detect attempts to intrude into computer systems. 4 Detection methods: < Auditing and logging < Tripwire (UNIX software that checks if certain files and directories have been altered – I. e. password files) 4 System call monitoring 9/11/2021 CSE 542: Graduate Operating Systems page 29