Introduction To Computer Operating System Components of A Computer System

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

Introduction to Computer operating system

Components of a Computer System

§ hardware—electronic, mechanical, optical devices.


§ software—programs.
§ Liveware (Users) – Computer Users, machines, other computers
§ Firmware

Utilities

Operating systems are designed to let you do most of the tasks such as managing
files, loading programs, printing documents etc. Software developers continue to
create new programs called utilities that enhance or extend the OS’s capabilities. As
an OS is improved and updated, the functions provided by the utility programs may
be included with subsequent releases of the OS. Utility programs are usually used to
merge and sort sets of data, keep track of computer jobs being run, compress data
files and perform other important tasks.

Utility programs usually come installed on computer systems, but a number of utility
programs can also be purchased or can be downloaded free from the Internet.

Hardware Utilities

Those utility programs that can check the status of all parts of the PC including hard
disks, memory, modems, speakers and printers.
Disk utilities check the hard disk’s boot sector, file allocation tables and directories
and analyze them to ensure that the hard disk has not been tampered with. They can
also optimize the placement of files on a crowded disk.

Virus Detection and Recovery Utilities

Computer viruses from the Internet and other sources can completely disable a
computer. Virus-detection and virus-recovery software can be installed to monitor
and protect the computer. Virus detecting software must be updated regularly as
new viruses introduced all the time. Symantec, McAfee are two companies that
make virus detection and recovery software.

File-Compression Utilities

These programs can reduce the amount of disk space required to store a file or
reduce the time it takes to transfer a file over the Internet. A popular program on
Windows PCs is WinZip. MP3 (Motion Pictures Experts Group Layer 3) is a popular
file-compression format used to store,

transfer and play music. It can compress files 10 times smaller than original with
near-CD- quality sound. Software, such as iTunes from Apple can be used to store,
organize and play MP3 music files.

Spam and Pop-Up Blocker Utilities

Getting unwanted e-mail (spam) and having unwanted advertisements pop up on


your display screen when you are browsing the Internet can be a big waste of time.
A number of utility programs are available to block unwanted e-mail and pop up ads.

Network and Internet Utilities

These monitor hardware and network performance and trigger an alert when a Web
server is crashing or a network problem occurs. Topaz from mercury Inter- active is
an example of software called an advanced Web-performance monitoring utility. It is
designed to sound an alarm when there are problems and also to let network
administrators isolate the most likely problem.

Server and Mainframe Utilities

IBM has created systems-management software that allows a support person to


monitor the growing numbers of desktop computers in a business attached to a
server or mainframe computer. With this software, a support person can sit at their
personal computers and check or diagnose problems, such as a disk failure on a
computer on a network. The support person can even repair individual systems
anywhere on the organization’s network often without having to leave their desk.
There are software that allows a manager to see every keystroke a worker makes on
a computer system. Monitoring software can catalog the Internet sites that
employees visit and the time that employees are working at their computers.

Backup Utilities
Backup utilities allow you to copy large groups of files from your disk to tape or CD
for safekeeping. They also help to organize files, update backups and restore
backups to disk in case of data loss.

Firewall

A firewall is a specialized computer that is dedicated to examining and blocking


traffic coming and going to the Internet. Highly trained people are needed to manage
firewalls. Software firewalls too are available for smaller systems. Windows XP
comes with a simple firewall that you can optionally turn on through the Properties
dialog of each network connection.

Intrusion Detection

These notify you of certain types of intrusion attempts. Intrusion detection may be
added as a feature to a firewall or bundled with Internet security programs.

Application Software

Any computer program used to create or process data can be classified as


Application software. Some examples of Application software are Word processing
programs, Spreadsheet programs, Database management programs, Desktop
publishing programs and Presentation programs. Application software allows people
to increase their productivity. They may be used for performing day-to-day tasks in
homes, schools and offices.
What is an Operating System?

A program that acts as an intermediary between a user of a computer and the


computer hardware.
Why we need an OS?
◦ Computer hardware is complex.
◦ Each type of Computer hardware is different.
◦ Instruction required to manage different hardware components are different.
◦ Many processes are active at any given time and compete for resources.

◦ Typically application programs have to do many independent activities such as


