Sunteți pe pagina 1din 68

CMP325

Operating Systems
Lecture 01

Introduction to Computer & Operating Systems


Arif Butt
Fall 2017
Note: Some slides and/or pictures are adapted from Lecture slides / Books of
• Dr Mansoor Sarwar.
• Dr Kubiatowicz.
• Dr P. Bhat.
• Dr Hank Levy.
• Dr Indranil Gupta.
• Text Book - OS Concepts by Silberschatz, Galvin, and Gagne.
• Ref Books
• Operating Systems Design and Implementation by Tanenbaum.
• Operating Systems by William Stalling.
• Operating Systems by Colin Ritchie.
Today’s Agenda
• Basic Course information and Class
Protocols
• Course Outline
• Operating System Overview
– OS An Abstraction
– Interrupt, Trap and Signal
– I/O, Memory and CPU Protection

• A Brief History / Evolution of OS


CMP325 PUCIT Arif Butt 2
Course Information
• Required Textbook: Operating System Concepts,
8th Edition Silbershatz, Galvin, Gagne
• Course Website:
http://www.arifbutt.me

• Prerequisites : Nill
• Corequisites : CMP223, CMP210
• Office: New Faculty Building Room: G7
• Students Counseling hours:
– Mon: 1130 hrs – 1230 hrs and 1330 hrs – 1430 hrs
– Wed: 1130 hrs – 1230 hrs and 1330 hrs – 1430 hrs
• 24 hour turnaround for email: arif@pucit.edu.pk
CMP325 PUCIT Arif Butt 3
Course Information
Visit Course Web Site for following information:
http://www.arifbutt.me
– Lecture Slides
– Video Lectures (OS with Linux)
– Quizzes + Assignments + Labs
– Announcements
– Teaching Assistants
– SOPs and Course related Policies
– Misc Resources

CMP325 PUCIT Arif Butt 4


Who cares to get an A?
• Final exam: 40%

• Mid-exam: 35%

• Sessionals: 25%
– Surprise Quizzes: 10%

– Assignments (PA/LW/HW): 5%

– Lab : 10%

CMP325 PUCIT Arif Butt 5


Programming Assignments
&
Linux Shell Commands

CMP325 PUCIT Arif Butt 6


No Pains
No Gains

CMP325 PUCIT Arif Butt 7


Outline

CMP325 PUCIT Arif Butt 8


Operating System
Overview

CMP325 PUCIT Arif Butt 9


Operating System–An Abstraction

CMP325 PUCIT Arif Butt 10


Operating System–An Abstraction

CMP325 PUCIT Arif Butt 11


Operating System–An Abstraction

CMP325 PUCIT Arif Butt 12


Operating System–An Abstraction

CMP325 PUCIT Arif Butt 13


What Is an OS?
“Code” that:
• Sits between programs & hardware
• Sits between different programs
• Sits betweens different users
But what does it do?
Provides an orderly and controlled allocation of the
processor(s), memory(ies) and I/O devices among the
various programs competing for them

Loose analogy:
– Government: creates and enforces laws that govern
resources (money, land, houses, vehicles, oil, etc.)
but allows citizens to have freedom with using the
resources (as long as the citizen obeys laws)
CMP325 PUCIT Arif Butt 14
What Is an OS? (…)
Resources Services
• Allocation • Abstraction
• Protection • Simplification
• Reclamation • Convenience
• Virtualization • Standardization

Resource management includes multiplexing (sharing)


resources in two ways:
• Time Multiplexed (CPU sharing, Printer sharing).
• Space Multiplexed (Memory, Hard Disk).

CMP325 PUCIT Arif Butt 15


What is an OS? (…)
Objective of an OS is to Tame the h/w so that people can program and can get something useful out of it.

Top Down View: A program that acts as an intermediary between a


user of a computer and the computer hardware. Present the user with the
equivalent of an extended machine or virtual machine that is easier to
program than the underlying hardware. (HOW?)

