Académique Documents
Professionnel Documents
Culture Documents
System Components
Operating System Services
System Calls
System Programs
System Structure
Virtual Machines
3.1
Process Management
Main Memory Management
File Management
I/O System Management
Secondary Storage Management
Networking
Protection System
Command-Interpreter System
3.2
Process Management
A process is a program in execution.
3.3
3.4
Main-Memory Management
It loses its
3.5
File Management
3.6
3.7
Secondary-Storage Management
3.8
3.9
Protection System
3.10
Command-Interpreter System
3.11
3.12
I/O operations
3.13
3.14
System Calls
System calls provide the interface between a running program
and the operating system.
Generally available as assembly-language instructions.
Languages defined to replace assembly language for
systems programming allow system calls to be made directly
(e.g., C. Bliss, PL/360, PERL)
3.15
X:
X: Parameter
parameters
for
for call
call
Load
address
xX
load
address
system call 13
System call
13
Use
use parameters
parameters
from
tableXx
from table
Code
code
for
for
system
system
call
13
call 13
user program
User
Program
operating system
Operating
System
3.16
MS-DOS Execution
Running a Program
At System Start-up
free memory
Free
Memory
free memory
Free
Memory
process
Process
Command
command
interpreter
Interpreter
Command
command
Interpreter
interpreter
kernel
Kernel
Kernel
kernel
(a)
(b)
(b)
3.17
process
Process D
D
Freememory
Memory
free
process
C
Process C
interpreter
Interpreter
process
Process BB
kernel
Kernel
3.18
Communication Models
Message Passing
Process
process AA
Shared Memory
Process
process A A
Shared
Memory
shared memory
process BB
Process
2
M
process B
Process
B
Kernel
kernel
kernel
Kernel
(a)
(a)
Operating System Concepts
(b)
3.19
3.20
10
System Programs
System programs provide a convenient environment for program
development and execution. They can be divided into several
categories:
File manipulation: create, delete, copy, rename, print files.
Status information: Some programs ask the system for date and
time, disk space, number of users.
File modification: Text editors to create and modify the content of
files stored on disk.
Programming language support: Compilers and assemblers are
provided to the user with the O.S.
Program loading and execution: After a program is assembled or
compiled, it must be loaded into memory to be executed. The
system may provide loaders, linkage editors and debuggers.
Communications: Programs provide mechanism for creating
virtual connections among processes, users, and computer
systems, such as sending messages and transferring files.
Operating System Concepts
3.21
3.22
11
application Program
program
Application
Resident
Systemprogram
Program
resident system
MS-DOS Device
device Drivers
drivers
MS-DOS
ROM BIOS
BIOS device
Device drivers
Drivers
ROM
3.23
3.24
12
Kernel
Signals terminal
handling character
I/O system
terminal drivers
File system
swapping I/O
system disk and
tape drivers
CPU scheduling
page replacement
demand paging
virtual memory
Hardware
Terminal controllers
terminals
Device controllers
disks and tapes
Memory controllers
physical memory
3.25
3.26
13
new
new
operations
operations
layer MM
Layer
..
.
hidden
Hidden
operations
operations
existing
existing
operations
operations
..
.
layer
M M1 - 1
Layer
..
.
3.27
3.28
14
3.29
3.30
15
3.31
application
application
application
application
application - programming
Application interface
programming
subsystems
subsystem
device driver
subsystems
subsystem
subsystems
subsystem
System
system
kernel
kernel
Device driver
application
application
device driver
Device driver
memory
management
memory management
task
dispatching
task
dispatching
device
management
device
management
device driver
Device driver
device driver
Device driver
3.32
16
3.33
Implementation:
Two modes for protection.
In virtual machine, we must have a virtual
user mode and a virtual monitor mode.
Both modes run in a physical user mode.
3.34
17
System Models
Non-virtual Machine
Virtual Machine
processes
processes
processes
processes
processes
processes
processes
processes
Programming
programming
interface
interface
kernel
kernel
kernel
kernel
kernel
kernel
Virtual
machine
virtual machine
hardware
hardware
hardware
hardware
(a)
(a)
(b)
(b)
kernel
kernel
3.35
3.36
18
3.37
3.38
19
System Implementation
3.39
20