0% found this document useful (0 votes)
54 views43 pages

Chapter 1

Uploaded by

Jack Ripper
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views43 pages

Chapter 1

Uploaded by

Jack Ripper
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 43

MODERN OPERATING SYSTEMS

Third Edition
ANDREW S. TANENBAUM

Chapter 1
Introduction

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
What Is An Operating System (1)

A modern computer consists of:

• One or more processors


• Main memory
• Disks
• Printers
• Various input/output devices

Managing all these components requires a layer of


software – the operating system

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
What Is An Operating System (2)

Figure 1-1. Where the operating system fits in.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
The Operating System as an Extended
Machine

Figure 1-2. Operating systems turn ugly hardware into beautiful


abstractions.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
The Operating System as a Resource
Manager

• Allow multiple programs to run at the same time


• Manage and protect memory, I/O devices, and
other resources
• Includes multiplexing (sharing) resources in two
different ways:
• In time
• In space

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
History of Operating Systems

Generations:

• (1945–55) Vacuum Tubes


• (1955–65) Transistors and Batch Systems
• (1965–1980) ICs and Multiprogramming
• (1980–Present) Personal Computers

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Transistors and Batch Systems (1)

Figure 1-3. An early batch system.


(a) Programmers bring cards to 1401.
(b)1401 reads batch of jobs onto tape.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Transistors and Batch Systems (2)

Figure 1-3. (c) Operator carries input tape to 7094.


(d) 7094 does computing. (e) Operator carries output tape to
1401. (f) 1401 prints output.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Transistors and Batch Systems (4)

Figure 1-4. Structure of a typical FMS job.


Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
ICs and Multiprogramming

Figure 1-5. A multiprogramming system


with three jobs in memory.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Computer Hardware Review

Figure 1-6. Some of the components


of a simple personal computer.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
CPU Pipelining

Figure 1-7. (a) A three-stage pipeline. (b) A superscalar CPU.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Multithreaded and Multicore Chips

Figure 1-8. (a) A quad-core chip with a shared L2 cache.


(b) A quad-core chip with separate L2 caches.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Memory (1)

Figure 1-9. A typical memory hierarchy.


The numbers are very rough approximations.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Memory (2)

Questions when dealing with cache:

• When to put a new item into the cache.


• Which cache line to put the new item in.
• Which item to remove from the cache when a
slot is needed.
• Where to put a newly evicted item in the larger
memory.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Disks

Figure 1-10. Structure of a disk drive.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
I/O Devices

Figure 1-11. (a) The steps in starting an I/O device and


getting an interrupt.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Buses

Figure 1-12. The structure of a large Pentium system


Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
The Operating System Zoo

• Mainframe operating systems


• Server operating systems
• Multiprocessor operating systems
• Personal computer operating systems
• Handheld operating systems
• Embedded operating systems
• Sensor node operating systems
• Real-time operating systems
• Smart card operating systems
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Operating System Concepts
• Processes
• Address spaces
• Files
• Input/Output
• Protection
• The shell
• Ontogeny recapitulates phylogeny
• Large memories
• Protection hardware
• Disks
• Virtual memory

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Processes

Figure 1-13. A process tree. Process A created two child


processes, B and C. Process B created three child
processes, D, E, and F.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Files (1)

Figure 1-14. A file system for a university department.


Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Files (2)

Figure 1-15. (a) Before mounting, the files on the CD-ROM are not
accessible. (b) After mounting, they are part of the file
hierarchy.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Files (3)

Figure 1-16. Two processes connected by a pipe.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
System Calls

Figure 1-17. The 11 steps in making the system call


read(fd, buffer, nbytes).
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
System Calls for Process Management

Figure 1-18. Some of the major POSIX system calls.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
System Calls for File Management (1)

Figure 1-18. Some of the major POSIX system calls.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
System Calls for File Management (2)

Figure 1-18. Some of the major POSIX system calls.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Miscellaneous System Calls

Figure 1-18. Some of the major POSIX system calls.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
A Simple Shell

Figure 1-19. A stripped-down shell.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Memory Layout

Figure 1-20. Processes have three segments:


text, data, and stack.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Linking

Figure 1-21. (a) Two directories before linking /usr/jim/memo to


ast’s directory. (b) The same directories after linking.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Mounting

Figure 1-22. (a) File system before the mount.


(b) File system after the mount.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Windows Win32 API

Figure 1-23. The Win32 API calls that roughly correspond


to the UNIX calls of Fig. 1-18.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Operating Systems Structure

Monolithic systems – basic structure:

• A main program that invokes the requested


service procedure.
• A set of service procedures that carry out the
system calls.
• A set of utility procedures that help the service
procedures.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Monolithic Systems

Figure 1-24. A simple structuring model for a monolithic system.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Layered Systems

Figure 1-25. Structure of the THE operating system.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Microkernels

Figure 1-26. Structure of the MINIX 3 system.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Client-Server Model

Figure 1-27. The client-server model over a network.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Virtual Machines (1)

Figure 1-28. The structure of VM/370 with CMS.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Virtual Machines (2)

Figure 1-29. (a) A type 1 hypervisor. (b) A type 2 hypervisor.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
The World According to C

• The C language
• Header files
• Large programming projects
• The model of run time

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
The Model of Run Time

Figure 1-30. The process of compiling C and header files to


make an executable.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

You might also like