Top Banner
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
40
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Chapter 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

Page 2: Chapter 10

2

UNIX

The layers of a UNIX system.

UserInterface

Page 3: Chapter 10

3

UNIX Utility Programs

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

Page 4: Chapter 10

4

UNIX Kernel

Approximate structure of generic UNIX kernel

Page 5: Chapter 10

5

Processes in UNIX

Process creation in UNIX.

Page 6: Chapter 10

6

POSIX

The signals required by POSIX.

Page 7: Chapter 10

7

System Calls for Process Management

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

Page 8: Chapter 10

8

POSIX Shell

A highly simplified shell

Page 9: Chapter 10

9

Threads in POSIX

The principal POSIX thread calls.

Page 10: Chapter 10

10

The ls Command

Steps in executing the command ls type to the shell

Page 11: Chapter 10

11

Flags for Linux clone

Bits in the sharing_flags bitmap

Page 12: Chapter 10

12

UNIX Scheduler

The UNIX scheduler is based on a multilevel queue structure

Page 13: Chapter 10

13

Booting UNIX

The sequences of processes used to boot some systems

cp

Page 14: Chapter 10

14

Handling Memory

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

Process A Process B

Page 15: Chapter 10

15

Sharing Files

Two processes can share a mapped file.

A new file mapped simultaneously into two processes

Page 16: Chapter 10

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 17: Chapter 10

17

Paging in UNIX

The core map in 4BSD.

The core map has an entry for each page

Page 18: Chapter 10

18

Paging in Linux (1)

Linux uses three-level page tables

Page 19: Chapter 10

19

Paging in Linux (2)

Operation of the buddy algorithm.

Buddy algorithm

Page 20: Chapter 10

20

Networking

Use of sockets for networking

Page 21: Chapter 10

21

Terminal Management

The main POSIX calls for managing the terminal

Page 22: Chapter 10

22

UNIX I/O (1)

Some of the fields of a typical cdevsw table

Page 23: Chapter 10

23

UNIX I/O (2)

The UNIX I/O system in BSD

Page 24: Chapter 10

24

Streams

An example of streams in System V

Page 25: Chapter 10

25

The UNIX File System (1)

Some important directories found in most UNIX systems

Page 26: Chapter 10

26

The UNIX File System (2)

• Before linking.• After linking.

(a) Before linking. (b) After linking

Page 27: Chapter 10

27

The UNIX File System (3)

• Separate file systems• After mounting

(a) (b)

(a) Before mounting. (b) After mounting

Page 28: Chapter 10

28

Locking Files

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

Page 29: Chapter 10

29

System Calls for File Management

• s is an error code

• fd is a file descriptor

• position is a file offset

Page 30: Chapter 10

30

The lstat System Call

Fields returned by the lstat system call.

Page 31: Chapter 10

31

System Calls for Directory Management

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

Page 32: Chapter 10

32

UNIX File System (1)

Disk layout in classical UNIX systems

Page 33: Chapter 10

33

UNIX File System (2)

Directory entry fields.

Structure of the i-node

Page 34: Chapter 10

34

UNIX File System (3)

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

Page 35: Chapter 10

35

UNIX File System (4)

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

removed

Page 36: Chapter 10

36

The Linux File System

Layout of the Linux Ex2 file system.

Page 37: Chapter 10

37

Network File System (1)

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

Page 38: Chapter 10

38

Network File System (2)

The NFS layer structure.

The NFS layer structure

Page 39: Chapter 10

39

Security in UNIX

Some examples of file protection modes

Page 40: Chapter 10

40

System Calls for File Protection

• s is an error code

• uid and gid are the UID and GID, respectively