0% found this document useful (0 votes)
24 views40 pages

Modern Operating Systems, 2nd Edition, Chapter 10 Course Slides

Chapter 10 provides a comprehensive overview of UNIX and LINUX, covering their history, processes, memory management, input/output, file systems, and security. It includes detailed discussions on system calls, process management, and the structure of the UNIX kernel. The chapter also explores networking, terminal management, and the Linux file system, emphasizing the importance of file protection modes.

Uploaded by

dave.news03
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views40 pages

Modern Operating Systems, 2nd Edition, Chapter 10 Course Slides

Chapter 10 provides a comprehensive overview of UNIX and LINUX, covering their history, processes, memory management, input/output, file systems, and security. It includes detailed discussions on system calls, process management, and the structure of the UNIX kernel. The chapter also explores networking, terminal management, and the Linux file system, emphasizing the importance of file protection modes.

Uploaded by

dave.news03
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 40

Chapter 10

Case Study 1: UNIX and LINUX

10.1 History of unix


10.2 Overview of unix
10.3 Processes in unix
10.4 Memory management in unix
10.5 Input/output in unix
10.6 The unix file system
10.7 Security in unix

1
UNIX
User
Interface

The layers of a UNIX system.

2
UNIX Utility Programs

A few of the more common UNIX utility programs required by POSIX


3
UNIX Kernel

Approximate structure of generic UNIX kernel


4
Processes in UNIX

Process creation in UNIX.

5
POSIX

The signals required by POSIX.

6
System Calls for Process Management

s is an error code
pid is a process ID
residual is the remaining time from the previous alarm 7
POSIX Shell

A highly simplified shell


8
Threads in POSIX

The principal POSIX thread calls.

9
The ls Command

Steps in executing the command ls type to the shell


10
Flags for Linux clone

Bits in the sharing_flags bitmap

11
UNIX Scheduler

The UNIX scheduler is based on a multilevel queue structure


12
Booting UNIX

cp

The sequences of processes used to boot some systems


13
Handling Memory
Process A Process B

• Process A's virtual address space


• Physical memory
• Process B's virtual address space 14
Sharing Files

Two processes can share a mapped file.

A new file mapped simultaneously into two processes


15
System Calls for Memory Management

• s is an error code
• b and addr are memory addresses
• len is a length
• prot controls protection
• flags are miscellaneous bits
• fd is a file descriptor
• offset is a file offset
16
Paging in UNIX

The core map in 4BSD.

The core map has an entry for each page


17
Paging in Linux (1)

Linux uses three-level page tables


18
Paging in Linux (2)

Operation of the buddy algorithm.

Buddy algorithm
19
Networking

Use of sockets for networking


20
Terminal Management

The main POSIX calls for managing the terminal

21
UNIX I/O (1)

Some of the fields of a typical cdevsw table

22
UNIX I/O (2)

The UNIX I/O system in BSD


23
Streams

An example of streams in System V


24
The UNIX File System (1)

Some important directories found in most UNIX systems

25
The UNIX File System (2)

• Before linking.
• After linking.

(a) Before linking. (b) After linking


26
The UNIX File System (3)

• Separate file systems


• After mounting

(a) (b)

(a) Before mounting. (b) After mounting


27
Locking Files

(a) File with one lock


(b) Addition of a second lock
(c) A third lock
28
System Calls for File Management

• s is an error code
• fd is a file descriptor
• position is a file offset
29
The lstat System Call

Fields returned by the lstat system call.


30
System Calls for Directory Management

• s is an error code
• dir identifies a directory stream
• dirent is a directory entry
31
UNIX File System (1)

Disk layout in classical UNIX systems

32
UNIX File System (2)

Directory entry fields.

Structure of the i-node


33
UNIX File System (3)

The relation between the file descriptor table, the


open file description
34
UNIX File System (4)

• A BSD directory with three files


• The same directory after the file voluminous
has been removed 35
The Linux File System

Layout of the Linux Ex2 file system.

36
Network File System (1)

• Examples of remote mounted file systems


• Directories are shown as squares, files as circles 37
Network File System (2)

The NFS layer structure.

The NFS layer structure


38
Security in UNIX

Some examples of file protection modes


39
System Calls for File Protection

• s is an error code
• uid and gid are the UID and GID, respectively
40

You might also like