Bottom Up View: A program that allocates and de-allocates computer


system resources (CPUs, memories, timers, disks, mice, network
interfaces, printers, …) in an efficient, fair and secure manner. (HOW?)

“An OS is a program running at all times on the computer (usually


called the kernel), that controls the execution of application programs
and acts as an interface between the user of a computer and the
computer hardware.”
“Primary goal of OS is convenience of user and secondary goal is
efficient operation of the computer system.”
CMP325 PUCIT Arif Butt 16
What Is an OS?
• Single-user, single-process OS
• Single-user, multi-process OS
• Multiuser, multi-process OS
• Multiprogramming vs Multitasking OS
• Batch OS
• Interactive OS
• Time Sharing OS = multi-user + multi-tasking + interactive
• Real time
• Network
• Distributed
• SMP
• Clustered
• Hand held
CMP325 PUCIT Arif Butt 17
Name some OSs
• UNIX • Android from Google
• Linux • BlackBerry from RIM
• Sun Solaris • iOS from Apple
• Macintosh • Symbian from Nokia
• PC BSD • Windows phone from MS
• MS Windows • ….

CMP325 PUCIT Arif Butt 18


Interrupt
• Virtually all computers provide a
mechanism by which other modules (I/O,
memory) may interrupt the normal
sequencing of the processor.
Answer
• Provided to improve processor utilization
The
Phone
• Most I/O devices are slower than the .
.

processor and Processor must pause to .


.
.
wait for device .

Resume
CMP325 PUCIT Arif Butt 19
Common Classes of Interrupts

CMP325 PUCIT Arif Butt 20


Transfer of Control via Interrupts

CMP325 PUCIT Arif Butt 21


Sub Routine Call vs Interrupt
Sub routine Call Interrupt
• Occur due to an internal event
• Occur due to execution of
(setting of flag) or an
an instruction.
external event (key press).
• Address of subroutine is • Address of ISR is determined
determined by the address by h/w (vectored / non
part of an instruction. vectored interrupt).
• Other than contents of PC,
• Stores only the contents of
store the state of processor
PC (return address).
as well (all processor
registers).

CMP325 PUCIT Arif Butt 22


Interrupts, Traps and Signals
• Interrupt. An event generated by an I/O
device to get the attention of CPU and control
goes to the OS. State of the CPU is saved, ISR
is executed and then state of CPU is restored.
• Trap. An event generated by CPU and control
goes to the OS. Normally when an instruction is
executed that may cause a division by zero or Answer
The
protection error. State of CPU is not saved and
Phone
.
TSR is executed. .
• Signal. A notification given to a process by the .
.
OS because the process did something, the .
user did something, one process wants to tell .

another process something. Resume


CMP325 PUCIT Arif Butt 23
PROTECTION
In Time Sharing System there are multiple
processes using various resources of the
computer. Sounds great, but like no free
lunch, it has disadvantage as well, i.e. the issue
of protection
§ Keep user programs from crashing the OS
§ Keep user programs from crashing each other
§ Keep parts of OS from crashing other parts
Protection is implemented by keeping two
modes
CMP325 PUCIT Arif Butt 24
Dual Mode Operation
• To protect the OS and all other programs and
their data from any malfunctioning program,
protection is needed for any shared resource. It
is done by keeping two modes:
• User Mode. Execution done on behalf of a
user program
• Monitor/Kernel/System/Supervisor Mode.
Execution done on behalf of OS
• Mode bit added to computer h/w to indicate the
current mode: Monitor (0), User (1) Interrupt/fault
When an interrupt or fault occurs h/w switches to monitor
mode.
monitor user
Privileged instructions can only be executed in monitor set user mode
mode.
CMP325 PUCIT Arif Butt 25
How to protect Processes from one another?
Need three important things:
• Protection of I/O devices
• Every process should not have access to every device
• Protection of memory
• A process should not access another process address
space
• Preemptive switching from task to task
• Use of timer
• Must not be able to disable timer from user code

