UNIT 1-2 With Worktext

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

OPERATING SYSTEM SYLLABUS

Course Description: This course is an introduction to personal computer operating systems


including installation, configuration, file management, memory and storage management, control
of peripheral devices, and use of utilities.

Course Outline:
Unit I: Introduction to Operating Systems Commented [e1]: Unit 1

1.What is Operating System?


2. Computer System Operations
3.Operating System Structure
4.Components of OS
5.Computer Environments
Lesson Objectives:

1. Understand the purpose of the operating system,


2. Distinguish between a resource, a program, and a process,
3. Recognize critical resources and explain the behavior of semaphores,
4. Describe various memory page replacement algorithms, and
5. Describe how files are stored in secondary storage.

Readings:

WHAT IS OPERATING SYSTEM AND ITS FUNCTIONS


- An operating system (OS) is system software that manages computer hardware,
software resources, and provides common services for computer programs.
- An operating system is a manager that needs to use all the resources to perform
management duties. Functions of OS help the user to do the tasks assigned to the system
and it helps to do it in a proper manner. This function is carried out with the help of the
user and hence user interface should be proper and well maintained.
- An operating system, or "OS," is software that communicates with the hardware and
allows other programs to run. It is comprised of system software, or the fundamental files
your computer needs to boot up and function. Every desktop computer, tablet, and
smartphone include an operating system that provides basic functionality for the device.

COMPUTER SYSTEM OPERATION


- One or more CPU’s, device controllers connect through common bus providing an access
to a shared memory
- Concurrent execution of CPU’s and devices competing for memory cycles

MULTIPROCESSING

CLUSTER SYSTEM
Clustered system provides the facility to make a single logical unit or a group of
multiple computers connected through LAN. Computers worked together each connected
computer in a set perform a same task which is controlled and scheduled by software. It provides
high processing speed, better data integrity, large capacity of storage, wider availability of
resources and superior reliability. Cluster system different computers tied together through LAN,
while multi processers are tied together.

TYPES OF CLUSTER SYSTEM


