You are on page 1of 15

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

You might also like