Download Understanding the Role of Operating Systems: Goals, Components, and Functions and more Slides Operating Systems in PDF only on Docsity!
OPERATING SYSTEMS
What is an Operating System?
- A program that acts as an intermediary between
a user of a computer and the computer hardware
- Operating system goals:
- Execute user programs and make solving user problems
easier
- Make the computer system convenient to use
- Use the computer hardware in an efficient manner
Four Components of a Computer System
What Operating Systems Do
user view
- Users want convenience, ease of use and good performance
- Don’t care about resource utilization
- But shared computer such as mainframe or minicomputer must keep all users happy. OS is designed to maximize resource utilization (CPU time, memory, and I/O are used efficiently)
- Users of dedicate systems such as workstations have dedicated resources but frequently use shared resources from servers
- Handheld computers are connected to network through wireless technologies -optimized for usability and battery life
- Some computers have little or no user interface, such as embedded computers in devices and automobiles. It may have numeric keypad and may turn light on or Off to show status
Mainframe system
Mainframe computer system first computers used to
tackle many commercial and scientific application.
Growth of main frame system
Simple Batch system
Multiprogrammed System
Time-sharing System
Batch system
User did not interact directly with computer system. User prepared a job which consisted of program, the data, and some control information and submitted to computer operator. OS task was to transfer control automatically from one job to another job. To speedup processing, operator batched similar jobs together and ran them. CPU is often idle.
Multiprogrammed System
- Several jobs are kept in main memory at the same
time.
- OS picks and begin to execute one of the jobs in the
- memory.
- When job is waiting for some I/O operation the CPU
is
- switched to another job and so on.
- multiprogramming increases CPU utilization.
- Job Scheduling
- CPU Scheduling
Time-sharing System
- A logical extension of multiprogramming
- CPU execute multiple jobs by switching among them, but the
switches occur so frequently that users can interact with each program while it is running.
- Time-shared operating system allows many users to share the
computer simultaneously.
- Time-shared OS uses CPU scheduling and multiprogramming to
provide each user with a small portion of timed shared computer.
Multiprocessor System
Parallel system or tightly coupled system.
- Multiprocessor systems with more than one processor in
close communication sharing the computer bus, clock,
sometimes memory and peripheral devices
Multiprocessor System have three main advantages
- Increased throughput.
- Economy of scale
- Increased reliability
- graceful degradation 0r fault tolerant
Multiprocessor System
Symmetric multiprocessing (SMP)
- Each processor runs and identical copy of the operating system.
- Copies communicate with another as needed.
- Most modern operating systems support SMP.
Asymmetric multiprocessing
- Each processor is assigned a specific task;
- master processor schedules and allocated work to slave processors.
- More common in extremely large systems
- Sun’s operating system SunOS Ver 4 provides asymmetric multiprocessing.
Distributed Systems
- Distribute the computation among several physical processors.
- Loosely coupled system each processor has its own local
memory; processors communicate with one another through various communications lines, such as high-speed buses or telephone lines.
Advantages of distributed systems
- Resources Sharing
- Computation speed up load sharing
- Reliability
Distributed Systems
- Requires networking infrastructure.
- Local area networks (LAN) or Wide area networks (WAN)
- May be either client-server or peer-to-peer systems
General Structure of Client-Server
Real-Time Systems
- Often used as a control device in a dedicated application
such as controlling scientific experiments, medical imaging
systems, industrial control systems, and some display
systems.
- Well-defined fixed-time constraints
- Processing must be done within the defined constraints
otherwise system will fail.
- Real-Time systems may be either hard or soft real-time
Real-Time Systems
Hard real-time
- It guarantees that critical task be completed on time.
- Secondary storage limited or absent, data stored in short term
memory, or read-only memory (ROM).
Soft real-time
- Less restrictive type of real time system.
- A critical task gets priority over other task and retain that priority until
it completes.
- Useful in applications (multimedia, scientific project) requiring
advanced operating-system features.