You are on page 1of 28

CHAPTER 1.

1
UNDERSTANDING OPERATING SYSTEM

CSC204
Practical Approach to Operating System
CS110
CHAPTER 1.1.1
WHAT IS OPERATING SYSTEM?
High-level understand what is an operating system and the
role it plays
Appreciate the evolution of operating systems tracks the
evolution of hardware, and that evolution is repeated in each
new hardware era.
Extends the basic hardware with added functionality
Provides high-level abstractions:
 More programmer friendly
 Common core for all applications
It hides the details of the hardware
 Makes application code portable
CHAPTER 1.1.1
WHAT IS OPERATING SYSTEM?
Responsible for allocating resources to users and processes
Must ensure :
 No Starvation
 Progress
 Allocation is according to some desired policy
 First-come, first-served; Fair share; Weighted fair share; limits
(quotas), etc…
 Overall, that the system is efficiently used
CHAPTER 1.1.2
COMPUTER SYSTEM COMPONENTS

Privileged Mode

Operating System

Applications Requests

(System Calls)

User Mode
Applications Applications
ABSTRACT VIEW OF COMPUTER COMPONENTS
CHAPTER 1.1.2
WHAT IS OPERATING SYSTEM?
Applications should not be able to interfere or bypass the
operating system
 OS can enforce the “extended machine” or virtual machine
 OS can enforce its resource allocation policies (h/w & s/w collector)
 Prevent applications from interfering with each other

Note: Some Embedded OSs have no privileged component,


e.g. PalmOS
 Can implement OS functionality, but cannot enforce it.

Note: Some operating systems implement significant OS


functionality in user-mode, e.g. User-mode Linux
CHAPTER 1.1.3
HISTORY OF OPERATING SYSTEM

A FAMOUS REMARK
“I think there is a world market for maybe
five computers
~ Thomas Watson, Chairman of IBM, 1943

A FAMOUS FORECAST
“Computer in the future may weight no
more than 1.5 ton”
~ Popular Mechanics, 1949
CHAPTER 1.1.3
HISTORY OF OPERATING SYSTEM
FIRST GENERATION 1945-1955
• Vacuum tubes & wires plug boards technology
• Plug boards replaced with punch cards
• Electronic Numerical Integrator And Calculator (ENIAC) – first
commercial computer system
• - the first large-scale computer to run at electronic speed without being
slowed by any mechanical parts.
• Use 18K vacuum tubes
• OS ?
• NONE !
CHAPTER 1.1.3
HISTORY OF OPERATING SYSTEM
FIRST GENERATION 1945-1955
CHAPTER 1.1.3
HISTORY OF OPERATING SYSTEM
FIRST GENERATION 1945-1955

 Every instruction needed by the computer to perform the tasks


requested, and the machines were poorly utilized, i.e., the CPU
processed data and made calculations for only a fraction of the
available time.

 Basically, early programs were designed to use the resources


conservatively at the expense of understand-ability.
CHAPTER 1.1.3
HISTORY OF OPERATING SYSTEM

A FAMOUS REMARK

“I have traveled the length and breadth of this country


and talked with the best people, and I can assure you
that data processing is a fad that won’t last out the year
~ Editor, Prentice Hall, 1957
CHAPTER 1.1.3
HISTORY OF OPERATING SYSTEM
SECOND GENERATION 1955-1965
• business environments placed importance on cost effectiveness; however, computers were still very
expensive.
• during this time, techniques were developed to manage program libraries, create and maintain data
files and indexes, randomize direct access addresses, and create and check file labels. However,
programs were still run in serial batch mode, one at a time.
• Transistors technology
• IBM 701 mainframe
• OS ?
• 1st OS - JCL (Job Control Language) - is a scripting language used on IBM mainframe
operating systems to instruct the system on how to run a batch job or start a subsystem
• Batch processing – collection of source program, data & controls to compile & run a particular
task. A program takes a set of data files as input, processes the data, and produces a set of
output data files. This operating environment is termed as "batch processing" because the
input data are collected into batches of files and are processed in batches by the program.
• SPOOL - Simultaneous Peripheral Operations On-Line
• Single-stream processing
• copy files from one medium to another: punch card to tape, tape to punch card and tape
to printer, with occasional use for card-to-card copying. The introduction of the relatively
inexpensive IBM 1401 led to a temporary reduction in the use of SPOOL software.
• One-at-a-time, start to end!
CHAPTER 1.1.3
HISTORY OF OPERATING SYSTEM
A FAMOUS REMARK

“There is no reason anyone would want a computer in


