0% found this document useful (0 votes)
7 views

Lecture 1

Uploaded by

ssd555945
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Lecture 1

Uploaded by

ssd555945
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 42

Systems Programming (CS 423)

Lecture 1:
Overview of Operating Systems

Dr. Mohamed Abbas Alameen Saleh


Objectives and Functions
• Convenience
—Making the computer easier to use
• Efficiency
—Allowing better use of computer resources
Layers and Views of a Computer System
Operating System Services
• Program creation
• Program execution
• Access to I/O devices
• Controlled access to files
• System access
• Error detection and response
• Accounting
O/S as a Resource Manager
Types of Operating System
• Interactive
• Batch
• Single program (Uni-programming)
• Multi-programming (Multi-tasking)
Early Systems
• Late 1940s to mid 1950s
• No Operating System
• Programs interact directly with hardware
• Two main problems:
—Scheduling
—Setup time
Simple Batch Systems
• Resident Monitor program
• Users submit jobs to operator
• Operator batches jobs
• Monitor controls sequence of events to
process batch
• When one job is finished, control returns
to Monitor which reads next job
• Monitor handles scheduling
Memory Layout for Resident Monitor
Job Control Language
• Instructions to Monitor
• Usually denoted by $
• e.g.
—$JOB
—$FTN
—...Some Fortran instructions
—$LOAD
—$RUN
—...Some data
—$END
Desirable Hardware Features
• Memory protection
—To protect the Monitor
• Timer
—To prevent a job monopolizing the system
• Privileged instructions
—Only executed by Monitor
—e.g. I/O
• Interrupts
—Allows for relinquishing and regaining control
Multi-programmed Batch Systems
• I/O devices very slow
• When one program is waiting for I/O,
another can use the CPU
Single Program
Multi-Programming with
Two Programs
Multi-Programming with
Three Programs
Time Sharing Systems
• Allow users to interact directly with the
computer
—i.e. Interactive
• Multi-programming allows a number of
users to interact with the computer
Scheduling
• Key to multi-programming
• Long term
• Medium term
• Short term
• I/O
Long Term Scheduling
• Determines which programs are submitted
for processing
• i.e. controls the degree of multi-
programming
• Once submitted, a job becomes a process
for the short term scheduler
• (or it becomes a swapped out job for the
medium term scheduler)
Medium Term Scheduling
• Part of the swapping function (later…)
• Usually based on the need to manage
multi-programming
• If no virtual memory, memory
management is also an issue
Short Term Scheduler
• Dispatcher
• Fine grained decisions of which job to
execute next
• i.e. which job actually gets to use the
processor in the next time slot
Memory Management
• Uni-program
—Memory split into two
—One for Operating System (monitor)
—One for currently executing program
• Multi-program
—“User” part is sub-divided and shared among
active processes
Swapping
• Problem: I/O is so slow compared with
CPU that even in multi-programming
system, CPU can be idle most of the time
• Solutions:
—Increase main memory
– Expensive
– Leads to larger programs
—Swapping
What is Swapping?
• Long term queue of processes stored on
disk
• Processes “swapped” in as space becomes
available
• As a process completes it is moved out of
main memory
• If none of the processes in memory are
ready (i.e. all I/O blocked)
—Swap out a blocked process to intermediate
queue
—Swap in a ready process or a new process
—But swapping is an I/O process…
Use of Swapping
Partitioning
• Splitting memory into sections to allocate
to processes (including Operating System)
• Fixed-sized partitions
—May not be equal size
—Process is fitted into smallest hole that will
take it (best fit)
—Some wasted memory
—Leads to variable sized partitions
Fixed
Partitioning
Computer Architecture & Organization
• Architecture is those attributes visible to
the programmer
—Instruction set, number of bits used for data
representation, I/O mechanisms, addressing
techniques.
—e.g. Is there a multiply instruction?
• Organization is how features are
implemented
—Control signals, interfaces, memory
technology.
—e.g. Is there a hardware multiply unit or is it
done by repeated addition?
Computer Architecture & Organization
(Cont’d)
• All Intel x86 family share the same basic
architecture
• The IBM System/370 family share the
same basic architecture

• This gives code compatibility


—At least backwards
• Organization differs between different
versions
Structure & Function
• Structure is the way in which components
relate to each other
• Function is the operation of individual
components as part of the structure
Function
• All computer functions are:
—Data processing
—Data storage
—Data movement
—Control
Functional View
Operations (a) Data movement
Operations (b) Storage
Operation (c) Processing from/to storage
Operation (d)
Processing from storage to I/O
Structure - Top Level

Peripherals Computer

Central Main
Processing Memory
Unit

Computer
Systems
Interconnection

Input
Output
Communication
lines
Structure - The CPU

CPU

Computer Arithmetic
Registers and
I/O Login Unit
System CPU
Bus
Internal CPU
Memory Interconnection

Control
Unit
Structure - The Control Unit

Control Unit

CPU
Sequencing
ALU Login
Control
Internal
Unit
Bus
Control Unit
Registers Registers and
Decoders

Control
Memory
Structure - Top Level (Cont.)
Structure - Top Level (Cont.)
Structure - Top Level (Cont.)
Thanks ...

You might also like