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

Operating System Mainframe Systems

The document discusses different types of operating systems: 1. Mainframe systems originally used batch processing to reduce setup time for similar jobs by running them sequentially. Multiprogramming allowed the CPU to switch between programs for more efficient resource usage. 2. Time-sharing systems allowed interactive use by multiple users simultaneously through fast switching between programs in memory. 3. Distributed systems distribute computation across several physical processors for benefits like resource sharing, load balancing, and reliability. Real-time systems provide fixed-time constraints for applications like process controls.

Uploaded by

Arnel Dimaano
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views

Operating System Mainframe Systems

The document discusses different types of operating systems: 1. Mainframe systems originally used batch processing to reduce setup time for similar jobs by running them sequentially. Multiprogramming allowed the CPU to switch between programs for more efficient resource usage. 2. Time-sharing systems allowed interactive use by multiple users simultaneously through fast switching between programs in memory. 3. Distributed systems distribute computation across several physical processors for benefits like resource sharing, load balancing, and reliability. Real-time systems provide fixed-time constraints for applications like process controls.

Uploaded by

Arnel Dimaano
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

Operating System Mainframe Systems

It is a program (software) that acts as Batch Systems


an intermediary (interface) between a user of
• First rudimentary operating system.
a computer and the computer hardware.
• Reduce setup time by batching
It provides an environment in which a
similar jobs (that is jobs with
user may execute programs
common needs are batched)
Computer System Components
• machine runs only one application
User- people, machines, other computers
• Automatic job sequencing–
System and Application Programs-define the automatically transfers control from
ways in which the system resources are used one job to another.
to solve the computing problems of the users
• Resident monitor
(compilers, database systems, video games,
business programs). initial control in monitor
control transfers to job
Operating System-Acts as an intermediary
when job completes control
Computer Hardware - provides basic transfers back to monitor
computing resources (CPU, memory, I/O Multiprogrammed Batch Systems
devices).
To ensure that the CPU is not kept idle:
Operating System goals
 Several jobs are kept in main memory
1. To provide a convenient environment at the same time; and

2. To use the computer hardware in an  The CPU is multiplexed (partitioned)


efficient manner (ensuring good among them.
performance).
Multiprogramming - some commands are
Operating System Views/Perspectives executed from one program, then that
program is suspended, and then some
Resource allocator – manages and allocates
commands are executed from the next
resources.
program, and so on.
Control program – controls the execution of
• Allows the CPU to process multiple
user programs and operations of I/O devices.
programs
Kernel – the one program running at all times
• While one program (job) is waiting for
(all else being application programs).
an I/O operation to complete, the
CPU is switched to execute another
program rather than remaining idle
during I/O time.
• A program is resumed at the point and do not need advanced CPU
where it was suspended when it gets utilization of protection features.
its turn to use the CPU again.
• May run several different types of
operating systems

Time-Sharing Systems–Interactive Multiprocessor systems


Computing
Parallel Systems
• Allow many users to share one
• Multiprocessor systems with more
machine simultaneously
than one CPU in close
• The CPU is multiplexed among communication.
several jobs that are kept in memory
• Tightly coupled system – processors
and on disk (the CPU is allocated to a
share memory and a clock;
job only if the job is in memory).
communication usually takes place
• A job is swapped in and out of through the shared memory.
memory to the disk.
• Advantages of parallel system:
• On-line communication between the
–Increased throughput
user and the system is provided;
–Economical
when the operating system finishes
–Increased reliability
the execution of one command, it
• graceful degradation
seeks the next “control statement”

from the user’s keyboard.
• Symmetric multiprocessing (SMP)
• On-line system must be available for
–Each processor runs an
users to access data and code
identical copy of the
(instructions).
operating system.
– Many processes can run at
once without performance
Desktop Systems
deterioration.
• Personal computers – computer – Most modern operating
system dedicated to a single user. systems support SMP
• Asymmetric multiprocessing
• I/O devices – keyboards, mice, display
screens, small printers. – Each processor is assigned a
specific task; master
• User convenience and
processor schedules and
responsiveness.
allocated work to slave
• Can adopt technology developed for processors.
larger operating system’ often – More common in extremely
individuals have sole use of computer large systems
Distributed Systems control systems, and some display
systems.
• Distribute the computation among
several physical processors. • Well-defined fixed-time constraints.

• Loosely coupled system – each • Real-Time systems may be either


processor has its own local memory; hard or soft real-time.
processors communicate with one
• Hard real-time:
another through various
communications lines, such as high-  Secondary storage limited or
speed buses or telephone lines. absent, data stored in short
term memory, or read-only
• Advantages of distributed systems.
memory (ROM)
– Resources Sharing
 Conflicts with time-sharing
– Computation speed up – load
systems, not supported by
sharing
general-purpose operating
– Reliability
systems.
– Communications
• Soft real-time
• Requires networking infrastructure.
 Limited utility in industrial
