case study 1: unix and linux

40
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

Upload: inari

Post on 22-Mar-2016

155 views

Category:

Documents


1 download

DESCRIPTION

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 . UNIX. User Interface. The layers of a UNIX system. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Case Study 1: UNIX and LINUX

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: Case Study 1: UNIX and LINUX

2

UNIX

The layers of a UNIX system.

UserInterface

Page 3: Case Study 1: UNIX and LINUX

3

UNIX Utility Programs

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

Page 4: Case Study 1: UNIX and LINUX

4

UNIX Kernel

Approximate structure of generic UNIX kernel

Page 5: Case Study 1: UNIX and LINUX

5

Processes in UNIX

Process creation in UNIX.

Page 6: Case Study 1: UNIX and LINUX

6

POSIX

The signals required by POSIX.

Page 7: Case Study 1: UNIX and LINUX

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: Case Study 1: UNIX and LINUX

8

POSIX Shell

A highly simplified shell

Page 9: Case Study 1: UNIX and LINUX

9

Threads in POSIX

The principal POSIX thread calls.

Page 10: Case Study 1: UNIX and LINUX

10

The ls Command

Steps in executing the command ls type to the shell

Page 11: Case Study 1: UNIX and LINUX

11

Flags for Linux clone

Bits in the sharing_flags bitmap

Page 12: Case Study 1: UNIX and LINUX

12

UNIX Scheduler

The UNIX scheduler is based on a multilevel queue structure

Page 13: Case Study 1: UNIX and LINUX

13

Booting UNIX

The sequences of processes used to boot some systems

cp

Page 14: Case Study 1: UNIX and LINUX

14

Handling Memory

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

Process A Process B

Page 15: Case Study 1: UNIX and LINUX

15

Sharing Files

Two processes can share a mapped file.

A new file mapped simultaneously into two processes

Page 16: Case Study 1: UNIX and LINUX

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: Case Study 1: UNIX and LINUX

17

Paging in UNIX

The core map in 4BSD.

The core map has an entry for each page

Page 18: Case Study 1: UNIX and LINUX

18

Paging in Linux (1)

Linux uses three-level page tables

Page 19: Case Study 1: UNIX and LINUX

19

Paging in Linux (2)

Operation of the buddy algorithm.

Buddy algorithm

Page 20: Case Study 1: UNIX and LINUX

20

Networking

Use of sockets for networking

Page 21: Case Study 1: UNIX and LINUX

21

Terminal Management

The main POSIX calls for managing the terminal

Page 22: Case Study 1: UNIX and LINUX

22

UNIX I/O (1)

Some of the fields of a typical cdevsw table

Page 23: Case Study 1: UNIX and LINUX

23

UNIX I/O (2)

The UNIX I/O system in BSD

Page 24: Case Study 1: UNIX and LINUX

24

Streams

An example of streams in System V

Page 25: Case Study 1: UNIX and LINUX

25

The UNIX File System (1)

Some important directories found in most UNIX systems

Page 26: Case Study 1: UNIX and LINUX

26

The UNIX File System (2)

• Before linking.• After linking.

(a) Before linking. (b) After linking

Page 27: Case Study 1: UNIX and LINUX

27

The UNIX File System (3)

• Separate file systems• After mounting

(a) (b)

(a) Before mounting. (b) After mounting

Page 28: Case Study 1: UNIX and LINUX

28

Locking Files

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

Page 29: Case Study 1: UNIX and LINUX

29

System Calls for File Management

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

Page 30: Case Study 1: UNIX and LINUX

30

The lstat System Call

Fields returned by the lstat system call.

Page 31: Case Study 1: UNIX and LINUX

31

System Calls for Directory Management

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

Page 32: Case Study 1: UNIX and LINUX

32

UNIX File System (1)

Disk layout in classical UNIX systems

Page 33: Case Study 1: UNIX and LINUX

33

UNIX File System (2)

Directory entry fields.

Structure of the i-node

Page 34: Case Study 1: UNIX and LINUX

34

UNIX File System (3)

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

Page 35: Case Study 1: UNIX and LINUX

35

UNIX File System (4)

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

removed

Page 36: Case Study 1: UNIX and LINUX

36

The Linux File System

Layout of the Linux Ex2 file system.

Page 37: Case Study 1: UNIX and LINUX

37

Network File System (1)

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

Page 38: Case Study 1: UNIX and LINUX

38

Network File System (2)

The NFS layer structure.

The NFS layer structure

Page 39: Case Study 1: UNIX and LINUX

39

Security in UNIX

Some examples of file protection modes

Page 40: Case Study 1: UNIX and LINUX

40

System Calls for File Protection

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