chapter 12
TRANSCRIPT
![Page 1: Chapter 12](https://reader035.vdocuments.us/reader035/viewer/2022062513/555ee494d8b42ab6408b52a3/html5/thumbnails/1.jpg)
1
Operating System Design
Chapter 12
12.1 The nature of the design problem 12.2 Interface design 12.3 Implementation 12.4 Performance 12.5 Project management 12.6 Prends in operating system design
![Page 2: Chapter 12](https://reader035.vdocuments.us/reader035/viewer/2022062513/555ee494d8b42ab6408b52a3/html5/thumbnails/2.jpg)
2
Paradigms (1)
Algorithmic code
![Page 3: Chapter 12](https://reader035.vdocuments.us/reader035/viewer/2022062513/555ee494d8b42ab6408b52a3/html5/thumbnails/3.jpg)
3
Paradigms (2)
Event-driven code
![Page 4: Chapter 12](https://reader035.vdocuments.us/reader035/viewer/2022062513/555ee494d8b42ab6408b52a3/html5/thumbnails/4.jpg)
4
Implementation
One possible design for a modern layered operating system
Layer
![Page 5: Chapter 12](https://reader035.vdocuments.us/reader035/viewer/2022062513/555ee494d8b42ab6408b52a3/html5/thumbnails/5.jpg)
5
Naming
Directories are used to map external names onto internal names
![Page 6: Chapter 12](https://reader035.vdocuments.us/reader035/viewer/2022062513/555ee494d8b42ab6408b52a3/html5/thumbnails/6.jpg)
6
Static Versus Dynamic Structures
Code for searching the process table for a given PID.
Searching a static table for a pid
![Page 7: Chapter 12](https://reader035.vdocuments.us/reader035/viewer/2022062513/555ee494d8b42ab6408b52a3/html5/thumbnails/7.jpg)
7
Hiding the Hardware (1)
CPU-dependent conditional compilation
![Page 8: Chapter 12](https://reader035.vdocuments.us/reader035/viewer/2022062513/555ee494d8b42ab6408b52a3/html5/thumbnails/8.jpg)
8
Hiding the Hardware (2)
Word-length dependent conditional compilation
![Page 9: Chapter 12](https://reader035.vdocuments.us/reader035/viewer/2022062513/555ee494d8b42ab6408b52a3/html5/thumbnails/9.jpg)
9
Space-Time Trade-offs (1)
A procedure for counting bits in a byte
(a)
A procedure to count the 1 bits in a byte
![Page 10: Chapter 12](https://reader035.vdocuments.us/reader035/viewer/2022062513/555ee494d8b42ab6408b52a3/html5/thumbnails/10.jpg)
10
Space-Time Trade-offs (2)
• A macro to count the bits• A macro to access bit count in a table
(b) Macro to count the bytes(c) Macro to look up the count
![Page 11: Chapter 12](https://reader035.vdocuments.us/reader035/viewer/2022062513/555ee494d8b42ab6408b52a3/html5/thumbnails/11.jpg)
11
Space-Time Trade-offs (3)
(a) Part of an uncompressed image with 24 bits per pixel(b) Same part compressed with GIF, 8 bits per pixel(c) The color palate
![Page 12: Chapter 12](https://reader035.vdocuments.us/reader035/viewer/2022062513/555ee494d8b42ab6408b52a3/html5/thumbnails/12.jpg)
12
Caching
Part of an i-node cache
![Page 13: Chapter 12](https://reader035.vdocuments.us/reader035/viewer/2022062513/555ee494d8b42ab6408b52a3/html5/thumbnails/13.jpg)
13
Software team Structure
Mills’ proposal for populating a 10-person chief programmer team
![Page 14: Chapter 12](https://reader035.vdocuments.us/reader035/viewer/2022062513/555ee494d8b42ab6408b52a3/html5/thumbnails/14.jpg)
14
The Role of Experience (1)
Traditional software design progresses in stages
![Page 15: Chapter 12](https://reader035.vdocuments.us/reader035/viewer/2022062513/555ee494d8b42ab6408b52a3/html5/thumbnails/15.jpg)
15
The Role of Experience (2)
• Alternative design produces a working system– that does nothing starting on day 1