100% found this document useful (1 vote)
60 views

Chapter12 OperatingSystemDesign

The document discusses operating system design. It outlines the main goals of general purpose operating systems as defining abstractions, providing primitive operations, ensuring isolation, and managing hardware. It also discusses concepts like layered systems, client-server architectures, caching, and trends involving virtualization and cloud computing.

Uploaded by

Atharva Patil
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
60 views

Chapter12 OperatingSystemDesign

The document discusses operating system design. It outlines the main goals of general purpose operating systems as defining abstractions, providing primitive operations, ensuring isolation, and managing hardware. It also discusses concepts like layered systems, client-server architectures, caching, and trends involving virtualization and cloud computing.

Uploaded by

Atharva Patil
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 18

Operating System Design

Chapter 12

Tanenbaum & Bos, Modern Operating Systems: 4th ed., Global Edition (c) 2015 Pearson Education Limited. All rights reserved.
Goals
Main goals of general purpose operating
systems:
1.Define abstractions.
2.Provide primitive operations.
3.Ensure isolation.
4.Manage the hardware.

Tanenbaum & Bos, Modern Operating Systems: 4th ed., Global Edition (c) 2015 Pearson Education Limited. All rights reserved.
Interface Design
Guiding Principles

1. Simplicity
2. Completeness
3. Efficiency

Tanenbaum & Bos, Modern Operating Systems: 4th ed., Global Edition (c) 2015 Pearson Education Limited. All rights reserved.
Execution Paradigms

Figure 12-1. (a) Algorithmic code. (b) Event-driven code.

Tanenbaum & Bos, Modern Operating Systems: 4th ed., Global Edition (c) 2015 Pearson Education Limited. All rights reserved.
System Structure
Layered Systems

Figure 12-2. One possible design for a modern layered


operating system.
Tanenbaum & Bos, Modern Operating Systems: 4th ed., Global Edition (c) 2015 Pearson Education Limited. All rights reserved.
Microkernel-Based
Client-Server Systems

Figure 12-3. Client-server computing based on a microkernel.

Tanenbaum & Bos, Modern Operating Systems: 4th ed., Global Edition (c) 2015 Pearson Education Limited. All rights reserved.
Naming

Figure 12-4. Directories are used to map external


names onto internal names.
Tanenbaum & Bos, Modern Operating Systems: 4th ed., Global Edition (c) 2015 Pearson Education Limited. All rights reserved.
Static vs. Dynamic Structures

Figure 12-5. Code for searching the process


table for a given PID.
Tanenbaum & Bos, Modern Operating Systems: 4th ed., Global Edition (c) 2015 Pearson Education Limited. All rights reserved.
Hiding the Hardware

Figure 12-6. (a) CPU-dependent conditional compilation.


(b) Word-length-dependent conditional compilation.
Tanenbaum & Bos, Modern Operating Systems: 4th ed., Global Edition (c) 2015 Pearson Education Limited. All rights reserved.
Space-Time Trade-offs (1)

Figure 12-7. (a) A procedure for counting bits in a byte.

Tanenbaum & Bos, Modern Operating Systems: 4th ed., Global Edition (c) 2015 Pearson Education Limited. All rights reserved.
Space-Time Trade-offs (2)

Figure 12-7. (b) A macro to count the bits. (c) A macro that
counts bits by table lookup.
Tanenbaum & Bos, Modern Operating Systems: 4th ed., Global Edition (c) 2015 Pearson Education Limited. All rights reserved.
Space-Time Trade-offs (3)

Figure 12-8. (a) Part of an uncompressed image with 24 bits per


pixel. (b) The same part compressed with GIF, with 8 bits per pixel.
(c) The color palette.
Tanenbaum & Bos, Modern Operating Systems: 4th ed., Global Edition (c) 2015 Pearson Education Limited. All rights reserved.
Caching (1)
To look up /usr/ast/mbox requires the following
disk accesses:
1.Read the i-node for the root directory (i-node 1).
2.Read the root directory (block 1).
3.Read the i-node for /usr (i-node 6).
4.Read the /usr directory (block 132).
5.Read the i-node for /usr/ast (i-node 26).
6.Read the /usr/ast directory (block 406).

Tanenbaum & Bos, Modern Operating Systems: 4th ed., Global Edition (c) 2015 Pearson Education Limited. All rights reserved.
Caching (2)

Figure 12-9. Part of the i-node cache for Fig. 4-34.

Tanenbaum & Bos, Modern Operating Systems: 4th ed., Global Edition (c) 2015 Pearson Education Limited. All rights reserved.
Project Management
Team Structure

Figure 12-10. Mills’ proposal for populating a


10-person chief programmer team.
Tanenbaum & Bos, Modern Operating Systems: 4th ed., Global Edition (c) 2015 Pearson Education Limited. All rights reserved.
The Role of Experience

Figure 12-11. (a) Traditional software design progresses in


stages. (b) Alternative design produces a working system (that
does nothing) starting on day 1.
Tanenbaum & Bos, Modern Operating Systems: 4th ed., Global Edition (c) 2015 Pearson Education Limited. All rights reserved.
Trends In Operating System Design
Virtualization and the Cloud

Figure 12-12. A hypervisor running four virtual machines.

Tanenbaum & Bos, Modern Operating Systems: 4th ed., Global Edition (c) 2015 Pearson Education Limited. All rights reserved.
End

Chapter 12

Tanenbaum & Bos, Modern Operating Systems: 4th ed., Global Edition (c) 2015 Pearson Education Limited. All rights reserved.

You might also like