0% found this document useful (0 votes)
12 views21 pages

Fundamentals of Operating System: Mrs. Prachii Shrivastava

An operating system (OS) is essential software that manages computer hardware and software, providing a user interface and facilitating program execution. It performs various functions such as memory management, process control, and device management, and can be designed in different architectures like monolithic, layered, or client-server models. System calls serve as the interface between user applications and the OS, enabling communication and resource management.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views21 pages

Fundamentals of Operating System: Mrs. Prachii Shrivastava

An operating system (OS) is essential software that manages computer hardware and software, providing a user interface and facilitating program execution. It performs various functions such as memory management, process control, and device management, and can be designed in different architectures like monolithic, layered, or client-server models. System calls serve as the interface between user applications and the OS, enabling communication and resource management.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

Fundamentals of

Operating System
Mrs. Prachii Shrivastava
Introduction to Operating Systems
► An operating system (OS) is a software that manages a computer's hardware and software, and allows users to
interact with their computer.
► An operating system acts as an intermediary between the user of a computer and computer hardware. In short
its an interface between computer hardware and user.
► The purpose of an operating system is to provide an environment in which a user can execute programs
conveniently and efficiently.
► An operating system is software that manages computer hardware and softwares. The hardware must provide
appropriate mechanisms to ensure the correct operation of the computer system and to prevent user programs
from interfering with the proper operation of the system.
► There are multiple types of operating systems each having its own unique features:
Windows, MacOS, Linux distributions, iOS, Android, and many more.
OS is a interface between user and hardware or we can say a computer program that operates other computer
programs.
► An Operating System acts as a communication interface between the user and computer
hardware. Its purpose is to provide a platform on which a user can execute programs
conveniently and efficiently. An operating system is software that manages the allocation of
Computer Hardware. The coordination of the hardware must be appropriate to ensure the
computer system’s correct operation and to prevent user programs from interfering with
it. The main goal of the Operating System is to make the computer environment more
convenient to use and the Secondary goal is to use the resources most efficiently. In this
article we will see functions of operating system in detail.

Why Operating Systems Used?


► Operating System is used as a communication channel between the Computer hardware and
the user. It works as an intermediate between System Hardware and End-User. Operating
System handles the following responsibilities:
► It controls all the computer resources.
► It provides valuable services to user programs.
► It coordinates the execution of user programs.
► It provides resources for user programs.
► It provides an interface (virtual machine) to the user.
► It hides the complexity of software.
► It supports multiple execution modes.
► It monitors the execution of user programs to prevent errors.
► 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
Designs of OS
► 1. Monolithic design:
► A monolithic operating system (OS) is a basic design that integrates all the core components of the OS into a
single program. This design is characterized by a single kernel that manages all the system's functions.
► Features:

Simple structure
► The OS has a simple structure with all the components embedded in the kernel
High performance
► The OS is fast and efficient because there is no overhead of switching between components
Direct access to hardware
► The kernel runs in a privileged mode that allows it to directly access the hardware
Tightly integrated components
► All components are interdependent and share the same memory space
► Advantages Low overhead and Good for debugging.
► Disadvantages high complexity, low portability, high risk of errors or crashes, and difficult to maintain.
Examples : Linux, Windows, and MacOS.
Kernal:
A kernel is a computer program that acts as the core of an operating system (OS):

