unit 1 - overview of operating system
unit 1 - overview of operating system
An Operating System(OS) is software that manages and handles the hardware and software
resources of a computer system. It provides interaction between users of computers and
computer hardware. An operating system is responsible for managing and controlling all the
activities and sharing of computer resources. An operating system is a low-level Software that
includes all the basic functions like processor management, memory management, Error
detection, etc.
This Operating System tutorial will cover all the basic to advance operating system concepts
like System Structure, CPU Scheduling, Deadlock, file and disk management, and many more.
An operating system acts as an intermediary between the user of a computer and computer
hardware. 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. 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. A more common
definition is that the operating system is the one program running at all times on the computer
(usually called the kernel), with all else being application programs.
An operating system is concerned with the allocation of resources and services, such as
memory, processors, devices, and information. The operating system correspondingly includes
programs to manage these resources, such as a traffic controller, a scheduler, a Memory
Management,module, I/O programs, and a file system.
Integrated
Third 1965-80 Multiprogramming
Circuits(IC)
Large Scale
Fourth Since 1980 PC
Integration
Every computer must have an operating system to run other programs. The
operating system coordinates the use of the hardware among the various system
programs and application programs for various users. It simply provides an
environment within which other programs can do useful work.
The operating system is a set of special programs that run on a computer
system that allows it to work properly. It performs basic tasks such as
recognizing input from the keyboard, keeping track of files and directories on
the disk, sending output to the display screen, and controlling peripheral
devices.
Memory Management
The operating system manages the Primary Memory or Main Memory. Main memory is made
up of a large array of bytes or words where each byte or word is assigned a certain address.
Main memory is fast storage and it can be accessed directly by the CPU. For a program to be
executed, it should be first loaded in the main memory. An operating system manages the
allocation and deallocation of memory to various processes and ensures that the other process
does not consume the memory allocated to one process. An Operating System performs the
following activities for Memory Management:
• It keeps track of primary memory, i.e., which bytes of memory are used by which user
program. The memory addresses that have already been allocated and the memory
addresses of the memory that has not yet been used.
• In multiprogramming, the OS decides the order in which processes are granted memory
access, and for how long.
• It Allocates the memory to a process when the process requests it and deallocates the
memory when the process has terminated or is performing an I/O operation.
Device Management
An OS manages device communication via its respective drivers. It performs the following
activities for device management.
• Keeps track of all devices connected to the system. Designates a program responsible
for every device known as the Input/Output controller.
Course Name--Operating Systems
Unit 1: Introduction to Operating Systems Semester III
Course Code
NPM
• Decide which process gets access to a certain device and for how long.
• Allocates devices effectively and efficiently. Deallocates devices when they are no
longer required.
• There are various input and output devices. An OS controls the working of these input-
output devices.
• It receives the requests from these devices, performs a specific task, and communicates
back to the requesting process.
File Management
A file system is organized into directories for efficient or easy navigation and usage. These
directories may contain other directories and other files. An Operating System carries out the
following file management activities. It keeps track of where information is stored, user access
settings, the status of every file, and more. These facilities are collectively known as the file
system. An OS keeps track of information regarding the creation, deletion, transfer, copy, and
storage of files in an organized way. It also maintains the integrity of the data stored in these
files, including the file directory structure, by protecting against unauthorized access.
Can run 32-bit and 16-bit Can run 32-bit and 64-bit
Compatibility
applications applications
Address Space Uses 32-bit address space Uses 64-bit address space
• Gamers can easily play High graphical games like Modern Warfare, GTA V, or use
high-end software like Photoshop or CAD which takes a lot of memory since it makes
multi-tasking with big software, easy and efficient for users. However, upgrading the
video card instead of getting a 64-bit processor would be more beneficial.
The operating system can be observed from the point of view of the user or the system. This is
known as the user view and system view respectively. An operating system is a framework that
enables user application programs to interact with system hardware. The operating system does not
perform any functions on its own, but it provides an atmosphere in which various programs and
apps can do useful work. The operating system may be observed from the point of view of the user
or the system, and it is known as the user view and the system view. In this article, you will learn
the views of the operating system.
• User view
• System view
• User view − The user viewpoint focuses on how the user interacts with the operating system
through the usage of various application programs. Some systems are designed for a single
user to monopolize the resources to maximize the user’s task.Therefore the Operating
system is designed primarily for ease of use with little emphasis on quality and none of
resource utilization.
• Single user view point
• These systems are much more designed for a single user experience and meet the needs
of single user where the performance is not given focus as the multiple user systems.
Most computer users use a monitor,keyboard,printer,mouse and other accessories to
operate their computer system. In some cases the system is designed to maximize the
output of a single user. As a result more attention is laid on accessibility, and resource
allocation is less important.
• Multiple user view point
• These systems are designed for multiple user experience and meet the needs of multiple
user. when there is one mainframe computer and many users on their computer trying
to interact with their kernels over the mainframe to each other.
• The client server architecture is a good example where many clients may interact
through a remote server, and the same constraints of effective use of server resources
may arise.
• Handled user view point
• In the handled user viewpoint smartphones interact via wireless devices to perform
The Batch operating system is a real-time operating system intended for batch processing.
It structures a segmental architecture, which permits the addition of new segments without
touching the current codebase.
A batch processing operating system (BPOS) is designed to handle and process large
volumes of data in batches, making it ideal for organizations that require efficient and
rapid data processing. Unlike interactive systems, batch processing systems operate by
executing a series of jobs without manual intervention, which enhances their speed and
efficiency. This makes BPOS particularly suitable for businesses that consistently manage
substantial data sets and need reliable, high-speed processing capabilities.
Features of Batch Processing Operating System
Batch OS is an operating system intended specifically for batch processing. It contains
a command line interface, a library for scheduling tasks, and a user interface for managing
Features of Multiprogramming
1. Need Single CPU for implementation.
2. Context switch between process.
3. Switching happens when current process undergoes waiting state.
4. CPU idle time is reduced.
5. High resource utilization.
6. High Performance.
Disadvantages of Multiprogramming
1. Prior knowledge of scheduling algorithms (An algorithm that decides which next process
will get hold of the CPU) is required.
2. If it has a large number of jobs, then long-term jobs will have to require a long wait.
3. Memory management is needed in the operating system because all types of tasks are
stored in the main memory.
4. Using multiprogramming up to a larger extent can cause a heat-up issue.
Scheduling Algorithms are of two types.
1. Preemptive Scheduling algorithm: In the preemptive scheduling algorithm if more than
one process wants to enter into the critical section then it will be allowed and it can enter
into the critical section without any interruption only if no other progress is in the critical
section.
2. Non-Preemptive scheduling algorithm: If a process gets a critical section then it will
not leave the critical section until or unless it works gets done.
Time Sharing Operating System--
Multiprogrammed, batched systems provide an environment where various system
resources were used effectively, but it did not provide for user interaction with computer
systems. Time-sharing is a logical extension of multiprogramming. The CPU performs
many tasks by switches that are so frequent that the user can interact with each program
while it is running. A time-shared operating system allows multiple users to share
computers simultaneously. With each action or order at a time the shared system becomes
In the above figure the user 5 is active state but user 1, user 2, user 3, and user 4 are in
a waiting state whereas user 6 is in a ready state.
1. Active State – The user’s program is under the control of the CPU. Only one program is
available in this state.
2. Ready State – The user program is ready to execute but it is waiting for its turn to get the
CPU. More than one user can be in a ready state at a time.
3. Waiting State – The user’s program is waiting for some input/output operation. More
than one user can be in a waiting state at a time.
Requirements of Time Sharing Operating System: An alarm clock mechanism to send
an interrupt signal to the CPU after every time slice. Memory Protection mechanism to
prevent one job’s instructions and data from interfering with other jobs.
What are some of the key features of a Time-Sharing Operating System?
A Time-Sharing Operating System’s key characteristics include the capacity to support
multiple concurrent users and the capacity to reduce response times for all users.
Additionally, because they permit multiple users to use the system without needing to
purchase individual licenses, time-sharing operating systems may be more cost-effective
for businesses.
Linux
Functions
Commands
2. pwd
Displays the current working
command in
directory.
Linux
3. mkdir
command in Creates a directory.
Linux
4. cd
To navigate between different
command in
folders.
Linux
5. rmdir
Removes empty directories from
command in
the directory lists.
Linux
6. cp
Copy files from one directory to
command in
another.
Linux
7. mv
command in Rename and Replace the files
Linux
8. rm
command in Delete files
Linux
9. uname
Command to get basic information
command in
about the OS
Linux
10. locate
command in Find a file in the database.
Linux
11. touch
command in Create empty files
Linux
12. ln
command in Create shortcuts to other files
Linux
13. cat
command in Display file contents on terminal
Linux
14. clear
command in Clear terminal
Linux
15. ps
command in Display the processes in terminal
Linux
16. man
Access manual for all Linux
command in
commands
Linux
17. grep
Search for a specific string in an
command in
output
Linux
18. echo
Display active processes on the
command in
terminal
Linux
19. wget
command in download files from the internet.
Linux
20. whoami
Create or update passwords for
command in
existing users
Linux
21. sort
command in sort the file content
Linux
22. cal
command in View Calendar in terminal
Linux
23. whereis
View the exact location of any
command in
command typed after this command
Linux
24. df
command in Check the details of the file system
Linux
And So on…
CreateProcess() Fork()
Process Control ExitProcess() Exit()
WaitForSingleObject() Wait()
Open()
CreateFile()
Read()
File manipulation ReadFile()
Write()
WriteFile()
Close()
GetCurrentProcessID() Getpid()
Information Maintenance SetTimer() Alarm()
Sleep() Sleep()
CreatePipe() Pipe()
Communication CreateFileMapping() Shmget()
MapViewOfFile() Mmap()
SetFileSecurity() Chmod()
Protection InitializeSecurityDescriptor() Umask()
SetSecurityDescriptorgroup() Chown()