0% found this document useful (0 votes)
57 views75 pages

Overview of Operating System Goals

Here are the steps to solve this problem: 1. Input phase: (1 min/600 cards) x (60,000 ms/min) = 100 ms 2. Process phase: (1,000 instructions) x (1 μs/instruction) x (1 ms/1000 μs) = 1 ms 3. Output phase: (1 min/100 lines) x (60,000 ms/min) = 600 ms 4. Total time = Input + Process + Output = 100 ms + 1 ms + 600 ms = 701 ms 5. CPU time = Process time = 1 ms 6. CPU utilization = (CPU time/Total time) x 100% = (1/701) x 100

Uploaded by

Lanie Arco
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views75 pages

Overview of Operating System Goals

Here are the steps to solve this problem: 1. Input phase: (1 min/600 cards) x (60,000 ms/min) = 100 ms 2. Process phase: (1,000 instructions) x (1 μs/instruction) x (1 ms/1000 μs) = 1 ms 3. Output phase: (1 min/100 lines) x (60,000 ms/min) = 600 ms 4. Total time = Input + Process + Output = 100 ms + 1 ms + 600 ms = 701 ms 5. CPU time = Process time = 1 ms 6. CPU utilization = (CPU time/Total time) x 100% = (1/701) x 100

Uploaded by

Lanie Arco
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
  • Introduction to Operating Systems
  • Objectives
  • Introduction
  • What is OS?
  • Types of OS
  • Network OS
  • Different OS
  • Primary Goals of an OS
  • Sizes of OS
  • Why Study Operating Systems?
  • What Does an OS Do?
  • Where are OS Found?
  • What is a General Purpose OS?
  • Viewpoints of an OS
  • Single-user vs. Multi-user OS
  • Operating System Utilities
  • OS Interfaces
  • What is a Multitasking OS?
  • Evolution of OS
  • Early Systems
  • Sample Problem #1
  • It's Your Turn...
  • Personal Computer
  • Parallel Systems
  • Distributed Systems
  • Real-time Systems
  • Handheld Systems
  • Embedded Systems
  • Migration of OS Concepts and Features
  • Major Milestones in OS Development

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

Common questions

Powered by AI

Advancements in multi-user, multitasking operating systems have significantly influenced business computing by allowing multiple users to share expensive hardware resources, leading to cost savings and increased resource utilization . These systems also support numerous concurrent tasks, enhancing productivity within business environments. Examples like UNIX, a widely used multi-user multiprocessing system, have set the foundation for businesses that require robust network and server capabilities .

Single-user operating systems provide computer system access to one user at a time, whereas multi-user systems allow multiple users to access the computer system simultaneously over a network . Multi-user systems maximize resource utilization by sharing expensive hardware resources among users, resulting in reduced idle time and increased productivity . However, they can slow down performance due to more concurrent users and generally require more expensive hardware with substantial disk space and memory .

An operating system facilitates user interaction through interfaces that accept, interpret, and execute user commands or programs. This is accomplished via a command-line interpreter (CLI) or graphical user interface (GUI), depending on the system, allowing users to interact with the system seamlessly . The OS manages these interactions efficiently by prioritizing tasks and allocating resources accordingly .

An operating system acts as an intermediary between the user and computer hardware by providing an environment that facilitates program execution . It initializes hardware, manages device control routines, schedules tasks, maintains system integrity, and handles errors . As a resource manager, it efficiently allocates system resources to ensure they are effectively utilized for performing tasks .

Significant evolutionary milestones include UNIX in 1968, notable for being the first multiuser, multitasking OS for minicomputers ; CP/M in 1975, which enabled business applications on personal computers ; MS-DOS in 1980, the first OS for the IBM PC family ; the introduction of graphical interfaces with Mac OS in 1984 ; Windows 95 in 1995, introducing a hybrid 16/32-bit architecture and improved UI ; and Linux, offering a free Unix-like system with efficient performance . These milestones reflect the transition from text-based to graphical interfaces and the expansion of multiuser and multitasking capabilities.

Techniques from operating systems can be applied to other areas such as complex data structures, conflict resolution, concurrency control, and resource management . These techniques are essential in software engineering, computer architecture, network algorithms, and the efficient handling of large-scale applications across multiple domains .

Windows 95 distinguished itself from its predecessors with its integration of a 32-bit architecture, improved user interface, and enhanced hardware support. It retained backward compatibility for 16-bit applications, making it a significant upgrade from Windows 3.x . Additionally, it introduced features such as the Start menu, taskbar, and plug-and-play hardware support, marking a pivotal shift towards modern GUIs .

Linux revolutionized personal computing by providing a free or low-cost Unix-like operating system that is highly efficient and fast-performing . Its open-source model encouraged community development and diversified contributions, improving system performance and usability. It gave users more control over software usage and development, fostering innovation and broad adoption across various devices and platforms .

Operating systems contribute to the efficient use of computer hardware by managing resources such as CPU, memory, and I/O devices, scheduling tasks, and controlling device operations to minimize idle time and enhance system throughput . They optimize hardware usage by providing a consistent environment for executing multiple applications, facilitating effective resource allocation and conflict resolution .

Embedded operating systems, designed for specific tasks, face challenges such as limited memory, slow processors, and small display screens . These constraints necessitate efficient resource management and optimization to ensure the systems perform their tasks effectively despite hardware limitations . Embedded systems are also known for being dedicated systems that do not support a wide array of programs like general-purpose systems .

Introduction to
Objectives 1.A firm understanding about OS, its primary purpose and goals to a computer system; 2.Trace the history of OS and
Introduction Major components of Computer Systems: Hardware Computer users Software  Note: Without software, computer i
Introduction Software can be grouped into: System software (OS and utilities)  Application software (user programs) 
Soft
Introduction 
 
Utilities                       Application  
                                  Software
Introduction Without an OS, a user who wanted to run a program that uses some of the resources of the system will need to wr
Introduction To alleviate these difficulties, OS contains set of procedures for driving the resources of the system, thus it
What is OS? Program implemented either in firmware or software which acts as an intermediary between the user of a computer
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 c
Network OS NOS Either desktop or server OS that enables a computer to communicate with other computers through network cabl

You might also like