OPERATING SYSTEMS Prof. Sujata Rao Lesson 3. Agenda 1. What is an operating system? 2. How have...

Preview:

Citation preview

OPERATING SYSTEMSProf. Sujata RaoLesson 3

Agenda

1. What is an operating system?

2. How have operating systems evolved?

3. Functions of Operating System ?

4. Types of Operating System ?

5. Why study operating systems?

Introduction to Operating Systems29.07.2011

2

1. What is an Operating System?

Connector between an application & hardware Software that converts hardware into a useful form

for applications

To define precisely…

Users

Hardware

Operating System

Applicationscompilersdatabasesword processors

CPUmemoryI/O devices

29.07.2011

3

Definition

Set of programs containing instructions

that co-ordinate all the activities among

computer hardware resources and

the application software

which enables the hardware to conduct

the essential activity.

29.07.2011

4

Roles of an OS

Role #1Provide standard Library (ie. abstract

resources)

Role #2Resource coordinator (ie. manager)

29.07.2011

5

Role #1

Provide standard Library (ie. abstract resources) Abstract Resource?

e.g., CPU, memory, disk etc Advantages of standard library

Allow applications to reuse common facilities Make different devices of similar type look the same Provide higher-level abstractions

Challenges What are the correct abstractions? How much of hardware should be exposed?

29.07.2011

6

Role #2:

Resource coordinator (ie. manager) Advantages of resource coordinator

Virtualizes resource so multiple users or applications can share

Protect applications from one anotherProvide efficient and fair access to resources

ChallengesWhat are the correct mechanisms?What are the correct policies?

29.07.2011

7

OS Functionality ?

OS must adapt to both user expectations and technology changes

Change abstractions provided to users Change algorithms to implement those

abstractions Change low-level implementation to deal with

hardware

Current operating systems driven by evolution

29.07.2011

8

2. Evolution of the OS

Two distinct phases of historyPhase 1: Expensive Computers

Goal: Use computer’s time efficiently

Maximize throughput (I.e., jobs per second)

Maximize utilization (I.e., percentage busy)

Phase 2: Inexpensive Computers Goal: Use people’s time efficiently Minimize response time

29.07.2011

9

First commercial systems

1950s Hardware Enormous, expensive, and slow Input/Output: Punch cards and line printers

Goal of OS Get the hardware working Single operator/programmer/user runs and debugs

interactively

OS Functionality Standard library only (no sharing or coordination of

resources) Monitor that is always resident; transfer control to

programs

29.07.2011

10

First commercial systems

AdvantagesWorked and allowed interactive debugging

Problems Inefficient use of hardware (throughput and

utilization)

29.07.2011

11

O/s for Batch Processing Goal of OS: Better throughput and utilization Batch: Group of jobs submitted together

Operator collects jobs; orders efficiently; runs one at a time

Advantages Amortize setup costs over many jobs Operator more skilled at loading tapes Keep machine busy while programmer thinks Improves throughput and utilization

Problems User must wait until batch is done for results Machine idle when job is reading from cards and

writing to printers

29.07.2011

12

O/s for Spooling

Goal of OS Improve performance by overlapping I/O with CPU

execution

Hardware Mechanical I/O devices much slower than CPU Read 17 cards/sec vs. execute 1000s

instructions/sec

29.07.2011

13

Spooling: Simultaneous Peripheral Operations On-Line

1. Read card punches to disk

2. Compute (while reading and writing to disk)

3. Write output from disk to printer OS Functionality

Buffering and interrupt handling

Problem Machine idle when job waits for I/O to/from disk

29.07.2011

14

Multiprogrammed Batch Systems Observation: Spooling provides pool of ready jobs Goal of OS

Improve performance by always running a job Keep multiple jobs resident in memory When job waits for disk I/O, OS switches to another job

OS Functionality Job scheduling policies Memory management and protection

Advantage: Improves throughput and utilization Disadvantage: Machine not interactive

29.07.2011

15

Inexpensive Peripherals 1970’ s Hardware

Expensive mainframes, but inexpensive keyboards and monitors

