Assignment: A Complete Study on Operating System Views, Types, Structure, Services, and
Process Management
1. Introduction to Operating System
What is an Operating System?
An Operating System (OS) is a system software that acts as an intermediary between users and the
computer hardware. It manages hardware resources and provides an environment for application
programs to run.
Importance of OS in Computers:
- Manages hardware and software resources.
- Provides a user interface.
- Facilitates execution of applications.
- Handles memory and process management.
- Ensures security and access control.
2. Views of Operating System
User View:
Users see the OS as a simple interface to run programs and access files (e.g., Windows GUI or
Linux terminal).
System View:
From the system's perspective, OS is a resource manager. It allocates CPU, memory, and I/O
devices efficiently.
3. Types of Operating Systems
Batch OS: Executes batches of jobs without user interaction. Example: IBM OS/360
Time-sharing OS: Allows multiple users to share system resources simultaneously. Example: UNIX
Distributed OS: Manages a group of independent systems and makes them appear as one.
Example: Amoeba
Real-time OS: Provides immediate response and is used in embedded systems. Example: VxWorks
4. OS Structure
1. Monolithic Structure:
All OS components are tightly integrated. Example: MS-DOS
2. Layered Structure:
Divides OS into layers, each built on top of lower ones. Example: THE OS
3. Microkernel:
Minimal OS kernel; other services run in user space. Example: Minix
4. Modular:
Uses separate modules that can be loaded/unloaded. Example: Linux Kernel
5. Operating System Operations and Services
Basic Services Provided by OS:
- Program Execution
- I/O Operations
- File System Manipulation
- Communication
- Error Detection
- Resource Allocation
- Security & Protection
6. System Interface and System Calls
What is a System Call?
System calls provide an interface between a running program and the OS.
Types of System Calls:
- Process Control: fork(), exec()
- File Management: open(), read(), write()
- Device Management: ioctl()
- Info Maintenance: getpid()
- Communication: pipe(), shmget()
Example:
int fd = open("file.txt", O_RDONLY);
7. System Structure and Implementation
System Structure Components:
- Kernel: Core component, manages hardware.
- Shell: Interface between user and kernel (e.g., bash).
- File System: Organizes data storage.
- Utilities: System management tools.
Design and Implementation:
- OS written in C and assembly.
- Bootstrapping loads the kernel.
- Portable, efficient, secure.
8. Process Management
What is a Process?
A process is a program in execution. It has its own memory, registers, and state.
Process States:
- New, Ready, Running, Waiting, Terminated
Process Control Block (PCB):
- Process ID, Program counter, CPU registers, Scheduling info, Memory limits
9. Process Scheduling and IPC
What is Scheduling?
Determines the order of process execution.
Scheduling Algorithms:
- FCFS, SJF, Round Robin
Inter-Process Communication:
- Message Passing
- Shared Memory
Instructions Followed:
- Neat and well-organized
- Includes diagrams
- All topics covered briefly
- Ready for submission