reading data from the console, reading data from hard drive, perform various
types of computations, print results on the printer etc.
◦ Can a programmer expect to handle all hardware devices required for his
program by using the different instructions provided by the different
devices? For example when writing data to the hard disk should the
programmer worry about how the data is organized on the hard disk.
◦ Can a running program be allowed to change the code of another
program.
◦ Should a erroneous program halt the entire system.
◦ Should a single program be allowed to use CPU all the time.
◦ If two different programs try to access the same sharable resource
simultaneously, should it be allowed (example Printer)

The role of an OS
Allow different applications to share resources of a computer
simultaneously(arbitration, multiplexing).
§ An operating system provides orderly and controlled allocation of the
resources among processes (jobs) that are competing for them

Implements useful abstractions (interfaces)


• Implements common mechanisms for applications to use hardware.
• Hide complexities of hardware devices
• Programmers need not be aware of the low level details of the hardware
devices.
Main objectives of an OS
Convenience: Make the computer more convenient to use
◦ Provide easy to use interface for a normal users.
◦ Hide the complexity of the hardware devices from the application
developer.
Efficiency: Monitor and manage resources of the computer system efficiently
◦ CPU
◦ Main memory
◦ I/O devices

An operating system (OS) is a system software that provides a virtual


machine(hides hardware details, provides an interface to applications and end
users), manages computing resources (keeps track of resource usage,
grants/revokes permissions for resources), and executes application software.

virtual machine

Following are some of important functions of an operating System.

• Process Management
• Storage (external) management
• Memory management
• I/O device management
• Management of the File System
• Networking
• User Interface
• Protection
• Error detection and response
§ Hardware errors: memory error or device failure
§ Software errors: arithmetic errors, access forbidden memory
locations
• Accounting
§ collect statistics (billing)
§ monitor performance

Types of User Interfaces

Command Line Interface(CLI) – Character Based

Graphical User Interface(GUI)


Question
Will software developed for one operating system work on another?
For example will MS Word for Macintosh run on a PC with Windows XP?

Answer
No (unless there is special emulation software or hardware). The software is
typically developed separately for each operating system

Different types of Operating Systems (Based on the processor)

• Windows/Linux – For personal computers


• Unix,z/OS, OS/390, VM – For mainframes
• MacOs – For Macs
• X Server, Windows Server – Server Operating Systems
• Symbian,Android – Embedded OS - For mobile phones.

Different types of Operating Systems(Based on the users)

Single user

• Allows only a single user to use the OS at any given time. The use may run
several processes at the same time.

Example - DOS

Multi User

- Allows multiple users to access a computer system at the same time

Example UNIX, Mainframe OSs and Internet servers.

Different types of Operating Systems(Based on Number of tasks)

• Single Task – Executes only one program at atime


• Multi Task - Executes multiple programs at atime

Different types of Operating Systems

• Single user-single task– A single task is performed by one user at a time.

• Single user-Multi task- Several programs are run at the same time by a single
user.

• Multi user-Multi task – A multi-user operating system has been designed for
more than one user to access the computer at the same or different time.

• Multi-threading –
A thread is also called a sub process. Threads provide a way to improve
application performance through the parallel execution of sub process.
• Real Time – OS is designed to run applications with very precise timing and
with a high degree of reliability.

• The main objective of real-time operating systems is their quick and predictable
response to events.

• These types of OS are needed in situations where downtime is costly or a


program delay could cause a safety hazard.

• Time Sharing Systems–

o Processor’s time is shared among multiple users/applications

Features of Timesharing operating systems are as follows:

o Provides quick response

o Reduces CPU idle time

Evolution of Operating System

1) No OS (late 1940s – mid 1950s)

o Serial Processing – processed programs one after another


o Single user system.
o Programmer/User directly interacted with the hardware.
o No operating system.
o Programs loaded directly into computer
o Machines run from a console with display lights, toggle switches.
o Setup included loading the compiler, source program, saving compiled
program, and loading and linking

Features:

• Manual Program Scheduling (Scheduling:


Hardcopy sigh-up sheet for reserving time)
• uniprogramming
• processor sat idle when loading programs and
doing I/O
• User could reserve for 45 mins and finish in 30
mins => wastage of time
• User may not be able to finish in scheduled time
2) Simple Batch System

o Introduced to maximize the processor utilization