their home”
~ Ken Olson, President/Chairman/Founder
Digital Equipment Corp, 1977
CHAPTER 1.1.3
HISTORY OF OPERATING SYSTEM
THIRD GENERATION 1965-1980
 Computers were designed with faster CPUs, but their speed caused problems when they
interacted with the relatively slow I/O devices
• Integrated circuit technology
• IBM System/360 & DEC PDPs minicomputer
• OS ?
• Multiprogramming system - is the allocation of a computer system and its resources
to more than one concurrent application, job or user
• Time-sharing- allowing a large number of users to interact concurrently with a single
computer, time-sharing dramatically lowered the cost of providing computing
capability, made it possible for individuals and organizations to use a computer
without owning one, and promoted the interactive use of computers and the
development of new interactive applications
• Virtual memory, spooling
• Single-stream processing
• One-at-a-time, start to end!
CHAPTER 1.1.3
HISTORY OF OPERATING SYSTEM
A FAMOUS REMARK

“We don’t see Windows as a long-term graphical


interface for the masses”
~ Lotus Software Development Official, 1989
CHAPTER 1.1.3
HISTORY OF OPERATING SYSTEM
FOURTH GENERATION 1980-PRESENT
OS
 Network Operating Systems
 Novell Netware, MS LANManager/Windows
 Server Operating Systems
 Offer services like print, file, application or web
 UNIX, Windows, Linux
 Multiprocessor Operating Systems
 Parallel computing, Grid Computing
 Personal Operating Systems
 Single user with GUI
 Windows XP/Vista, MacOS X, Linux
CHAPTER 1.1.3
SIMPLIFIED OS HISTORY
TIMELINE OF WINDOWS OS
TIMELINE OF WINDOWS OS
CHAPTER 1.1.3
MIGRATION OF CONCEPTS AND FEATURES
CHAPTER 1.1.3
SUMMARY
 Phase 1: Hardware - computers are expensive
 Goal: Use computer’s time efficiently
 Maximize job throughput (i.e. jobs per second)
 Maximize machine utilization (i.e. percentage busy)
 Phase 2: Peopleware - computers are inexpensive
 Goal: Use people’s time efficiently
 Maximize process thoughput (i.e. several applications runs
simultaneously)
 Minimize response time (i.e. concurrent processes)
CHAPTER 1.1.4
TYPES OF OS
 Mainframe operating systems
 Used in corporate data centers', typically have huge i/o capabilities
 IBM OS/390 – introduced in 1995 by Randy Stelmen.
 Services provided:
 Batch – routine jobs with no user interaction (utility
bill processing)
 Transaction processing – small but numerous
tasks (cheque processing, reservations systems)
 Timesharing – multiple remote on-line users
(database queries)
CHAPTER 1.1.4
TYPES OF OS

 Server/Network operating systems


 Initially used cooperative multitasking to run
various services on a personal computer with
network protocol
 Systems that provide high-speed services
over a network.
 Example file/print server, web services
 Novell Netware, Microsoft Windows, Linux
CHAPTER 1.1.4
TYPES OF OS
CHAPTER 1.1.4
TYPES OF OS

 Personal computer operating systems


 Single user with good GUI
 Microsoft Windows XP/Vista, MacOS X, Linux
CHAPTER 1.1.4
TYPES OF OS

 Real-time operating systems


 Used in industrial process control systems
where timing is critical
 “hard” real time – action must occur at precisely some instant; e.g. robot
welder, autopilot
 “soft” real time – missing an occasional deadline is OK; e.g. digital
audio/multimedia

 VxWorks, QNX (commercial Unix Like real-


time OS), RT-Linux
CHAPTER 1.1.4
TYPES OF OS
 Embedded operating systems
 Used in PDAs, Smartphones and consumers
electronics; e.g. TVs, set-top boxes, microwaves, etc
 PalmOS, Symbian, Windows Mobile
 Smartcard operating systems
 Extreme primitive OS running on credit card sized
devices with a CPU
 Java Virtual Machine (JVM)
 MULTOS multi-application smart card operating system, that
enables a smart card to carry a variety of applications, from chip &
pin application for payment to on-card biometric matching for secure
ID and ePassport.
CHAPTER 1.1.4
CURRENT OS INTEREST
Middleware
Software that links 2 separate apps on heterogeneous
systems via networks; e.g. Web Services (Enterprise
Application Integration)
Multiprocessing
Multiple processors in same machine; e.g. SMP
Concurrent programming
form of computing in which programs are designed as
collections of interacting computational processes that may
be executed in parallel.
Concurrent C, Java – parallel computations/threads
API standardization
POSIX – Portable Operating System Interface

You might also like