0% found this document useful (0 votes)
8 views11 pages

Farinas EdieMar CFP Ass2

An operating system (OS) serves as an intermediary between users and computer hardware, managing resources and providing an interface for program execution. It performs essential functions such as process management, memory management, I/O device management, and file management, while also evolving into various types like batch processing, time-sharing, and real-time systems. Each OS class addresses specific user needs and system capabilities, enhancing efficiency and usability in computing environments.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views11 pages

Farinas EdieMar CFP Ass2

An operating system (OS) serves as an intermediary between users and computer hardware, managing resources and providing an interface for program execution. It performs essential functions such as process management, memory management, I/O device management, and file management, while also evolving into various types like batch processing, time-sharing, and real-time systems. Each OS class addresses specific user needs and system capabilities, enhancing efficiency and usability in computing environments.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 11

Introduction to Operating System

What is an Operating System?


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 in a convenient and efficient manner. An
operating system is software that manages the 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.

Identify the purposes or functions of an Operating System.


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. OS is designed to serve two
basic purposes:

It controls the allocation and use of the computing


system’s
resources among the various user and tasks.
It provides an interface between the computer hardware and the programmer that simplifies and
makes feasible for coding, creation, debugging of application programs.
To achieve the goals of an Operating system, the Operating System performs several
functionalities. They are:

• Process Management: At a particular instant of time, the CPU may have


several processes that are in the ready state. But at a time, only one process
can be processed by a processor. So, the CPU should apply algorithm that can
be used to provide uniform and efficient access to resources by the processes.
The CPU should not give priority to only one process and it should make sure
that every process which is in the ready state will be executed. Some of the
CPU scheduling algorithms are First Come First Serve, Round Robin,
Shortest Job First, Priority Scheduling, etc.
• Memory Management: For the execution of a process, the whole process is
put into the main memory and the process is executed and after the execution
of the process, the memory is freed, and that memory can be used for other
processes. So, it is the duty of the Operating System to manage the memory
by allocating and deallocating the memory for the process.
• I/O Device Management: There are various I/O devices that are present in a
system. Various processes require access to these resources and the process
should not directly access these devices. So, it is the duty of the Operating
System to allow the use of I/O devices by the various process that are
requiring these resources.
• File Management: There are various files, folders and directory system in a
computer. All these are maintained and managed by the Operating System of the
computer. All these files related information are maintained by using a File
Allocation Table or FAT. So, every detail related to the file i.e., filename, file
size, file type, etc. is stored in the File Allocation Table. Also, it is the duty of
the Operating System to make sure that the files should not be opened by
some unauthorized access.
• Virtual Memory: When the size of the program is larger than the main
memory then it is the duty of the Operating System to load only frequently
used pages in the main memory. This is called Virtual Memory.

What are the types of Operating System?


Classes of operating systems have evolved over time as computer systems and users’
expectations of them have developed, i.e., as computing environments have evolved.
The table shows when operating systems of each class first came into widespread use;
what fundamental effectiveness criterion, or prime concern, motivated its development; and what
key concepts were developed to address that prime concern.

OS Class Period Prime Concern Key Concepts


Batch Processing 1960s CPU idle time Automate transition
Systems between jobs
Time Sharing 1970s Good response time Time-slice, round
Systems robin scheduling
Multiprocessing 1980s Master/Slave Symmetric/
Systems processor priority Asymmetric
multiprocessing
Real Time Systems 1980s Meeting time Real-time scheduling
constraints
Distributed Systems 1990s Resource sharing Distributed control,
transparency
Desktop Systems 1970s Good support to a Word processing,
single user Internet access
Handheld Systems Late 1980s 32-bit CPUs with Handle telephony,
protected mode digital photography,
and third-party
applications
Clustered Systems Early 1980s Low cost µps, high Task scheduling,
speed networks node failure
management

a. Batch Processing Systems. To improve utilization, the concept of a batch operating


