Types of OS:
- Batched OS (Example: Payroll System, Transactions Process, etc.)
- Multi-Programmed OS (Example: Windows O/S, UNIX O/S, etc.)
- Timesharing OS (Example: Multics, etc.)
- Distributed OS (LOCUS, etc.)
- Real-Time OS (PSOS, VRTX, etc.)
IPC (Inteprocess Communication)
Used for exchanging data between multiple threads in one or more programs or processes
Different IPC Mechanisms:
- [Pipes]: Connection among two or more processes that are interrelated to each other using message passing.
- Message Queuing
- [Semaphores]: can wait() or signal()
- Socket
- Shared Memory
- Signals
Bootstrap Program
- A program that initializes OS during startup
- OS is loaded through a bootstrapping process or program commonly known as booting
- It is fully [stored in boot blocks at a fixed location on the disk].
- Also locates the kernel and loads it into the main memory after which the program starts its execution.
Demand Paging
Page is only brought into memory when a location on that particular page is referenced during execution
**Steps: **
-
Attempt to access the page.
-
If the page is valid (in memory) -> then continue processing instructions as normal.
-
If a page is invalid -> then a page-fault trap occurs.
-
Check if the memory reference is a valid reference to a location on secondary memory.
- If not -> Process is terminated (illegal memory access).
- Otherwise -> we have to page in the required page.
-
Schedule disk operation to read the desired page into main memory.
-
Restart the instruction that was interrupted by the operating system trap.
RTOS (Real Time OS)
- Applications where data processing should be done in a fixed and small measure of time.
- Performs much better on tasks that are needed to be executed within a short time.
- It also takes care of execution, monitoring, and all-controlling processes
Types of RTOS:
- Hard Real-Time
- Firm Real-Time
- Soft Real-Time
Process Syncronization
> - A way to coordinate processes that use shared resources or data. > - It is very much essential to ensure synchronized execution of cooperating processes so that will maintain data consistency.
**Types: **
- Independent Process
- Cooperative Process
Trashing
- When CPU performs spends more time swapping or paging activities rather than its execution
- Occurs when the process does not have enough pages due to which the page-fault rate is increased
Multiprogramming
The coordination of execution of various programs simultaneously on a single CPU
Multitasking vs Multiprocessing OS
Multi-Tasking
- Works on more than one task at one time by rapidly switching between various tasks.
- a.k.a [Time-sharing systems].
Multi-Processing
CPUs process two or more different portions of the same program simultaneously
Zombie Process
A process that is terminated or completed but the whole process control block is not cleaned up from the main memory because it still has an entry in the process table to report to its parent process.
Paging & Segmentation
Paging: OS retrieves processes from secondary storage into main memory on need. Segmentation:
- Divides processes into modules and parts of different sizes.
- These parts and modules are known as segments that can be allocated to processes.
Process
A program that is currently under execution
Two types:
-
- Operating System Processes
-
- User Processes
Process States
- New State: Process is just created.
- Running: CPU starts working on the process’s instructions.
- Waiting: Process cannot run because it just waits for some event to occur
- Ready: Ready to run, CPU is working on something else.
- Terminate: Process has finished execution.