• Local area networks (LAN) or Wide
control or robotics
area networks (WAN)
• May be either client-server or peer-  Useful in applications
to-peer systems. (multimedia, virtual reality)
requiring advanced
Clustered Systems operating-system features.
• Clustering allows two or more
Handheld Systems
systems to share storage.
• Provides high availability. • Personal Digital Assistants (PDAs)
• Asymmetric clustering: one server
• Cellular telephones
runs the application while another
server is on standby mode.
• Symmetric clustering: all N hosts are
Computing Environments
running the application and
monitoring each other. • Traditional computing

• Web-Based Computing
Real-Time Systems
• Embedded Computing
• Often used as control devices in a
dedicated application such as
controlling scientific experiments,
medical imaging systems, industrial
Module 2 Operating System Structures • Trap - software generated interrupt
caused either by an error or a user
request.
Execution sequence:
Interrupt Handling
 Fetch Instruction at PC
• Types of interrupt
 Decode
 Execute (possibly using registers) – Polling
 Write results to registers/mem – Vectored interrupt system
 PC = Next Instruction(PC) • Incoming interrupts are disabled
 Repeat while another interrupt is being
processed to prevent a lost interrupt.
Computer System Organization
I/O Structure
• I/O devices and the CPU execute
concurrently. • Synchronous I/O
• Each device controller is in charge of
 wait instruction idles CPU
a particular device type
until next interrupt
– Each device controller has a
 no simultaneous I/O
local buffer. I/O is from the
processing, at most one
device to local buffer of
outstanding I/O request
controller
at a time.
• CPU moves data from/to main
memory to/from the local buffers • Asynchronous I/O - After I/O is
• Device controller interrupts CPU on initiated, control returns to user
completion of I/O program without waiting for I/O
completion.

Interrupts  System call


 Device Status table - holds
• Interrupt transfers control to the
type, address and state for
interrupt service routine
each device
–Interrupt Service Routine:  OS indexes into I/O device
Segments of code that table to determine device
determine action to be taken status and modify table entry
for each type of interrupt. to include interrupt.
– Interrupt vector contains the
Direct Memory Access (DMA)
address of service routines.
• OS preserves the state of the CPU • Used for high speed I/O devices able
to transmit information at close to
– stores registers and the
memory speeds.
program counter (address of
interrupted instruction).
• Device controller transfers blocks of 1. User mode - execution done on behalf
data from buffer storage directly to of a user.
main memory without CPU
2. Monitor mode (supervisor/kernel/system
intervention.
mode) - execution done on behalf of
• Only one interrupt is generated per operating system.
block, rather than one per byte (or
I/O Protection
word).
• All I/O instructions are privileged
Storage Structure
instructions.
• Main memory - only large storage
• Must ensure that a user program
media that the CPU can access
could never gain control of the
directly.
computer in monitor mode, for e.g. a
• Secondary storage - extension of user program that as part of its
main memory that has large execution, stores a new address in
nonvolatile storage capacity. the interrupt vector.

Storage Hierarchy Memory Protection

• Storage systems are organized in a • Must provide memory protection at


hierarchy based on least for the interrupt vector and the
interrupt service routines.
– Speed
– Cost • To provide memory protection, add
– Volatility two registers that determine the
• Caching - process of copying range of legal addresses a program
information into faster storage may address.
system; main memory can be viewed
– Base Register - holds smallest
as fast cache for secondary storage.
legal physical memory
address.
– Limit register - contains the
Hardware Protection
size of the range.
Dual-mode operation • Memory outside the defined range is
protected.
• Sharing system resources requires
operating system to ensure that an • When executing in monitor mode,
incorrect program cannot cause the OS has unrestricted access to
other programs to execute both monitor and users’ memory.
incorrectly.

• Provide hardware support to


differentiate between at least two
modes of operation:
CPU Protection  Communications-interprocess
and intersystem
• Timer - interrupts computer after
 Error Detection-in hardware, I/O
specified period to ensure that OS
devices, user programs
maintains control.
• Services for providing efficient
Timer is decremented every
system operation
clock tick.
When timer reaches a value  Resource Allocation - for
of 0, an interrupt occurs. simultaneously executing jobs
• Timer is commonly used to  Accounting-for account
implement time sharing. billing and usage statistics
 Protection-ensure access to
• Timer is also used to compute the
system resources is controlled
current time.
System Programs
• Load timer is a privileged instruction.
• Convenient environment for program
System Calls
development and execution. User
• Interface between running program view of OS is defined by system
and the OS. programs, not system calls.

– Assembly language
instructions (macros and
subroutines)
– Some higher level languages
allow system calls to be made
directly (e.g. C)
• Passing parameters between a
running program and OS via
registers, memory tables or stack.

Operating System Services

 Services that provide user-interfaces


to OS
 Program execution-load program
into memory and run it
 I/O Operations - since users
cannot execute I/O operations
directly
 File System Manipulation - read,
write, create, delete files
Module 3 PROCESSES  ready: The process is waiting to be
assigned to a processor.
 running: Instructions are being
Process executed.
 waiting: The process is waiting for
