LINUX System : Lecture 7
Bong-Soo Sohn
Lecture notes acknowledgement : The design of UNIX Operating System
Architecture of the UNIX
user programs
trap libraries
user Level
kernel Level
system call interface
file subsystem inter-process
communication
process
buffer cache control scheduler
character block subsystem memory
device drivers management
hardware control
kernel Level
hardware Level
hardware
2
System calls & Libraries
user programs
trap libraries
user Level
kernel Level
system call interface
file subsystem inter-process
communication
process
buffer cache control scheduler
character block subsystem memory
device drivers management
hardware control
kernel Level
hardware Level
hardware
3
System calls & Libraries
• System call library
– OS service in the form of C function call
• Standard library, User library
– Linked with the programs at compile time and are part of the
user program
File Subsystem (1)
user programs
trap libraries
user Level
kernel Level
system call interface
file subsystem inter-process
communication
process
buffer cache control scheduler
character block subsystem memory
device drivers management
hardware control
kernel Level
hardware Level
hardware
5
File Subsystem (2)
• Managing files and structures of file system
• Allocating file space
• Administering free space
• Controlling access to files
• Retrieving data for users
• Interact with set of system calls
– open, close, read, write, state, chown, chmod …
6
Buffering Mechanism (1)
user programs
trap libraries
user Level
kernel Level
system call interface
file subsystem inter-process
communication
process
buffer cache control scheduler
character block subsystem memory
device drivers management
hardware control
kernel Level
hardware Level
hardware
7
Buffering Mechanism (2)
• Interact with block I/O device drivers to
initiate data transfer to and from kernel.
8
Process Control Subsystem
(1)
user programs
trap libraries
user Level
kernel Level
system call interface
file subsystem inter-process
communication
process
buffer cache control scheduler
character block subsystem memory
device drivers management
hardware control
kernel Level
hardware Level
hardware
9
Process Control Subsystem
(2)
• Managing process structures (proc table, u table,…)
• Process scheduling
• Interprocess communication (IPC)
• Memory management
• Responsible for process synchronization.
• Communicate with file subsystem
– Loading a file into memory for execution
• Interact with set of system calls
– fork, exec, exit, wait, brk, signal …
10
Process Control Subsystem
(3)
• Memory management module
– Control the allocation of memory to a process
• Scheduler module
– Allocate the CPU to processes
• Interprocess communication
– There are several forms.
11
Hardware Control (1)
user programs
trap libraries
user Level
kernel Level
system call interface
file subsystem inter-process
communication
process
buffer cache control scheduler
character block subsystem memory
device drivers management
hardware control
kernel Level
hardware Level
hardware
12
Hardware Control (2)
• Responsible for handling interrupts and
for communicating with the machine.
• Devices such as disks or terminals may
interrupt the CPU while a process is
executing
13
Topics to be covered
• File subsystem
• Process control subsystem
• (Memory Management)
• Signal
• IPC (Inter-Process Communication),
Synchronization
• UNIX System Programming (System Calls)
Reference Books
• The design of the UNIX Operating System, M. J. Bach
• UNIX Internals : The New Frontiers, U. Vahalia
• Advanced Programming in the Unix Environment, 2nd
Edition, W. R. Stevens, S. A. Rago