Epilogue - Operating Systems - Lecture Notes, Study notes of Operating Systems

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

2012/2013

Uploaded on 04/23/2013

ashalata
ashalata 🇮🇳

3.8

(18)

106 documents

1 / 37

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
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
Epilogue Page 1
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25

Partial preview of the text

Download Epilogue - Operating Systems - Lecture Notes and more Study notes Operating Systems in PDF only on Docsity!

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