Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
33 views22 pages

Operating System Components Guide

Uploaded by

pranilmali1131
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)
33 views22 pages

Operating System Components Guide

Uploaded by

pranilmali1131
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/ 22

Index

Sr. No. Title Page No.

Part A
1 Introduction 4

2 Aim 4

3 Course Outcome 4

4 Proposed methodology 5

6 Action Plan 5

Part B
7 Rationale 7

8 Course Outcome 7

9 Advantages and Disadvantages 8

10 Actual Resources used 9

11 Skill developed 10

12 Application 11

13 Conclusion 12

14 References 13

1
Part A
Micro project Proposal
“Components of operating system”

Introduction:-
An operating system is a very important part of a computer system. The
operating system is responsible for establishing communication between the
user and the system. The operating systems are now very efficient, fast, and
organized but it is not like that in the early times. It has taken decades for an
operating system to come this long way. The evolution of operating systems
can be illustrated using different generations of the operating system.
Operating systems are essential for the functioning of modern computing
devices, ranging from personal computers to smartphones and servers. They
manage the interaction between the user, applications, and hardware, ensuring
that resources are allocated efficiently and securely. Without an OS, it would be
extremely difficult for users to control and utilize a computer system effectively.

 Key Functions of an Operating System


1. Process Management:
2. Memory Management:
3. File System Management:
4. Device Management:
5. Security and Access Control:
6. User Interface (UI):

2
Aim of the project:-

The aim of this project is to explore and understand the core components and
functions of an Operating System (OS), highlighting how each component
contributes to the efficient management and operation of computer hardware and
software.

Course outcome:-
1. Understand the Fundamental Concepts of Operating Systems:

2. Analyze the Components of an Operating System:

3. Demonstrate Knowledge of Process Management:

4. Comprehend Memory Management Techniques:

5. Understand File System Management:

6. Analyze Device Management and I/O Systems:

7. Grasp the Security and Protection Mechanisms in Operating Systems:

8. Understand the Interaction Between User, Applications, and the OS:

9. Explore Modern Trends in Operating System Design:

Purposed methodology:-

1) Selection of topic.
2) Discussion on the selected topic.
3) Collect basic information about topic by given resources.
4) Divide work into group members
5) Start working on it with proper knowledge.

3
Action Plan:-

Sr. Name of activity Plan start date Plan end date Name of
No responsible
team
members

1 Topic selection and


Discussion on project All members
topic

2 Collection information
related project and
All members
analyst it

3 Create proposal All members

4 Design the project model All members

7 Create the report All members

8 Report presentation All members

4
Part B
Rationale:-
We, humans, are not able to learn or understand computer language and this is also
valid for computers. They are also unable to understand human language. So, the
operating system works here for managing all these works and provide an
environment where the human can easily do their work on a system. Following are
the types of approaches that we need to know using which an operating system is
designed for different kinds of users:-

The first approach is to code, design, and implement an operating system that is
suitable for a particular type of machine at one site. In this approach, we are
designing the operating system specifically for one machine. So, we just take into
account just one machine and we are figuring out what are the requirements of this
machine and then we design the operating system. But this approach is good only
when we are concerned about one machine only. This will not be a very efficient
technique from a larger perspective because we want our operation to be able to
work in multiple systems without having to redesign it.

The second approach is operating systems that are designed and coded for working
on a variety of machines at a variety of sites with many types of peripheral systems.
It means this operating system will be able to work on a class of machines or a
variety of machines irrespective of their configuration and the kind of machine they
are. Suppose you have an operating system Linux Mint and you have this operating
system on the CD and you installed that Linux Mint operating system on your
computer system.

5
 Components of operating system

An operating system is software that acts as an intermediary between computer


hardware and the user. It manages hardware resources and provides services for
computer programs.
The main functions include process management, memory management, file
management, and system security.

1. Process Management in Operating Systems