► Function
The kernel is responsible for managing many of the OS's fundamental tasks, including memory,
disk storage, and networking. It also controls communication between the OS and the
hardware, such as the CPU and disc memory.
► Startup
The kernel is the first program to load when a computer starts up, and it remains in memory
until the OS is shut down.
► Interface
The kernel acts as an intermediary between the OS and the hardware, presenting an abstracted
interface to the rest of the OS. This allows the rest of the OS to read and write files or
communicate on the network without needing to know the underlying hardware details.
► Location
The kernel operates in its own area called the kernel space.
► Damage
If the kernel is damaged or can't load successfully, the computer won't be able to start.
► 2. Layered System:
Layered Structure is a type of system structure in which the different services of
the operating system are split into various layers, where each layer has a specific
well-defined task to perform. It was created to improve the pre-existing structures
like the Monolithic structure ( UNIX ) and the Simple structure ( MS-DOS ). Example
– The Windows NT operating system uses this layered approach as a part of it. Design
Analysis : The whole Operating System is separated into several layers ( from 0 to n )
as the diagram shows. Each of the layers must have its own specific function to
perform. There are some rules in the implementation of the layers as follows.
► The outermost layer must be the User Interface layer.
► The innermost layer must be the Hardware layer.
► A particular layer can access all the layers present below it but it cannot access
the layers present above it. That is layer n-1 can access all the layers from n-2 to
0 but it cannot access the nth layer.
► 3. Client Server Model:
The Client-server model is a distributed application structure that partitions
tasks or workloads between the providers of a resource or service, called servers,
and service requesters called clients. In the client-server architecture, when the
client computer sends a request for data to the server through the internet, the
server accepts the requested process and delivers the data packets requested
back to the client. Clients do not share any of their resources. Examples of the
Client-Server Model are Email, World Wide Web, etc.
► Client: When we say the word Client, it means to talk of a person or an
organization using a particular service. Similarly in the digital world,
a Client is a computer (Host) i.e. capable of receiving information or using a
particular service from the service providers (Servers).
► Servers: Similarly, when we talk about the word Servers, It means a person or
medium that serves something. Similarly in this digital world, a Server is a
remote computer that provides information (data) or access to particular
services.
Kernel Space vs User Space

► Kernel Space vs User Space


► Before comparing types of kernels, it’s important to know whether
components run in kernel space or user space, as this impacts how the system
works.
► In an operating system, there are two main areas where code runs: user space
and kernel space. User space is where user applications run, while kernel
space is where the operating system and other important parts run. In
kernel space, code can directly access system resources like memory and
hardware, allowing it to perform special tasks that user space code can’t.
► System calls are important for connecting user space and kernel space. They
let user applications ask the kernel for specific services. When an application
makes a system call, it switches from user space to kernel space, allowing the
kernel to do what the application requested.
Monolithic Kernel vs Micro-Kernel
A monolithic kernel is an operating
system kernel in which all the
operating system services run
in kernel space, meaning they all
share the same memory space. This
type of kernel is characterized by
its tight integration of system
services and its high performance.

A microkernel is a type of operating


system kernel in which only the
most basic services run in kernel
space, with other services running
in user space. This type of kernel is
characterized by its modularity,
simplicity, and ability to run
multiple operating systems on the
same hardware.
Operating System Services:
An operating system is software that acts as an intermediary between the user and computer
hardware. It is a program with the help of which we are able to run various applications. It is the
one program that is running all the time. Every computer must have an operating system to
smoothly execute other programs.

The OS coordinates the use of the hardware and application programs for various users. It
provides a platform for other application programs to work. The operating system is a set of
special programs that run on a computer system that allows it to work properly. It controls
input-output devices, execution of programs, managing files, etc.

Services of Operating System


Program execution
Input Output Operations
Communication between Process
File Management
Memory Management
Process Management
Security and Privacy
Resource Management
User Interface
Networking
Error handling
Time Management
User Operating System Interface:
System Calls and its Types:
► The interface between OS and user programs is defined by a set of system calls that the operating
system offers. System call is a call for the OS to perform some task on behalf of the user’s program.
► Therefore system calls makeup the interface between processes and the system.
► The system calls are functions used in the kernel itself. From Programmers point of view, The system
call is a normal C function call.
► A system call is a programmatic way in which a computer program requests a service from the
kernel of the operating system it is executed on. A system call is a way for programs to interact
with the operating system. A computer program makes a system call when it requests the operating
system’s kernel.
► System call provides the services of the operating system to the user programs via the Application
Program Interface(API). It provides an interface between a process and an operating system to allow
user-level processes to request services of the operating system. System calls are the only entry
points into the kernel system. All programs needing resources must use system calls.
► A user program can interact with the operating system using a system call. A number of services are
requested by the program, and the OS responds by launching a number of systems calls to fulfill the
request. A system call can be written in high-level languages like C or Pascal or in assembly
language. If a high-level language is used, the operating system may directly invoke system calls,
which are predefined functions.
► A system call is initiated by the program executing a specific instruction, which triggers a switch to
kernel mode, allowing the program to request a service from the OS. The OS then handles the
request, performs the necessary operations, and returns the result back to the program.
Types of system calls:

1. File System Operations


