LINUX System Lecture 7 Lecture notes acknowledgement The

  • Slides: 15
Download presentation
LINUX System : Lecture 7 Lecture notes acknowledgement : The design of UNIX Operating

LINUX System : Lecture 7 Lecture notes acknowledgement : The design of UNIX Operating System

Architecture of the UNIX user programs libraries user Level kernel Level system call interface

Architecture of the UNIX user programs libraries user Level kernel Level system call interface file subsystem buffer cache character block device drivers process control subsystem inter-process communication scheduler memory management hardware control kernel Level hardware 2

System calls & Libraries user programs user Level kernel Level trap libraries system call

System calls & Libraries user programs user Level kernel Level trap libraries system call interface file subsystem buffer cache character block device drivers process control subsystem inter-process communication scheduler memory management hardware control kernel Level hardware 3

System calls & Libraries • System call library – OS service in the form

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 user Level kernel Level trap libraries system call interface

File Subsystem (1) user programs user Level kernel Level trap libraries system call interface file subsystem buffer cache character block device drivers process control subsystem inter-process communication scheduler memory management hardware control kernel Level hardware 5

File Subsystem (2) • • • Managing files and structures of file system Allocating

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 user Level kernel Level trap libraries system call interface

Buffering Mechanism (1) user programs user Level kernel Level trap libraries system call interface file subsystem buffer cache character block device drivers process control subsystem inter-process communication scheduler memory management hardware control kernel Level hardware 7

Buffering Mechanism (2) • Interact with block I/O device drivers to initiate data transfer

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 user Level kernel Level trap libraries system call

Process Control Subsystem (1) user programs user Level kernel Level trap libraries system call interface file subsystem buffer cache character block device drivers process control subsystem inter-process communication scheduler memory management hardware control kernel Level hardware 9

Process Control Subsystem (2) • • • Managing process structures (proc table, u table,

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

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 user Level kernel Level trap libraries system call interface

Hardware Control (1) user programs user Level kernel Level trap libraries system call interface file subsystem buffer cache character block device drivers process control subsystem inter-process communication scheduler memory management hardware control kernel Level hardware 12

Hardware Control (2) • Responsible for handling interrupts and for communicating with the machine.

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)

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 •

Reference Books • The design of the UNIX Operating System, M. J. Bach • Advanced Programming in the Unix Environment, 2 nd Edition, W. R. Stevens, S. A. Rago