system was developed. It appears that the first batch operating system (and the first OS of
any kind) was developed in the mid- 1950s by General Motors for use on an IBM 701
[WEIZ81]. The concept was subsequently refined and implemented on the IBM 704 by a
number of IBM customers. By the early 1960s, a number of vendors had developed batch
operating systems for their computer systems. IBSYS, the IBM operating system for the
7090/7094 computers, is particularly notable because of its widespread influence on other
systems. In a batch processing operating system, the prime concern is CPU efficiency.
The batch processing system operates in a strict one job-at-a-time manner; within a job, it
executes the programs one after another. Thus, only one program is under execution at
any time. The opportunity to enhance CPU efficiency is limited to efficiently initiating
the next program when one program ends, and the next job when one job ends, so that the
CPU does not remain idle.
• Simple Batch Systems. With a
batch operating system,
processor time alternates between
execution of user programs and
execution of the monitor. There
have been two sacrifices: Some
main memory is now given over
to the monitor and some processor time is consumed by the monitor. Both are forms
of overhead. Despite this overhead, the simple batch system improves utilization of
the computer.
• Multi-programmed Batch Systems.
Multiprogramming operating systems are
sophisticated compared to single-program, or uni-
programming, systems. To have several jobs
ready to run, they must be kept in main memory,
requiring some form of memory management. In
addition, if several jobs are ready to run, the
processor must decide which one to run, this decision requires an algorithm for
scheduling. These concepts are discussed in later chapters. There must be enough
memory to hold the OS (resident monitor) and one user program. Suppose there is
room for the OS and two user programs. When one job needs to wait for I/O, the
processor can switch to the other job, which is likely not waiting for I/O.
Furthermore, we might expand memory to hold three, four, or more programs and
switch among all of them. The approach is known as multiprogramming, or
multitasking. It is the central theme of modern operating systems. This idea also
applies to real life situations. You do not have only one subject to study. Rather,
several subjects may be in the process of being served at the same time. Sometimes,
before studying one entire subject, you might check some other subject to avoid
monotonous study. Thus, if you have enough subjects, you never need to remain idle.
b. Time Sharing Systems. A time-sharing operating system focuses on facilitating quick
response to sub requests made by all processes, which provides a tangible benefit to
users. It is achieved by giving a fair execution opportunity to each process through two
means:
The OS services all processes by turn, which is called round-robin scheduling. It also
prevents a process from using too much CPU time when scheduled to execute, which is
called time-slicing. The combination of these two techniques ensures that no process
must wait long for CPU attention.
c. Multiprocessing Systems. Many popular operating systems, including Windows and
Linux, run on multiprocessors. Multiprocessing sometimes refers to the execution of
multiple concurrent software processes in a system as opposed to a single process at any
one instant. However, the terms multitasking, or multiprogramming are more appropriate
to describe this concept, which is implemented mostly in software, whereas
multiprocessing is more appropriate to describe the use of multiple hardware CPUs. A
system can be both multiprocessing and multiprogramming, only one of the two, or
neither of the two. Systems that treat all CPUs equally are called symmetric
multiprocessing (SMP) systems. In systems where all CPUs are not equal, system
resources may be divided in several ways, including asymmetric multiprocessing
(ASMP), non-uniform memory access (NUMA) multiprocessing, and clustered
multiprocessing.
• Symmetric Multiprocessing Systems. Symmetric
multiprocessing or SMP involves a multiprocessor
computer architecture where two or more identical
processors can connect to a single shared main memory.
Most common multiprocessor systems today use an
SMP architecture. In the case of multi-core processors, the SMP architecture applies
to the cores, treating them as separate processors. SMP systems allow any processor
to work on any task no matter where the data for that task are in memory; with proper
operating system support, SMP systems can easily move tasks between processors to
balance the workload efficiently.
• Asymmetric Multiprocessing Systems.
Asymmetric hardware systems commonly dedicated
individual processors to specific tasks. For example,
one processor may be dedicated to disk operations,
another to video operations, and the rest to standard
processor tasks. These systems do not have the flexibility to assign processes to the
least loaded CPU, unlike an SMP system. Unlike SMP applications, which run their
threads on multiple processors, ASMP applications will run on one processor but
outsource smaller tasks to another. Although the system may physically be an SMP,
the software is still able to use it as an ASMP by simply giving certain tasks to one
processor and deeming it the "master", and only outsourcing smaller tasks to "slave
"processors.
d. Real Time Systems. A real-time operating
system is used to implement a computer
application for controlling or tracking of real-
world activities. The application needs to
complete its computational tasks in a timely
manner to keep abreast of external events in
the activity that it controls. To facilitate this,
the OS permits a user to create several
processes within an application program and
uses real-time scheduling to interleave the
execution of processes such that the application can complete its execution within its
time constraint.
• Hard Real-Time System. A hard real-time system is typically dedicated to
processing real-time applications, and provably meets the response requirement of an
application under all conditions.
• Soft Real-Time System. A soft real-time system makes the best effort to meet the
response requirement of a real-time application but cannot guarantee that it will be
able to meet it under all conditions. Digital audio or multimedia systems fall in this
category. Digital telephones are also soft real-time systems.
e. Distributed Systems. A distributed operating system permits a user to access resources
located in other computer systems conveniently and reliably. To enhance convenience, it
does not expect a user to know the location of resources in the system, which is called
transparency. To enhance efficiency, it may execute parts of a computation in different
computer systems at the same time. It uses distributed control, i.e., it spreads its decision-
making actions across different computers in the system so that failures of individual
computers or the network does not cripple its operation. A distributed operating system is
one that appears to its users as a traditional uniprocessor system, even though it is
composed of multiple processors. The users may not be aware of where their programs
are being run or where their files are located; that should all be handled automatically and
efficiently by the operating system. True distributed operating systems require more than
just adding a little code to a uniprocessor operating system, because distributed and
centralized systems differ in certain critical ways. Distributed systems, for example, often
allow applications to run on several processors at the same time, thus requiring more
complex processor scheduling algorithms in order to optimize the amount of parallelism.
f. Desktop Systems. A desktop system is a personal computer (PC) system in a form
intended for regular use at a single location, as opposed to a mobile laptop or portable
computer. Early desktop computers were designed to lay flat on the desk, while modern
towers stand upright. Most modern desktop computer systems have separate screens and
keyboards. Modern ones all support multiprogramming, often with dozens of programs
started up at boot time. Their job is to provide good support to a single user. They are
widely used for word processing, spreadsheets, and Internet access. Common examples
are Linux, FreeBSD, Windows 8, and the Macintosh operating system. Personal
computer operating systems are so widely known that probably little introduction is
needed.
g. Handheld Systems. A handheld computer or PDA (Personal Digital Assistant) is a small
computer that fits in a shirt pocket and performs a small number of functions, such as an
electronic address book and memo pad. Since these computers can be easily fitted on the
palmtop, they are also known as palmtop computers. Furthermore, many mobile phones
are hardly any different from PDAs except for the keyboard and screen. In effect, PDAs
and mobile phones have essentially merged, differing mostly in size, weight, and user
interface. Almost all of them are based on 32-bit CPUs with protected mode and run a
sophisticated operating system. One major difference between handhelds and PCs is that
the former does not have multigigabit hard disks, which changes a lot.
h. Clustered Systems. A
computer cluster consists of
a set of loosely connected
computers that work
together so that in many
respects they can be viewed
as a single system. The
components of a cluster are
usually connected to each
other through fast local area
networks, each node (computer used as a server) running its own instance of an operating
system. Computer clusters emerged as a result of convergence of several computing
trends including the availability of low-cost microprocessors, high speed networks, and
software for high performance distributed computing. In Clustered systems, if the
monitored machine fails, the monitoring machine can take ownership of its storage, and
restart the application(s) that were running on the failed machine. The failed machine can
remain down, but the users and clients of the application would only see a brief
interruption of the service. In asymmetric clustering, one machine is in hot standby mode
while the other is running the applications. The hot standby host (machine) does nothing
but monitor the active server. If that server fails, the hot standby host becomes the active
server. In symmetric mode, two or more hosts are running applications, and they are
monitoring each other. It does require that more than one application be available to run.

