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

Chapter1 Introduction

An operating system acts as an interface between the user and computer hardware. It controls and executes user programs, makes the computer system convenient to use, and efficiently uses computer hardware. Operating systems provide key services like program execution, I/O operations, file system manipulation, communication, error detection, resource allocation, and protection. Operating systems have evolved from serial processing to time sharing systems to better utilize hardware and improve user experience. Processes, files, system calls, and shells are basic concepts in operating systems. Operating system structures can be monolithic or layered.

Uploaded by

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

Chapter1 Introduction

An operating system acts as an interface between the user and computer hardware. It controls and executes user programs, makes the computer system convenient to use, and efficiently uses computer hardware. Operating systems provide key services like program execution, I/O operations, file system manipulation, communication, error detection, resource allocation, and protection. Operating systems have evolved from serial processing to time sharing systems to better utilize hardware and improve user experience. Processes, files, system calls, and shells are basic concepts in operating systems. Operating system structures can be monolithic or layered.

Uploaded by

Deep Chavan
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 40

Introduction to Operating Systems

PARUL JAIN
What is an Operating System ?

An Operating System is a program that acts as an


intermediary/interface between a user of a computer and the
computer hardware.

OS goals:
Control/execute user/application programs.
Make the computer system convenient to use.
Ease the solving of user problems.
Use the computer hardware in an efficient manner.
OS Services :
An Operating System provides services to both the
users and to the programs.

It provides programs an environment to execute.

It provides users the services to execute the programs


in a convenient manner.
Following are a few common services provided by an
operating system −

Program execution
I/O operations
File System manipulation
Communication
Error Detection
Resource Allocation
Protection
Program Execution :

 Operating systems handle many kinds of activities from


user programs to system programs like printer spooler,
name servers, file server, etc.
 Each of these activities is encapsulated as a process.
• A process includes the complete execution context (code
to execute, data to manipulate, registers, OS resources in
use).
• Following are the major activities of an operating system
with respect to program management −
 Loads a program into memory.
 Executes the program.
 Provides a mechanism for process synchronization.
 Provides a mechanism for process communication.
 Provides a mechanism for deadlock handling.
I/O Operation :

 An I/O subsystem comprises of I/O devices and their


corresponding driver software.
 Drivers hide the peculiarities of specific hardware devices
from the users.
 An Operating System manages the communication between
user and device drivers.
 I/O operation means read or write operation with any file or
any specific I/O device.
 Operating system provides the access to the required I/O
device when required.
File system manipulation :

A file represents a collection of related information.


 Computers can store files on the disk (secondary
storage), for long-term storage purpose.
Examples of storage media include magnetic tape,
magnetic disk and optical disk drives like CD, DVD.
Each of these media has its own properties like speed,
capacity, data transfer rate and data access methods.
A file system is normally organized into directories for
easy navigation and usage. These directories may contain
files and other directions.
Following are the major activities of an operating
system with respect to file management −
Program needs to read a file or write a file.
The operating system gives the permission to the
program for operation on file.
Permission varies from read-only, read-write, denied
and so on.
Operating System provides an interface to the user to
create/delete files.
Operating System provides an interface to the user to
create/delete directories.
Operating System provides an interface to create the
backup of file system.
Communication :

In case of distributed systems which are a collection of


processors that do not share memory, peripheral devices,
or a clock, the operating system manages communications
between all the processes.

Multiple processes communicate with one another through


communication lines in the network.
Following are the major activities of an operating system
with respect to communication −

 Two processes often require data to be transferred


between them
 Both the processes can be on one computer or on

different computers, but are connected through a


computer network.
 Communication may be implemented by two
methods, either by Shared Memory or by Message
Passing.
Error handling :

Errors can occur anytime and anywhere. An error


may occur in CPU, in I/O devices or in the memory
hardware.

Following are the major activities of an operating


system with respect to error handling −
 The OS constantly checks for possible errors.
 The OS takes an appropriate action to ensure correct and
consistent computing.
Resource Management :

 In case of multi-user or multi-tasking environment,


resources such as main memory, CPU cycles and files
storage are to be allocated to each user or job.

Following are the major activities of an operating system


with respect to resource management −
 The OS manages all kinds of resources using schedulers.
 CPU scheduling algorithms are used for better utilization of CPU.
Protection :

 Considering a computer system having multiple users and


