OS Unit-1
OS Unit-1
, IV Semester(OS)
Unit I
What is Operating System? History and Evolution of OS, Basic OS functions, Resource
Abstraction, Types of Operating Systems– Multiprogramming Systems, Batch Systems,
Time Sharing Systems; Operating Systems for Personal Computers, Workstations and
Hand-held Devices, Process Control & Real time Systems.
1|P age
St. Joseph’s Degree College BSc., IV Semester(OS)
History of OS:
Operating systems were first developed in the late 1950s to manage tapestorage
The General Motors Research Lab implemented the first OS in the early1950s for
their IBM 701
In the mid-1960s, operating systems started to use disks.
In the late 1960s, the first version of the Unix OS was developed.
The first OS built by Microsoft was DOS. It was built in 1981 bypurchasing the 86-
DOS software from a Seattle company.
The present-day popular OS Windows first came to existence in 1985 whena GUI was
created and paired with MS-DOS.
2|P age
St. Joseph’s Degree College BSc., IV Semester(OS)
Basic OS Functions
Following are some of important functions of an operating System.
1. Memory Management
2. Processor Management
3. Device Management
4. File Management
5. Security
6. Control over system performance
7. Job accounting
8. Error detecting aids
9. Coordination between other software and users
Memory Management:
Memory management refers to management of Primary Memory or Main Memory.
Main memory is a large array of words or bytes where each word or byte has its own
3|P age
St. Joseph’s Degree College BSc., IV Semester(OS)
address.
Main memory provides a fast storage that can be accessed directly by the CPU. For a
program to be executed, it must in the main memory. An Operating Systemdoes the following
activities for memory management −
Keeps tracks of primary memory, i.e., what part of it are in use by whom, what part
are not in use.
In multiprogramming, the OS decides which process will get memorywhen and
how much.
Allocates the memory when a process requests it to do so.
De-allocates the memory when a process no longer needs it or has beenterminated.
Processor Management:
In multiprogramming environment, the OS decides which process gets the processor
when and for how much time.
This function is called process scheduling. An Operating System does the following
activities for processor management −
Keeps tracks of processor and status of process. The program responsible for this task
is known as traffic controller.
Allocates the processor (CPU) to a process.
De-allocates processor when a process is no longer required.
Device Management:
An Operating System manages device communication via their respectivedrivers. It does
the following activities for device management −
Keeps tracks of all devices. Program responsible for this task is known as the I/O
controller.
Decides which process gets the device when and for how much time.
Allocates the device in the efficient way.
De-allocates devices.
File Management:
A file system is normally organized into directories for easy navigation andusage.
These directories may contain files and other directions.
4|P age
St. Joseph’s Degree College BSc., IV Semester(OS)
Security:
By means of password and similar other techniques, it prevents unauthorizedaccess to
programs and data.
Control over system performance :
Recording delays between request for a service and response from the system.
Job accounting :
Keeping track of time and resources used by various jobs and users.
Error detecting aids :
Production of dumps, traces, error messages, and other debugging and errordetecting aids.
Resource abstraction
A resource is "any object which can be allocated within a system". Some examples of
resources are processors (CPUs), input/output devices, files, and memory (RAM).
Resource abstraction is the process of “hiding the details of how the hardware operates,
thereby making computer hardware relatively easy for an application programmer to use”
An abstraction is software that hides lower level details and provides a set of higher-level
functions.
E.g.: Memory, Disk, Keyboard and Monitor
Through Batch Operating System the overall time taken by the system to execute all the
programs will be reduced. And The Batch Operating System can be shared between multiple
users.
Examples of Batch based Operating System: Payroll System, Bank Statements, etc.
5|P age
St. Joseph’s Degree College BSc., IV Semester(OS)
In this Operating System equal time quantum is given to each process, so each process gets
equal opportunity to execute. And the CPU will be busy in most of the cases and this is good
to have case.
Examples of Time-Sharing OSs are: Multics(Multiplexed Information and Computing
Service), Unix, etc.
6|P age
St. Joseph’s Degree College BSc., IV Semester(OS)
shared access of files, printers, security, applications, and other networking functions over a
small private network. One more important aspect of Network Operating Systems is that all
the users are well aware of the underlying configuration, of all other users within the network,
their individual connections, etc. and that’s why these computers are popularly known
as tightly coupled systems.
Examples of Network Operating System are: Microsoft Windows Server 2003, Microsoft
Windows Server 2008, UNIX, Linux, Mac OS X, Novell NetWare, and BSD, etc.
7|P age
St. Joseph’s Degree College BSc., IV Semester(OS)
GUI for Linux users. One of the most popular distros for casual users is Ubuntu. There are also
other distros in Linux like LinuxMint, Debian, KDE, and Red Hat.
In the Ubuntu interface, the topmost Launcher button is the Dash button, which is almost
equivalent to Windows’ Start button. We install applications in Ubuntu mostly through
CLI(Command Line Interface).
Mac OS X has also user friendly interfaces like windows and these are also a
commercial operating systems which require proper license before use it. These are used in
high visual projects because they have high definition graphics as compared to all other types
of operating systems.
Chrome OS
Chrome OS was developed by Google and launched in 2011. Chrome OS is supposed
to be lightweight and perform the most common tasks users need today. Chrome desktop looks
like most other modern OS desktops, with a launcher in the lower-left corner, a taskbar, and
status tray with a clock in the lower-right corner.
9|P age
St. Joseph’s Degree College BSc., IV Semester(OS)
One interesting thing about Chrome OS is that it stores very little on the local computer.
Everything is stored on the cloud. Chrome operating systems are mostly found on the small
mini Netbooks which are also called Chromebooks. These don’t have proper versions like
the windows or mac OS, but instead these areautomatically updated through the Internet.
10 | P a g e
St. Joseph’s Degree College BSc., IV Semester(OS)
Process Control
Process:
Process is the execution of a program that performs the actions specified in the program.
Process States:
As a process executes, it changes state. The state of a process is defined in part by the current
activity of that process. A process may be in one of the following states:
New: The process is being created.
Running: Instructions are being executed.
Waiting: The process is waiting for some event to occur (such as an I/O completion or
reception of a signal).
Ready: The process is waiting to be assigned to a processor.
Terminated: The process has finished execution.
Process state: The state may be new, ready, running, waiting, halted, and so on.
Program counter: The counter indicates the address of the next instruction to be
executed for this process.
CPU registers: They include accumulators, index registers, stack pointers, and general-
purpose registers, plus any condition-code information. Along with the program counter,
this state information must be saved when an interrupt occurs.
CPU-scheduling information: This information includes a process priority, pointers to
scheduling queues, and any other scheduling parameters.
Memory-management information: This information may include such items as the
value of the base and limit registers and the page tables, or the segment tables, depending
on the memory system used by the operating system.
Accounting information: This information includes the amount of CPU and real time
used, time limits, account numbers, job or process numbers, and so on.
I/O status information: This information includes the list of I/O devices allocated to the
process, a list of open files, and so on.
11 | P a g e