1. OS Concepts
OS - Operating Systems : An Overview
An operating system or OS in short, is an example software that controls hardware
resources of a PC and an interface (user interface -to interact with electronic of the PC
system) to interact with users and software’s.
OS provides necessary tools and English like language that enable the user or
programmer to converse or with his PC (hardware).
Whenever end-user issues a command (either by command syntax or by a Mouse Click to
invoke action), the OS translates or interprets this command call or specific set of
machine - (0's & 1's) code
Accordingly, machine hardware can be triggered into electronic actions. The result of
which, the OS ensures, inturn, with the display of response to commands, error messages
if any, the possible outputs etc, on the display screen of CRT Monitor.
The definition of OS:
An operating system is a system software concerned with the allocation of hardware
resources and services such as - memory, processors, devices (I/O and storage) and
information (file service) to the user programs (application software’s) during programs
execution.
For instance set of OS programs might be for memory management, Job scheduler/Process
Scheduler, Program I/O traffic controller /scheduler program etc.
To conclude, OS can be termed as:
It's manager of resources of a computer system. (to allocate and reclaim the resource after
its use)
It's master control program_of a computer system. (Primary controlling mechanism for
the PC hardware)
Functions of Operating System (OS)
The operating system performs the following four primary functions:-
Providing User Interface - That is display the Command prompt (A:>, or B:>, or C:>>,
or D:> in case of DOS) that enable the user to issue a command and/ or interact with the
computer.
(via GUI-Graphical User Interface or command Line Interface)
Provide for loading user programs/applications into Computer's main memory so that
user can utilize the results of successful execution.
Provide for coordination as to how user's programs/applications interact with underlying
hardware and other softwares.
(via system calls (to BIOS and drivers) and interrupts)
Providing for the information storage and retrieval of already stored information (data
and program files) from disks.
“OS Operating system acts as an interface between the hardware resources and the user
programs such that it creates an easyto access environment to facilitate the execution of
user programs.”
Functions of operating systems:
Manage computer equipment resources viz memory, processor, I/O devices, files (or
Information).
Allocate resources such as memory, I/O devices & processor to various jobs or programs
as per allocation /scheduling algorithm.
Keep track of these resources and reclaim them when they are not in use!
Enforce security features to allow authorised user to access OS services.
Provide other utility services such as to record login time period for billing charges etc.
Provide program development environment and/or support such tools to enter and
execute programs and to avail other .useful services.
Examples of popular operating systems include :
Proprietor OS => For Mainframe & Super computers (multi user)
2. For example:
Sun's Solaris (For mini computers)
lunar OS
Super-UX (for NEC's SX-series super computers.)
MVS (For mainframes)
NOS: Networking OS => For computers on LAN, MAN,WAN (multi -user)
For example:
SCO Open server & SCO Unix Ware
Novell NetWare 4.X/6.X
Windows NT Server 4.0 Windows 2000 / 2008 server
Red Hat Linux
Free BSD. Mac OS X (8)
Unix OS = For Mini Computers (Multi user)
For example:
BSD UNIX
SCO UNIX
LINUX
CP/M OS => For Micro Computers (Single User)
(For single board computers /Home Computers)
DOS & Windows OS => For Personal Computers (Single user) .
For example :
MS DOS 6.22/MS DOS 7.0
Windows 95/98/ME/2000/XP/Vista/ Win 7
( For Single / multi-user Multi tasking)
LINUX
RTOS : Real Time OS ) For Computers employed for specific real time applications.
For example :
iRMS
.pSOS
CMX
QNX/Win-CE
Providing a User Interface
One of the primitive functions of OS is to provide the user interface - a means with which
user or operator converse or interact with PC hardware.
Accordingly, user interface realize the typing and invoking of commands, enabling
execution of some applications simply by a Mouse click (point and click start the
execution), prompting of messages, dialog, Menus etc.
In essence, we have two kinds of user interfaces:
GUI - Graphical User Interface (Graphical Mode) offered by Windows, macintosh,
Mac OS and some versions of UNIX (SCO-UNIX) and Linux OS.
CUI - Cursor/Character User Interface (Character Mode)
It's a command-line or text-based user interface offered by MS-DOS, some versions
of UNIX (BSD-UNIX) and Linux OSs
OS Types in use :
Batch OS: for offline Data/Transaction processing
NOS: Networking OS - for sharing of resources.
DOS : Distributed Data OS - for wide Area Networks
RTOS : Real-Time OS - for real-time /event management applications.
Time-shared OS : for online Data/Transaction processing
Time-programming OS : for Multitasking Single user/Multi-user
Types of Operating Systems
1. Batch Operating System (Batch OS) : Batch Processing (or Offline processing)
In a batch processing environment, jobs or programs are grouped together and
presented to the computer system in a batch.
3. The system executes them one after another in a batch. All the data required to be
processed by a particular program and hence for that batch of programs are gathered
over a period of time and submitted together at once along with a batch of programs.
Data processing is carried out collectively on the overall data collected in a specific
time period.
Examples of Batch processing include :
data processing involved in banks that are engaged in Money Transactions. For
example bank deposits interms of cash, cheques DDs, Bank loans, withdrawal of
deposits, issuing term deposit bonds, fixed deposits etc. that are taking place on
each day in business hours say 10-30 to 2-30 may be fed to the computer for data
processing i.e ., to balance accounts of Deposits (Credits) and withdrawals
(debts). All these transaction details or data collected over a specific period of
time say commercial working hours, is submitted at once. The entire data is
processed at a stretch (in Batch mode), thereby the results may be obtained in a
balance sheet format.
Similarly payroll applications -Computations of monthly salary of employees are
handled periodically inBatch processingmode.
Batch processing does not provide interactive computation. Of course there is no or
less intervention by the programmer or operator at the time of program execution in
batch processing mode.
Batch processing is advantageous in applications where massive data processing is
to be done that require no interaction.
Another important advantage of batch processing is voluminous data collected over
a period of time need not be processed immediately. Instead it can be processed at a
later-time especially during free-hours or off-peak hours (other than business hours
in case of banking system).
Note: now-a-days Banks are offering On-line Transaction processing from single
window/counter systems.
Examples of Batch OS include : CP/M OS,MS-DOS, PC-DOS.
To conclude
Batch OS manage single user, stand alone applications. Batch OS handle data processing
in batch mode with little or no intervention of end-user during batch processing.
Since batch processing is traditional, all recent operating systems provide downward
compatibility to process jobs in groups or batches collectively.
2. Multi Tasking OS
This OS permits execution of two or more tasks (events) at a time by way of time
sharing, resource sharing and multiprocessing by processors.
With Multi-tasking Operating System, the processor is empowered to switch rapidly
among different processes (task) in a given computer system.
The processes or tasks may be in different states ofexecution in a given time interval
(span of time). For example, Reaty state, Running state, Blocked state (temporarily
suspended for I/O). The Multi-tasking OS extract work from single processor by taking
advantages of different states of execution of processes or tasks.
For example : Multi-tasking activities for concurrent (at a time) execution include Typing a
word document on MS-word, Meanwhile listening to a song / audio by wearing a Headphone
connected to computer, Also issued a command to huge file download on the Internet
connection.
> Also, issued command to print some datafile "hardcopy" to a printer connected to a computer
(PC).
All these tasks are happening (i.e ., getting executed) simultaneously.
> The advantages include speedy execution and attending different tasks at the same time, thus
saving time.
3. Time Sharing OS
Multi-tasking Operating systems and Operating Systems used for mini computers (for
example UNIX OS) are all Time Sharing Operating systems.
Since the single processor's time is divided into individual time slices and allocated to
different tasks. This division of time is also known as Time-sharing.
4. The processor switches among different tasks by allocating them a requisite amount of
time for completion / execution of the specified task. Time sharing concept is a logical
extension of Multiprogramming. It also refers to Multi tasking.
The goal of time-sharing system is to provide good response time to the interactive
sessions of users.
Accordingly, a time-shared OS offers interactive or conversational access (time slices)
to a number of end-users, simultaneously.
For which, time-shared operating system executes commands (queries as soon as they
are typed-in (by users) and attempts to provide each user with a reasonably short
response time (i.e ., an instant responses to commands as they are entered).
4. Multi-Processing OS
Multiprocessing means having more then one processor operating on the same
memory but executing separate processes simultaneously.
In a multiprocessing system multiple processors are employed to execute more than
one activity at a time. In other words, whenever massive data processing is a to be
carried out at regular intervals, multiprocessor system can be used to achieve high
speed data processing.
Because many of the major activities of the data processing are concurrently running
(in a running state) by the different processors.
However it is essential to provide synchronization between the multiple processors
when they access common memory such that no part of the data processing work
should be neglected by the individual processor with a presumption that the other
processor will do it.
Multiprocessing OS manage process allocation and synchronization among multiple
processors.
Thus multiprocessing OS offers high speed parallel processing.
Examples of Multiprocessing Operating Systems include UNIX, Linux
5. Real Time OS (RTOS)
When computers are employed for computing in a specific realtime applications - a
real-time operating system is required.
A real time OS may be embedded one, that is built in to the control and operational
circuitry of the device that monitors a Real time system / Embedded System.
Accordingly, a real-time OS is used for real time systems when rigid time
requirements have been placed on the operation of a processor or the flow of data.
Examples of real time systems where real time OS is required to run real time
applications are listed as below:
Medical imaging systems - Weather Monitoring and ForecastLife support
systems
Industrial control systems ; Traffic Control Systems.
Medical diagnosis instruments : Robo Surgery
Weapon systems : Missile launching and Tracking system.
Home- appliance controllers systems : Like washing machines, Microwave
Ovens.
Automobile engine fuel-injection systems : Satellite Navigation and Control
To Conclude
Real Time OS manage time driven events and is designed to respond to an event or task
well within a pre-determined time slot / prescribed time schedule.
Real time OS is small, speedy and proprietor kind of OS. It supervises queries in the
systems that affect execution of processes if not responded well within prescribed time
limits.
Real time refers to an actual time or absolute timings and suggest No excuses / No
compromise if time delay / pause occurs
6. Distributed OS (D.O.S.)
In distributed computing environment - multiple processors spread over geographically
apart, serve multiple real-time applications and multiple end-user's requirements.
5. Accordingly, ? the data processing jobs are distributed among good number of
centralized but geographically distant apart processor's (processing Elements-PEs)
D.O.S-Distributed Operating System extend the services of managing and sharing
computing resources (like memory, I/O devices, processors, files) and providing
necessary interface to the application programs to interact individually with multiple
processors of Distributed System.
D.O.S - allows and / or enable processors to communicate with each other through
various communication links (for example satellite link, telephone lines, high speed
buses).
The processor's in Distributed Operating environment are called as Loosely coupled
systems or distributed systems.
With D.O.S-resource sharing facility an end user at one site is allowed to use and / or
access the resources available to another remote site.
With D.O.S-services failure of one site does not affect the working of other remaining
(active) sites.
7. Network OS (N.O.S. - Networking Operating System)
N.O.S. or Network Operating System runs on a network server computer to which
workstations or nodes are connected. The NOS enables the Network Server in a
conventional LAN (Local Area Network) to manage user accounts / groups, sharing of
data files and applications.
The NOS is intended to provide the service of shared files and printer (single) sharing
accesses among two or more computers connected as notes / terminals or workstations
with a server computer in a Network typically in a LAN environment. US Examples of
NOS include :
.> Novel Netware
> MS Windows Server 2003 / 2008
> Linux OS
>Unix OS
> Mac OS on Mini Computer Systems.
>BSD OS
Advantages of NOS
With one copy of costly software such as Oracle DBMS can be shared as networked
copies on individual multiple workstation computers in a LAN.
One or Two printers can be shared and served to meet the hard copy printing
requirements of multiple computers (nodes) simultaneously.
End user accounts with separate hard disk space can be allocated and maintained
simultaneously in a Networked (group of computers interconnected) environment with
server.
8. Mobile OS
Mobile Operating System (OS) as the name itself indicates, is used for operating hand
held cell phones, tiny electronic gadgets like smartphones, Digital Tabs or Notepads
[PDAs] or Touch pads.
These mobile OS softwares are proprietary (company ownership) in nature and are light
and smart (clever) to run utility softwares, application softwares, mobile apps
(applications) etc ., on cell (mobile) phones of companies of different make.
Mobile OS of different make and versions vary and become popular by extending good
number of utility services to an average end user.
Here response time (i.e ., how fast while giving / delivering services) how many
apps it supports, speedy data display at the push of a button (i.e ., finger touch,
storage capacity, virtual store, connectivity or link to other cell phones with
high speed response, database supports etc ., are the few parameters to
determine the efficiency of the corresponding mobile OS.
Examples of Mobile OS include: iOS, Symbian(Nokia),RIM’s Black Berry OS, Bada (Samsung
OS),Android OS
The OS Services
A typical operating system contains number of management routines and they could vary
from one OS make to another. Thus the operating system services can be summarized as
follows
6. 1) Program Execution: (The Runtime environment)
Accomplish the task of loading a program into main memory partitions.
And initiate program execution.
Provide for normal termination of program after successful execution.
Provide for displaying error messages in case of abnormal termination (Aborting a
Program)
2) I/O operations
Accomplish the task of device allocation and control I/O devices.
Provide for notifying device errors, device status etc.
3) File systemManipulation : (File Handling)
Accomplish the task of Opening a File, closing a File
Provide for creating a File, Deleting a File
Allow file manipulation such as reading a File, writing a File, Appending a File etc.
4 ) Communications
Accomplish the task of inter-process communication either on the same computer system
or between different computer systems on a computer network.
Provide for message passing and shared memory access in safe mode.
5) Accounting
Accomplish the task of record keeping the system usage (the resources being used) by
how nuny users and for how long (the duration) for the billing & accounting purposes.
Maintain logs of system activities for performance analysis and error recovery.
Keep track of history of user logins.
6) Error Detection
Accomplish the task of error detection and recovery if any. For instance Paper Jam or
Out of Paper in a Printer.
Keep track status of CPU, Memory, I/O devices, Storage devices, File system
networking etc.
Abort execution in case of Fatal errors such as RAM parity errors, power fluctuations, if
any.
Report and /or deliver error messages in case of arithmetic overflow, divide by zero
errors, etc.
7) Resource Allocations :
Accomplish the task of resource allocations to multiple jobs.
Reclaim the allocated resources after their use or as, and , when the job terminates.
Provide for resource allocation and scheduling policies (such as round robin, shortest
job first, polling & handshaking, CPU bound, I/O bound) for prioritizing jobs for
resource allocation and detaining them for execution.
8) Protecting the System :
Accomplish the task of protecting the system resources against malicious use.
Provide for safe computing by employing security scheme against unauthorized
access/users.
Authenticate legitimate users with login passwords and registrations.
To conclude:
The operating must contain sufficient service routines to support an average user of a
computer system with an User Interface that serve as a Front End (for accessing Various system
resources and valuable services). At the same time the OS should not compromise the system
protection and security against malicious access by imposters or conspirators (malwares).