contact information office: 225 neville hall office hours: monday and wednesday 12:00-1:00 e-main:...

Post on 31-Dec-2015

214 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Contact Information

Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 E-Main: dickens@umcs.maine.edu Phone: 581-3967 Textbook: Tanenbaum, Modern Operating Systems

(2nd edition) URL: http://umcs.maine.edu

/~dickens/COS431/COS431.html

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

Introduction

A computer system consists of hardware system programs application programs

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.

System Components

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

Components of a simple personal computer

Monitor

Bus

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) Steps in starting an I/O device and getting interrupt(b) How the CPU is interrupted

(a) (b)

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

top related