Process management is one of the core functionalities of an operating system (OS).
It involves managing the lifecycle of processes, including their creation, execution,
scheduling, and termination. A process is an instance of a program in execution, and
effective process management ensures that the CPU is utilized efficiently, allowing
multiple processes to run concurrently, sharing system resources like memory, CPU
time, and I/O devices.

Process management is crucial for supporting multitasking, where multiple processes


appear to run at the same time. It ensures that the system remains responsive, stable,
and efficient, even when multiple programs are executing simultaneously.

6
Key Concepts of Process Management
I. Process:

A process is a program in execution. It consists of the program code, its current


activity, and the resources it is using (e.g., memory, I/O devices).

A process control block (PCB) is a data structure that contains important


information about the process, such as its state, program counter, CPU registers,
and memory management data.

II. Process Lifecycle:

The lifecycle of a process includes several states, each representing a stage in the
execution of a process. Common states include:

 New: The process is being created.


 Ready: The process is waiting for CPU time to be assigned.
 Running: The process is currently being executed by the CPU.
 Waiting (Blocked): The process is waiting for some event, such as
I/O completion or synchronization with another process.
 Terminated: The process has finished execution.

III. Process Scheduling:

Scheduling is the method by which the OS decides which process should be


executed next by the CPU. The objective of process scheduling is to ensure
efficient CPU utilization and responsiveness to users.

The process scheduler uses different scheduling algorithms to decide the order
in which processes should execute. Common scheduling algorithms include:

 First-Come, First-Served (FCFS): Processes are executed in


the order they arrive.
 Shortest Job Next (SJN): The process with the shortest
execution time is selected next.
 Round Robin (RR): Processes are given a fixed time slice
(quantum), and execution rotates among processes.
 Priority Scheduling: Processes are scheduled based on
priority, with higher-priority processes being executed first.

7
IV. Multitasking and Context Switching:

Multitasking- refers to the OS's ability to handle multiple processes


concurrently. This is achieved through time-sharing and context switching.

Context switching occurs when the OS saves the state of a currently running
process (its PCB) and loads the state of the next process to be executed. This
allows the CPU to switch between processes quickly, giving the illusion that
many processes are running simultaneously on a single CPU.

Context switching incurs some overhead due to the need to save and restore the
process states, and the efficiency of this mechanism is influenced by the
scheduling algorithm and the time quantum (for algorithms like Round
Robin).

V. Process Synchronization:

Process synchronization refers to the coordination between processes to ensure


that they do not interfere with each other when accessing shared resources.

Synchronization mechanisms include:

 Semaphores: A variable used to control access to a shared


resource.
 Mutexes: A locking mechanism used to ensure that only one
process can access a critical section at a time.
 Monitors: A higher-level synchronization mechanism that
combines locking and condition variables.

VI. Inter-Process Communication (IPC):

IPC allows processes to communicate and share data. Since processes are often
isolated from one another in modern operating systems, they need mechanisms
to exchange information.

Common IPC methods include:

Pipes, Message Queues, Shared Memory, Sockets.

8
2. Memory Management in Operating Systems
Memory management is a crucial function of an Operating System (OS), as it ensures
that the computer's memory (RAM) is allocated efficiently to processes, provides a
stable environment for applications, and maximizes the overall performance of the
system. It controls the allocation and de-allocation of memory space to processes,
facilitates memory protection, and ensures that multiple processes can share memory
without interfering with each other.

Key Components of Memory Management

I. Memory Allocation:

Memory allocation refers to the process of assigning blocks of memory to different


processes. There are several ways memory can be allocated:

 Contiguous Allocation:
 Non-Contiguous Allocation

II. Memory Partitioning:

Memory partitioning involves dividing the physical memory into several partitions,
which may be fixed or dynamic, to allocate to different processes:

 Fixed Partitioning
 Dynamic Partitioning: Memory Paging:

III. Memory Segmentation:

Segmentation is a technique that divides memory into segments of different sizes,