CMP325 PUCIT Arif Butt 26


I/O PROTECTION
• All I/O instructions are privileged instruction, no user
process can execute an I/O instruction directly. If he/she
is permitted he/she can always overwrite/delete some
ones else data
• I/O is done using system call. A way that an OS allows a
user process to invoke an operation such as an I/O
operation e.g. opening and reading a file
• Following lines of Assy code displays xter ‘A’ on monitor screen
MOV DL, ‘A’ ;Place xter to be displayed in DL
MOV AH, 02 ;Place appropriate svc no / system call no in AH
INT 21h ;Call the interrupt
• Following lines of Assy code input a xter and place it in AL register
MOV AH, 01
INT 21h
CMP325 PUCIT Arif Butt 27
Memory Protection
• Process Address Space. Region in the main
memory that a process can legally access is known
as its address space. A process must not be
allowed to go outside its address space
• Implementation. CPU uses two registers to
determine the range of logical addresses a
program may access
• Base Register holds the smallest/starting
address of the Address Space assigned to a
process
• Limit Register contains the size of the address
space allocated to the process
CMP325 PUCIT Arif Butt 28
Memory Protection (cont…)

CMP325 PUCIT Arif Butt 29


Memory Protection (cont…)

CMP325 PUCIT Arif Butt 30


CPU Protection
• In multiprogramming or time sharing OS, multiple
processes are running at a time and we want to make sure
that the CPU must not stay with a process for an infinite
amount of time
• Implementation.
• Timer interrupts computer after a specified period to ensure OS
maintains control
• Timer (counter register) is loaded with a predetermined value and
decremented every clock tick
• When the timer reaches the value 0, an interrupt occurs and an
ISR is executed to switch CPU to another process
• How Timer is loaded? This is also a privileged instr, because no
one other than the admin should be allowed to assign a time slice
to various processes CMP325 PUCIT Arif Butt 31
History of
Operating Systems

CMP325 PUCIT Arif Butt 32


History of Operating Systems
• First generation 1945 – 1955
– vacuum tubes, plug boards (no OS, signup
sheets or punch cards)
• Second generation 1955 – 1965
– transistors, batch systems
• Third generation 1965 – 1980
– ICs and multiprogramming
• Fourth generation 1980 – 1995
– personal computers, networks and
distributed systems
– Fifth generation 1995 – present
– Mobile systems
CMP325 PUCIT Arif Butt 33
First Generation (1945 – 1955)
• In these early days, a single group of people designed, built,
programmed, operated and maintained each machine
• All programming was done in absolute machine language, often by wiring
up plug boards to control the machine’s basic functions
• Programming languages were unknown (even assembly language was
unknown)
• Operating Systems were unheard of
• The programmer used to sign up for a block of time on the signup sheet
on the wall, then come down to the machine room, insert his plug board
into the computer and spend the next few hours hoping that none of
the 20,000 or so vacuum tubes would burn out during the run
• By early 1950s, with the advent of punch cards, it was now possible to
write programs on cards and read them in instead of using plug boards

CMP325 PUCIT Arif Butt 34


ENIAC: (1945—1955)

• “The machine designed by Drs. Eckert and Mauchly was a


monstrosity. When it was finished, the ENIAC filled an
entire room, weighed thirty tons, and consumed two
hundred kilowatts of power.”
• http://ei.cs.vt.edu/~history/ENIAC.Richey.HTML
CMP325 PUCIT Arif Butt 35
Second Generation (1955 – 1965)
• The introduction of transistor in mid 1950s changed the
picture radically
• Now there was a clear separation between designers,
builders, operators, programmers and maintenance
personnel
• The machines called mainframes, were locked away in
specially air conditioned computer rooms, with specially
trained professional operators to run them
• To run a job: (Serial Processing)
• Programmer would first write program on paper (FORTRAN, BASIC, COBOL)
• Punch it on cards
• Bring the card deck to the input room and hand it over to operator
• Go drink coffee
• Operator run the job on the machine and before running might need to load FORTRAN compiler
as well. After running job he then go over to the printer, tear off the output and carry it over to
the output room, to hand it over to the programmer

