0% found this document useful (0 votes)
36 views53 pages

Unit 1

The document discusses various types of operating systems, including Maya OS, an indigenous Linux-based OS developed for India's defense systems, which offers a user-friendly interface similar to Windows. It outlines the advantages and disadvantages of different OS types, such as batch processing, multi-programming, and real-time systems, along with their evolution from the first generation to the current generation. Additionally, it describes the structure of operating systems, including simple, monolithic, layered, and micro-kernel structures.

Uploaded by

is8001077
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)
36 views53 pages

Unit 1

The document discusses various types of operating systems, including Maya OS, an indigenous Linux-based OS developed for India's defense systems, which offers a user-friendly interface similar to Windows. It outlines the advantages and disadvantages of different OS types, such as batch processing, multi-programming, and real-time systems, along with their evolution from the first generation to the current generation. Additionally, it describes the structure of operating systems, including simple, monolithic, layered, and micro-kernel structures.

Uploaded by

is8001077
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/ 53

Omnamahs hivayhanumat enamah

Unit = 1
5000 CALCULATIONS
PER SECOND!

34,000,000,000,000
Calculations Per Second
symbian
OS Java
NOKIA
Connecting People 12 23
12 23

Pan

HUAWEI
HarmonyOS INTERNET 63

OFTHINGS
LiteOS
palm 0$4.0
Monitor
Applications
Printer
APP APP

APP APP

Hard Drive

Operating
System

Mouse

Keyboard
The Indian E
News
/ Technology
JOURNALISM
OF COURAGE
XPRESS
TheIndianEXPRESS
Tech
What is Maya OS, the
indigenous Windows replaceme
nt for India's defens
What is Ma systems? e

ya OS, the i
replacement fo ndigenous Win
dows
The Indian Mini
stry of Defence is
r India's def
e nse systems? JOURNALISM OF COURAGE
open-source Linu ditching Windows for
x distro tha Maya OS, which
t's considered to is based on Uhuntu
be more secure an
d reliable than Wind , a free and
ows.

Written by Zohaib Ahm


ed
Maya OS is a new operating system that is based on Ubuntu, a popular Linux
New Delhi | Updated: August 14, 2023 17:27 IST
NewsGuard distribution that uses free and open-source software. The Defence Ministry has
GE Follow Us
f
developed Maya OS with the help of various government agencies, including the
Defence Research and Development Organisation (DRDO), the Centre for

Developmentof Advanced Computing (C-DAC), and the National Informatics Cer


(NIC).
MACR/A0