based on the logical divisions of a program (e.g., code, data, stack). Each segment can
grow or shrink independently as required.

Unlike paging, which divides memory into fixed-size blocks, segmentation allows for
more flexible allocation, but can lead to external fragmentation.

Types of Memory Management


a) Single-User Memory Management
b) Multi-User Memory Management

9
Memory Allocation Strategies

I. First-Fit:

Allocates the first available block of memory that is large enough to


satisfy the process's memory request.

Advantage: Fast allocation.

Disadvantage: Can lead to fragmentation over time, as small gaps are left
between allocated memory blocks.

II. Best-Fit:

Allocates the smallest available block that is large enough to satisfy the
process’s request.

Advantage: Minimizes wasted space (fragmentation) in memory.

Disadvantage: Can lead to more wasted space in the form of small


leftover holes.

III. Worst-Fit:

Allocates the largest available block of memory.

Advantage: Leaves larger holes for future memory allocations.

Disadvantage: May result in larger fragmentation over time.

IV. Next-Fit:

Allocates the first available memory block, but it starts searching from the
location where the last allocation occurred.

Advantage: Better performance than first-fit and reduces the tendency to


cluster allocations at the beginning.

10
Memory Management Techniques
I. Contiguous Memory Allocation:

In contiguous memory allocation, a process is allocated a single contiguous


block of memory. This approach is simpler but may suffer from external
fragmentation as processes are loaded and unloaded over time, leaving small
unused gaps between allocations.

II. Paged Memory Allocation:

Paging divides memory into equal-size pages. The OS uses a page table to map
logical addresses to physical memory addresses. Paging allows processes to be
allocated memory in non-contiguous blocks, thereby preventing fragmentation.

Paging introduces internal fragmentation if a process does not use the entire
page, but it eliminates external fragmentation.

III. Segmented Memory Allocation:

Segmentation divides a process into segments such as code, data, and stack,
which can vary in size. Segmentation is flexible and allows processes to grow
dynamically, but it can cause external fragmentation when free memory
blocks of suitable sizes are not available.

11
3. File System Management:

File system management is a critical component of an operating system (OS)


that controls how data is stored, organized, retrieved, and manipulated on storage
devices such as hard drives, solid-state drives (SSDs), or other forms of
permanent storage. It provides a way for the operating system to manage files,
directories, and storage space on disk, ensuring efficient data access,
organization, and security.

The file system acts as an intermediary between the physical storage (e.g., hard
disk) and applications or users, providing an abstraction that allows files to be
organized logically without needing to deal with physical disk structures directly.
This functionality is vital for ensuring data integrity, fast access, and secure
storage.

Functions of File System Management

I. File Storage and Organization:


II. File Naming and Access:
III. Directory Management:
IV. File Allocation and Disk Space Management:
V. File Access Control and Security:
VI. File Integrity and Error Detection:

Key Components of a File System


I. File Control Block (FCB)
II. Directory Structure
III. File Allocation Methods
IV. File System Types

12
4. Device Management

Device management is a critical component of the operating system (OS) that


deals with the management and control of hardware devices. It ensures efficient
and effective interaction between the software and the hardware resources of a
computer system. Devices in this context can be input devices (like a keyboard or
mouse), output devices (like a monitor or printer), storage devices (like hard
drives or SSDs), and other peripheral devices.

Key Components of Device Management in the Operating System:


I. Device Drivers:

 Device drivers are specialized programs that enable the OS to


communicate with hardware devices. Each device type (such as a
printer or network card) typically requires its own driver.
 The OS uses drivers to send commands to the device and receive data
from it. Drivers act as an intermediary, translating OS-level commands
into device-specific instructions.

II. Device Controllers:

 A device controller is a hardware component that manages the


operation of a particular device. It serves as an interface between the
OS and the physical hardware.
 Controllers handle tasks such as initiating operations, transferring data,
