Operation System Design
3 Marks:
1 A). Operating System (OS):
1. Definition: System software that manages hardware and software
resources and provides services for applications.
2. Role: Acts as an intermediary between users and the computer hardware.
3. Examples: Windows, Linux, macOS, Android.
1 B). Interrupt
1. Definition: A signal that prompts the OS to stop its current task and handle
an event (like input/output or errors).
2. Types:
- Hardware Interrupts: Triggered by external devices (e.g., keyboard
or mouse).
- Software Interrupts: Triggered by programs (e.g., system calls).
3. Process: Saves the state of the current task, handles the interrupt, and
then resumes the task.
2 A). Functions of OS
1. Process Management: Creation, scheduling, and termination of
processes.
2. Memory Management: Allocation and deallocation of memory for
processes and managing virtual memory.
3. File System Management: Managing files and directories on storage
devices, handling read/write operations.
4. Device Management: Controlling hardware devices (e.g., printers,
keyboards) and managing device drivers.
5. Security: Managing user authentication, permissions, and protecting the
system from unauthorized access.
6. Error Detection: Continuously monitoring for potential errors and resolving
or reporting them.
2 B). Computer System Organization
1. CPU (Central Processing Unit): Executes instructions and controls the
entire system.
2. Memory (RAM): Stores active processes and their data for quick access.
3. I/O Devices: Peripherals like monitors, keyboards, and printers for
input/output operations.
4. Bus System: Channels that allow data transfer between CPU, memory,
and I/O devices.
5. Secondary Storage: Hard drives or SSDs used for permanent data
storage.
3 A). Threads
1. Definition: A lightweight unit of a process that can be scheduled for
execution.
2. Multithreading: Multiple threads can run concurrently, sharing resources
like memory, leading to better CPU utilization.
3. Types:
- User-level Threads: Managed by user libraries.
- Kernel-level Threads: Managed by the OS.
3 B). Semaphore
1. Definition: A synchronization tool used to control access to shared
resources in a concurrent system.
2. Types:
- Binary Semaphore: Can only take values 0 or 1, similar to a mutex.
- Counting Semaphore: Can take non-negative integer values, useful
for managing a limited number of resources.
3. Function: Ensures mutual exclusion and prevents race conditions in critical
sections of code.
4 A). Memory Management
1. Definition: Manages the system’s memory, including allocation,
deallocation, and memory hierarchy.
2. Responsibilities:
- Tracking free memory.
- Allocating memory to processes.
- Deallocating memory when it’s no longer needed.
- Virtual memory management.
4 B). Thrashing
1. Definition: A condition where excessive paging leads to low CPU
performance as the OS spends more time swapping pages between RAM and
disk than executing processes.
2. Causes: Occurs when too many processes are trying to use more memory
than is physically available.
3. Solution: Can be minimized by reducing the degree of multiprogramming
or improving memory allocation strategies.
5 A). Magnetic Tape
1. Definition: A sequential storage medium used for data backup and
archiving.
2. Features:
- Low cost: Ideal for long-term storage.
- High capacity: Can store large amounts of data.
- Slow access: Data is accessed sequentially, making retrieval slow.
3. Uses: Backup systems, archives, disaster recovery.
5 B). File System
1. Definition: A method of organizing, storing, and managing files on a
storage device.
2. Functions:
- File creation and deletion.
- Directory management.
- Storage allocation.
- Metadata management (file permissions, size, dates).
3. Types: FAT32, NTFS, ext4, HFS+.
4. Access Methods: Sequential, random, indexed.
5 Marks:
1 A). Memory Hierarchy
1. Definition: The structure that arranges memory based on speed, cost, and
size.
2. Levels (From Fastest to Slowest):
- Registers: Smallest, fastest, used by the CPU.
- Cache: Close to the CPU, faster than RAM but smaller.
- RAM (Main Memory): Larger but slower than cache.
- Secondary Storage (e.g., SSD/HDD): Slower, used for permanent
data storage.
- Tertiary Storage (e.g., Magnetic Tape): Very slow, used for
backups.
1 B). Multiprocessor
1. Definition: A system with two or more processors (CPUs) that share
memory and work in parallel.
2. Types:
- Symmetric Multiprocessing (SMP): Each processor runs
independently, sharing memory.
- Asymmetric Multiprocessing: One processor is the master,
controlling others.
3. Benefits:
- Parallel processing: Increases performance.
- Reliability: If one processor fails, others can take over.
2 A). Evaluation of OS
1. Efficiency: How well the OS utilizes hardware resources.
2. Reliability: Ability to run for long periods without failure.
3. Scalability: Ability to handle growing amounts of work.
4. User Interface: Ease of interaction for users.
5. Security: How well it protects data and resources.
2 B). System Call
1. Definition: A mechanism by which a program requests services from the
OS kernel.
2. Examples: File manipulation (`open`, `read`, `write`), process control
(`fork`, `exit`), communication (`pipe`, `send`).
3. Importance: Provides a controlled interface between user-level
applications and low-level OS services.
3 A). CPU Scheduling
1. Definition: The process by which the OS decides the order of process
execution on the CPU.
2. Goals: Maximize CPU utilization, minimize response time, and ensure
fairness.
3. Algorithms:
- FCFS (First Come First Serve): Processes are executed in the order
they arrive.
- SJF (Shortest Job First): Executes the shortest job first.
- Round Robin: Each process is assigned a time slot (quantum) and
cycled.
- Priority Scheduling: Processes are executed based on priority.
3 B). Deadlock
1. Definition: A situation where two or more processes are blocked, each
waiting for a resource that another process holds.
2. Conditions for Deadlock:
- Mutual Exclusion: At least one resource is non-shareable.
- Hold and Wait: A process holds resources while waiting for more.
- No Preemption: Resources cannot be forcibly taken from a process.
- Circular Wait: A set of processes are waiting in a circular chain.
3. Solutions: Deadlock prevention, avoidance (Banker’s Algorithm),
detection, and recovery.
4 A). Virtual Memory
1. Definition: A memory management technique that gives programs the
illusion of having more memory than physically available by using disk space.
2. Key Concepts:
- Paging: Dividing memory into fixed-size pages.
- Page Table: Maps virtual addresses to physical addresses.
- Page Fault: Occurs when a requested page is not in memory and
needs to be loaded from disk.
4 B). Allocation of Frames
1. Definition: The process of allocating physical memory frames to processes
in a virtual memory system.
2. Strategies:
- Equal Allocation: Each process gets an equal number of frames.
- Proportional Allocation: Frames are allocated based on the
process's size.
- Priority Allocation: Frames are allocated based on process priority.
5 A). Disk Scheduling Algorithms
1. Definition: Algorithms that determine the order in which disk I/O requests
are serviced.
2. Common Algorithms:
- FCFS: Serves requests in the order they arrive.
- SSTF (Shortest Seek Time First): Selects the request closest to the
current disk head position.
- SCAN: Moves the disk arm across the disk to service requests.
- C-SCAN: Like SCAN, but only serves requests in one direction,
resetting at the end.
5 B). Types of File Sharing
1. Public Sharing: Files are accessible to all users (e.g., open-source
software).
2. Group Sharing: Files are shared among a specific group of users.
3. Private Sharing: Files are only accessible by the owner or selected users.
4. Remote File Sharing: Accessing files across a network, using protocols
like NFS or SMB.