0% found this document useful (0 votes)
35 views

Lect 1 OS

An operating system (OS) acts as an intermediary between the user and computer hardware, controlling execution of programs and managing resources like memory, processors, and devices. The document outlines the definition, functions, types, and evolution of OS, describing batch, time-sharing, distributed, network, and real-time operating systems. It discusses how OS allocate and manage resources, simplify use of hardware, and provide functions like memory, processor, device, file, and security management.

Uploaded by

Choge
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views

Lect 1 OS

An operating system (OS) acts as an intermediary between the user and computer hardware, controlling execution of programs and managing resources like memory, processors, and devices. The document outlines the definition, functions, types, and evolution of OS, describing batch, time-sharing, distributed, network, and real-time operating systems. It discusses how OS allocate and manage resources, simplify use of hardware, and provide functions like memory, processor, device, file, and security management.

Uploaded by

Choge
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

CSC 224: Principles of Operating

Systems
1
Definition
• An OS is a program that acts as an
intermediary between the user of a computer
and computer hardware.

• An operating system is a program that acts as


an interface between the user and the
computer hardware and controls the
execution of all kinds of programs.
• The OS is the one program running at all times
on the computer (usually called the kernel),
with all else being applications programs.
• OS simplifies and manages the complexity of
running application programs efficiently.
OS is designed to serve two basic
purposes
1. It controls the allocation and use of the
computing system‘s resources among the
various user and tasks.
2. It provides an interface between the
computer hardware and the programmer
that simplifies and makes feasible for
coding, creation, debugging of application
programs.
Other Goals of an OS
• Simplify the execution of user programs and
make solving user problems easier.
• Use computer hardware efficiently by allowing
sharing of hardware and software resources.
• Make application software portable and
versatile.
• Provide isolation, security and protection
among user programs.
• Improve overall system reliability i.e error
confinement, fault tolerance, reconfiguration.
Functions of an OS
Following are some of important functions of an
operating System.
• Memory Management
• Processor Management
• Device Management
• File Management
• Security
• Control over system performance
• Job accounting
• Error detecting aids
• Coordination between other software and users
1. Memory management
Refers to management of Primary Memory or Main
Memory
OS does the following 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, OS decides which process
will get memory when and how much.
• Allocates the memory when the process requests
it to do so.
• De-allocates the memory when the process no
longer needs it or has been terminated.
2. Processor Management
OS decides which process gets the processor
when and how much time.
Operating System does the following activities
for processor management.
• Keeps tracks of processor and status of
process. Program responsible for this task is
known as traffic controller.
• Allocates the processor (CPU) to a process.
• De-allocates processor when processor is no
longer required.
3. Device Management
OS manages device communication via their
respective drivers
• 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.
4. File management
A file system is normally organized into
directories for easy navigation and usage.
• Keeps track of information, location, uses,
status etc. The collective facilities are often
known as file system.
• Decides who gets the resources.
• Allocates the resources.
• De-allocates the resources.
• 5. Security -- By means of password
and similar other techniques,
preventing unauthorized access to
programs and data.
• 6. Control over system performance --
Recording delays between request for a
service and response from the system.
• 7. Job accounting -- Keeping track of
time and resources used by various jobs
and users.
• 8. Error detecting aids --
Production of dumps, traces, error
messages and other debugging and
error detecting aids.
• 9. Coordination between other
software and users -- Coordination
and assignment of compilers,
interpreters, assemblers and other
software to the various users of the
computer systems.
The OS must support the following tasks
• 1. Provides the facilities to create, modification
of program and data files using and editor.
• 2. Access to the compiler for translating the user
program from high level language to machine
language.
• 3. Provide a loader program to move the
compiled program code to the computer‘s
memory for execution.
• 4. Provide routines that handle the details of I/O
programming.
Types of OS
• Operating systems have been there from the
very first computer generation and they keep
evolving over the period of time.
• Following are few of the important types of
operating system which are most commonly
used.
1. Batch OS
• The users of batch operating system do not
interact with the computer directly.
• Each user prepares his job on an off-line
device and submits it to the computer
operator.
• To speed up processing, jobs with similar
needs are batched together and run as a
group.
• Programmers leave their programs with the
operator, who then sorts programs into
batches with similar requirements.
The problems with Batch Systems are:
• Lack of interaction between the user
and job.
• CPU is often idle, because the speeds
of the mechanical I/O devices are
slower than CPU.
• Difficult to provide the desired
priority.
2. Time Sharing OS
• Time sharing is a technique which enables
many people, located at various terminals, to
use a particular computer system at the same
time.
• Time-sharing or multitasking is a logical
extension of multiprogramming.
• Processor's time which is shared among
multiple users simultaneously is termed as
time-sharing.
Time Sharing
• Multiple jobs are executed by the CPU by
switching between them, but the switches occur
so frequently.
• Thus, the user can receive an immediate
response.
• For example, in a transaction processing,
processor execute each user program in a short
burst or quantum of computation.
• That is if n users are present, each user can get
time quantum. When the user submits the
command, the response time is in few seconds at
most.
• Operating system uses CPU
scheduling and multiprogramming to
provide each user with a small
portion of a time.