075235F/7B
One of the main advantages of Maya OS is that it has a similar interface and
ADE2B/CA0C
РA81/9ЧС32
functionality as Windows, making it easy for users to adapt to it. It also has a
feature called Chakravyuh, which is an end-point anti-malware and antivirus
software that creates a virtual layer between the user and the internet, blocking
hackers from accessing sensitive data.
making it easy for users to adapt to
it.
ality Windows,
similar interface and function
as
Maya OS has a
)
(Image: Tima Miroshnichenko/Pexels
Introduction

❑ An Operating System can be defined as an interface between user and hardware.

❑ It is responsible for the execution of all the processes, Resource Allocation, CPU
management, File Management and many other tasks.

❑ The purpose of an operating system is to provide an environment in which a user can


execute programs in a convenient and efficient manner.
advantages and disadvantages

➢ advantages

❑ Resource management: The OS manages all the hardware and software resources of the computer
system, including the CPU, memory, storage, and devices. This ensures efficient utilization of resources
different applications.

❑ Multitasking: Modern operating systems allow users to run multiple applications simultaneously. This
improves productivity and allows users to work on different tasks at the same time.

❑ Platform for applications: The OS provides a platform for running applications. Developers can write
applications that are compatible with a specific OS, and users can install and run these applications on
their computers.

❑ Security: Operating systems provide security features such as user authentication, access control, and
firewalls to protect the system from unauthorized access and malicious software.
➢disadvantages

❑ System requirements: Operating systems have minimum system requirements, such as


processor speed, memory, and storage space. Older computers may not be able to run the latest
operating systems.

❑ System crashes: Operating systems can sometimes crash, leading to data loss and downtime.
This can be frustrating for users and can disrupt their work.

❑ Cost: Some operating systems, like Windows, are commercial products that require a license to
use. This can be a significant cost for users.

❑ Boot time: The time it takes for an operating system to start up can be long, especially on older
computers.
Evolution

First Generation →
❑ 1945- 1955

❑ No operating system

❑ Hardware like vacuum tubes & plug board were used.

❑ No safety.

❑ Consume more electricity And generates lots heat.

❑ These systems know as serial processing.

❑ We have to work with Machine language.

❑ Ex- ENIAC
Second Generation
.
❑ 1955-1965

❑ Batch system was introduced.

❑ Transistors were used.

❑ Minimal safety.

❑ I/O operation processor had to remain idle.

❑ Laid the foundation for multitasking.


Third Generation –

❑ 1965-1980

❑ Multiple programming / multi tasking

❑ Online storage for-

➢ System programs
➢ User program and data
➢ program libraries.

❑ Integrated Circuits (IC's) Used.

❑ No Starvation
Fourth Generation >

❑ 1980-Now

❑ Computer networking.

❑ Provides Graphical user Interface (GUI).

❑ No Starvation.

❑ Max CPU Utilization.

❑ Provides High priority execution also.

❑ Set of programs (software).


types of operating system

1. Batch Processing System

2. Multi-programming

3. Time Sharing

4. Parallel System

5. Real Time System

6. Distributed System

7. Network System
1. Batch Operating System

a) This type of operating system was used in the earlier age.


b) To speedup processing, jobs with similar needs were batched together and were run through the
computer as a group.
c) The definitive feature of a batch system is the lack of interaction between the user and the job while
that job is executing.
d) In this execution environment, the CPU is often idle.
Key Features

•No User Interaction: Once a batch is submitted, no user interaction is required during processing.
•Sequential Processing: Jobs are processed in a predefined order.

Advantages

•By grouping similar jobs, the operating system can optimize resource utilization and minimize setup time between
jobs.
•Simplicity: Relatively simple to implement compared to interactive operating systems.

Disadvantages

•Lack of Interactivity: Users cannot interact with their programs during execution.
•Turnaround Time: The time it takes for a job to complete can be long, as jobs are processed sequentially.
•Debugging Challenges: Debugging can be difficult as there is no real-time interaction with the program.
2. Multi-programming
❖ In this type of operating system, more than one program will reside into main memory.

❖ The operating system picks and begins to execute one of the jobs in the memory.

❖ Eventually, the job may have to wait for some task, the operating system simply switches to another job and executes it.

❖ When the first job finishes, waiting job gets the CPU back.

❖ As long as there is always some job to execute, the CPU will never be idle.
➢ Advantages

❑ High CPU utilization: Less CPU idle time.

❑ More work is completed in a shorter time.

➢ Disadvantages:

❑ Managing multiple processes and ensuring their proper execution requires complex algorithms.

❑ Poor resource management can lead to processes waiting indefinitely for resources.
Time-Sharing
❑ A time-shared operating system allows the many users to share the computer
simultaneously.

❑ A time-shared operating system uses CPU scheduling and multi-programming


to provide each user with a small portion of time-shared computer.
Advantages

❑Every user gets dedicated time for every operation.


❑The waiting period is very less for every task to end.
❑CPU usage reduces its idle time.

Disadvantages

❑ These systems require software with higher specifications.


❑ The system may slow down or hang since several users and applications use the system.
Parallel System
➢ It is also known as parallel processing , It utilizes several processors.

➢ Every processor finishes the duties that have been assigned to it.

➢ To put it another way, parallel computing details doing several tasks at once.

➢ Parallel computing can be aided by a shared memory system . In shared memory systems, the
memory is shared by all CPUs.
❑ Advantages

1.It may be difficult to resolve larger problems on Serial Computing.


2.You can do many things at once using many computing resources.
3.Parallel computing is much better than serial computing for modeling and comprehending
complicated real-world events.

❑ Disadvantages

