Вы находитесь на странице: 1из 75

Introduction to

Objectives
A firm understanding about OS, its primary purpose and goals to a computer system; 2. Trace the history of OS and the development of systems. 3. Concepts basic to OS; 4. OS components and its component management; 5. Computer system operations, structure of the computer systems and hardware protection; 6. Services of OS.
1.

Introduction

Major components of Computer Systems:

Hardware Computer users Software

Note:

Without software, computer is of little use. However with software, computer can store, manipulate and retrieve information, and can engage in many other activities.

Introduction
Software

can be grouped into:

System software (OS and utilities) Application software (user programs)


User1 User2 User3 User n

compiler systems

assembler

text editor

database

Application Programs
OPERATING SYSTEMS

Computer Hardware

Introduction
Utilities Application Software

OS

device CPU

device

device

Memory

Introduction
Without

an OS, a user who wanted to run a program that uses some of the resources of the system will need to write a program that includes code for driving the resources required. Code for handling keyboard, printers, etc. have to be written.

Introduction
To

alleviate these difficulties, OS contains set of procedures for driving the resources of the system, thus it frees the users from the dirty details of writing these drivers for the devices involved in the problem being solved.

What is OS?
Program

implemented either in firmware or software which acts as an intermediary between the user of a computer and the computer hardware.

Collection

of system programs (procedures) that together control the operation of a computer system.
purpose is to provide an environment wherein users can execute programs

The

Types of OS
Desktop

OS

Typically installed on PC type of computer, used by a singe user at a time, and may or may not be connected to a network.

Server

OS

Installed in a more powerful computer connected to a network enabling multiple users to access information such as e-mails, files, and software

Network OS
NOS

Either desktop or server OS that enables a computer to communicate with other computers through network cable (eg. CAT-5/6) or wireless transmissions (eg. wiFi / wiMAX) and coordinates network communication from sharing files and hardware devices to sending e-mail and video conferencing.

Different OS
Mainframe

OS

designed to optimize utilization of hardware.

PC

OS

supports games, business applications, and the like.

Handheld

OS

designed to interface with the computer to execute programs.

Primary goals of an OS
1.

2.

Make the computer convenient to use Use the computer hardware in an efficient manner.

Sizes of OS

Its size & complexity depend on a number of factors:

Computer system characteristics: (has one or more processors) Provides facilities: (allows interactive use or not?)

Applications to support (allows many users to use the same application simultaneously or not?)

Why study operating systems?

In this course, we will NOT write OS but

One of the largest and complicated system software. Draws on lots of areas
Software Engineering, Computer Architecture, Data Structures, Networks and Algorithms etc.

If certain things in the OS need to be changed, better understand them first! Can apply techniques used in an OS to other areas
complex data structures, conflict resolution, concurrency, resource management

What does an OS do?


It controls the function of the computer system. OS includes programs that:

Initializes the hardware Provides basic routine for device control Provides for the management, scheduling and interaction of tasks Maintain system integrity, and Handle errors

Where are OS found?


Complexity

of OS depends on the type of functionality it provides:

Some OS manage many users on a network.

Found in petrol pumps, airplanes, video recorders, washing machines and car engines.

What is a General Purpose OS?


Provides

the ability to run a number of programs.


MS Windows, UNIX, Linux, etc.

Viewpoints of an OS
Similar

to a government Resource Allocator/Manager Control Program An extended machine

Note: OS runs in a kernel/supervisor/monitor mode (protection from user by the hardware)

Single-user vs. Multi-user OS

Single user OS provides access to the computer system by a single user at a time.

Examples are: Win95, WinNT, Win2K, Win XP

Provides with the capability to perform tasks on the computer system such as writing programs and documents, printing and accessing files

Single-user vs. Multi-user OS


A

multi-user OS allows more users to access the computer system at one time via network, thus accessing the system remotely from another terminal.

Examples are UNIX and mainframes such as the IBM AS400.

Multi-user OS
Advantages

Hardware is very expensive, and it lets a number of users share this expensive resource (reduced cost) Since resources are shared, they are more likely to be in use than sitting idle being unproductive. (increased resource utilization)

Multi-user OS
Disadvantages

More users slow down the performance of the system. Cost of hardware, requires a lot of disk space and memory. Multi-user OS cost is more than software for single-user.

Operating System Utilities


OS

consists of hundreds of thousands of program codes and stored on hard disk. Portions of the OS are loaded into the RAM when needed.

Utilities

are provided for:

Managing files and documents Development of programs and software Communicating with people and with other computer systems Managing user requirements for programs, storage space and priority.

OS Interfaces
OS

provides each user with an interface that accepts, interprets and executes user commands or programs.

Shell

or command line interpreter. (CLI)

In some systems, this might be a simple lineby-line text mode (such as DOS or UNIX) or highly graphical (such as Windows)

What is a multitasking OS?


Provides

the ability to run more than one program at once. of these tasks the user is doing appears to be running at the same time

Each

Advantage: increased productivity Disadvantage: more memory required.