concurrent execution of multiple processes, the various
processes must be protected from each other's activities.
 Protection refers to a mechanism or a way to control the
access of programs, processes, or users to the resources
defined by a computer system.

 Following are the major activities of an operating system with


respect to protection −
 The OS ensures that all access to system resources is controlled.
 The OS ensures that external I/O devices are protected from invalid
access attempts.
 The OS provides authentication features for each user by means of
passwords.
Evolution of Operating System
OS have evolved over the years in 4 ways:-

Serial processing.
Simple Batch System.
Multi-programmed batch system.
Time sharing system.
Serial processing :
• No operating system
• Programmers directly interacted with the hardware

• Machines run from a console with display lights, toggle switches,


input device, and printer

There are 2 key problems:-


 Schedule time-
Allotted time for users
Time allocations could run long or short resulting
in
wasted computer time
 Setup time-
Included loading the compiler, source program, saving
compiled program, and loading and linking…lot of time spent
Simple batch systems :
Batch processing is a technique in which an Operating System
collects the programs and data together in a batch before
processing starts.
An operating system does the following activities related to
batch processing −
 The OS defines a job which has predefined sequence of
commands, programs and data as a single unit.
 The OS keeps a number a jobs in memory and executes them
without any manual information.
 Jobs are processed in the order of submission, i.e., first come first
served fashion.
 The process of placing the jobs in queue for execution is known
as spooling.
 When a job completes its execution, its memory is released and
the output for the job gets copied into an output spool for later
printing or processing.
 User interaction in the batch processing system is minimal.
Advantages
Increased performance as a new job gets started as soon
as the previous job is over
Batch processing system consumes less time for
executing the all jobs.
CPU utilization gets improved.

Disadvantages
A job could enter an infinite loop.
Multi-programmed systems-
• In batch system, a job needs any I/O operation , it
starts performing it .
• Till then, processor is idle .
• This is case when single program is present in the
memory called as Uni-programming.
•This is inefficient, as memory is available suppose to hold
more programs plus monitor.

•When one job needs to wait for I/O, the processor can switch to the
other job. This approach is called multiprogramming or
multitasking.
Time sharing Systems-
 It is a logical extension of multiprogramming.
 Jobs are switched by CPU.
 CPU executes multiple jobs by switching among them.
 Time sharing system enables many people. The main
objective of multiprogramming system and time sharing
system are maximize CPU utilization and minimize
response time respectively.
Basic Concepts
Process:
• Process is basically program in execution.
• It consists of :
1) Executable code
2) Program’s data
3) Program’s stack
4) Program counter
5) List of files
6) Other registers
• Each process is characterized by information
stored in Process Control Block (PCB)
Basic Concepts :
Files:
• File is collection of data .
• Way of grouping of files is called as directory
• Top directory in directory hierarchy is called as root
directory.
• Every file within directory hierarchy can be specified
by giving its Pathname
Basic Concepts
System Calls:
• User programs communicate with operating system
and request services from OS by making System Calls.

• Corresponding to each system call there is a library


procedure that user programs can call.

• Ex:
Read one file and to copy them to another
file.
 Shell
• It is a command interpreter.
• Accepts commands through shell prompt:
Ex:

$ cat file1.txt file2.txt >file3.txt


Shell-
DOS shell- Command shell.
A command shell is simply a window
without any graphical decorations .
Shell-
Windows shell is the main graphical user interface in
Microsoft Windows.
WIMP interface(Windows ,Icons, Menu, Pointer)
Basic Concepts
 Operating System structure:
• This shows how the OS is internally.
• There are 2 types of OS structure:

1) Monolithic Structure

2) Layered Structure
 Operating System structure:
• Monolithic structure:
1) No specific structure.
2) OS is a collection of procedures and
subprocedures.
3) OS provides system calls.
4) Special trap instruction known as Kernel Call or
Supervisor call.
Basic Concepts
 Operating System structure:

• Monolithic structure:
User program n

User program 1

Index
table

Service
procedure
 Operating System structure:
• Monolithic structure with respect to procedures:
Basic Concepts
 Operating System structure:
• Layered structure:
1) This OS structure has 6 layers:

5 The Operator
4 User Programs
3 Input/output Management
2 Operator – process communication
1 Memory and drum Management
0 Processor allocation and Multiprogramming

You might also like