What is Process Management?


At a particular instant of time, the CPU may have a few
processes that are in the ready state. But at a time, only one
process can be processed by a processor. So, the CPU should
apply algorithm that can be used to provide uniform and
efficient access to resources by the processes. The CPU should not give priority to only one
process and it should make sure that every process which is in the ready state will be executed.
Some of the CPU scheduling algorithms are First Come First Serve, Round Robin, Shortest Job
First, Priority Scheduling, etc.
What is Memory Management?
For the execution of a process, the whole process is
put into the main memory and the process is executed and
after the execution of the process, the memory is freed, and
that memory can be used for other processes. So, it is the duty
of the Operating System to manage the memory by allocating
and deallocating the memory for the process.

What is Device Management?


There are various I/O devices that are present in a system.
Various processes require access to these resources and the process
should not directly access these devices. So, it is the duty of the
Operating System to allow the use of I/O devices by the various
process that are requiring these resources.

What is File System/File Management?

There are various files, folders and directory system in


a particular computer. All these are maintained and
managed by the Operating System of the computer. All
these files related information are maintained by using a File Allocation Table or FAT. So, every
detail related to the file i.e., filename, file size, file type, etc. is stored in the File Allocation
Table. Also, it is the duty of the Operating System to make sure that the files should not be
opened by some unauthorized access.

