Common System Components
Process Management
Main Memory Management
File Management
I/O System Management
Secondary Management
Protection System
Command-Interpreter System
Operating System Concepts 3.1 Silberschatz, Galvin and Gagne 2002
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.
process communication
Operating System Concepts 3.2 Silberschatz, Galvin and Gagne 2002
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.
Operating System Concepts 3.3 Silberschatz, Galvin and Gagne 2002
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.
Control the permission of given files
Operating System Concepts 3.4 Silberschatz, Galvin and Gagne 2002
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
Operating System Concepts 3.5 Silberschatz, Galvin and Gagne 2002
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.
Operating System Concepts 3.6 Silberschatz, Galvin and Gagne 2002
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
Operating System Concepts 3.7 Silberschatz, Galvin and Gagne 2002
Command-Interpreter System
(Cont.)
The program that reads and interprets control
statements is called variously:
command-line interpreter
shell (in UNIX)
Its function is to get and execute the next
command statement.
Operating System Concepts 3.8 Silberschatz, Galvin and Gagne 2002
Operating System Services
Program execution – system capability to load a
program into memory and to run it.
I/O operations – since user programs cannot
execute I/O operations directly, the operating
system must provide some means to perform I/O.
File-system manipulation – program capability to
read, write, create, and delete files.
Communications – exchange of information
between processes executing either on the same
computer or on different systems tied together by a
network. Implemented via shared memory or
message passing.
Error detection – ensure correct computing by
detecting errors in the CPU and memory hardware,
in I/O devices, or in user programs.
Operating System Concepts 3.9 Silberschatz, Galvin and Gagne 2002
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, C++)
Three general methods are used to pass
parameters between a running program and the
operating system.
Pass parameters in registers.
Store the parameters in a table in memory, and the
table address is passed as a parameter in a register.
Push (store) the parameters onto the stack by the
program, and pop off the stack by operating system.
Operating System Concepts 3.10 Silberschatz, Galvin and Gagne 2002
Passing of Parameters As A
Table
Operating System Concepts 3.11 Silberschatz, Galvin and Gagne 2002
Types of System Calls
Process control
File management
Communications
Operating System Concepts 3.12 Silberschatz, Galvin and Gagne 2002
MS-DOS Execution
At System Start-up Running a Program
Operating System Concepts 3.13 Silberschatz, Galvin and Gagne 2002
UNIX Running Multiple
Programs
Operating System Concepts 3.14 Silberschatz, Galvin and Gagne 2002
System Programs
System programs provide a convenient
environment for program development and
execution. The can be divided into:
File manipulation
Status information
File modification
Programming language support
Program loading and execution
Communications
Application programs
Most users’ view of the operation system is
defined by system programs, not the actual
system calls.
Operating System Concepts 3.15 Silberschatz, Galvin and Gagne 2002