Contact Information

Download Report

Transcript Contact Information

Contact Information






Office: 225 Neville Hall
Office Hours: Monday and Wednesday 12:00-1:00
E-Main: [email protected]
Phone: 581-3967
Textbook: Tanenbaum, Modern Operating Systems (2nd
edition)
URL: http://umcs.maine.edu/~dickens/COS431/COS431.html
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
Introduction

A computer system consists of
 hardware
 system programs
 application programs
System Components

Hardware:

Physical Devices:



Memory, CPU, I/O devices….
Microarchitecture: Executes machine-level
instructions. Hardware or firmware.
Machine language: Hardware and instructions
visible to an assembly language program.
Introduction

Operating System:

Hides complexity of hardware and
provides simplified set of instructions.
Introduction

System programs:


Generally execute in user mode.
Command interpreter (shell), compilers,
editors, …..
So 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


Don’t want to program I/O devices, handle interrupts, etc.
It is a resource manager (and scheduler)

Each program gets time with the resource


E.g., CPU, I/O devices, memory
Each program gets space on the resource

E.g., Disk space.
History of Operating Systems

First generation 1945 - 1955



vacuum tubes, plug boards
Scheduling algorithm was a signup sheet.
Second generation 1955 – 1965


Operator loading in programs from card deck one at a time.
Led to batch systems
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
History of Operating Systems
(3)

Structure of a typical FMS job – 2nd generation
Early Operating Systems


Automatic job sequencing – automatically transfers
control from one job to another. First rudimentary
operating system.
Resident monitor



initial control in monitor
control transfers to job
when job completes control transfers pack to monitor
Memory Layout for a Simple Batch System

Third generation 1965 – 1980

Machines were very expensive and CPU frequently idle. Led
to multiprogramming.

Multiprogramming system

three jobs in memory – 3rd generation
Multiprogramming Batch Systems
Solution: Multiplex CPU between multiple jobs.
OS Features Needed for Multiprogramming





Use of disk space to hold jobs not in system.
Job scheduling: Choose jobs to bring into
memory.
Memory management – the system must
allocate the memory to several jobs.
CPU scheduling – the system must choose
among several jobs ready to run.
Allocation of devices.
Time-Sharing Systems–Interactive Computing





The CPU is multiplexed among several jobs that are kept
in memory and on disk (the CPU is allocated to a job only
if the job is in memory).
A job swapped in and out of memory to the disk.
On-line communication between the user and the system
is provided; when the operating system finishes the
execution of one command, it seeks the next “control
statement” from the user’s keyboard.
 i.e., the shell
Goal is to give the illusion that each user has own
machines.
Response time is a priority.
Computer Hardware Review
Monitor
Bus

Components of a simple personal computer

Special registers:



Program counter.
Stack pointer.
Process Status Word (PSW).
Computer Hardware Review
(a) A three-stage pipeline
(b) A superscalar CPU


CPU has two modes: user and kernel.
Application obtains OS services through a system
call.

Traps to operating system and switches to kernel
mode.

Typical memory hierarchy

numbers shown are rough approximations
Structure of a disk drive
One base-limit pair and two base-limit pairs
I/O Devices



Manufacturer provides device driver (talks to the device).
OS talks to device driver.
Three ways to handle I/O operations:



Busy waiting.
Interrupt driven
Direct Memory Access (DMA)
(a)
(a)
(b)
Steps in starting an I/O device and getting interrupt
(b) How the CPU is interrupted
Structure of a large Pentium system
Operating System Concepts

A process tree


A created two child processes, B and C
B created three child processes, D, E, and F
Operating System Concepts
(a) A potential deadlock. (b) an actual deadlock.
Operating System Concepts
File system for a university department
Operating System Concepts

Before mounting,


files on floppy are inaccessible
After mounting floppy on b,

files on floppy are part of file hierarchy
Operating System Concepts
Two processes connected by a pipe
Steps in Making a System Call
There are 11 steps in making the system call
read (fd, buffer, nbytes)
Some System Calls For Process
Management
Some System Calls For File Management