Enables text editors and interactive debuggers Goal of OS

Improve user’s response time OS Functionality

Time-sharing: switch between jobs to give appearance of dedicated machine

More complex job scheduling Concurrency control and synchronization

Advantage Users easily submit jobs and get immediate feedback

29.07.2011

16

Inexpensive Personal Computers 1980s Hardware

Entire machine is inexpensive One dedicated machine per user

Goal of OS Give user control over machine

OS Functionality Remove time-sharing of jobs, protection, and virtual memory

Advantages Simplicity Works with little main memory Machine is all your own (performance is predictable)

Disadvantages No time-sharing or protection between jobs

29.07.2011

17

Inexpensive, Powerful Computers 1990s + Hardware

PCs with increasing computation and storage Users connected to the web

Goal of OS Allow single user to run several applications

simultaneously Provide security from malicious attacks Efficiently support web servers

OS Functionality Add back time-sharing, protection, and virtual memory

29.07.2011

18

Current Systems Conclusion: OS changes due to both hardware and

users Current trends

Multiprocessors Networked systems Virtual machines

OS code base is large Millions of lines of code 1000 person-years of work

Code is complex and poorly understood System outlives any of its builders System will always contain bugs Behavior is hard to predict, tuning is done by guessing

29.07.2011

19

OS Components

Kernel: Core components of the OS Process scheduler

Determines when and for long each process executes

Memory manager Determines when and how memory is allocated to

processes

Decides what to do when main memory is full File system

Organizes named collections of data in persistent storage

Networking Enables processes to communicate with one another

29.07.2011

20

3. Functions of an O/s

i. Providing a user interfacea) Command Line Interfaceb) Graphic User Interface

ii. Managing Programs a) Single -User Multitasking b) Multi-User & Multi Tasking

iii. Managing Memory Swapping, Paging & Thrashing

iv. Scheduling jobs - Spooling29.07.2011

21

3. Functions of an O/sv. Configuring Devices- with the help of

device drivers

vi. Establishing an internet connection

vii. Controlling a Network

viii. Monitoring Performances

ix. Providing File Management

x. Administering security

29.07.2011

22

4. Types of O/s

Stand Alone O/s A complete O/s which works on a

Desktop, Laptop, Palmtop, Mobile etc.

They can work with or without another operating system

Network O/s

O/s that is made to support a network of computers.

Embedded O/s

O/s for small devices enabled for wireless communication.

29.07.2011

23

4. Stand Alone O/s

Dos

Windows

Mac

Unix

Linux

29.07.2011

24

4. Network O/s

Windows NT

Windows 2003 family

Unix

Linux

Solaris

Novell Netware

29.07.2011

25

Embeded O/s

Windows CE ( windows for Communication & Entertainment)

Palm O/s

Blackberry

Embeded Linux

Symbian O/s

29.07.2011

26

5. Why study Operating Systems?

Build, modify, or administer an operating system

Understand system performanceBehavior of OS impacts entire machineChallenge to understand large, complex systemTune workload performanceApply knowledge across many areas

Computer architecture, programming languages, data structures and algorithms, and performance modeling

29.07.2011

27

DOS Command Screen

Command Line

DOS Prompt

29.07.2011

28

Internal DOS Commands..

A: - Change current directory path to the floppy disk drive

  C: - Change current directory path to the hard disk drive

  DIR - Display current directory (show all files and sub-

directories).

  MD - Make a new directory, eg: MD C:\EMAIL

  CD - Change current directory, eg. CD C:\EMAIL

  

29.07.2011

29

The Command Line

Two commands, “time” and “date”, were entered with primitive results…

29.07.201130

GUI - Notice the difference…

…when one click on the taskbar gives you this.

29.07.2011 31

DOS commands

 COPY - Copy file(s) from one place to another.   Del - Delete/erase a file

Any other text on the input line after the file name, is passed to the program.

Ex. "Copy help.txt help.bak", the text, "help.txt” & “ help.bak" is passed to the

copy program which will in this case use it to specify source and destination files for copy function.

29.07.2011

32

End of Lesson 3

29.07.2011

33

Recommended