CO1: Understand and compare object-oriented programming paradigm with procedural programming and apply OOP features like encapsulation, inheritance and polymorphism using arrays, control statements, and I/O processing.
Bloom’s Taxonomy Evaluation with 3-Point Scale
Rated across all 6 Bloom levels, using your 3-point scale: 1 = Slight 2 = Moderate 3 = High
BL : Remembering 3 – High | Understanding 2 – Moderate
ANS. Operating System (OS) is basically a software program that manages and handles all resources of a computer such as hardware and software. The first OS was introduced in the early 1950s known as GMOs. An OS is responsible for managing, handling, and coordinating overall activities and sharing of computer resources. It acts as an intermediary among users of computer and computer hardware.
Functions of OS:
There are many functions of the OS. Some of the important functions of OS are given below:
Memory Management
Keeps track of each byte of memory in a computer.
Allocates memory to processes when needed and deallocates when not.
Ensures no process interferes with memory of others.
Uses concepts like paging, segmentation, virtual memory.
Processor Management:
Also known as CPU Scheduling.
Manages which process gets to use the CPU and when.
Uses algorithms like FCFS, SJF, Round Robin etc.
Ensures efficient and fair use of processor time.
OS provides a way for users to interact with the computer.
Types:
CLI (Command Line Interface): e.g., MS-DOS, Linux shell
GUI (Graphical User Interface): e.g., Windows, macOS
Helps users to run applications and manage files with ease.
File Management
Manages files stored on different storage devices.
Keeps track of file location, naming, access rules, permissions.
Allows creation, deletion, reading, writing of files.
Device Management:
Controls all I/O devices like printers, disks, keyboard, etc.
Uses device drivers for communication with hardware.
Ensures efficient input/output operations.
OS decides which process or job runs at a given time.
Schedules jobs, processes, and resources like memory, CPU, I/O devices.
Uses schedulers:
Long-term: selects processes from job pool.
Short-term: selects which process gets CPU next.
Ensures maximum CPU utilization and responsiveness.
Constantly monitors the system for errors:
Hardware errors (disk crash, memory failure)
Software errors (illegal instructions, memory overflow)
Provides mechanisms to detect, report, and correct errors.
Ensures reliable and stable system operation.
Protects data and resources from unauthorized access.
Implements authentication, authorization, encryption, and firewalls.
Ensures safe execution of programs without interfering with each other.
IPC (Interprocess Communication) is a mechanism that requires the use of resources like a memory that is shared between processes or threads. With IPC, OS allows different processes to communicate with each other. It is simply used for exchanging data between multiple threads in one or more programs or processes. In this mechanism, different processes can communicate with each other with the approval of the OS.
Different IPC Mechanisms:
Pipes
Message Queuing
Semaphores
Socket
Shared Memory
Signals
BL: Remembering 3 – High 2. Understanding 2 – Moderate 3. Applying 1 – Slight 4. Analyzing 1 – Slight
ANS . The main purpose of an OS is to execute user programs and make it easier for users to understand and interact with computers as well as run applications. It is specially designed to ensure that the computer system performs better by managing all computational activities. It also manages computer memory, processes, and operation of all hardware and software.
Types of OS:
Batched OS (Example: Payroll System, Transactions Process, etc.)
In this system, users don’t interact with the computer directly. An operator collects similar jobs and puts them together in a group called a batch.
The computer runs these jobs one by one without stopping.
No direct user interaction
Similar jobs are grouped
Computer runs one batch at a time automatically
Multi-Programmed OS (Example: Windows O/S, UNIX O/S, etc.)
More than one program is loaded in the computer's memory at the same time. The CPU works on one program, and when it has to wait (like for input/output), it switches to another program.
This way, the CPU is always busy and the computer works faster and better.
This is a type of multiprogramming system where each task gets a small amount of time to run, one after another.
Each task gets a turn — this turn is called a time slice or quantum. After the time is over, the system quickly moves to the next task. This happens so fast that all tasks seem to run at the same time.
Real-life Example:
Imagine 5 students sharing 1 computer. Each student gets 2 minutes to use it. After 2 minutes, the next student gets a turn. The computer keeps switching between them quickly, so everyone feels like they are using it together.
One computer, many users/tasks
Each gets a short time (quantum)
Fast switching = smooth multitasking
Multi-User Operating System
This type of operating system allows many users to use the same computer system at the same time or at different times.
Each user has their own login and work area, and the system keeps their work separate.
Real-life Example:
Think of a school library computer where many students log in with their own ID to check books, search the internet, or type assignments.
Even though it’s one computer, each student uses it as if it’s their own.
One system, many users
Each user gets their own space
All can use the system without interfering with others
Distributed Operating System
In this system, many computers are connected together and work like one big system. Each computer has its own CPU and memory, but they can share files, software, and resources using a network.Even if something is not on your computer, you can still use it from another computer in the network.
Real-life Example:
Think of a group project where each student has a different laptop, but they all save and share files on Google Drive.
Even if the file is on someone else's laptop, others can access and use it through the internet.
Key Idea:
Many computers connected
Work together like one system
Share files and programs over the network (remote access)
This type of OS is used where the computer must respond very quickly to events.
The time it takes to react is called response time, and it must be very short.
These systems are used in critical tasks where delay can cause big problems.
1. Hard Real-Time System
Very strict timing.
Even a small delay is not allowed
Used in life-saving or dangerous situations.
Real-life Example:
Airbag system in a car – The airbag must open immediately when there's an accident. Even a tiny delay can be dangerous.
2. Soft Real-Time System
Some delay is okay, but still needs fast response.
Used in systems where performance matters but not life-threatening.
Real-life Example:
Video games – The game should respond quickly to your actions, but a small delay won’t cause serious problems.
Used when fast response is needed
Hard RTOS = No delay allowed
Soft RTOS = Small delay is okay