and handling interrupts when operations are complete or when an error
occurs.

III. Device Queuing:

 Devices often work asynchronously, meaning requests to use devices


may not be immediately fulfilled. The OS manages a queue of pending
device requests to ensure fairness and efficiency.

13
IV. Device Allocation:

 The OS manages which processes or users get access to specific


devices at any given time. This includes allocating and de-allocating
devices to processes, ensuring that devices are used efficiently, and
preventing conflicts (e.g., two processes trying to use the same printer
at the same time).
 For example, the OS may use a device allocation table to keep track
of which devices are currently in use.

V. Interrupt Handling:

 When a device is ready to perform an action (such as finishing a task


or receiving data), it sends an interrupt signal to the CPU. The OS must
handle these interrupts efficiently to ensure that the device's status is
updated and that the process is resumed or scheduled properly.
 Interrupts ensure that the CPU can respond to hardware events in real-
time, such as a key press or a completion of a disk read operation,
without constantly polling the device.

VI. I/O Scheduling:

 The OS often handles multiple input/output (I/O) requests from


processes and must schedule them to avoid bottlenecks or excessive
waiting times. Efficient I/O scheduling improves overall system
performance.
 Different algorithms can be used for scheduling I/O requests. Some
common ones are:

 First-Come, First-Served (FCFS): The first request is processed


first.
 Shortest Seek Time First (SSTF): Prioritizes requests that are
closest to the current position of the disk head.
 SCAN and C-SCAN: The disk arm moves in one direction to
satisfy requests and then reverses.

14
VII. Device Independence:

 The OS aims to provide device independence to user programs and


applications, meaning that programs do not need to know the details of
how specific devices work. They interact with the OS using standard
interfaces, and the OS handles the details of interfacing with hardware.
 This abstraction layer allows software developers to write programs
without worrying about specific hardware configurations, as the OS
manages all device interactions.

VIII. Error Handling and Reporting:

 Device management also involves monitoring the health of devices and


managing errors that might occur during I/O operations. For instance, a
device might fail, or a data transfer might be interrupted.
 The OS should handle device errors by logging them, informing the
user or system administrator, and possibly retrying the operation or
taking corrective action.

IX. Power Management:

 Many devices (especially in mobile systems) require power


management. The OS may use power-saving features to put devices
into low-power states when not in use, thus conserving energy.
 For example, the OS can put a hard drive or screen into a "sleep" mode
when it's not in use and wake it up when needed.

X. Virtual Device Management:

 In some advanced systems, the OS can create virtual devices, allowing


multiple processes or users to share a single physical device.
Virtualization of devices helps with better resource utilization and
scalability.
 For example, a single printer might be accessed by multiple users in a
network, and the OS manages the queuing and allocation to avoid
conflicts.

15
Types of Devices Managed by the OS:

I. Block Devices:

 These devices store data in fixed-size blocks (e.g., hard drives, SSDs).
 The OS typically manages these devices using file systems, which
organize data into files and directories.

II. Character Devices:

 Character devices allow for data to be read or written in a character-by-


character sequence (e.g., keyboards, mice, serial ports).
 These devices usually don’t store data persistently, and the OS
typically handles them through direct read/write operations.

III. Network Devices:

 The OS manages network interfaces (e.g., Ethernet cards, Wi-Fi


adapters) for data transmission over networks. Network protocols and
the TCP/IP stack are typically involved in managing these devices.

IV. Special Devices:

 These are devices that don’t fit neatly into the previous categories (e.g.,
sound cards, printers, graphics cards, and sensors). The OS must
manage their specific needs for communication, resource allocation,
and scheduling.

5. Security and Access Control:


16
Security and access control are fundamental aspects of an operating system (OS),
ensuring that the system remains protected from unauthorized access, misuse, and
damage. The OS must implement mechanisms that safeguard both the system’s
resources (such as files, processes, and memory) and the data it handles. These
mechanisms prevent unauthorized users or programs from gaining access to sensitive
information, disrupt system functionality, or cause malicious harm