• Limitations. Setup time, Job Scheduling


CMP325 PUCIT Arif Butt 36
Second Generation (cont…)
Batch Processing and Batch OS
• Reduce setup time by batching similar jobs
• Automatic job sequencing – automatically transfers control
from one job to another
• In simple Batch system a user prepares his/her job (on
card or tape) offline and submits it to the computer center
A computer operator batches the jobs together
sequentially
• Limitations
1. CPU sits idle when there is a job transition
Ø Overcome by Resident Monitor
2. Speed differential
Ø Overcome by two approaches to improve system performance by overlapping IO
and processing (Buffering and Spooling)
3. Non interactive environment
4. Offline debugging
CMP325 PUCIT Arif Butt 37
Second Generation (cont…)
Batch Processing and Batch OS

An Early Batch System. 1401: Character-oriented commercial


computers used for tape sorting and
a. Programmers bring cards to 1401 printing
b. 1401 reads batch of jobs onto tape 7094: Word-oriented large scale scientific
computers used for numerical calculations
c. Operator carries input tape to 7094 in science and engineering.

d. 7094 does computing


e. Operator carries output tape to 1401 for printing offline (i.e. not
connected to the main computer)
f. 1401 prints output CMP325 PUCIT Arif Butt 38
Second Generation (cont…)
Structure of a typical FMS (Fortran Monitor System) Job.

These primitive control cards


were the forerunners of
modern job control languages
and command interpreters.
CMP325 PUCIT Arif Butt 39
Second Generation (cont…)
Batch Processing and Batch OS
• Process Scheduling, Memory Management, File Management
and I/O Management in Batch Processing are quite simple
Ø Process Scheduling: Jobs are typically processed in the order of
submission
Ø Memory Management: Memory is typically divided into two areas
one for the Resident Monitor and other is User Program Area, when
one program is over the new program is loaded into the same area
Ø File Management: Access to files is also serial and there is hardly a
need of protection and File Access Control Mechanism
Ø I/O Management: Since there is only one program executing at a
time, so there is no competition for I/O devices, therefore
allocation and de-allocation of I/O devices is trivial
CMP325 PUCIT Arif Butt 40
Second Generation (cont…)
• Resident Monitor
Ø One of the problem in simple Batch Processing is Int Processing
“The CPU sits idle when there is a job
transition”. This problem is over come by a small Device Drivers

program called Resident Monitor


Job Sequencing
Ø Monitor reads jobs one at a time from the I/P
device (card reader / Magnetic tape). Current job JCL Interpreter
is placed in the user program area and control is
passed to this job. When job completes control
User
transfers back to the monitor, which then loads Program
next job Area

Ø Job Control Language (JCL) is a special type of


programming language used to provide instructions
to monitor
CMP325 PUCIT Arif Butt 41
Buffering VS Spooling
• Buffering is a method of • Simultaneous Peripheral
overlapping I/O and Operations Online allows
processing of a single job CPU to overlap the input of
Ø Input one job with the computation
and output of other jobs
CPU Buffers Input Device • It essentially use the disk as
a large buffer for reading and
ØOut put for storing output files
CPU Buffers Output Device • Advantages
• Since the CPU is faster than • Speedy computation at the cost
the I/O device, the speed of of some disk space and few
execution is controlled by the tables kept by OS
• Keeps both CPU and I/O devices
I/O device and not by the
working at much higher rates
speed of CPU
CMP325 PUCIT Arif Butt 42
Third Generation (1965 – 1980)
• IBM came up with System/360; the first major computer
line to use (small-scale) Integrated Circuits. It was
designed to handle both scientific (i.e., numerical) and
commercial computing. The OS/360 was the OS that was
designed to handle the giant
• Later IBM came up with 370, 4300, 3080, 3090, and Z-
series
• Several key techniques absent in second generation
operating systems were introduced in OS/360:
Ø Multiprogramming. On the 7094, when the current job paused to wait
for an I/O operation to complete, the CPU simply sat idle until the I/O
finished. Solution was multiprogramming
Ø SPOOLING: With spooling, the 1401s were no longer needed
CMP325 PUCIT Arif Butt 43
Third Generation (cont…)
Multiprogramming / Multiprogrammed OS
• Buffering improve system performance by
overlapping the I/O and computation of a
single job. Spooling improve system
performance by overlapping the I/O of one
job with computation and output of another
job
• A single user cannot keep CPU and I/O devices
busy at all times. Multiprogramming offers a
more efficient approach to increase system
performance
• Several jobs are kept in main memory at the
same time and the CPU is multiplexed among
them
CMP325 PUCIT Arif Butt 44
Multiprogramming/Multiprogrammed OS (cont…)
Sequential Execution CPU Burst
t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 I/O Burst