What is Security and Protection?

OS uses two sets of techniques to counter threats to information namely:

• Protection. Protection tackles the system's internal threats. It provides a


mechanism for controlling access to processes, programs, and user resources. In simple
words, it specifies which files a specific user can access or view and modify to maintain the
proper functioning of the system. It allows the safe sharing of common physical address
space or common logical address space which means that multiple users can access the
memory due to the physical address space. Let's take an example for a better understanding,
suppose in a small organization there are four employees p1, p2, p3, p4, and two data
resources r1 and r2. The various departments frequently exchange information but not
sensitive information between all employees. The employees p1 and p2 can only access r1
data resources and employees p3 and p4 can only access r2 resources. If the employee p1
tries to access the data resource r2, then the employee p1 is restricted from accessing that
resource. Hence, p1 will not be able to access the r2 resource.
• Security. Security tackles the system's external threats. The safety of their system
resources such as saved data, disks, memory, etc. is secured by the security systems against
harmful modifications, unauthorized access, and inconsistency. It provides a mechanism
(encryption and authentication) to analyze the user before allowing access to the system. As
discussed in the previous example, In the organization data resources are shared with many
employees but a user who does not work for that specific company cannot access this
information. Security can be achieved by three attributes: confidentiality (prevention of
unauthorized resources and modification), integrity (prevention of all unauthorized users),
and availability (unauthorized withholding of resources).

List of Commonly Used Operating Systems:


There are multiple types of operating systems each having its own unique features:

• Windows OS
Developer: Microsoft
Key Features: User-friendly interface, software compatibility, hardware support, Strong gaming
support.
Advantages: Easy to use for most users, Broad support from third-party applications, Frequent
updates and support.
Typical Use Cases: Personal computing, Business environment, Gaming.

• macOS
Developer: Apple
Key Features: Sleek, intuitive user interface, Strong integration with other Apple products,
Robust security features, High performance and stability.
Advantages: Optimized for Apple hardware, Seamless experience across Apple ecosystem,
Superior graphics and multimedia capabilities.
Typical Use Cases: Creative industries (design, video editing, music production), Personal
computing, Professional environments.
• Linux
Developer: Community-driven (various distributions).
Key Features: Open-source and highly customizable, Robust security and stability, Lightweight
and can run on older hardware, large selection of distributions (e.g., Ubuntu, Fedora, Debian).
Advantages: Free to use and distribute, Strong community support, Suitable for servers and
development environments.
Typical Use Cases: Servers and data centers, Development and programming, Personal
computing for tech enthusiasts.

• Unix
Developer: Originally AT&T Bell Labs, various commercial and open-source versions available
Key Features: Multiuser and multitasking capabilities, Strong security and stability, Powerful
command-line interface, Portability across different hardware platforms
Advantages: Reliable and robust performance, Suitable for high-performance computing and
servers, Extensive support for networking.
Typical Use Cases: Servers and workstations, Development environments, Research and
academic settings
References:

https://www.geeksforgeeks.org/introduction-of-operating-system-set-1/

https://smkvbastar.ac.in/Admin/Files/StudyMaterial/05182023041345_OS%20intro.pdf
https://archive.mu.ac.in/myweb_test/S.Y.B.Sc%20(IT)%20-%20Sem%20-%20III
%20%20Modern%20Operating%20System.pdf

You might also like