430 likes | 572 Views
Lecturer: Szabolcs Mikulas Office: B38B E-mail: szabolcs@dcs.bbk.ac.uk URL: 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. OPERATING SYSTEMS. 1. Introduction
E N D
Lecturer: Szabolcs Mikulas Office: B38B E-mail: szabolcs@dcs.bbk.ac.uk URL: 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 OPERATING SYSTEMS
1.Introduction 2. Processes and threads 3. Deadlock 4. Memory management 5. Input/output 6. File systems 7. Multimedia operating systems 8. Multiple processor systems 9. Security UNIX and Windows are to be used as running case studies. OUTLINE
Introduction 1.1 What is an operating system 1.2 History of operating systems 1.3 The operating system zoo 1.4 Computer hardware review 1.5 Operating system concepts 1.6 System calls 1.7 Operating system structure Chapter 1
Introduction • A computer system consists of • hardware • system programs • application programs
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
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
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
Second Generation (2) • Structure of a typical FMS job – 2nd generation
Third Generation Third generation: • Multiprogramming • Timesharing • MULTICS => UNIX
Fourth Generation Fourth generation (1980- ) - Personal computers • MS-DOS, • Graphical User Interface (GUI), • Windows, • Network and distributed OSs
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
Computer Hardware Review Monitor • Components of a simple personal computer Bus
Processors (a) A three-stage pipeline (b) A superscalar CPU
Memory • Typical memory hierarchy • numbers shown are rough approximations
Hard Disk Structure of a disk drive
Base-Limit Pairs One base-limit pair and two base-limit pairs
Interrupt (a) Steps in starting an I/O device and getting interrupt (b) How the CPU is interrupted (a) (b)
Pentium System Structure of a large Pentium system
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
A Process Tree A created two child processes, B and C B created three child processes, D, E, and F
Deadlock (a) A potential deadlock. (b) An actual deadlock. Read-write example
Main Memory Holds executing programs Multiple programs - protection Large programs - virtual memory
File System File system for a university department
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
Mounting • Before mounting, • files on floppy are inaccessible • After mounting floppy on b, • files on floppy are part of file hierarchy
Pipe Two processes connected by a pipe e.g. sort <in|head -30
System Calls • Interface between OS and user programs (to perform privileged operations) • Machine dependent, but procedure libraries
Steps in Making a System Call There are 11 steps in making the system call read (fd, buffer, nbytes)
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 */ } }
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
Mount mount(/dev/fd0,/mnt,0) (a) File system before the mount (b) File system after the mount
Windows System Calls Some Win32 API calls
Monolithic System Simple structuring model for a monolithic system
Layered System Structure of the THE operating system • MULTICS - concentric rings
Virtual Machines Structure of VM/370 with CMS CMS: Conversational Monitor System VM: Virtual Machine Monitor - multiprogramming • MS-DOS on Pentium • JVM
Exokernels Similar to VM, but • Restriction to allocated resources • No need for remap
Client-Server Model Microkernel • handles communication • provides low-level resource management Cf. Mechanism versus policy
C-S Model in a DS The client-server model in a distributed system