Execution in a multiprogramming Environment


t1 t2 t3 t4 t5 t6
P1
P2

• Compared to OS which supports only sequential execution,


multiprogramming systems requires following features:
• SPOOLING
• Memory management
• CPU Scheduling
CMP325 PUCIT Arif Butt 45
Third Generation (cont…)
Time Sharing OS
• With third generation systems, the time between submitting a job and
getting back the output was often hours, so a single misplaced comma
could cause a compilation to fail, and the programmer to waste half a
day
• This gave introduction to time sharing, in which each user has an online
terminal
• It is a form of multi-programmed OS which operates in a interactive
mode with a quick response time
• In Timesharing System, each user is given a time slice/quantum. The
user program/process executes for a short time before it either
finishes or needs to perform I/O. the resources are then taken away
from the user and given to some one else. This is hardly noticeable and
the user thinks as if he is using all the resources by himself
– Response time should be < 1 second
– If several jobs ready to run at the same time [ CPU scheduling
– If processes don’t fit in memory, swapping moves them in and out to run
CMP325 PUCIT Arif Butt 46
Batch Multiprogramming VS Time Sharing

Batch Multiprogramming Time Sharing


• Event Driven • Time Driven

• Objective is to maximize • Objective is to minimize


processor use response time

• Source of instructions to OS • Source of instructions to OS


is the JCL instructions are commands entered at the
provided with job terminal

CMP325 PUCIT Arif Butt 47


Third Generation (cont…)

MULTICS
MULTiplexed Informaton and Computing Service)

• First large Time Sharing


System
• The 6180 at MIT , skin
doors open, circa 1976

http://www.multicians.org/multics-stories.html
CMP325 PUCIT Arif Butt 48
Third Generation (cont…)
Mini Computers
• Another major development during the third generation was the growth
of minicomputers, starting with the Digital Equipment Company (DEC)
PDP-1 in 1961

• The PDP-1 had only 4K of 18 bit words, but at $120,000 per machine
(less than 5 percent of the price of a 7094), it sold like hotcakes.

• It followed by a series of other PDPs culminating in the PDP-11

CMP325 PUCIT Arif Butt 49


Early Disk History

1973: 1979:
1. 7 Mbit/sq. in 7. 7 Mbit/sq. in
140 MBytes 2,300 MBytes

Contrast: Seagate 1TB,


