1 / 21

Week 10

Week 10. March 10, 2004 Adrienne Noble. Important Dates. Project 4 due tomorrow (Friday) Final Exam on Tuesday, March 16, 2:30-4:20pm. Questions?. Lecture Project 4. Pre-Midterm Topics. Basic OS components and architectural support Processes User versus protected mode Threads

normagarcia
Download Presentation

Week 10

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Week 10 March 10, 2004 Adrienne Noble

  2. Important Dates • Project 4 due tomorrow (Friday) • Final Exam on Tuesday, March 16, 2:30-4:20pm

  3. Questions? • Lecture • Project 4

  4. Pre-Midterm Topics • Basic OS components and architectural support • Processes • User versus protected mode • Threads • Synchronization • Mutexes • Semaphores • Monitors • Condition variables • Deadlock • Scheduling

  5. Memory Management • Multiprogramming brought some problems • Protection • Fast memory access • Consistent way to talk to memory • So we use virtual addresses

  6. Address Translation

  7. Segmentation • Partitions an address space into logical units • Today usually code, stack, heap, etc. • Advantages • Nice to have logical blocks • Disadvantages • Can lead to bad external fragmentation

  8. Paging • Partitions memory into fixed sized chunks • Usually used with segmentation • One page table per segment

  9. Page Faults • OS uses main memory as a cache of disk storage • Just keep accessed pages in main memory • How it happens: • PTE set as invalid when page was evicted • Causes an exception to be thrown when a process tries to access an invalid page • OS runs page fault handler • Uses invalid PTE to locate page on disk (possibly through another data structure) • Gets an empty physical page frame from page replacement algorithm • Reads page into physical page frame • Updates PTE to point to that physical page and be valid • OS restarts faulting process (by putting it on the ready queue)

  10. Page Replacement • Chooses “best” page to evict when more space is needed • Algorithms • Belady’s Algorithm – optimal (page that will be reference furthest in the future) • FIFO – page that was brought in longest ago • LRU – least recently used • LRU clock – approximation of LRU • Hypothetical Working Set Algorithm – try optimize memory given to each process by looking at their working sets • Page Fault Frequency – try to equalize the page fault rate between processes • Thrashing – when the system uses most of it’s time dealing with page faults and very little time doing actual work

  11. Page Tables • One level page table • Simple, but takes lots of space • Two/Three/Four level page tables • Save space • Only need to allocate the blocks that actually contain data • Can page page tables in and out of memory • Slower because more memory accesses are needed • Solution? • TLB • Cache virtual to physical translations • Fully associative (all entries searched in parallel) • Implemented in hardware • >99% hit rate

  12. Disks • Performance depends on • Seek – how fast the disk arm can move • Rotation – how fast the disk can rotate • Transfer – getting data from disk surface to memory • Disk Scheduling • FCFS – ok when load is low • SSTF – minimize seek time, but favors middle blocks and can cause starvation (why?) • SCAN – elevator, favors middle blocks • C-SCAN – one way elevator

  13. File Systems • cse451fs • File names, inodes, writing/reading • Protection • ACLs – list of who has access to file • Capabilities – easy to transfer (like keys) • Disks are divided up:

  14. BSD UNIX Fast File System • Cylinder groups • Blocks for one file must all be located in the same cylinder (along with the file’s inode too) • Seek times are shorter • Increased block size – 4KB • Faster • More internal fragmentation • Aware of hardware • Knows about disk parameters, so it can optimize operations • More complicated code

  15. Berkley Log-Structured File System • Uses disk as a log • Written only at one end • Challenges • Locating inodes • Keep an inode map at fixed location • Free space management • Divide disk into segments, then clean and combine those segments periodically

  16. RAID • Goals - speed and reliability • Level 0 • Striped • Level 1 • Striped and mirrored • Level 2,3,4 • Parity disk • Level 5 • Interleaved distributed parity

  17. Networking • IP (Internet Protocol) • A way of naming hosts and routing packets between hosts • TCP (Transmission Control Protocol) • Makes reliable multi-packet messages • Abstraction above IP

  18. Distributed Systems • Loosely coupled • Network protocols • Autonomous systems • Closely coupled • Single OS • Shares logical and physical resources

  19. RPC (Remote Procedure Call) • Used to call a method on a remote host • Server publishes API • Client does local procedure calls • Calls a stub which manages the details using the RPC runtime system • Transparent to the programmer

  20. Security • Authentication • Username/password • Public/private keys • Authorization • Keep track of user’s read/write access to different objects • Auditing • Record what’s going on

  21. Other Tips • Refresh your knowledge about the projects • Review lecture notes and homework problems • Congratulations on making it through a tough class! 

More Related