AFRICA ZEAL UNIVERSITY
INCULCATING PROFESSIONAL
DIGNITY
Department: Information Technology
Program: Bachelor Degree
Student Name: Abdasalam Kumondan Juma
Index Number: 079830
Course Name: CBI 425 Advanced Operating System
Instructor Name: Mr. Alfred Rotich
Assignment One
Submission Date:
Page |0
1. What is Process Management? (Discuss)
Process Management is a key function of an operating system that involves handling all aspects
of processes within a system. A process is an instance of a program in execution, and the OS is
responsible for creating, scheduling, and terminating these processes.
Key responsibilities of process management include:
Process Creation and Deletion: Initiating and terminating processes as needed.
Process Scheduling: Deciding the order in which processes access the CPU.
Context Switching: Saving and loading process states during multitasking.
Synchronization and Communication: Managing access to shared resources and
enabling inter-process communication.
Deadlock Handling: Preventing or resolving situations where processes wait indefinitely
for resources.
2. Explain in Detail Operating System Scheduling Algorithms [6 Marks]
CPU scheduling algorithms determine which process gets the CPU next. Key scheduling
algorithms include:
1. First-Come, First-Served (FCFS):
o Processes are executed in the order they arrive.
o Simple but can lead to long wait times (convoy effect).
2. Shortest Job Next (SJN) or Shortest Job First (SJF):
o The process with the shortest CPU burst time is scheduled first.
o Optimal for wait time but hard to predict exact burst time.
3. Round Robin (RR):
o Each process gets a fixed time slice (quantum) in a cyclic order.
o Good for time-sharing systems, but performance depends on quantum size.
4. Priority Scheduling:
o Processes are scheduled based on priority.
o Risk of starvation for low-priority processes unless aging is used.
5. Multilevel Queue Scheduling:
o Processes are divided into queues based on priority or type.
o Each queue has its own scheduling algorithm.
6. Multilevel Feedback Queue:
o Processes can move between queues based on their behavior and requirements.
o Provides flexibility and better performance.
Page |1
3. Expound on Inter-Process Communication (IPC) in Operating Systems [6 Marks]
Inter-Process Communication (IPC) allows processes to exchange data and synchronize their
actions. This is crucial in multitasking environments.
Types of IPC:
1. Shared Memory:
o Multiple processes access a common memory space.
o Fast, but needs synchronization mechanisms like semaphores to avoid conflicts.
2. Message Passing:
o Processes communicate via messages sent and received through the OS.
o Useful in distributed systems. Can be:
Synchronous (blocking)
Asynchronous (non-blocking)
Mechanisms used:
Pipes: Unidirectional data channels (used between parent-child processes).
Message Queues: Structured message exchange using queues.
Semaphores and Mutexes: Used for process synchronization.
IPC ensures data consistency, process coordination, and resource sharing.
4. Discuss Operating System Input/Output Software [6 Marks]
Input/Output (I/O) software in the OS manages communication between hardware devices and
applications. It includes:
1. Device Drivers:
o Software modules that control specific hardware.
o Provide a standard interface to interact with various devices.
2. Interrupt Handlers:
o Handle asynchronous events from I/O devices.
o Notify the CPU when a device is ready for processing.
3. I/O Scheduling:
o Determines the order in which I/O requests are processed (e.g., FCFS, SCAN).
4. Buffering:
o Temporarily stores data in memory while transferring between devices and
applications to handle speed mismatches.
5. Spooling:
o Stores data for devices (like printers) that can't accept interleaved data streams.
Page |2
6. I/O Protection:
o Ensures unauthorized access to devices is prevented.
The OS abstracts hardware complexity and ensures efficient and secure I/O operations.
5. Explain Operating System Security in Detail
Operating System security involves protecting system resources and data from unauthorized
access and threats. It ensures confidentiality, integrity, and availability.
Main components:
1. Authentication:
o Verifying the identity of users (e.g., passwords, biometrics).
2. Authorization:
o Granting access rights to users and processes based on policies.
3. Access Control:
o Discretionary Access Control (DAC), Mandatory Access Control (MAC), and
Role-Based Access Control (RBAC) restrict user actions.
4. Encryption:
o Protecting data at rest and in transit using cryptographic methods.
5. Auditing and Logging:
o Monitoring system activities to detect unauthorized actions or breaches.
6. Malware Protection:
o Preventing and detecting viruses, worms, trojans, etc., using firewalls and
antivirus software.
7. Security Updates:
o Patching vulnerabilities in the OS regularly to reduce risk.
OS security is critical in protecting both user data and system integrity from internal and external
threats.
Page |3