Introduction

Download Report

Transcript Introduction

Chapter 1
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
1
Introduction
• A computer system consists of
– hardware
– system programs
– application programs
2
What is an Operating System
• It is an extended machine
– Hides the messy details which must be performed
– Presents user with a virtual machine, easier to use
• It is a resource manager
– Each program gets time with the resource
– Each program gets space on the resource
3
History of Operating Systems (1)
• 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
4
History of Operating Systems (2)
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
5
History of Operating Systems (3)
• Structure of a typical FMS job – 2nd generation
6
History of Operating Systems (4)
• Multiprogramming system
– three jobs in memory – 3rd generation
7
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
8
Computer Hardware Review (1)
Monitor
Bus
• Components of a simple personal computer
9
Computer Hardware Review (2)
(a) A three-stage pipeline
(b) A superscalar CPU
10
Computer Hardware Review (3)
• Typical memory hierarchy
– numbers shown are rough approximations
11
Computer Hardware Review (4)
Structure of a disk drive
12
Computer Hardware Review (5)
One base-limit pair and two base-limit pairs
13
Computer Hardware Review (6)
(a)
(b)
(a) Steps in starting an I/O device and getting interrupt
(b) How the CPU is interrupted
14
Computer Hardware Review (7)
Structure of a large Pentium system
15
Operating System Concepts (1) - Processes
•
•
•
•
•
A process is a program in execution
Swapping of a process – Process table entry
System calls to create and terminate processes
System calls to allocate/deallocate memory
System calls for communication - signals
16
Operating System Concepts (2) - Processes
• A process tree
– A created two child processes, B and C
– B created three child processes, D, E, and F
17
Operating System Concepts (3) -Deadlocks
(a) A potential deadlock. (b) an actual deadlock.
18
Operating System Concepts (4) - Files
• Present the programmer with nice, clean,
abstract, device-independent files.
• Concept of directory to group files together
• System calls to create/remove directories and
create/remove files. Hierarchies.
• Process trees != Directories
• A file can be specified by a path name:
absolute (from root), relative (from current
working directory).
19
Operating System Concepts (5) - Files
File system for a university department
20
Operating System Concepts (6) - Files
• Protection of files and directories, e.g. UNIX the
rwx bits: 9 bits (owner/group/others) rwxr-xr-• File Descriptor: a number assigned to a file.
• Mounting file systems.
• Special files: block special files, character
special files – standard input (fd=0), standard
output (fd=1), standard error (fd=2).
21
Operating System Concepts (7) - Files
• Before mounting,
– files on floppy are inaccessible
• After mounting floppy on b,
– files on floppy are part of file hierarchy
22
Operating System Concepts (8) - Pipes
Two processes connected by a pipe.
Read/Write - transparent for processes.
23
Operating System Concepts (8) - Shell
• The shell is a program that acts as an
interface between the user and the OS.
• Unix: several shells (e.g. csh, ksh).
• MSDOS: command prompt.
• Prompt, process, std input, output, creates
processes.
24
Steps in Making a System Call
There are 11 steps in making the system call
read (fd, buffer, nbytes)
25
Some System Calls For Process Management
26
Some System Calls For File Management
27
Some System Calls For Directory Management
28
Some System Calls For Miscellaneous Tasks
29
System Calls (1)
• A stripped down shell:
while (TRUE) {
type_prompt( );
read_command (command, parameters)
/* repeat forever */
/* display prompt */
/* input from terminal */
if (fork() != 0) {
/* Parent code */
waitpid( -1, &status, 0);
} else {
/* Child code */
execve (command, parameters, 0);
}
}
/* fork off child process */
/* wait for child to exit */
/* execute command */
30
System Calls (2)
• Processes have three segments: text, data, stack
31
System Calls (3)
(a) Two directories before linking
/usr/jim/memo to ast's directory
(b) The same directories after linking
32
System Calls (4)
(a) File system before the mount
(b) File system after the mount
33
System Calls (5)
Some Win32 API calls
34
Operating System Structure
•
•
•
•
Monolithic
Layered
Virtual Machines
Client-Server
35
Operating System Structure (1)
User program 1
User program 2
Kernel call
4
1
Service procedure
3
2
dispatch table
36
Operating System Structure (1)
Simple structuring model for a monolithic system
37
Operating System Structure (2)
Structure of the THE operating system
38
Operating System Structure (3)
Structure of VM/370 with CMS
39
Operating System Structure (4)
The client-server model
40
Operating System Structure (5)
The client-server model in a distributed system
41
Metric Units
The metric prefixes
42