164 GB/SQ in, 3½ in disk,
4 platters
CMP325 PUCIT Arif Butt 50
The ARPANet (1968-1970’s)
SRI
SDS 940 Utah
PDP 10
IMPs • Paul Baran
UCSB – RAND Corp, early 1960s
IBM 360
– Communications networks
UCLA that would survive a major
Sigma 7 enemy attack
• ARPANet: Research vehicle for
“Resource Sharing Computer
Networks”
– 2 September 1969: UCLA first
node on the ARPANet
– December 1969: 4 nodes
connected by 56 kbps phone
BBN team that implemented lines
the interface message processor – 1971: First Email
http://www.cnn.com/2004/TECH/internet/08/29/internet.birthday.ap/index.html – 1970’s: <100 computers
CMP325 PUCIT Arif Butt 51
Fourth Generation (1980 – 1995)
• With the development of LSI circuits, the age of the
microprocessor-based personal computer dawned.
(initially called microcomputers)
• Intel came out with the 8080 (first general purpose 8-
bit microprocessor, in 1974)
• Motorola also produced an 8bit microprocessor, the
6800
• In early 1980s Intel came out with 8088 and 8086 with
MS-DOS and quickly dominate the IBM PC market
• An interesting development began taking place during
the mid-1980s is the growth of networks of personal
computers running Network Operating Systems and
Distributed Operating Systems
CMP325 PUCIT Arif Butt 52
Fifth Generation (1995 – )
• Ubiquitous Mobile Devices
– Laptops, PDAs, phones
– Small, portable, and inexpensive
• Recently twice as many smart phones as PDAs
• Many computers/person!
– Limited capabilities (memory, CPU, power, etc…)
• Wireless/Wide Area Networking
– Leveraging the infrastructure
– Huge distributed pool of resources extend devices
– Traditional computers split into pieces. Wireless
keyboards/mice, CPU distributed, storage remote
• Client Server, Peer-to-peer, and Web Based Computing
CMP325 PUCIT Arif Butt 53
Types of
Operating Systems

CMP325 PUCIT Arif Butt 54


Network Operating Systems
• In NOS, the users are aware of the existence of multiple
computers and can log in to remote machines and copy files
from one machine to another
• Each machine runs its own local OS and has its own local
user(s)
• A NOS is a collection of s/w and associated protocols that
allow a set of autonomous computers which are inter-
connected by a computer NW to be used together in a
convenient and cost effective manner
• Remote Login. Each user normally works on his/her own system; using a
different system requires some kind of remote login, instead of having
the OS dynamically allocate processes to CPU
telnet pucit.edu.pk
• Remote File Transfer. Users are aware of where their files are kept
and must move file from one system to another with explicit file
transfer commands instead of having file placement managed by OS
ftp pucit.edu.pk
CMP325 PUCIT Arif Butt 55
Distributed OS
• A Distributed System is a collection of independent
computers that appears to its users as a single
coherent system

• The users should not be aware of where their


programs are being run or where their files are
located; that should all be handled automatically
and efficiently by the Operating System
“A distributed system is one where I can’t do work
because some machine (in some other part of the
world) I have never heard of isn’t working”
CMP325 PUCIT Arif Butt Lamport 56
NOS vs DOS
• File System. In NOS, control over file placement
must be done manually by the user, where as in a
DOS it is done automatically by the system itself
• Protection. In NOS, there are various machines,
each with its own user to UID, but in DOS there is
a single system wide mapping that is valid every
where
• Program Execution. In the most distributed case
the system chooses a CPU by looking at the
processing load of the machine, location of file to
be used etc. In the least distributed case, the
system always run the process on one specific
machine. (usually the machine on which the user is logged in)
CMP325 PUCIT Arif Butt 57
Real Time Systems
• In Real Time systems, the correctness of the system
depends not only on the logical result of computation but
also on the time at which the results are produced
• Examples are Process Control Plants, Robotics, Air Traffic
Control, Telecommunications, Missile Control System
• Hard Real Time System. Output should be produced within
the given time constraints, otherwise, the result is life
threatening; e.g. Plane landing systems, process control in
nuclear power plants, missile control system. Secondary
storage is limited or absent, data stored in short term
memory or ROM. No virtual memory
• Soft Real Time System. Output should be produced within
the given time constraints, but if it is not, the result is not
life threatening; e.g. applications of multimedia and virtual
reality CMP325 PUCIT Arif Butt 58
Computing Environment
• Client Server computing
• Peer to Peer computing
• Web based computing
• Multi-processor computing
• SMP architecture
• Asymmetric computing
• Clustered computing
• Embedded computing