Advantages of Time Sharing OS


• Provide advantage of quick response.
• Avoids duplication of software.
• Reduces CPU idle time.
Disadvantages of Timesharing
operating systems
• Problem of reliability.
• Question of security and integrity of
user programs and data.
• Problem of data communication.
3. Distributed OS
• Distributed systems use multiple
central processors to serve multiple
real time application and multiple
users.
• Data processing jobs are distributed
among the processors accordingly to
which one can perform each job
most efficiently.
• The processors communicate with one
another through various communication
lines (such as high-speed buses or
telephone lines).
• These are referred as loosely coupled
systems or distributed systems.
• Processors in a distributed system may
vary in size and function.
• These processors are referred as sites,
nodes, and computers and so on.
Advantages of Distributed systems
• With resource sharing facility user at one site may
be able to use the resources available at another.
• Speeds up the exchange of data with one another via
electronic mail.
• If one site fails in a distributed system, the remaining
sites can potentially continue operating.
• Better service to the customers.
• Reduction of the load on the host computer.
• Reduction of delays in data processing.
4. Network OS
• Network Operating System runs on a server
and provides server the capability to
manage data, users, groups, security,
applications, & other networking functions.
• The primary purpose of the network
operating system is to allow shared file and
printer access among multiple computers in
a network, typically a local area network
(LAN), a private network or to other
networks.
Advantages of NOS
• Centralized servers are highly stable.
• Security is server managed.
• Upgrades to new technologies and
hardware can be easily integrated into
the system.
• Remote access to servers is possible from
different locations and types of systems.
Disadvantages of NOS
• High cost of buying and running a server.
• Dependency on a central location for
most operations.
• Regular maintenance and updates are
required.
5. Real Time OS
• Real time system is defines as a data
processing system in which the time
interval required to process and respond to
inputs is so small that it controls the
environment.
• Real time processing is always on line
whereas on line system need not be real
time.
• The time taken by the system to respond to
an input and display of required updated
information is termed as response time.
• Real-time systems are used when there are
rigid time requirements on the operation of a
processor or the flow of data and real-time
systems can be used as a control device in a
dedicated application.
• Real-time operating system has well-defined,
fixed time constraints otherwise system will
fail.
Evolution of OS
Generatio Year Electronic Type of OS
n device & Devices
used
First 1945 -1955 Vacuum tubes Plug Boards

Second 1955 – 1965 Transistors Batch System

Third 1965 – 1980 IC Multiprogram


ming
Fourth 1980 – 1990 Large scale PC
integration
Revision/Model Questions
• Define OS. Give the different functions of OS.
• What is the distinction between Multiprogrammed
Batch Systems and Time sharing systems?
• Give five examples of real time OS
• What is the difference between Hard real time
systems and Soft real time systems?
• Detail how the following are used in relation to a
computers Operating System:
a)Assembler b) Compiler c) Loader

You might also like