





























Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Main points of this lecture are: Epilogue, Elements of Story, Illusion of Autonomy, Design Tradeoffs, Transactional Filesystems, Knowledge Boundaries, Virtual Memory Subsystem, Disk Scheduler, Accesses to Memory, Deadlock-Free, Thrashing
Typology: Study notes
1 / 37
This page cannot be seen from the preview
Don't miss anything!






























From the physical hardware, To the code that manages it, To the optimal structure of that code, To models that describe the code, To predictive techniques for behavior. We have taken a rather long journey Epilogue Thursday, December 09, 2004 2:16 PM Docsity.com
The realities of running in constant time. How to maintain the illusion of autonomy for processes. How actions are made atomic in a concurrent environment. How the complex is made simple via knowledge boundaries and producer/consumer relationships. Design tradeoffs between efficiency and responsiveness. Conditions to avoid and how to avoid them. Elements of the story Elements of the story Thursday, December 10, 2009 12:09 PM Docsity.com
Knowledge boundaries: it's easier to write modules if one limits what knowledge they know or handle. Locality: if next accesses are near prior accesses, then caching is effective in speeding up access. Proof: it is not possible to debug concurrent code. It is necessary to prove it correct. Contracts: some multi-level subsystems work properly only because the lower-level system caches content for the upper-level one. Some important principles Some important principles Thursday, December 10, 2009 12:34 PM Docsity.com
The disk scheduler doesn't know the meaning of blocks. The virtual memory subsystem doesn't know the meaning of pages. The raw disk driver doesn't know where the superblocks are located. The filesystem driver doesn't know how to write a block. And if they did, they would be too complex to write. Knowledge boundaries Knowledge boundaries Thursday, December 10, 2009 12:12 PM Docsity.com
I hope the examples I gave show that locking, deadlock, and livelock are subtle concepts. It is not enough to debug a concurrent program; this would not detect subtle race conditions. One must prove that a process is deadlock-free. Proof Proof Thursday, December 09, 2010 11:57 AM Docsity.com
Some subsystems only function properly because of the behavior of others. Example: the disk page cache makes EXT and EXT3 filesystems practical. Contracts Contracts Thursday, December 06, 2012 3:48 PM Docsity.com
Round robin scheduling. Batch scheduling. Lock priority algorithm. Banker's algorithm. Some algorithms to know Some algorithms to know Thursday, December 06, 2012 5:11 PM Docsity.com
Sparse structures (e.g. memory pages) are represented by hashing (inverted tables). Dense structures (e.g., driver tables) are represented by arrays and caches. Translation lookaside buffering: a way to speed up use of multiple-level hashes. Structural representation Structural representation Thursday, December 10, 2009 12:13 PM Docsity.com
The concept of identity. Users and groups. Files and protections. For files. For processes. Setuid and setgid. Attacks and countermeasures. Security Security Wednesday, December 07, 2011 3:26 PM Docsity.com
Look at the preceding slides. design tradeoffs. I/O subsystem. Filesystems. Emphases: For what's on the final…. For what's on the final…. Thursday, December 09, 2010 12:02 PM Docsity.com
Networking (comp112) Network management (comp114) Security (comp116) Distributed systems (comp150PDC) Cloud computing (comp150CPA) What next? What next? Thursday, December 10, 2009 11:55 AM Docsity.com
Operating systems are a very active research area. Advances are made each year. We haven't talked much about present-day innovations. Not a stale discipline: Not a stale discipline Thursday, December 09, 2010 12:19 PM Docsity.com
Virtualization : running multiple operating systems on one physical host. Proactive bug avoidance : making the operating system detect and avoid known software bugs. New privilege models : the "user" is obsolete. High-performance storage: rethinking the disk drive. Provenance-aware filesystems : store how the file was created, as well as its contents. Self-management and self-organization: can operating systems take care of themselves? What's hot: What's hot: Thursday, December 09, 2010 12:22 PM Docsity.com
You might consider operating systems to be dramatically non-social tools. Operating systems and social pressure what people use is what implementors debug. In fact, they're very much controlled by social factors: There is huge social pressure to fix some things, and an equal lack of pressure to fix other things. Operating systems and social pressure Thursday, December 09, 2010 12:37 PM Docsity.com