Symmetric cluster - All computers in cluster work together (or run applications simultaneously)
and monitor each other
Asymmetric cluster - Which consist two or more servers one is on standby mode and other is
monitoring the other work.
MULTIPROGRAMMING
In this concept, two or more user programs can be in main memory and can be executed
concurrently. The CPU can give time to various programs despite sitting idle when one is busy
with I/O operations. When one program is waiting for I/O transfer there is next program ready to
utilize the processor. Therefore, several processes can share the time of the CPU.
TYPES OF MULTIPROCESSING
Symmetric Multiprocessing
- It has no master-slave relationship like asymmetric multiprocessing. All the processors
here, communicate using the shared memory.
- The processors start executing the processes from the common ready queue. Each
processor may also have its own private queue of ready processes to get executed. It must
be taken care by the scheduler that no two processors execute the same process.
- Symmetric Multiprocessing has proper load balancing, better fault tolerance and also
reduces the chance of CPU bottleneck. It is complex as the memory is shared among all
the processors. In Symmetric Multiprocessing, a processor failure results in reduced
computing capacity
Asymmetric Multiprocessing
- It has the master-slave relationship among the processors. There is one master processor
that controls remaining slave processor. The master processor allots processes to slave
processor, or they may have some predefined task to perform.
- The master processor controls the data structure. The scheduling of
processes, I/O processing and other system activities are controlled by the master
processor.
OPERATING SYSTEM STRUCTURE
Multiprogramming
- Keeps CPU and I/O devices busy at all times.
Timesharing/multitasking
- Each user has at least one program executing in memory.
CPU scheduling
- If several jobs ready to run at the same time.
Swapping
- If processes don’t fit in memory, swapping moves them in and out to run.
COMPONENTS OF OPERATING SYSTEM
Kernel
- is central component of an operating system that manages operations of computer and
hardware. It basically manages operations of memory and CPU time. It is core
component of an operating system. Kernel acts as a bridge between applications and data
processing performed at hardware level using inter-process communication and system
calls.
- Kernel loads first into memory when an operating system is loaded and remains into
memory until operating system is shut down again. It is responsible for various tasks such
as disk management, task management, and memory management.
Objectives of Kernel:
• To establish communication between user level application and hardware.
• To decide state of incoming processes.
• To control disk management.
• To control memory management.
• To control task management.
Process Management
- The process management component is a procedure for managing the many processes
that are running simultaneously on the operating system. Every software application
program has one or more processes associated with them when they are running.
- All these processes should be managed by process management, which keeps processes
for running efficiently. It also uses memory allocated to them and shutting them down
when needed.
I/O Device Management
- One of the important uses of an operating system that helps you to hide the variations of
specific hardware devices from the user.
Interrupt
- Interrupts are primary to operating systems, as they offer a reliable method for the
operating system to interact with and respond to its environment.
Network Management
- Network management is the process of administering and managing computer networks.
It includes performance management, fault analysis, provisioning of networks, and
maintaining the quality of service.
Main Memory management
- Main Memory is a large array of storage or bytes, which has an address. The memory
management process is conducted by using a sequence of reads or writes of specific
memory addresses.
- In order to execute a program, it should be mapped to absolute addresses and loaded
inside the Memory. The selection of a memory management method depends on several
factors.
Secondary-Storage Management
- This Memory of the computer is very small to store all data and programs permanently.
The computer system offers secondary storage to back up the main Memory. Today
modern computers use hard drives/SSD as the primary storage of both programs and data.
However, the secondary storage management also works with storage devices, like a
USB flash drive, and CD/DVD drives.
Security Management
- The various processes in an operating system need to be secured from each other's
activities. For that purpose, various mechanisms can be used to ensure that those processes which
want to operate files, memory CPU, and other hardware resources should have proper
authorization from the operating system.
User Interface
- A GUI or user interface (UI) is the part of an OS that permits an operator to get the
information. A user interface based on text displays the text as well as its commands
which are typed over a command line with the help of a keyboard.
The main components of an OS mainly include kernel, API or application program interface,
user interface & file system, hardware devices and device drivers.
System Calls
- is the programmatic way in which a computer program requests a service from the kernel
of the operating system it is executed in. A system call is a way for programs to interact
with the operating system.
COMPUTING ENVIRONMENTS
Personal Computing Environment
In the personal computing environment, there is a single computer system. All the system
processes are available on the computer and executed there. The different devices that constitute
a personal computing environment are laptops, mobiles, printers, computer systems, scanners
etc.
Time Sharing Computing Environment
The timesharing computing environment allows multiple users to share the system
simultaneously. Each user is provided a time slice and the processor switches rapidly among the
users according to it. Because of this, each user believes that they are the only ones using the
system.
Client Server Computing Environment
In client server computing, the client requests a resource and the server provides that
resource. A server may serve multiple clients at the same time while a client is in contact with
only one server. Both the client and server usually communicate via a computer network but
sometimes they may reside in the same system.

Distributed Computing Environment


- A distributed computing environment contains multiple nodes that are physically separate
but linked together using the network. All the nodes in this system communicate with
each other and handle processes in tandem. Each of these nodes contains a small part of
the distributed operating system software.
Cloud Computing Environment
- The computing is moved away from individual computer systems to a cloud of computers
in cloud computing environment. The cloud users only see the service being provided and
not the internal details of how the service is provided. This is done by pooling all the
computer resources and then managing them using a software.
Types of Cloud Computing
Public – anyone willing to pay
Private – company’s own use
Hybrid – both public and private use
Cluster Computing Environment
- The clustered computing environment is similar to parallel computing environment as
they both have multiple CPUs. However, a major difference is that clustered systems are
created by two or more individual computer systems merged together which then work
parallel to each other.
Definition of terms:
- Resources – Component of limited availability necessary for effective operation. This is
what any process used to complete its task.
- Process – an active program.
- Deadlock – Is a situation in which two or more competing actions are waiting for the
other to finish, and thus neither ever does.
- Buffer – an area of memory that stores data. It is usually volatile storage.
- Cache – an area of fast memory that stores copies of data. It is much faster than a buffer.
- OS Kernel – one process that is active all the time. Either a system program or an
application program.
- Interrupt – a change in flow of executing whenever a process needs to stop.
- Volatile storage – temporary storage that loses data whenever the computer is off.
- Non-volatile – storage that is maintained.