o OS loaded and executed programs in tape one at a time
o When the current program ended execution, its output was written to another
tape and OS loaded next program
o At the end of entire batch of programs, output tape was printed with an
inexpensive machine
o Use of high-level languages
o Jobs are batched together by the language.
o Input/output is through punch cards and magnetic tapes.
o Software called the Monitor was introduced to sequence the jobs.
o Hardware support for the monitor model
o Memory protection: some memory areas are accessible only to the
monitor
o Privileged mode instructions: only accessible to the monitor
o Interrupts (early machines did not have this)

• The user submits a job (written on cards or tape) to a computer operator.


• The computer operator place a batch of several jobs on an input device.
• A special program called the monitor, manages the execution of each
program in the batch.
◦ “Monitor” is always in main memory.
◦ Monitor reads and loaded programs sequentially and then (the utility
programs when needed) passed the control to the loaded program.
◦ When a job terminates the control returns back to the monitor program.
◦ Alternate execution between user program and the monitor
program.
• instructions for the monitor were given by using a special purpose language
called Job Control Language (JCL)
• A user program executes in user mode, in which certain areas of memory
were protected from the user’s use, and user program is not allowed to
execute certain instructions.
• The monitor executes in a system mode(kernel mode, supervisor mode), or a
kernel mode and it can execute privileged instructions and can access
protected memory segments.
• Machine time alternates between monitor and the user programs.

Features

• No direct access to hardware


• Uniprogramming
• High response time

• Processor sat idle during I/O


• A portion of the memory has to be allocated for the monitor
• A small portion of the machine time is consumed by the monitor.
• Reduce setup time by batching similar jobs.

3) Multi-Programmed batch Systems

o Central theme of modern OS


o Introduce in 3rd generation to minimize the processor idle time during I/O
o Memory is partitioned to hold multiple programs
o When current program waiting for I/O, OS switches processor to execute
another program in memory
o If memory is large enough to hold more programs, processor could keep
100% busy
o Running multiple programs “at the same time”
o Requires sharing the CPU among multiple processes
o Transfer of control is called a context switch

Why multiprogramming?
o Single user cannot keep CPU and I/O devices busy at all times.
o Multiprogramming organizes jobs (code and data) so CPU always has one to
execute.
o A subset of total jobs in system is kept in memory.
o One job selected and CPU is give for that job.
o When it has to wait, OS switches to another job.
o

4) Time Sharing System

o Introduced to minimize the response time and maximize the user interaction
during program execution
o Uses context switching
o Enables to share the processor time among multiple programs
o Rapidly switching among programs, credits illusion of concurrent execution
ofmultiple programs
o Processor’s time is shared among multiple users
o Multiple users simultaneously access the system through terminals.

Multiprogramming Vs Time Sharing Systems

o Multiprogramming maximizes CPU utilization


o Time-sharing minimizes user response time

How the OS get loaded??

When the computer is switched on, CPU loads the boot program from
ROM(BIOS in PCs).
The main tasks of the boot program.
◦ Checks the essential hardware components and examine the machine
configuration (number of CPUs, capacity of main memory, type of
hardware devices).
◦ Builds a configuration structure.
◦ Loads the OS and provides it the configuration structure.

• OS is also a software like any other, but has to be loaded and run by the OS
itself.
• The process of initializing the computer and loading the OS is known as
bootstrapping or booting the system.
• The bootstrapping program normally exist in non-volatile memory and
is executed automatically when the machine is turned on.
• The operating system software (kernel) copied into RAM, usually from
the hard disk, during the boot-up.
• Once loaded the OS wait for an event to occur (eg: user typing a
command) and process the event.(OS is an event driven software)
• The kernel remains in RAM while the computer is on and is in charge of the
overall operation of the computer system.
• The kernel contains the “internal programs” for the most often used operations
like file management, memory management, security.

BIOS

The acronym BIOS stands for Basic Input Output System


BIOS software is the first program that get executed when the computer is
switched on. It is stored in ROM/Flash memory chip on the mother board of a
computer.

The fundamental purposes of the BIOS are


◦ initialize and test the system hardware components
◦ load a boot loader or an operating system from a secondary storage
device.
The BIOS additionally provides an abstraction layer for the hardware to
interact with the keyboard, display, and other input/output devices in a
consisting manner.

MS-DOS (PC DOS), which was the dominant PC operating system from the
early 1980s until the mid 1990s, relied on BIOS services for disk, keyboard,
and text display functions.

Modern operating systems ignore the abstraction layer provided by the BIOS
and access the hardware components directly.

You might also like