You are on page 1of 3

What is OS?

Program that acts as an interface between a user and a computer and the computer
hardware.

- Processors
- Main Memory

Provides and environment in which a user may execute programs.

BIOS is the first program that runs when you boot a computer.

A computer runs 2 Operating Systems.

- MS DOS
- Windows

Operating System Goals:

1. To provide a convenient environment


o Execute user programs and make solving user problems easier (by hiding
the messy details which must be performed).
o Make the computer system convenient to use (by presenting the user with
a virtual machine, easier to use).
2. To use the computer hardware in an efficient manner (ensuring good
performance).

Operating Systems Views/Perspectives

- Resource Allocator – manages and allocates resources


o Each program gets time with the resource
o Each program gets space on the resource
- Control Program – controls the execution of user programs and operations of I/O
devices (to prevent errors and improper use of the computer).
- Kernel – the one program running at all times (all else being application
programs).

Running a job in early Mainframes

- Write a program in a paper


- Punch program on cards

Batch Systems

- First rudimentary operating system


- Reduce setup time by batching similar jobs (that is jobs with common needs are
batched)
- Machine runs only one application
- Automatic job sequencing – automatically transfers control from one job to
another.
- Resident monitor
o Initial control
o Control transfers to job
o When job completes control transfers back to monitor

Multiprogramed Batch System

To ensure that the CPU is not kept idle:

- Several jobs are kept in main memory at the same time; and
- The CPU is multiplexed (partitioned) among them.

Multiprogramming

- Allows the CPU to process multiple programs.


- While one program (job) is waiting for 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 where it was suspended when it gets its turn
to use the CPU again.

OS Features Needed for Multiprogramming

- Job Scheduling – the system must choose among several jobs to be brought into
memory.
- Memory management – the system must allocate the memory to several jobs.
- CPU Scheduling – the system must choose among several jobs ready to run.
- Allocation of Devices

Time Sharing Systems-Interactive Computing

- Allows many users to share one machine simultaneously


- The CPU is multiplexed among several jobs that are kept in memory and on disk
(the CPU is allocated to a job only if the job is in memory).

Parallel Systems

- Multiprocessor systems with more than one CPU in close communication.


- Tightly Coupled System – processors share memory and a clock; communication
usually takes place through the shared memory.
- Symmetric Multiprocessing (SMP)
o Each processor runs an identical copy of the OS.
o Many processors can run at once without performance deterioration.
o Most modern OS supports SMP.
- Asymmetric Multiprocessing
o Each processor is assigned a specific task; master processor schedules and
allocated work to slave processors.
o More common in extremely large systems

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.
- Requires networking infrastructure.
- Local Area Networks (LAN) or Wide Area Networks (WAN).
- May be either client-server or peer-to-peer systems.

Clustered Systems

- Allows two or more systems to share storage.


- Provides high availability.

Real- Time Systems

- Often used as control devices in a dedicated application such as controlling


scientific experiments, medical imaging systems, industrial control systems
- Hard Real-Time
o Secondary storage limited or absent
o Conflicts with time sharing systems
- Soft Real-Time
o Limited utility in industrial control or robotics
o Useful in application (multimedia, virtual reality), requiring advanced
operating-system features.

Handheld Systems

You might also like