1.The multi-core architectures consume a lot of power.


2.Parallel solutions are more difficult to implement, debug, and prove right due to the complexity
of communication and coordination, and they frequently perform worse than their serial
equivalents.
Real Time System

➢ Real time operating system is a special purpose operating system, used when there are real time
requirements on the operation of a processer or the flow of data.

➢ Real time operating system has well-defined, fixed time constraints otherwise system will fail.
Types of RTOS
1. Hard Real Time system

• Deadlines in a hard real time system are so strict that certain activities must be started at a
certain moment and finished within the allocated time.

• Ex- car airbag system etc.

2. Soft Real Time system

• Deadlines in a soft real-time system are less strict and may accept little delays.

• Ex- video games etc.


❑Application:-

▪ Air traffic control


▪ Online transaction
▪ Satellite launch

❑ Advantages of Real-time operating system:

•Easy to layout, develop and execute real-time applications under the real-time operating system.
•Since the size of programs is small, RTOS can also be embedded systems like in transport and
others.
•These types of systems are error-free.

❑ Disadvantages of Real-time operating system:

•Real-time operating systems have complicated layout principles and are very costly to develop.
•Real-time operating systems are very complex.
Distributed System
❑ A distributed operating system is a type of system software that manages a collection of
independent, networked computers, allowing them to function as a unique system.

❑ This architecture enables multiple CPUs to handle jobs collaboratively, providing users with
the experience of a single-node operating system while merging the resources of multiple
nodes.
Key Characteristics

Transparency:

➢ A distributed OS aims to hide the complexity of resource sharing from users. This means that users
interact with the system as if it were a single entity, even though it consists of numerous interconnected
nodes2.

Scalability:

➢ The system can efficiently expand by adding more nodes without significant performance. A well-
designed distributed OS maintains consistent performance regardless of the number of nodes in
operation.

Resource Sharing:

➢ It allows for the sharing of various resources (CPUs, disks, network interfaces) across different sites,
enhancing data availability and redundancy.
Advantages of Distributed Operating Systems

❑ High Performance: By distributing the workload across multiple computers, distributed OSs can
achieve higher performance than single-processor systems.
❑ Increased Reliability: The system can continue to operate even if some computers fail.
❑ Better Resource Utilization: Resources can be shared among multiple users and applications.
❑ Greater Flexibility: The system can be easily scaled and adapted to changing needs.

Disadvantages of Distributed Operating Systems

❑ Complexity: Distributed OSs are more complex to design and implement than centralized OSs.
❑ Security: Ensuring security in a distributed environment is more challenging due to the increased
number of communication channels and potential points of attack.
Network System
❑ A specialized operating system that manages and connects multiple computers (or other devices)
on a network.

❑ Enhances a standard operating system's (such as Windows or macOS) ability to manage network
security, resource sharing, and communication.
Peer to Peer Client server
Client-server network operating systems provide
Peer-to-peer network operating systems allow the users access to resources through the central server.
sharing of resources and files with small-sized This NOS is too expensive to implement and
networks and having few resources. In general, peer- maintain. This operating system is good for the big
to-peer network operating systems are used on LAN. networks which provide many services.
➢ Advantages of Network Operating Systems

•Highly stable due to central server.


•Provide good security.
•Upgradation of new technology and hardware can be easily implemented in the network.
•Provide remote access to servers from different locations.

➢ Disadvantages of Network Operating Systems

•Depend on the central location to perform the operations.


•High cost to buying server.
•Regular updating and maintenance are required.
❑ Advantages of P2P Network

•Easy to Maintain: The network is easy to maintain because each node is independent of the other.

•Less Costly: Since each node acts as a server, therefore the cost of the central server is saved. Thus, there is no need
to buy an expensive server.

•No Network Manager: In a P2P network since each node manages his or her own computer, thus there is no need
for a network manager.

•Adding Nodes is Easy: Adding, deleting, and repairing nodes in this network is easy.

•Less Network Traffic: In a P2P network, there is less network traffic than in a client/ server network.

❑ Disadvantages of P2P Network