a) User Authentication
Authentication is the process of verifying the identity of a user or a process. Before
accessing system resources, users must prove their identity.

 Password-based Authentication: The most common form, where users provide


a password to log in.
 Biometric Authentication: Uses physical characteristics such as fingerprints or
facial recognition for user identification.
 Multi-factor Authentication (MFA): Combines multiple authentication factors
(e.g., password, OTP, and biometric) to strengthen security.
 Smartcards or Tokens: Physical devices that store authentication credentials
for stronger security.

b) Access Control Mechanisms


Access control defines who can access which resources on the system and what actions
they can perform. The goal is to ensure that users and processes only have the
appropriate level of access to resources based on their privileges.

 Access Control List (ACL): A list attached to an object (file, directory, or


device) that specifies which users or processes can access the object and what
operations they can perform (read, write, execute).
 Capabilities: A capability is a ticket that specifies what actions a process or user
can perform on an object. It’s essentially a set of rights granted to a process.
 Discretionary Access Control (DAC): In DAC, the owner of the resource
(usually a user) decides who can access it and what actions can be performed.
It’s often implemented through file permissions, where the owner can grant read,
write, or execute permissions.

c) Encryption

17
Encryption is a key security measure used to protect data confidentiality. Data is
transformed into a format that can only be read by authorized parties with the proper
decryption key.

 File System Encryption: Operating systems often support file encryption (e.g.,
BitLocker on Windows, FileVault on macOS) to ensure that files are stored
securely on disk.
 Disk Encryption: Full-disk encryption (FDE) ensures that the entire disk is
encrypted, making it unreadable without the correct key, thus protecting data if
the device is lost or stolen.
 End-to-End Encryption (E2EE): Ensures that data transmitted over a network
is encrypted at the sender's end and only decrypted at the recipient’s end. Even if
intercepted during transmission, the data remains unreadable.

d) Audit and Monitoring


Security audits and continuous monitoring help in detecting potential security breaches
or violations of access control policies.

 Audit Trails: Operating systems maintain logs of all significant security events
(e.g., user logins, file access, and administrative actions). These logs can be
reviewed to detect any suspicious activity.
 Intrusion Detection Systems (IDS): IDS software monitors the system for
unusual behavior or malicious activity. It may alert administrators of potential
threats, such as unauthorized access attempts or abnormal system activity.
 Security Information and Event Management (SIEM): SIEM systems
aggregate and analyze log data from various sources to identify patterns that may
indicate a security threat.

e) Malware Protection
Operating systems need to defend against malicious software (malware) that can
exploit vulnerabilities to harm the system.

 Antivirus and Anti-malware Software: These programs detect and remove


malicious code that might have been introduced into the system. They scan files,
programs, and system processes to identify known malware signatures.
 Sandboxing: Running potentially malicious programs in isolated environments
(sandbox) prevents them from affecting the rest of the system.

6. User Interface (UI):


18
The User Interface (UI) of an operating system (OS) is the point of interaction
between the user and the system. It provides the means for users to
communicate with the OS and to perform tasks such as running applications,
managing files, and configuring system settings. The UI is designed to allow
users to easily access and control system resources and services, making the
OS user-friendly and efficient.

The UI is a key element in the overall usability of an operating system, and its
design can significantly impact the experience and productivity of users. The
UI can vary widely in terms of complexity, interactivity, and aesthetics,
depending on the OS and its intended user base.

Types of User Interfaces in Operating Systems

I. Command-Line Interface (CLI)


 Definition: The Command-Line Interface (CLI) is a text-based interface
where users interact with the OS by typing commands in a terminal or
command prompt.
 How It Works: Users type specific commands to perform tasks such as
creating or deleting files, launching applications, and configuring system
settings. Each command is followed by specific syntax, including options
and arguments.
 Advantages:
 Highly efficient for experienced users, especially for batch
