Operating Systems & Administration
[Day 4] 3. Types of Operating System
D
DITISS AdminResident Monitors
!3. Resident Monitors.png
- Input Method: Code was written using a typewriter-like device on punch cards.
- Process:
- Punch cards were inserted into a control panel.
- Information from punch cards was extracted and loaded into RAM.
- The OS in RAM was referred to as Resident Monitors.
- Management: An operator managed all the punch cards.
Batch Systems
!3. BatchSystems.png
- Functionality: Multiple slots were added to the control panel for punch cards, simplifying the operator's job.
- Characteristics:
- Programs were executed one by one; others remained idle.
- No waiting state; all I/O operations processed at once.
- No multiple programs loaded in RAM simultaneously.
Multi-programming Systems
!3. MultiprogrammingSystems.png
- Definition: Degree of multi-programming refers to the number of programs loaded in memory.
- Key Concepts:
- CPU Time/Burst: Time spent on CPU.
- I/O Time/Burst: Time spent on I/O.
- Process Types:
- CPU-bound Process: More CPU time than I/O time.
- I/O-bound Process: More I/O time than CPU time.
- Schedulers:
- Job Scheduler: Forms a mixture of CPU-bound and I/O-bound processes (long-term scheduler).
- CPU Scheduler: Also known as the short-term scheduler.
- Modern OS: Job schedulers are less common; processes share CPU time to ensure important processes are executed timely.
Time Sharing / Multi-tasking Systems
- Concept: Extends multi-programming by allowing multiple users or processes to interact with the system simultaneously. The CPU time is divided among several tasks or users, giving the illusion of concurrent execution. Each task or user gets a small time slice, and the operating system rapidly switches between them to ensure responsiveness.
- Benefits:
- Rapid switching between user programs, creating the illusion of dedicated access.
- Response time improved to < 1 second.
- Increased CPU utilisation and system responsiveness.
- Types of Multi-tasking:
- Process-based Multi-tasking:
- Multiple independent processes share CPU within a single system. !3. ProcessBasedMultitasking.png
- Thread-based Multi-tasking (Multi-threading):
- A process can have multiple threads performing different tasks. !3. ThreadBasedMultiprogramming.png
- Thread Control Block (TCB): Contains scheduling info, sharing PCB data among threads.
- Threads, as lightweight processes, execute on the CPU, while processes serve as containers for resources. !3. Threads.png
- Process-based Multi-tasking:
Multi-user Operating Systems
- Definition: Supports multiple users operating a single system through terminals.
- Configuration:
- Up to 7 real terminals (6 CLI-based, 1 GUI-based).
- Unlimited pseudo terminals (e.g., pts/0, pts/1).
- Terminals referred to as .
tty
- Commands:
- or
whoamiwho am i whowho -w- !3. Multi-User.png
w
Multi-processing Operating Systems
- Definition: Involves multiple processors (multi-core).
- Types of Multiprocessing:
- Asymmetric Multi-processing:
- Definition: Multiple processors used without sharing the same memory space.
- Characteristics:
- Each processor is assigned specific tasks.
- Each processor has its own local memory.
- Processors operate independently and handle designated functions.
- Symmetric Multi-processing:
- Definition: Multiple processors connected to a single shared memory.
- Characteristics:
- Operates under a single operating system instance.
- Each processor has equal access to memory and I/O devices.
- Processors can share tasks and workloads dynamically.
- Asymmetric Multi-processing:
- First OS to support multiple cores was Windows Vista. After this, Linux 2.6 and onwards also supports multi-cores.
- Command: for CPU information.
cat /proc/cpuinfo
Note
- Unix was the first OS to support multi-tasking, multi-programming, multi-user, and multi-processing functionalities.
Read Next
8/26/2026
[Day 4] 4. Grep (GNU Regular Expression Parser)
#### **Regular Expression / Pattern** - **Definition:** A collection/set/combination of characters used for searching or matching purposes....
8/26/2026
[Day 4] 5. Steps for VIM
1. **Open the Terminal.** 2. **Create and Open a File:** - Run the following command: `vim <filename>` - This will creat...