CMP325 PUCIT Arif Butt 59


Computing Environment (…)
■ Client-Server Computing

● Dumb terminals supplanted by smart PCs


● Many systems now servers, responding to requests
generated by clients
4Compute-server provides an interface to client to
request services (i.e. database)
4File-server provides interface for clients to store
and retrieve files

CMP325 PUCIT Arif Butt 60


Computing Environment (…)
• Peer to Peer Computing
• Another model of distributed system
• P2P does not distinguish clients and servers
– Instead all nodes are considered peers
– May each act as client, server or both
– Node must join P2P network
• Registers its service with central lookup service
on network, or
• Broadcast request for service and respond to
requests for service via discovery protocol
– Examples include Napster , KaZaA, and Gnutella
CMP325 PUCIT Arif Butt 61
Computing Environment (…)
Web Based Computing
• Web has become ubiquitous
• PCs most prevalent devices
• More devices becoming networked to allow web
access
• New category of devices to manage web
traffic among similar servers: load balancers
• Use of operating systems like Windows 95,
client-side, have evolved into Linux and
Windows 7, which can be clients and servers

CMP325 PUCIT Arif Butt 62


Computing Environment (…)
Multiprocessor Systems
• Also called parallel systems or tightly coupled
systems
• Multiple CPUs in a single entity, comm using system
bus
• Advantages
• Increased throughput
• Increased reliability (Graceful degradation, fault
tolerance)
• Saves money by not duplicating power supplies,
housings, and peripherals
• Disadvantage
• More complex in both hardware and software
than uni-processor systems
CMP325 PUCIT Arif Butt 63
Computing Environment (…)
• Types of Multiprocessor Systems

• Symmetric multiprocessors Two or more identical


processors connected to a single shared memory,
having full access to all I/O devices, controlled by
a single operating system instance that treats all
processors equally (reserving none for special
purpose) is called SMP architecture. SMP
architecture treats multiple cores as separate
processors

• Asymmetric multiprocessors Master slave


scenario. Master distributes tasks among the
slaves, and I/O is usually done by master only
CMP325 PUCIT Arif Butt 64
Computing Environment (…)
Clustered Systems
• Constructed by combining multiple computers into a
single system to perform a computational task
distributed across the cluster
• They share storage and are linked via LAN
• Clustered systems communicate using messages, while
processors in a multiprocessor system could
communicate using shared memory
• Used to provide high available service. Can be:
• Asymmetric Cluster One machine is in hot standby
mode, doing nothing, while other is running. Hot
standby mode machine monitors the server. If
server fails hot stand by host become active server
• Symmetric / Parallel Cluster Two or more hosts
are running an application and monitoring each other.
More efficient as it utilizes all of the available
hardware CMP325 PUCIT Arif Butt 65
Embedded OS
• Pervasive Computing
• Cheap processors embedded every where
• How many are on your body now? In your car?
• Cell phones, PDAs, iPads, iPod…
• Typically very constrained h/w resources
• Slow processors
• Small amount of memory
• No disk or tiny disk
• Typically only one dedicated application.
• Limited power
• But technology changes fast
• Embedded CPUs are getting faster
• Storage is growingCMP325 PUCIT Arif Butt
rapidly 66
SUMMARY

CMP325 PUCIT Arif Butt 67


We’re done for now, but Todo’s for
you after this lecture…

• Go through the slides and Book Sections: 1.1-1.12


• Get a Secure Shell account in the Lab. Log in using your SSH
account in lab and try executing some basic shell commands
• If you are using MS Windows on your laptops, please dual boot it
with some Linux distribution or install Linux in virtual environment
using Virtual Box
• Must go through the First two Video Lectures on course web site,
and discuss in next lecture in case of any ambiguity
• Try visiting course web site every day, particularly the
Announcement page as the quizzes and assignments dead lines will
be mentioned and updated over there.

If you have problems visit me in student counseling hours. . . .


CMP325 PUCIT Arif Butt 68

S-ar putea să vă placă și