processing and automation through scripting.
 Offers full control over the system, as there are typically fewer
restrictions on what can be done.
 More lightweight, using fewer system resources compared to
graphical interfaces.
 Disadvantages:
 Steep learning curve for new users, as commands need to be
memorized.
 No visual representation, which can be a disadvantage for tasks
requiring a lot of user feedback or interaction.
 Examples:
 Linux: Bash shell, Zsh
 Windows: Command Prompt, PowerShell
 Mac OS: Terminal

II. Graphical User Interface (GUI)

19
 Definition: The Graphical User Interface (GUI) is a visually oriented
interface that uses icons, windows, buttons, menus, and other graphical
elements to allow users to interact with the system.
 How It Works: Users interact with the system by clicking, dragging, and
dropping objects (like icons or files) and using controls (such as buttons or
sliders) on the screen. The GUI is typically event-driven, meaning it
responds to user input through various visual elements.
 Advantages:
 Intuitive and easy to use, especially for beginners and non-technical
users.
 Visual feedback allows for easy exploration of the system, where
users can visually understand file structures, applications, and
system status.
 The use of metaphors (like the desktop, folders, and trash can)
makes interaction easier to understand.
 Disadvantages:
 Requires more system resources (e.g., CPU, memory) compared to
a CLI.
 May be slower for advanced users who are familiar with command-
line operations and want to perform tasks more efficiently.
 Examples:
 Windows: Start menu, Taskbar, File Explorer
 macOS: Finder, Dock, System Preferences
 Linux: GNOME, KDE Plasma, XFCE (various desktop
environments)

III. Touch-Based Interface (Touch UI)


 Touchscreen devices enable interaction through physical touch, where
gestures are mapped to system functions. This is common in smartphones,
tablets, and touch-enabled laptops.
 Advantages:
 Direct manipulation is more intuitive, especially for tasks like
zooming, scrolling, and navigating.
 Simple and easy to use, making it ideal for mobile devices and
kiosks.
 Disadvantages:
 May not be as efficient as keyboard and mouse interactions for
complex tasks.
 Examples:
 Android: Touch gestures, swipe navigation, virtual keyboards
 iOS: iPhone and iPad gestures, home screen icons, control center
 Windows 10/11: Touch support for hybrid devices (laptops with touchscreens)

20
Actual Resources Used:–

Sr. No Name of Resources Specifications Quantity

1 Laptop Dell Windows7 2

2 Website www.projecttopics.com
www.reserchgate.com

Skill Developed:-
1. Computer literacy.
2. Strong numeracy skill.
3. Attention to detail.
4. Strong communication skills.
5. Excellent problem-solving skills.
6. A logical approach to work.

7. The ability to explain technical matters clearly

21
Conclusion:
In conclusion, an Operating System (OS) is the backbone of any computing device,
acting as an intermediary between hardware and user applications. Through this
project, we have explored the key components and functionalities that make up an
operating system. These components work together to provide an efficient, secure, and
user-friendly environment for both users and applications.
In summary, the components of an operating system are designed to work in concert to
provide an efficient, secure, and user-friendly computing environment. This project has
illustrated the foundational concepts and functionalities of an OS, showcasing the
complexity and importance of these systems in modern computing.
As technology continues to evolve, the development of operating systems will remain a
critical area of focus to meet the growing demands for scalability, security, and user-
centric design. By understanding these components, we gain a deeper appreciation of
how operating systems support the everyday tasks we rely on, from simple file
management to complex computations and internet-based communications.

References:-
Websites:

1) https://www.javatpoint.com/history-of-operating-system.
2) https://www.scaler.com/topics/generation-of-operating-system/

Books:

1. Operating System Concepts

By - Silberschatz Galvin
- Peter B. Galvin
- Greg Gagne
2.Operating Systems (Third Edition)
By -Achyut S. Godbole
-Atul Kahate

22

You might also like