Multitasking with One program

Multitasking with Two Programs

Multitasking with Three Programs

Utilization with multitasking

Evolution of OS

Programmed in machine language and used front panel switches for input.

The programmer is also the operator interacting with the computer directly from the system console (control panel).

Introduce Device drivers (a subroutine performing various I/O devices which involves complex sequences of device-specific operations) Setup time is very high.

Evolution of OS
Problems:

Programmers needed to sign-up in advance to use the computer one at a time. Executing a single program (often called job) required substantial time to setup the computer.

A. Simple Batch Systems

Similar jobs are batched and run together with no direct interaction between user and the computer during execution. Automatic job sequencing Computers are extremely valuable. Pre-OS: Resident Monitor

Initial control in monitor Control transfers to job When job completes, control transfers back to monitor

Overlapped CPU and I/O operations

Online Processing CPU is directly connected to card readers and line printers

Overlapped CPU and I/O operations

Off-line Processing

Spooling

Simultaneous Peripheral Operation Online. Uses disk as input device and for storing output files.

B. Multiprogrammed Batch Systems

OS keeps several jobs in memory at a time and picks and begins to execute one of the jobs in the memory.

Drawback: Causes the computer system to stop executing when the monitor encounters error (bug). Other jobs in the memory will not be executed as well.

C. Time sharing systems


Interactive

Computing

Allows interaction between user and process. The CPU executes multiple jobs by switching between them but the switches occur so frequently that users may interact with each program while it is running.
Monitor

T1 T2 T3 T4

Job 1 Job 2 Job 3 Job n

Time sharing systems


Time

sharing (or multitasking) is a logical extension of microprogramming.


Job A Job B

CPU
I/O
0 5 10 15 20 25 30 35 40

time

Uniprogramming: Job A and B end at time 36 CPU is idle 47% I/O is idle 53

Time sharing systems


Job A
CPU I/O

Job B

10

15

time

pure multiprogramming Job A and B end at time 20.

Time-sharing mainframe with terminals

Mainframe

Terminal Controller

Sample problem #1:


Consider

a system designed to run only one user program at a time. Suppose the user is running a program designed to execute the ff sequence of instructions:
while (not end of input) { read from the card reader process the data : : write to the printer : : }

Sample problem #1(cont.)


Assuming

that the computer system has the following characteristics:


Card reader: 300 cards / min. Line printer : 300 lines / min. CPU : 1 s/instruction

Sample problem #1(cont.)

Suppose it takes about 10,000 instructions to process each line (one card) of input, then a card will require the ff:

Input phase
(1 min/ 300 cards) x (60,000 ms/min) = 200 ms

Process phase
(10,000 inst) x (1 s/inst) x (1 ms / 1000 s) = 10 ms

Output phase
(1 min/ 300 cards) x (60,000 ms/min) = 200 ms

CPU utilization = (10 / 410) x 100% = 2.4 % Therefore, it shows poor CPU utilization

Its your turn


Sample

Question #2: Given the following characteristics of a single-user system:


Card reader Line printer CPU : 600 cards /min : 100 lines /min : 1 sec / instruction

Suppose it takes 1,000 instructions to process each line of input and produce one line of output, compute the CPU utilization, and input and output device utilization.

D. Personal Computer

Personal Computer

computer system dedicated to a single user

I/O devices User convenience and responsiveness Adopt technology developed for larger OS often individuals have sole use of computer and do not need advance CPU utilization or protection features

May run several different types of OS

E. Parallel Systems
Systems

having more than one processor (multiprocessor systems) in close communication, sharing the common bus, clock, memory and peripheral devices. coupled; multiprocessing

Tightly

Advantages of parallel systems


Increased

throughput Economical Increased reliability


Graceful degradation Fail-safe systems

Types of parallel systems


Symmetric

multiprocessing model (SMP)

Each processor runs an identical copy of the OS and these copies communicate with each other Many processes can run at once without performance deterioration Most modern OS support SMP systems
CPU 1 CPU2 CPU3 CPU4

Types of parallel systems


Asymmetric

multiprocessing model (AMP)

Each processor is assigned a specific task; master processor schedules, and allocated work to slave processors. More common in extremely large systems

Master CPU

Slaves CPU

Assignment
Research

on the differences between Symmetric and Asymmetric multiprocessing systems in terms of their:

Function Use / Application Give applications for each

F. Distributed Systems

Distribute computation among several processors.

F. Distributed Systems

Loosely coupled systems

processors do not share memory or a clock, instead, each processor has its own local memory. LAN or WAN implementations May be either client-server of peer-to-peer systems

Requires networking infrastructure

Resources on each machine are managed by that machines OS and working together to manage the collective network resources

Reasons for building Distributed Systems

Resource sharing Computation Speedup

allows to distribute the computation among various sites. Movement of jobs is called load sharing

Reliability Communications

Distributed Systems : Clustered


Clustering

allows two or more systems to share storage. Provides high reliability Asymmetric clustering