Related Materials:
 https:// shorturl.at/rxS29 (History of OS)
 https://shorturl.at/ijtwR (What is Operating System?)
 https://shorturl.at/vBCM4 (Basics of Operating System)

References:
[1] Operating System- Wikipedia, (2018)- https://bit.ly/3uam4do

[2] System, F. 2020 | 11 Best Functions of Operating System- https://bit.ly/3f9y0rD


[3] Computer system organization sysorg(2021)- https://bit.ly/3f9Ekzh
[4] Single Processor Systems.(2021)- https://bit.ly/3hMwltI
[5] Difference Between Symmetric and Asymmetric Multiprocessing (with Comparison Chart) -
Tech Differences. (2016)- https://bit.ly/2Tboqfl
[6] Multiprocessor System in details and with suitable examples – Zitoc. (2019)-
https://bit.ly/3oCx5my
[7] Multiprogramming and Multiprocessing in Operating System. (2021)- https://bit.ly/3ueVyPT
[8] Operating System Components and Their Services. (2020)- https://bit.ly/2RuUZo9
[9] Introduction of System Call – GeeksforGeeks. (2018)- https://bit.ly/3bKcU0X
[10] Types of Computing Environments. (2021)- https://bit.ly/2TcHk5t
[11] Kernel in Operating System – GeeksforGeeks. (2020)- https://bit.ly/3wpyr6P
[12] Components of Operating Systems. 2021- https://bit.ly/3yErSiX
Unit II. Operating System Services-Operating System Design Commented [e2]: UNIT 2

1.User Interface
2. Program Execution
3.File System Manipulation
4.Input/Output Operations
5.Communication
6.Error Detection
7.Ensuring Efficient Operation
Lesson Objectives:

1. Understand the purpose of the operating system Services


2. To be able to create a good User Interface
3. Recognize the manipulation of File System
4. To apply efficiently the operations

Readings:
USER INTERFACE OPERATING SYSTEM
- Command line interface (CLI)- usually deals with using text commands and a
technique for entering those commands.
- Batch based interface (BI): commands and directives are used to manage those
commands that are entered into files and those files get executed.
- Graphical User Interface (GUI): which is a window system with a pointing device (like
mouse or trackball) to point to the I/O, choose from menus driven interface and to make
choices viewing from a number of lists and a keyboard.
PROGRAM EXECUTION OF OPERATING SYSTEM
- The operating system must have the capability to load a program into memory and
execute that program. Furthermore, the program must be able to end its execution, either
normally or abnormally / forcefully.
I/O OPERATIONS IN OPERATING SYSTEM
- The operating system must have the capability to load a program into memory and
execute that program. Furthermore, the program must be able to end its execution, either
normally or abnormally / forcefully.
FILE SYSTEM MANIPULATION IN OPERATING SYSTEM
- Programs need has to be read and then write them as files and directories. File handling
portion of operating system also allows users to create and delete files by specific name
along with extension, search for a given file and / or list file information.

COMMUNICATIONS IN OPERATING SYSTEM


- Process needs to swap over information with other process. Processes executing on same
computer system or on different computer systems can communicate using operating
system support. Communication between two processes can be done using shared
memory or via message passing.
ERROR DETECTION IN OPERATING SYSTEM
- Errors may occur within CPU, memory hardware, I/O devices and in the user program.
For each type of error, the OS takes adequate action for ensuring correct and consistent
computing.
ENSURING EFFICIENT OPERATION
• Resource allocation
- When multiple users or multiple jobs running concurrently, resources must be allocated
to each of them. Many types of resources -Some (such as CPU cycles, main memory, and file
storage) may have special allocation code, others (such as I/O devices) may have general request
and release code.
• Accounting
-This service of the operating system keeps track of which users are using how much and
what kinds of computer resources have been used for accounting or simply to accumulate usage
statistics.
• Protection and Security
-Protection includes in ensuring all access to system resources in a controlled manner.
For making a system secure, the user needs to authenticate him or her to the system before using
(usually via login ID and password).
OPERATING SYSTEM DESIGN
Operating System Structure
- Simple Structure
- Layered Approach
- Microkernel
- Modular
- Hybrid
Two Examples of Simple Structured
 MS-DOS
