2. An operating system is an interface between the hardware of a
computer and the user
(programs or humans)
that facilitates the execution of other programs
and the access to hardware and software resources.
Two major design goals of an operating system are:
What is an OS
3. General Definition
An OS is a program which acts as an inte rface between computer
system users and the computer hardware.
It provides a user-friendly environment in which a user
may easily develop and execute programs.
A processor in a computer running Windows has two different
modes: user mode and kernel mode.
Applications run in user mode, and core operating system
components run in kernel mode.
An operating system acts as a general manager
supervising the activity of each component in the computer system.
Application ProgramsApplication Programs
System ProgramsSystem Programs
Operating SystemOperating System
Machine LanguageMachine Language
HARDWAREHARDWARE
4. Computer Booting process
When the power to a computer is turned on, the first program that runs
is usually a set of instructions kept in the computer's read-only
memory (ROM) that examines the system hardware to make sure
everything is functioning properly.
This power-on self test (POST) checks the CPU, memory, and basic
input-output systems (BIOS) for errors and stores the result in a
special memory location. Once the POST has successfully completed,
the software loaded in ROM (sometimes called firmware) will begin to
activate the computer's disk drives. In most modern computers, when
the computer activates the hard disk drive, it finds the first piece of the
operating system: the bootstrap loader.
5. is a small program that has a single function: It loads the operating
system into memory and allows it to begin operation.
It sets up the divisions of memory that hold the operating system,
user information and applications. It establishes the data structures
that will hold the myriad signals, flags and semaphores that are used
to communicate within and between the subsystems and
applications of the computer. Then it turns control of the computer
over to the operating system.
Bootstrap Loader
7. Types of Operating Systems
Single User / Single task
An operating system that allows a single user to
perform just one task at a time is a single user /
single task operating system.
To a user “task” is a function such as printing a
document, writing a file to disk, editing a file or
downloading file from network server. To the
operating system, a task is a process and small &
simple OS can only manage a single task at a
time.
MS-DOS is one example of a single tasking
8. Types of Operating Systems
Single User / Multi task
A single-user/multitasking operating system is one that allows
a single user to perform two or more functions at once. It takes
a special operating system to keep two or more tasks running
at once.
The most commonly used personal computers usually run
such OSs, including Microsoft windows and the Macintosh
operating system.
The multitasking features of these Oss have greatly increased
the productivity of people in a large variety of jobs because
they can accomplish more in a shorter period of time.
For example, let us say you are printing a document of 100
pages. While your computer is performing that, you still can do
9. Multi User / Multitask
A multiuser/multitasking operating system is an operating
system that allows multiple users to use programs that are
simultaneously running on a single network server called a
terminal server
Each users application run within their user session on the
server separate from all other user sessions. The software
that makes this possible is called a terminal client.
The advantages of these operating systems is that they can
be managed by simply making changes to one server, rather
than to many desktop computers.
Types of Operating Systems
10. Operating System - Evolution
Operating SystemOperating System
Batch
processing
Batch
processing
Time
sharing
Time
sharing
Real-time
processing
Real-time
processing
11. Evolution – Batch Systems
The users of batch operating system do not interact with the computer
directly. Each user prepares his job on an off-line device like punch
cards and submits it to the computer operator. To speed up processing
, jobs with similar needs are batched together and run as a group.
Thus, the programmers left their programs with the operator. The
operator then sorts programs into batches with similar requirements.
Jobs are set up so they can be run to completion without manual
intervention, so all input data is preselected through scripts or
command-line parameters.
An example of batch processing is the way that credit card companies
process billing. The customer does not receive a bill for each separate
credit card purchase but one monthly bill for all of that month's
purchases. The bill is created through batch processing, where all of
the data are collected and held until the bill is processed as a batch at
the end of the billing cycle.
12. Evolution – Time Sharing
In computing time-sharing is the sharing of computing resource among many users by means of
multiprogramming and multi-tasking.
Time-sharing operating systems schedule tasks for efficient use of the system and may also include
accounting for cost allocation of processor time, mass storage, printing, and other resources
Multiprogramming brought the idea of time sharing: resources could be shared between different jobs,
with each job being allocated a portion of time to use a resource. Because a computer is much faster
than a human, time sharing is hidden from the user—each user has the impression that the whole system
is serving them exclusively.
In time sharing operating system, equal time slots are provided to processor for execution of programs
which also leads to the context switching, in which process shifts control from one to another. In case
any process does not complete its working within time slot then extra time slot will not be given to it.
For example- you are running a process with a time slot of 5 seconds and in case process does not
complete in 5 second and requires 1 extra second then it will be executed in next execution cycle but
time slot will not be extended.
13. Evolution – Realtime Systems
They are useful for tasks like GPS, Navigation in which
computers are required to react to a steady flow of new
information without interruption or delays.
In this Response Time is already fixed. Means time to Display the
Results after Possessing has fixed by the Processor.
The real time sharing operating system is used in which different
processes are executed for some time slot but in some process
execution, time slot can be extended for process execution but
context switching can also take place in same manner. For
example- in case you are executing a process which requires 7
seconds for its completion but process requires 8 seconds then 1
second time period will be extended and after that another time
switching take place.
15. Function of an OS – User
Interface
Main Goal of Operating System is to Provide the Interface between
the user and the hardware means Provides the Interface for Working
on the System by the user.
Each operating system has a User interface, a program that accepts
requests from users (processes) and interprets them for the rest of the
operating system. A user interface in some operating systems, such as
UNIX, is called a shell. In others, it is called a window to denote that it
is menu driven and has a GUI (graphical user interface) component.
16. Memory Management
One of the responsibilities of a modern computer system
is Memory Management. Although the memory size of
computers has increased tremendously in recent years,
so has the size of the programs and data to be
processed.
Memory allocation must be managed to prevent
applications from running out of memory.
Operating systems can be divided into two broad
categories of memory management: Monoprogramming
and Multiprogramming.
17. Monoprogramming
In monoprogramming, most of the memory capacity is dedicated to a
single program; only a small part is needed to hold the operating system.
In this configuration, the whole program is in memory for execution. When
the program finishes running, the program area is occupied by another
program.
Monoprogramming
18. Multiprogramming
In multiprogramming, more than one program is in memory at the same
time, and they are executed concurrently, with the CPU switching rapidly
between the programs.
19. Virtual Memory
Demand paging and demand segmentation mean that, when a program is
being executed, part of the program is in memory and part is on disk.
In Virtual memory Physical Memory will be treated as the Logical Memory.
Means with the help of virtual Memory we can also increase the size of
Logical Memory as from the Physical Memory. A user will see or feels that
all the Programs are running into the Logical Memory of the Computer.
With the help of virtual Memory all the Space of Hard Disk can be used as
the Logical Memory So that a user can execute any Number of programs.
This means that, for example, a memory size of 10 MB can execute 10
programs, each of size 3 MB, for a total of 30 MB. At any moment, 10 MB
of the 10 programs are in memory and 20 MB are on disk. There is
therefore an actual memory size of 10 MB, but a virtual memory size of 30
MB.
21. Multitasking
Multi tasking: is the logical extension of multi-programming.
The concept of multitasking is quite similar to
multiprogramming but difference is that the switching
between jobs occurs so frequently that the users can
interact with each program while it is running.
For example, let us say you are printing a document of 100
pages. While your computer is performing that, you still
can do other jobs like typing a new document. So, more
than one task is performed.
22. Process Manager
OS helps the CPU allocate resources for executing programs/processes.
E.g. Spooling, printing etc. The Operating system helps in the
creation,deletion,suspension,resumption and synchronization of
processes.
A second function of an operating system is process management, but
before discussing this concept, we need to define some terms.
A program is a non-active set of instructions stored on disk.
A program becomes a job from the moment it is selected for execution
until it has finished running and becomes a program again.
A process is a program in execution. It is a program that has started but
has not finished.
23. Schedulers
To move a job or process from one state to another, the process manager
uses two schedulers: the job scheduler and the process scheduler.
24. Device Manager
The device manager, or input/output manager, is responsible for access to
input/ output devices. There are limitations on the number and speed of
input/output devices in a computer system.
The device manager monitors every input/output device constantly to
ensure that the device is functioning properly.
The device manager maintains a queue for each input/output device or
one or more queues for similar input/output devices.
The device manager controls the different policies for accessing
input/output devices.
25. File Manager
Operating systems today use a file manager to control access to
files.
Function of File Manager
controls access to files.
supervises the creation, deletion, and modification of files.
controls the naming of files.
supervises the storage of files.
is responsible for archiving and backups.
26. Various Flavour of Opearting Sytems
UNIX was originally developed in 1969 by Thomson and Ritchie of the
Computer Science Research Group at Bell Laboratories. UNIX has gone
through many versions since then. It has been a popular operating system
among computer programmers and computer scientists.
Unix is copyrighted name only big companies are allowed to use UNIX
copyright and name so IBM AIX, Sun Solaris & HP-UX are all unix
opearting sytems
UNIX is a multiuser, multiprocessing, portable
operating system.
It is designed to facilitate programming, text
processing and communication.
27. Linux
In 1991, Linus Torvalds, a Finish student at the University of Helsinki at
the time, developed a new operating system that is known today as Linux.
The initial kernel, which was similar to a small subset of UNIX, has grown
into a full-scale operating system today.
The Linux 2.0 kernel, released in 1997, was accepted as a commercial
operating system: it has all features traditionally attributed to UNIX.
Linux is free you can download from the internet or redistribute
under General Public licenses.
Flavours of Linux OS
Redhat Enterprise Linux
Fedora Linux
Debian Linux
Suse Enterprise Linux
Ubuntu Linux
28. Microsoft Windows
In the late 1980s Microsoft, under the leadership of Dave Cutler,
started development of a new single-user operating system to
replace MS-DOS (Microsoft Disk Operating System).
Windows NT (NT standing for New Technology) was the result.
Several versions of Windows NT followed and the name was
changed to Windows 2000. Windows XP (XP stands for
eXPerience) was released in 2001.
29. Translators - Assembler Compilers &
Interpreters
Programmers write a computer program using a high-level language. A high-level language is one which
is understandable by humans. It contains words and phrases from the English (or other) language. But a
computer does not understand high-level language. It only understands program written in 0's and 1's in
binary, called the machine code. A program written in high-level language is called a source code. We
need to convert the source code into machine code and this is accomplished my compilers and
interpreters. Hence, a compiler or an interpreter is a program that converts program written in high-level
language into machine code understood by the computer.
Translators are just computer programs which accept a program written in high level or low level
language and produce an equivalent machine level program as output. Translators are of three types:
Assembler is used for converting the code of low level language (assembly language) into machine level
language.
Interpreter translates programs one statement at a time, it takes less amount of time to analyze the
source code but the overall execution is slow. Programming language like Pyhthon, Ruby use interpreter
Compilers scans the entire program and translates it as a whole into machine code, it takes large amount
of time to analyze the source code but the overall execution time is comparatively faster. Programming
languages like C, C++ use compilers.
30. Other Systems & Application
Software
Networking & communication software.
Security software.
Infrastructure management software.
Application software.
31. Network & Communication
Software
Handle data as per ISO OSI 7 layer model,
Breakup data into bits/packets
Route it to correct destination
Reading with assembly of packets
Present message to application
Create & close session between machines
Handle loss/corruption of data
Sharing of devices, user management across
network
32. Security Software
Firewalls
A firewall is a hardware and/or software which functions in a networked
environment to block unauthorized access while permitting authorized
communications. Firewall is a device and/or a software that stands
between a local network and the Internet, and filters traffic that might be
harmful.
Anti-virus
Scan / quarantine data for viruses.
Intrusion Detection & Prevention Systems [IDPS]
An Intrusion Detection System (IDS) is a software or hardware device
installed on the network (NIDS) or host (HIDS) to detect and report
intrusion attempts to the network.
Network Operating System [NOS]
User logins, Directory services + authentications
33. Infrastructure Management
Software
Support software to handle the
troubleshooting to user queries
Centrally takes care of the vast
infrastructure with browser based call
logging and remote controlled on-line
support
34. Application Software
User interfaced software for business transactions
Canned software
Off the shelf software [ MSO]
Packaged software
Business driven software
Enterprise Management systems
ERP, SCM, CRM
Custom built applications
SDLC to cater to specific needs of the business