These system calls are made while working with files in OS, File manipulation operations
such as creation, deletion, termination etc.
2. Process Control
These types of system calls deal with process creation, process termination, process
allocation, deallocation etc. Basically manages all the process that are a part of OS.
3. Memory Management
These types of system calls deals with memory allocation, deallocation & dynamically
changing the size of a memory allocated to a process. In short, the overall management of
memory is done by making these system calls.
4. Inter-process Communication (IPC)
When two or more process are required to communicate, then various IPC mechanism are
used by the OS which involves making numerous system calls.
5. Device Management
The device management system calls are used to interact with various peripherial devices
attached to the PC or even the management of the current device.
Services Provided by
System Calls
► Process Creation and
Management
► Main Memory
Management
► File Access, Directory,
and File System
Management
► Device Handling(I/O)
► Protection
► Networking, etc.
► Process
Control: end, abort,
create, terminate,
allocate, and free
memory.
► File
Management: create,
open, close, delete,
read files, etc.
► Device Management
► Information
Maintenance
► Communication
► What is System Software /System Program ?
IT is the type of software that is the interface between application software and the system.
Low-level languages are used to write the system software. System Software maintains the
system resources and gives the path for application software to run. An important thing is that
without system software, the system can not run. It is general-purpose software.
Functions of System Software
► Memory Management
► Processor Management
► File Management
► Security
► Error-detecting Aids
► Scheduling
Types of System Software
► 1. Operating System: OS is the main part of the Computer System. It has the responsibility of
managing all the resources such as CPU, Printer, Hard Disk, etc. It also provides services to
many other Computers Softwares. Examples of Operating Systems are Linux, Apple, macOS,
Microsoft Windows, etc.
► 2. Language Processor: System Software converts Human-Readable Language into a Machine
Language and it is done by Language Processor. It converts programs into instructions that are
easily readable by Machines.
► 3. Device Driver: A Device Driver is a program or software that helps to perform its functions
by controlling the device. You first have to install a driver for running the program.
► What is Application Software?
IT is the type of software that runs as per user request. It runs on the platform which is provided by system software.
High-level languages are used to write the application software. It’s a specific purpose software. The main difference
between System Software and Application Software is that without system software, the system can not run on the
other hand without application software, the Low-level maintenance system always runs.
Functions of Application Software
► Information and data management
► Management of documents (document exchange systems)
► Development of visuals and video
► Emails, text messaging, audio, and video conferencing, and cooperation are all options.
► Management of accounting, finance, and payroll
► Management of resources (ERP and CRM systems)
Features of Application Software
► Application software is written in a high-level language.
► Application software requires more storage space than system software.
► Only a single task is performed by each application software.
► Application Software is easy to build in comparison to system software.
Types of Application Software
► 1. General Purpose Software: This Application Software is used to perform tasks that are used for a variety of
tasks, just not limited to a specific task only. For Example, MS Word, MS Excel, etc.
► 2. Customized Software: It is used to perform tasks that are designed for specific organizations. For Example,
Railway Reservation System, Airline Reservation System, etc.
► 3. Utility Software: It is used to support the architecture of the Computer. It is designed for optimizing and
maintaining the system and also taking care of its requirements.
System Boot:
What is Booting?
► When a computer system is started, there is a mechanism in the system that loads the operating system from
the secondary storage into the main memory, or RAM, of the system. This is called the booting process of the system.
Types of Booting
There are two types of booting depending on the number of operating systems installed on the machine/computer, i.e.
► 1. Cold or Hard Booting
A state in which a computer is switched on from being switched off is referred to as cold booting. Powering on a computer
that has been turned off completely is usually called a cold boot. In this procedure, the system undergoes a complete
power-on self-test (POST) that initializes hardware devices and loads operating systems from a storage medium into
random-access memory (RAM).
► 2. Soft or Warm Booting
Soft boot or restart method Warm Booting, also called soft boots or restarts, reboots a computer system without shutting it
down entirely. This technique is usually started by an operating system restart command or by pressing an appropriate key
combination. Warm reboots do skip some of the hardware initialization processes that are done on cold booting since the
hardware components have been on power and have been initialized earlier. In operation of a computer system, both cold
boot and warm boot processes are absolutely necessary, where the cold boot yields total system initialization whereas the
warm boot allows a quicker restart choice that does not really involve the entire start up sequence.
Thank You….

You might also like