Chapter 3: Operating-System Structures
Chapter 3: Operating-System Structures
Chapter 3: Operating-System Structures
System Components
Operating System Services
System Calls
System Programs
System Structure
Virtual Machines
System Design and Implementation
System Generation
Common System Components
Process Management
Main Memory Management
File Management
I/O System Management
Secondary Management
Networking
Protection System
Command-Interpreter System
Process Management
A process is a program in execution. A process
needs certain resources, including CPU time,
memory, files, and I/O devices, to accomplish its
task.
The operating system is responsible for the
following activities in connection with process
management.
Process creation and deletion.
process suspension and resumption.
Provision of mechanisms for:
process synchronization
process communication
Main-Memory Management
Memory is a large array of words or bytes, each with its own
address. It is a repository of quickly accessible data shared
by the CPU and I/O devices.
Main memory is a volatile storage device. It loses its
contents in the case of system failure.
The operating system is responsible for the following
activities in connections with memory management:
Keep track of which parts of memory are currently being
used and by whom.
Decide which processes to load when memory space
becomes available.
Allocate and deallocate memory space as needed.
File Management
A file is a collection of related information defined
by its creator. Commonly, files represent programs
(both source and object forms) and data.
The operating system is responsible for the
following activities in connections with file
management:
File creation and deletion.
Directory creation and deletion.
Support of primitives for manipulating files and
directories.
Mapping files onto secondary storage.
File backup on stable (nonvolatile) storage
media.
I/O System Management
The I/O system consists of:
A buffer-caching system
A general device-driver interface
Drivers for specific hardware devices
Secondary-Storage Management
Since main memory (primary storage) is volatile and too
small to accommodate all data and programs permanently,
the computer system must provide secondary storage to
back up main memory.
Most modern computer systems use disks as the principle
on-line storage medium, for both programs and data.
The operating system is responsible for the following
activities in connection with disk management:
Free space management
Storage allocation
Disk scheduling
Networking (Distributed Systems)
A distributed system is a collection processors that
do not share memory or a clock. Each processor
has its own local memory.
The processors in the system are connected
through a communication network.
Communication takes place using a protocol.
A distributed system provides user access to
various system resources.
Access to a shared resource allows:
Computation speed-up
Increased data availability
Enhanced reliability
Protection System
Protection refers to a mechanism for controlling
access by programs, processes, or users to both
system and user resources.
The protection mechanism must:
distinguish between authorized and
unauthorized usage.
specify the controls to be imposed.
provide a means of enforcement.
Command-Interpreter System
Many commands are given to the operating
system by control statements which deal with:
process creation and management
I/O handling
secondary-storage management
main-memory management
file-system access
protection
networking
Command-Interpreter System (Cont.)
The program that reads and interprets control
statements is called variously:
command-line interpreter
shell (in UNIX)
MS-DOS – written to
provide the most
functionality in the least
space
not divided into
modules
Although MS-DOS has
some structure, its
interfaces and levels of
functionality are not
well separated
UNIX System Structure
UNIX – limited by hardware functionality, the
original UNIX operating system had limited
structuring. The UNIX OS consists of two
separable parts.
Systems programs
The kernel
Consists of everything below the system-
call interface and above the physical
hardware
Provides the file system, CPU scheduling,
memory management, and other operating-
system functions; a large number of
functions for one level.
UNIX System Structure
Microkernel System Structure
Moves as much from the kernel into “user”
space.
Communication takes place between user
modules using message passing.
Benefits:
- easier to extend a microkernel
- easier to port the operating system to new
architectures
- more reliable (less code is running in kernel
mode)
- more secure
Virtual Machines
A virtual machine takes the layered
approach to its logical conclusion. It
treats hardware and the operating
system kernel as though they were all
hardware.
A virtual machine provides an interface
identical to the underlying bare
hardware.
The operating system creates the illusion
of multiple processes, each executing on
its own processor with its own (virtual)
memory.
Virtual Machines (Cont.)
The resources of the physical computer are
shared to create the virtual machines.
CPU scheduling can create the appearance
that users have their own processor.
Spooling and a file system can provide virtual
card readers and virtual line printers.
A normal user time-sharing terminal serves
as the virtual machine operator’s console.
System Models