•Less Secure: It becomes difficult to secure the complete network because each node is independent.

•Slow Performance: In a P2P network, each computer is accessed by other computers in the network which slows
down the performance of the user.

•Files Hard to Locate: In a P2P network, the files are not centrally stored, rather they are stored on individual
computers which makes it difficult to locate the files .
operating system structure

1) Simple Structure

2) Monolithic Structure

3) Layered Approach Structure

4) Micro-Kernel Structure

5) Modules Structure
1. Simple Structure
❑ Do not have well defined structure.

❑ These are small, simple and limited systems.

❑ Example-MS-DOS operating system has four layers - ROM BIOS device drivers, MS-DOS device
drivers, application programs, and system programs.

.
Advantages-
❑ Each level can be defined independently and, when necessary, can interact with one another.

❑ It will be simpler to design, manage, and update. Because of this, simple structures can be used to build
constrained systems that are less complex.

Disadvantages-

❑ When a user program fails, the operating system as whole crashes.

❑ Layers are interconnected and in communication with one another, there is no abstraction or data
hiding.

❑ The operating system's operations are accessible to layers, which can result in data tampering and
system failure
2. Monolithic operating System
➢ The Monolithic operating System in which the kernel acts as a manager by managing all things like file
management, memory management, device management and operational processes of the Operating
System.

➢ The kernel is the heart of a computer operating system (OS), Kernel delivers basic services to all other
elements of the System, It serves as the primary interface between the Operating System and the
hardware.
Advantages –

➢ Layering is unnecessary and the kernel alone is responsible for managing all operations, it is easy to
design and execute.

Disadvantages-

➢ The monolithic kernel's services are interconnected in one address space and have an impact on one
another, so if any of them malfunctions, the entire system does as well.

➢ It is not adaptable. Therefore, launching a new service is difficult

Use = Unix
3. Layered Structure
❑ The operating system is divided into a number of layers (levels), each built on top of lower layers. The
bottom layer (layer 0), is the hardware; the highest (layer N) is the user interface.

❑ The operations (routines) can be invoked by higher-level layers. The layer itself can invoke operations
on lower- level layers.
Advantages-

▪ Layered approach provides provide modularity. With modularity, layers are selected such that
each layer uses functions (operations) and services of only lower-level layers.

▪ Debugging is easier as lower layers are debugged, and then upper layers are checked.

Disadvantages-

▪ It takes careful planning to construct the layers since higher layers only utilize the functions of
lower layer.
4. Micro-Kernel Structure

❑ Kernel using microkernel approach (smaller kernels) Remove all non-essential components
from the kernel & implementing them as system & user level programs.
Advantages-

▪ Each Micro-Kernel is made independently and is isolated from other Micro-Kernels. So this
makes the system more secure and reliable.

▪ If any Micro-Kernel fails, then the remaining operating System remains untouched and works
fine.

Disadvantages:-
■ Increased inter-module communication reduces system performance/ system overhead..
■ System is complex to be constructed.

Use = Windows NT
5. Modular Structure

➢ The kernel has only set of core components and other services are added as dynamically
loadable modules to the kernel either during run time or boot time.

➢ A module can communicate other with the help of kernel.


Components /functions of Operating System
➢ 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 multi-programming, the OS decides which process will get memory when
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 been terminated.

➢ 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 respective drivers. 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 :

▪ An operating system does the following activities for file management:


▪ 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.
services
Program execution:

▪ The purpose of computer system is to allow the users to execute programs in an efficient manner.
▪ The operating system provides an environment where the user can conveniently run these programs.
▪ To run a program, the program is required to be loaded into the RAM first and then to assign CPU time
for its execution.

I/O operations :

▪ Each program requires an input and after processing the input submitted by user it produces output.
▪ This involves the use of I/O devices.
▪ The I/O service cannot be provided by user-level programs and it must be provided by the operating
system.

Communication:

▪ Operating system performs the communication among various types of processes in the form of shared
memory.
➢ Error detection:

▪ The main function of operating system is to detect the errors like bad sectors on hard disk, memory
overflow and errors related to I/O devices.
▪ After detecting the errors, operating system takes an appropriate action for consistent computing.