one server runs the application while other servers standby

Symmetric

clustering

all n hosts are running the application.

G. Real-time systems
Used

as a control device in a dedicated application


Eg. controlling scientific experiments, medical imaging systems, industrial control systems, and some display systems

Real-time

OS

Designed to support execution of tasks within specific clock time constraints. Correctness of a processing task is dependent on the clock time at which the processing occurred Example: Windows XP, Mac OS X

Real-time systems
Deadline

(time critical) requirement welldefined fixed-time constraints.


Eg. Industrial control systems, weapons systems, computer controlled products, ballistic missile control systems, airline reservation systems.

Network to access Real-time Netware server

Windows XP

Mac OS X

Netware server

NETWORK

Windows XP

Windows XP

Handheld Systems
Personal

Digital Assistants (PDAs) Cellular telephones

Issues
Limited memory Slow processors Small display screens (still true today?)

H. Embedded Systems
Also

known as dedicated systems. Perform a specific task only and cannot run a wide variety of programs unlike generalpurpose systems.

Migration of OS Concepts and Features

Major Milestone in OS development


UNIX

(1968)

8-bit OS First widely used multiuser , multitasking OS for minicomputers

CP/M

(1975)

8-bit OS First OS that allowed serious business work on small personal computer. VisiCalc (1978) was the first business calculation program for CP/M.

Major Milestone in OS development


MS-DOS

(1980)

16-bit OS First OS for IBM PC family of computers. Lotus 12-3 and WordStar were introduced for PC.

PC-DOS

(1981)

16-bit OS IBM version of MS-DOS

Mac

OS (1984)

16-bit OS First graphical user interface OS that introduced the use of mouse to PC-based systems.

Major Milestone in OS development


Mac

OS X

OS X is version 10 of the Apple Macintosh OS. First "complete revision" of the OS since the previous version is OS 9, with a focus on modularity so that future changes would be easier to incorporate. Incorporates support for UNIX -based applications as well as for those written just for the Macintosh.

Major Milestone in OS development


Mac

OS X

Original Mac OS X release has code name (name after big cats) Cheetah. Public Beta was called Kodiak Mac OS X 10.1 was called Puma Mac OS X 10.2 was called Panther Mac OS X 10.3 was called Jaguar Mac OS X 10.4 was called Tiger Mac OS X 10.5 was called Leopard (2007) Mac OS X 10.5 was called Snow Leopard

Major Milestone in OS development


Linux

Unix-like OS designed to provide PC users a free or very low-cost OS Has a very efficient and fast-performing system.
Linux's kernel was developed by Linus Torvalds at the University of Helsinki in Finland An acronym for Linus Unix.

Major Milestone in OS development


Windows

3.0 (1990)

16-bit OS First usable version of a graphical OS for the PC

Windows

for Workgroups (Windows 3.11)

1993, 16-bit OS First Microsoft Windows with peer-to-peer networking support for the PC.

Major Milestone in OS development


Windows

NT (New Technology)

1993, 32-bit OS Microsofts first attempt to bring a true 32-bit preemptive, multitasking OS with integrated network functionality offered in a workstation and server versions.

Windows

95 (1995)

16/32-bit OS Upgrade to Win 3.x with improved user interface, hardware support with 32-bit code, and provides backward compatibility for 16-bit applications.

Major Milestone in OS development


Windows

95

Released on August 24, 1995 Referred to as Windows 4.0 or by the internal codename Chicago

Major Milestone in OS development


Windows

98 (1998)

32-bit OS Implemented many bugs fixes to Windows 95, more extended hardware support, and fully 32bit.

Windows

2000 (2000)

32-bit OS Revision of Win NT that is faster and more reliable, comes in several versions including Professional, Server, Advanced Server, and DataCenter.

Major Milestone in OS development


Windows

ME (Millennium Edition)

2000, 32-bit OS Upgrade of Win 98 designed for home use with improved multimedia capabilities

Windows

XP (2001)

32/64-bit OS Successor to Win Me 2000 Professional with Home, Professional, Tablet PC, and Media Center versions.

Major Milestone in OS development


Windows

XP

Has a codename of Whistler Stands for eXPerience. XP shared the Whistler code-name with Windows 2003 Server.

Major Milestone in OS development


Windows

Server 2003 (2003)

32/64 bit OS Has Standard, Web, Enterprise, and DataCenter Editions designed as a server platform for MS .NET initiative which integrates all types of devices PC, handheld computers, cell phones, and home appliances for communications over the internet.

Windows

Vista (2008) Windows 7 (2009) - Windows 8

Assignment
Research

on other open-source OS (min. of 10). Write important information regarding such OS including:

Description and history Proponents and supporters Prog. Language used, OS which was based Year it was first release, and its versions Licensing, Server/workstation/mobile, others

Print

the OS milestone graph.

Mobile OS

Symbian OS RIM's BlackBerry Linux Android

iPhone OS Windows Phone, Palm WebOS, Maemo

End of Presentation

Вам также может понравиться