• It is the unit of work in most systems
some event to occur.
(e.g. time-sharing system);
 terminated: The process has finished
• It is a program in execution; process
execution.
execution must progress in
sequential fashion. Program counter contains the memory
• It has a set of associated resources address of the next instruction to be
executed for this process.
Although 2 processes may be associated with
Note: This information must be saved when
the same program, they are considered 2
an interrupt occurs to allow the process to be
separate execution sequences.
continued afterward
What does a process include?
CPU registers, which include: accumulators,
• program counter (specifies the next index registers, stack pointers, general
instruction to be executed) purpose registers,
• stack (contains temporary data e.g.
Note: This information must be saved when
method parameters)
an interrupt occurs to allow the process to be
• data section (contains global
continued afterward
variables)
• text section (program code) Memory-management information includes:
value of the base and limit registers, page
tables, segment tables
Process Control Block (PCB)
I/O status information, which includes: list of
PCB - Representation of a process in the I/O devices allocated to this process, list of
operating system. open files, etc.

Information associated with each process. CPU scheduling information, which includes:
process priority, pointers to scheduling
 Process state
queues, scheduling parameters
 Program counter
 CPU registers Accounting information, which includes:
 CPU scheduling information amount of CPU and real time used, time
 Memory-management information limits, account numbers, job or process
 Accounting information number, etc.
 I/O status information

As a process executes, it changes state

 new: The process is being created.


As process is created (enters the system), it Schedulers
is put on a job queue.
Long-term scheduler (or job scheduler)
Job queue – set of all processes in the system.
 selects which processes should be
• If there is not enough room in the brought into the ready queue.
main memory for all processes in the  is invoked very infrequently (seconds,
job queue, job scheduling is done. minutes)  (may be slow).
• Long-term scheduler (or job  controls the degree of
scheduler) – selects which processes multiprogramming.
should be brought into the ready
Short-term scheduler (or CPU scheduler)
queue.
 selects which process should be
As process is loaded in the memory, it is kept executed next and allocates CPU.
in the ready queue.  is invoked very frequently
(milliseconds)  (must be fast).
Ready queue - contains set of all processes
residing in main memory, ready and waiting I/O – CPU bound Processes
to execute.
• Processes can be described as either:
Short-term scheduler (or CPU scheduler) –
 I/O-bound process – spends more
selects which process should be executed
time doing I/O than
(dispatched) next and allocates CPU.
computations, many short CPU
Dispatcher – a module that gives control of bursts.
the CPU to the process selected by the short  CPU-bound process – spends
term scheduler more time doing computations;
few very long CPU bursts.

Long-term scheduler should select a good


• Job queue – set of all processes in the
process mix of I/O bound and CPU bound
system.
processes.
• Ready queue – set of all processes
Medium term
residing in main memory, ready and
waiting to execute.  an intermediate level queue used in
systems with virtual memory or
• Device queues – set of processes
timesharing;
waiting for an I/O device.
 removes processes from the memory
and reintroduced later (swapping)
 reduces the degree of multi
programming
Summary Process Creation

• Swapping – in some other time, the • Parent process create children


process can be reintroduced and processes, which, in turn create other
continued where it left off processes, forming a tree of
processes.
• Context Switch – switching the CPU
from one process to another • Resource sharing

• Dispatcher – a module that gives • Parent and children share all


control of the CPU to the process resources.
selected by the short term scheduler • Children share subset of
parent’s resources.
Suspended Processes
• Execution
 Processor is faster than I/O so all
• Parent and children execute
processes could be waiting for I/O
concurrently.
 Swap these processes to disk to free • Parent waits until children
up more memory terminate.
• Address space
 Waiting or blocked state becomes
suspended state when swapped to • Child is a duplicate of parent.
disk • Child has a program loaded
into it (treated as a new
 Two new states
process).
 Blocked, suspend
Process Termination
 Ready, suspend
• Process executes last statement and
Additional States
asks the operating system to decide it
• Ready – process in main memory and (exit).
available for execution
 Output data from child to
• Blocked/Waiting – process in main parent (via wait).
memory and awaiting an event  Process’ resources are
deallocated by operating
• Blocked/Suspend – process in
system.
secondary memory and awaiting an
event

• Ready/Suspend – process in
secondary memory and available for
execution
• Parent may terminate execution of
children processes (abort).

 Child has exceeded allocated


resources.
 Task assigned to child is no
longer required.
 Parent is exiting.
 Operating system
does not allow child to
continue if its parent
terminates.
 Cascading termination

Definition of terms

Address space – list of memory locations


from some minimum (usually 0) to some
maximum, which the process can read and
write. It contains the executable program,
program’s data and stack.

System call – interface between operating


system and process. It is function called by an
application to invoke a kernel service.

Interrupt – hardware mechanism that


enables a device to notify the CPU

Module 4 (CPU Scheduling)

* As process is loaded in the memory, it is


kept in the ready queue.

Ready queue - contains set of all processes


residing in main memory, ready and waiting
to execute.

You might also like