1 operating systems lecturer: szabolcs mikulas office: b38b e-mail: szabolcs@dcs.bbk.ac.uk url:...

Post on 10-Dec-2015

224 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

OPERATING SYSTEMS

Lecturer: Szabolcs MikulasOffice: B38BE-mail: szabolcs@dcs.bbk.ac.ukURL: http://www.dcs.bbk.ac.uk/~szabolcs/os.html

Textbook:A.S. Tanenbaum, Modern Operating Systems,Second edition, Prentice Hall, 2001,ISBN 0-13-031358-0

2

OUTLINE

1. Introduction2. Processes and threads3. Deadlock4. Memory management5. Input/output6. File systems7. Multimedia operating systems8. Multiple processor systems9. Security

UNIX and Windows are to be used as running case studies.

3

Introduction

Chapter 1

1.1 What is an operating system1.2 History of operating systems1.3 The operating system zoo1.4 Computer hardware review1.5 Operating system concepts1.6 System calls1.7 Operating system structure

4

Introduction

• A computer system consists of– hardware– system programs– application programs

5

What is an Operating System• It is an extended, or virtual, machine

– provides a simple, high-level abstraction, i.e., hides the “messy details” which must be performed

– presents user with a virtual machine, easier to use– provides services; programs obtain these by

system calls

• It is a resource manager– provides orderly and controlled allocation for

programs in terms of time and space, multiplexing

6

History of Operating Systems

• First generation 1945 - 1955– vacuum tubes, plug boards

• Second generation 1955 - 1965– transistors, batch systems

• Third generation 1965 – 1980– ICs and multiprogramming

• Fourth generation 1980 – present– personal computers

7

Second Generation

Early batch system– bring cards to 1401– read cards to tape– put tape on 7094 which does computing– put tape on 1401 which prints output

8

Second Generation (2)

• Structure of a typical FMS job – 2nd generation

9

Third Generation

Third generation:• Multiprogramming • Timesharing• MULTICS => UNIX

10

Fourth Generation

Fourth generation (1980- ) - Personal computers

• MS-DOS, • Graphical User Interface (GUI),• Windows,• Network and distributed OSs

11

The Operating System Zoo

• Mainframe operating systems

• Server operating systems

• Multiprocessor operating systems

• Personal computer operating systems

• Real-time operating systems

• Embedded operating systems

• Smart card operating systems

12

Computer Hardware Review

• Components of a simple personal computer

Monitor

Bus

13

Processors

(a) A three-stage pipeline(b) A superscalar CPU

14

Memory

• Typical memory hierarchy– numbers shown are rough approximations

15

Hard Disk

Structure of a disk drive

16

Base-Limit Pairs

One base-limit pair and two base-limit pairs

17

Interrupt

(a) Steps in starting an I/O device and getting interrupt(b) How the CPU is interrupted

(a) (b)

18

Pentium System

Structure of a large Pentium system

19

Processes• Program in execution

• Address space: list of memory locations for read and write - code, data, stack

• Process table: one entry for each process,

contains: list of open files,

state

UID etc.

• Communication, scheduling

20

A Process Tree

A created two child processes, B and C

B created three child processes, D, E, and F

21

Deadlock

(a) A potential deadlock. (b) An actual deadlock.

Read-write example

22

Main Memory

Holds executing programs

Multiple programs - protection

Large programs - virtual memory

23

File System

File system for a university department

24

Files• Abstract model of device independent files

• Hierarchy, directories, operations

• Absolute and relative path names - root and working directory

• Special files (for I/O devices): – block s.f.– character s.f.

• Security

25

Mounting

• Before mounting, – files on floppy are inaccessible

• After mounting floppy on b,– files on floppy are part of file hierarchy

26

Pipe

Two processes connected by a pipe

e.g. sort <in|head -30

27

System Calls

• Interface between OS and user programs (to perform privileged operations)

• Machine dependent, but procedure libraries

28

Steps in Making a System Call

There are 11 steps in making the system call read (fd, buffer, nbytes)

29

Some System Calls For Process Management

30

Some System Calls For File Management

31

Some System Calls For Directory Management

32

Some System Calls For Miscellaneous Tasks

33

Shell

• A stripped down shell:

while (TRUE) { /* repeat forever */ type_prompt( ); /* display prompt */ read_command (command, parameters) /* input from terminal */ if (fork() != 0) { /* fork off child process */ /* Parent code */ waitpid( -1, &status, 0); /* wait for child to exit */} else { /* Child code */ execve (command, parameters, 0); /* execute command */ }}

34

Link

Link(/usr/jim/memo,/usr/ast/note)

(a) Two directories before linking/usr/jim/memo to ast's directory

(b) The same directories after linking

35

Mount

mount(/dev/fd0,/mnt,0)

(a) File system before the mount

(b) File system after the mount

36

Windows System Calls

Some Win32 API calls

37

Monolithic System

Simple structuring model for a monolithic system

38

Layered System

Structure of the THE operating system

• MULTICS - concentric rings

39

Virtual Machines

Structure of VM/370 with CMSCMS: Conversational Monitor System

VM: Virtual Machine Monitor - multiprogramming

• MS-DOS on Pentium

• JVM

40

Exokernels

Similar to VM, but

• Restriction to allocated resources

• No need for remap

41

Client-Server Model

Microkernel

• handles communication

• provides low-level resource management

Cf. Mechanism versus policy

42

C-S Model in a DS

The client-server model in a distributed system

top related