- It was written to provide the most functional in the least space
- It was originally designed and implemented by a few people
- Vulnerable to errant (or malicious) programs, causing entire system crashes
when user programs fail.

 UNIX
- Like MS-DOS, UNIX
initially was limited by
hardware functionality. It
consists of two separable
parts:
KERNEL
SYSTEM PROGRAMS

LAYERED
 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.

MICROKERNEL
- Microkernel is one of the classifications of the kernel. Being a kernel, it manages all system
resources. But in a microkernel, the user services and kernel services are implemented in

different address space. The user services are kept in user address space, and kernel services are
kept under kernel address space, thus also reduces the size of kernel and size of operating
system as well.
MODULAR

- Uses object-oriented
approach
- Each core components are
separate
- Clearly defined interfaces
- Each is loadable as needed
within the kernel
- Overall similar, to layers
but with more flexible

HYBRID
 Hybrid structure - have some type of layered structure with certain functions and services
on certain layers and maybe a microkernel in there or just modules and there's always
new ideas coming along but this is just the basic understanding of the different ways you
can structure the services in this software of the operating system.
THREE WELL KNOWN HYBRID
1. Android
2. IOS
3. Apple MAC OS X

COMPUTER SYSTEMS
- Traditional
Traditional Computer System takes the input from the user and computes the output as the
function of the input. It basically computes function on the input.
- Interactive vs batch
Interactive systems are computer systems characterized by significant amounts of interaction
between humans and the computer.
Batch operating system - do not interact with the computer directly. To speed up processing,
jobs with similar needs are batched together and run as a group. The programmers leave their
programs with the operator and the operator then sorts the programs with similar requirements
into batches.
- Real time/ (hard vs soft)
• Used in real-time systems. The time interval which is needed to process and respond to
inputs is very less. This time interval is known as response time.
Hard Real-Time
For the applications where time constraints or conditions are very strict and even the
smallest or shortest possible delay is not accepted.
Soft Real-Time
For applications where for less strict time-constraint.
- Clustered
• Cluster Operating systems are mixer of software and hardware clusters. Hardware cluster
provides help to share of ultraperformance disks in between all computer systems, and
Software cluster offers better environment for all system to work together.
- Distributed
• These are called as loosely coupled or distributed systems. These systems processors vary
in sizes and functions. The major benefit of working is that it is always viable that a
single user can access the files or software which are not currently present on the system
but actually present on some other system connected in this network i.e., remote access is
enabled in the devices which are connected in this network.
- Network Operating System
• These systems run on a server. These systems provide the functionality to manage data,
users, applications, security, groups, and also some other networking roles. These allow
shared access to networking functions on minor or small private network.

Related Materials:
 https://shorturl.at/adqFR (OS Services)
 https://shorturl.at/cxySY (Operating System Services)
 https://shorturl.at/iHL01 (Operating System Services)

References:
[1] Operating System- Services-Tutoriapoints. (2021)- https://bit.ly/3vaqq5H
[2] Layered Operating System- GeeksforGeeks. (2020)- https://bit.ly/3bLiLD6
[3] Operating System: Structures. (2021)- https://bit.ly/3fGestI
[4] Operating-System Structure - Operating Systems Study Guide. (2021-https://bit.ly/2SgUhuu
[5] Advantages and Disadvantages of different types of Operating Systems. (2021)-
https://bit.ly/2Tboqfl
[6] Banger, E. (2020). What is Clustered Operating System (OS): Definition, Types,
Advantages- https://bit.ly/3u4BD6k

You might also like