OS-class 1 Notes
OS-class 1 Notes
1. Process Management:
" Creating, scheduling, and terminating processes.
" Providing mechanisms for process synchronization and communication.
2. Memory Management:
" Allocating and deallocating memory for processes.
" Handling virtual memory, including swapping processes in and out of main memory.
3. File System Management:
" Organizing and managing files on storage devices.
Providing file access mechanisms and security controls.
4. Device Management:
" Managing input/output devices such as keyboards, mice, printers, and disks.
" Providing device drivers to enable communication between hardware and software.
5. Security and Protection:
" Enforcing access control policies to protect system resources from unauthorized access.
" Implementing mechanisms for user authentication and encryption.
6. Networking:
" Facilitating communication between different devices on a network.
" Providing protocols and services for data exchange over networks.
7. User Interface:
" Providing interfaces for users to interact with the system, such as command-line interfaces
(CLI) or graphical user interfaces (GUI).
" Handling input/output operations for user applications.
8. Error Handling:
Detecting and reporting errors that occur within the system or in user programs.
Implementing mechanisms for error recovery and fault tolerance.
Goals of OPERATING SYSTEMS
1 Resource Management: Efficiently allocate and manage hardware resources such as CPU
time, memory, disk space, and |/0 devices to ensure optimal system performance.
2. Abstraction: Provide a layer of abstraction between hardware and software, allowing
applications to run without needing to understand the underlying hardware details.
3. Isolation and Protection: Ensure that processes running concurrently on the system are
isolated from each other to prevent interference and protect them from unauthorized access.
4. Concurrency: Enable multiple processes to run concurrently, utilizing the available resources
efficiently while providing mechanisms for synchronization and communication between
proceSses.
5. Reliability: Maintain system stability and prevent failures by providing error handling, fault
tolerance, and recovery mechan isms.
6. Security: Implement security mechanisms to protect system resources and data from
unauthorized access, ensuring confidentiality, integrity, and availability.
7. User Interface: Provide user-friendly interfaces for interacting with the system, including
command-line interfaces (CLI) and graphical user interfaces (GUI), to facilitate user
interaction and system management.
8. Performance: Optimize system performance by minimizing response times, reducing
overhead, and maximizing throughput.
9. Scalability: Support scalability by allowing the system to adapt to changing workloads and
resource demands, ensuring efficient operation across different hardware configurations and
usage scenarios.
10. Portability: Enable applications to run on different hardware platforms and environments with
minimal modifications, promoting software interoperability and platform independence.
Pas ts Of operakng Sys lem
tis a kind of nles oce'
shell
(OMna All funchlities of 0S
" Used in embedded systems, industrial automation, aerospace, and other time-sensitive
applications.
" Examples include FreeRTOS, QNX, and VxWorks.
5. Distributed Operating System:
" Manages a group of independent computers and makes them appear to be a single
computer system.
" Provides features like transparency, scalability, and fault tolerance.
" Used in distributed computing environments and cloud computing platforms.
" Examples include Google!'s Chrome 0S, Amoeba, and Plan 9.
6. Network Operating System (NOS):
" Designed to facilitate network communication and resource sharing among multiple
computers.
" Provides features like file sharing, printer sharing, and centralized user authentication.
Examples include Windows Server, Novell NetWare, and Linux distributions configured as
network servers.
7. Embedded Operating System:
" Optimized for use in embedded systems with limited resources and specific functionality
requirements.
Often tailored for a particular hardware platform and application.
" Used in devices such as smartphones, tablets, automotive systems, and loT devices.
Examples include Android, iOS, Embedded Linux, and real-time operating systems like
FreeRTOS.