23
CSS430 Introduction 1 CSS430 Introduction CSS430 Introduction Textbook Ch1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class materials.

CSS430 Introduction1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class

  • View
    231

  • Download
    1

Embed Size (px)

Citation preview

Page 1: CSS430 Introduction1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class

CSS430 Introduction 1

CSS430 IntroductionCSS430 IntroductionTextbook Ch1Textbook Ch1

These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class materials.

Page 2: CSS430 Introduction1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class

CSS430 Introduction 2

Course Objectives You will:

Study the fundamental concepts of operating systems Practice the logical design using Java

But not: Learn how to use/hack Windows and Linux

If this is your main objective, you should take UW Computing Training http://www.washington.edu/lst/workshops/fundamentals

Skill up system programming with C++ Program 1 will deal with several system calls, but if this is your

main interest, you should take CSS432, CSS434 or other C++ programming courses.

Page 3: CSS430 Introduction1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class

CSS430 Introduction 3

Important Time Lines Program 1: System calls and shell Program 2: Scheduler Midterm: Process Management Program 3: Synchronization Program 4: Paging Final: Memory/File Management Project: Unix-like file system(Check the syllabus for their due dates.)

Page 4: CSS430 Introduction1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class

CSS430 Introduction 4

Important Web Pages and Email Addresses

Our class web:http://courses.washington.edu/css430/index.html

Textbook:http://codex.cs.yale.edu/avi/os-book/OS8/os8j/

Java:http://download.oracle.com/javase/6/docs/api/

Instructor’s email:{mfukuda, ksung, rnash, or whoever}@u.washington.edu

Class discussion mailing list:css430a_{au, wi, or sp}{05, 06, ..}@u.washington.eduGoPost is accessible from our class web.

Assignment submission:Submit your tar-archived file to CollectIt (accessible from the class web).

Page 5: CSS430 Introduction1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class

CSS430 Introduction 5

What is an Operating System Goals

Execute user programs and make solving user problems easier

Making the computer system convenient to use Using computer hardware in an efficient manner

Definitions Resource allocator – manages and allocates resou

rces Control program – controls the execution of user pr

ograms and operations of I/O devices Kernel – the one program running at all times (all e

lse being application programs)

Page 6: CSS430 Introduction1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class

CSS430 Introduction 6

Computer System Components

Page 7: CSS430 Introduction1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class

CSS430 Introduction 7

Operating Systems History

Batch systems: Multiprogramming: IBM360 Time-sharing systems: Multics, Unix Personal-computer systems: Windows, Linux Symmetric multiprocessors Dual-core system: Intel Core 2 Duo Cluster systems: Hydra, PVM, MPI, MapReduce

Page 8: CSS430 Introduction1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class

CSS430 Introduction 8

Batch Systems A job is assembled of the program,

the data, and some control information (in control cards).

Programmers pass their jobs to an operator.

The operator batched together jobs.

OS transfers control from one job to another.

Each job output is sent back to the programmer.

Page 9: CSS430 Introduction1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class

CSS430 Introduction 9

Multiprogramming Several jobs are kept in main

memory at the same time. OS picks one of them to execute. The job may have to wait for a slow

I/O operation to complete. OS switches to and executes

another job. To facilitate multiprogramming, OS

needs: Job scheduling Memory management

Page 10: CSS430 Introduction1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class

CSS430 Introduction 10

Time-Sharing Systems This is a logical extension of

multiprogramming. Each user has at least one

separate program in memory. A program in execution is referred

to as a process. Process switch occur so frequently

that the users can interact with each program while it is running.

File system allows users to access data and program interactively.

Page 11: CSS430 Introduction1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class

CSS430 Introduction 11

Personal-Computer Systems

Personal computers – computer system dedicated to a single user.

User convenience and responsiveness Can adopt technology developed for larger

operating systems’ some features. At its beginning, a single user system didn’t not

need advanced CPU utilization and protection. Later, file protection is necessary to avoid virus. Overall, the same OS concepts are appropriate

for the various different classes of computers.

Page 12: CSS430 Introduction1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class

CSS430 Introduction 12

Symmetric Multiprocessing Architecture

Multiprocessor systems with more than one CPU in close communication (in one box).

Tightly coupled system – processors share memory and a clock; shared-memory-based communication.

Advantages of parallel system: Increased throughput Economical Increased reliability

Page 13: CSS430 Introduction1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class

CSS430 Introduction 13

A Dual-Core Design An MPU chip has two CPU cores, each:

owning its own small L1 cache, sharing a large L2 cache, and accessing the main memory through L2.

Page 14: CSS430 Introduction1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class

CSS430 Introduction 14

Cluster Systems Client

Takes a client-server model

Server Consists of many

PC/workstations connected to a high-speed network or a storage-area network (SAN).

Puts more focus on high-performance computing (HPC)

serves for requests in parallel.

100MbpsLAN

Workstation

Workstation Workstation

Masternode

Slave1

SlaveN

Slave2

1Gbps SAN

http server1

http server2

http server N

Page 15: CSS430 Introduction1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class

CSS430 Introduction 15

Computer Hardware

Page 16: CSS430 Introduction1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class

CSS430 Introduction 16

Synchronous I/O During execution, each

program needs I/O operations to receive keyboard inputs, open files, and print out results.

At the early computer era, a program had to wait for an I/O operation to be completed. (Synchronous I/O)

This frequently causes CPU

idle.

requesting processwaiting

device driver

Interrupt handler

Hardwaredata transfer

user

kernel

time

Page 17: CSS430 Introduction1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class

CSS430 Introduction 17

Async I/O and Interrupts Asynchronous I/O

returns control to a user program without waiting for the I/O to complete.

When the I/O is completed, an interrupt occurs to CPU that temporarily suspends the user program and handles the I/O device.

requesting processcontinuing

device driver

Interrupt handler

Hardwaredata transfer

user

kernel

time

Page 18: CSS430 Introduction1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class

CSS430 Introduction 18

Discussions 11. What tasks should OS perform in order

to suspend and resume a program? List them.

Program suspension

Program resumption

1.2...

1.2...

Page 19: CSS430 Introduction1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class

CSS430 Introduction 19

Hardware Protection Purpose:

With resource sharing, many programs could be affected by a bug in one program.

Incorrect or malicious resource accesses cause a hardware trap to the operating system.

Dual-Mode Operation: User mode: no privileged instructions allowed. Kernel mode: Privileged instructions allowed.

I/O Protection:all privileged Memory Protection: A region from the base to the limit

register allowed to use CPU Protection: CPU allowed to use until the timer gets

0.

Page 20: CSS430 Introduction1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class

CSS430 Introduction 20

Dual-Mode Operations Provide hardware support to differentiate between at least two

modes of operations.1. User mode – execution done on behalf of a user.2. Monitor mode (also supervisor mode, system mode, or Kernel

mode) – execution done on behalf of operating system. Switching between two modes

Device interrupts, hardware traps, system calls cause a trap to the kernel mode

The operating system returns to the user mode after servicing requests.

Page 21: CSS430 Introduction1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class

CSS430 Introduction 21

System Calls

Page 22: CSS430 Introduction1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class

CSS430 Introduction 22

Discussions 2 Early computers did not have interrupts, timers,

and/or privileged instructions. What features was OS unable to facilitate?

Features not supported by HW

Features not facilitated by OS

Asynchronous I/O and interrupts

Timers

Privileged instructions

Page 23: CSS430 Introduction1 Textbook Ch1 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class

CSS430 Introduction 23

Discussions 3 List three distinct events upon which OS

can get back CPU from the current user program.

1.

2.

3.