➢ Resource allocation:
▪ In the multitasking environment, when multiple jobs are running at a time, it is the responsibility of an
operating system to allocate the required resources (like CPU, main memory, tape drive secondary
storage etc.) to each process for its better utilization,

➢ Protect and security:

▪ Protection involves ensuring that all access to system resources is controlled.


▪ Such security starts with requiring each user to authenticate him or her to the system, usually by means
of a password, to gain access to system resources.
System Calls

❖ system Calls provide programming Interface to the services provided to the OS.

❖ They are written in high level language (C++).

❖ System Calls provides a way for user program to interact with 0S through Application Program
Interface (APIs) such as win32 API for windows, Posix API for Unix, Linux & Mac OS and Java API
for JVM.

Types of system Calls

❑ Process Control & Management

▪ Create Process, Terminate Process


▪ Get Process attribute, set process attribute
▪ End, Abort, Load, Execute
▪ wait event, signal event
❑ File management

▪ create file, delete file


▪ open, close
▪ read, write, reposition
▪ get file attribute, set file attribute

❑ Information Maintenance

▪ get time or date, set time or date


▪ get system data, set system data
▪ get process, file or device attributes
▪ set process, file or device attributes

❑ Communications
▪ Create, delete Communication Connection
▪ Send, receive messages
▪ transfer status Information
▪ attach or detach remote devices
Users (People)
System Programs Other User Applications

System Calls

Kernel
System programs

▪ System programs provide a convenient environment for program development and execution.
They can be divided into:

▪ File manipulation (create, delete, copy, rename, print, list, ...)


▪ Status information (date, time, amount of available memory, disk space, who is logged on, ...)
▪ File modification (text editors, grep, ...)
▪ Programming language support (compiler, debuggers, ...)
▪ Program loading and execution (loaders, linkers)
▪ Communications (ftp, browsers, ssh, ...)

▪ Other System Utilities/Applications may come with OS CD (games, math solvers, plotting
tools, database systems, spreadsheets, word processors,
kernel
➢ Kernel is the main component of mostly computer operating systems.
➢ It provides an interface between applications and actual data processing at the hardware level.
➢ Kernel is considered as the heart of an operating system.
➢ Kernel provides the lowest-level abstraction layer for the resources (especially processors and I/O
devices) that application software must control to perform its function.

The various types of operations performed by the kernel are:

➢ It controls the state of the process that is it checks whether the process is running or process is waiting
for the request of the user.

➢ It provides the memory for the processes those are running on the system that is kernel runs the
allocation and de-allocation of process.

➢ The kernel also maintains a time table for all the processes those are running that is the kernel also
prepare the schedule time which will provide the time to various process of the CPU.
➢ The kernel puts the waiting and suspended jobs into the different memory area.

➢ When a kernel determines that the logical memory does not fit to store the programs, then it uses the
concept of the physical memory which will store the programs into temporary manner. Therefore,
physical memory of the system can be used as temporary memory.
virtual machine

A virtual machine (VM) in an operating system is like having a computer within your computer. It's a
software emulation of a physical computer, complete with its own CPU, memory, storage, and network
interface.

Benefits of Using VMs

•Efficiency: Run multiple operating systems and applications on a single physical machine, saving
hardware costs and energy.
•Isolation: VMs are isolated from each other, so if one crashes, it doesn't affect others or the host system.
•Flexibility: Easily create, copy, and move VMs, making it simple to set up new environments or recover
from failures.
•Testing: Test new software or operating systems in a safe, isolated environment without risking your
main system.
•Development: Developers can use VMs to create consistent environments for building and testing
applications.
Common Use Cases

•Cloud Computing: Cloud providers use VMs to offer computing resources to customers.
•Server Consolidation: Run multiple server applications on a single physical server using VMs.
•Software Development: Create isolated environments for development and testing.
•Legacy Applications: Run older applications that are not compatible with newer operating systems.

Popular VM Software

•VMware
•Microsoft Hyper-V
•VirtualBox
•KVM (Kernel-based Virtual Machine)

You might also like