Operating System Components Guide
Operating System Components Guide
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
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.
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:
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
2 Collection information
related project and
All members
analyst it
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
6
Key Concepts of Process Management
I. Process:
The lifecycle of a process includes several states, each representing a stage in the
execution of a process. Common states include:
The process scheduler uses different scheduling algorithms to decide the order
in which processes should execute. Common scheduling algorithms include:
7
IV. Multitasking 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:
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.
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.
I. Memory Allocation:
Contiguous Allocation:
Non-Contiguous Allocation
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:
Unlike paging, which divides memory into fixed-size blocks, segmentation allows for
more flexible allocation, but can lead to external fragmentation.
9
Memory Allocation Strategies
I. First-Fit:
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.
III. Worst-Fit:
IV. Next-Fit:
Allocates the first available memory block, but it starts searching from the
location where the last allocation occurred.
10
Memory Management Techniques
I. Contiguous 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.
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:
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.
12
4. Device Management
13
IV. Device Allocation:
V. Interrupt Handling:
14
VII. Device Independence:
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.
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.
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.
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.
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.
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.
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)
20
Actual Resources Used:–
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.
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:
By - Silberschatz Galvin
- Peter B. Galvin
- Greg Gagne
2.Operating Systems (Third Edition)
By -Achyut S. Godbole
-Atul Kahate
22