case study 1: unix and linux the layers of a unix system.hy345/notes/pdf/10.pdf · case study 1:...

10
1 Case Study 1: UNIX and LINUX Chapter 10 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 2 UNIX The layers of a UNIX system. User Interface 3 UNIX Utility Programs A few of the more common UNIX utility programs required by POSIX 4 UNIX Kernel Approximate structure of generic UNIX kernel

Upload: others

Post on 14-May-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Case Study 1: UNIX and LINUX The layers of a UNIX system.hy345/notes/pdf/10.pdf · Case Study 1: UNIX and LINUX Chapter 10 10.1 History of unix 10.2 Overview of unix 10.3 Processes

1

Case Study 1: UNIX and LINUX

Chapter 10

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

2

UNIX

The layers of a UNIX system.

UserInterface

3

UNIX Utility Programs

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

UNIX Kernel

Approximate structure of generic UNIX kernel

Page 2: Case Study 1: UNIX and LINUX The layers of a UNIX system.hy345/notes/pdf/10.pdf · Case Study 1: UNIX and LINUX Chapter 10 10.1 History of unix 10.2 Overview of unix 10.3 Processes

5

Processes in UNIX

Process creation in UNIX.

6

POSIX

The signals required by POSIX.

7

System Calls for Process Management

s is an error codepid is a process IDresidual is the remaining time from the previous alarm

8

POSIX Shell

A highly simplified shell

Page 3: Case Study 1: UNIX and LINUX The layers of a UNIX system.hy345/notes/pdf/10.pdf · Case Study 1: UNIX and LINUX Chapter 10 10.1 History of unix 10.2 Overview of unix 10.3 Processes

9

Threads in POSIX

The principal POSIX thread calls.

10

The ls Command

Steps in executing the command ls type to the shell

11

Flags for Linux clone

Bits in the sharing_flags bitmap

12

UNIX Scheduler

The UNIX scheduler is based on a multilevel queue structure

Page 4: Case Study 1: UNIX and LINUX The layers of a UNIX system.hy345/notes/pdf/10.pdf · Case Study 1: UNIX and LINUX Chapter 10 10.1 History of unix 10.2 Overview of unix 10.3 Processes

13

Booting UNIX

The sequences of processes used to boot some systems

cp

14

Handling Memory

• Process A's virtual address space• Physical memory• Process B's virtual address space

Process A Process B

15

Sharing Files

Two processes can share a mapped file.

A new file mapped simultaneously into two processes 16

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

Page 5: Case Study 1: UNIX and LINUX The layers of a UNIX system.hy345/notes/pdf/10.pdf · Case Study 1: UNIX and LINUX Chapter 10 10.1 History of unix 10.2 Overview of unix 10.3 Processes

17

Paging in UNIX

The core map in 4BSD.

The core map has an entry for each page18

Paging in Linux (1)

Linux uses three-level page tables

19

Paging in Linux (2)

Operation of the buddy algorithm.

Buddy algorithm20

Networking

Use of sockets for networking

Page 6: Case Study 1: UNIX and LINUX The layers of a UNIX system.hy345/notes/pdf/10.pdf · Case Study 1: UNIX and LINUX Chapter 10 10.1 History of unix 10.2 Overview of unix 10.3 Processes

21

Terminal Management

The main POSIX calls for managing the terminal

22

UNIX I/O (1)

Some of the fields of a typical cdevsw table

23

UNIX I/O (2)

The UNIX I/O system in BSD24

Streams

An example of streams in System V

Page 7: Case Study 1: UNIX and LINUX The layers of a UNIX system.hy345/notes/pdf/10.pdf · Case Study 1: UNIX and LINUX Chapter 10 10.1 History of unix 10.2 Overview of unix 10.3 Processes

25

The UNIX File System (1)

Some important directories found in most UNIX systems

26

The UNIX File System (2)

• Before linking.• After linking.

(a) Before linking. (b) After linking

27

The UNIX File System (3)

• Separate file systems• After mounting

(a) (b)

(a) Before mounting. (b) After mounting28

Locking Files

(a) File with one lock(b) Addition of a second lock(c) A third lock

Page 8: Case Study 1: UNIX and LINUX The layers of a UNIX system.hy345/notes/pdf/10.pdf · Case Study 1: UNIX and LINUX Chapter 10 10.1 History of unix 10.2 Overview of unix 10.3 Processes

29

System Calls for File Management

• s is an error code• fd is a file descriptor• position is a file offset

30

The lstat System Call

Fields returned by the lstat system call.

31

System Calls for Directory Management

• s is an error code• dir identifies a directory stream• dirent is a directory entry

32

UNIX File System (1)

Disk layout in classical UNIX systems

Page 9: Case Study 1: UNIX and LINUX The layers of a UNIX system.hy345/notes/pdf/10.pdf · Case Study 1: UNIX and LINUX Chapter 10 10.1 History of unix 10.2 Overview of unix 10.3 Processes

33

UNIX File System (2)

Directory entry fields.

Structure of the i-node34

UNIX File System (3)

The relation between the file descriptor table, the open file description

35

UNIX File System (4)

• A BSD directory with three files• The same directory after the file voluminous

has been removed 36

The Linux File System

Layout of the Linux Ex2 file system.

Page 10: Case Study 1: UNIX and LINUX The layers of a UNIX system.hy345/notes/pdf/10.pdf · Case Study 1: UNIX and LINUX Chapter 10 10.1 History of unix 10.2 Overview of unix 10.3 Processes

37

Network File System (1)

• Examples of remote mounted file systems• Directories are shown as squares, files as circles 38

Network File System (2)

The NFS layer structure.

The NFS layer structure

39

Security in UNIX

Some examples of file protection modes40

System Calls for File Protection

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