Operating systemMINIX GitHub: https://github.com/Stichting-MINIX-Research-Foundation/minix Description: The MINIX operating system served as the basis for Tanenbaum’s book and is a microkernel OS designed for teaching.
Similar to Operating systemMINIX GitHub: https://github.com/Stichting-MINIX-Research-Foundation/minix Description: The MINIX operating system served as the basis for Tanenbaum’s book and is a microkernel OS designed for teaching. (20)
Operating systemMINIX GitHub: https://github.com/Stichting-MINIX-Research-Foundation/minix Description: The MINIX operating system served as the basis for Tanenbaum’s book and is a microkernel OS designed for teaching.
2. Operating System
An Operating System (OS) is system software that manages computer hardware and software
resources . It acts as an intermediary between users and the computer hardware.
3. Functions of an Operating System:
1.Process Management
– Handles the execution of processes, including
multitasking, scheduling, and termination.
2.Memory Management
– Allocates and manages RAM usage by different
applications.
3.File System Management
– Organizes, stores, retrieves, and secures files and
directories.
4.Device Management
– Controls and coordinates hardware components like
printers, disks, and input devices.
4. System and application program
Operating system
Computer hardware
User 1 User 2 User 3 User n
compil
er
assem
ble
Text editor Database
system
5. Computer components
1. Hardware Provides basic computing resources .
For example:
( CPU, memory, I/O devices)
2. Operating system
Controls the use of the hardware among the various application
programs for the various users
3. Applications programs
Define the ways in which the system resources are used to solve the
computing problems of the users .
4. Users
people, machines, other computers
6. User View in an Operating System
•Varies by Interface
Depends on the type of system used.
•Ease of Use & Resource Utilization
Balances usability and efficient resource sharing.
•Mainframe/Minicomputer Users
Multiple users access the same system via terminals, sharing resources and
information.
•Workstations & Networks
Users have both dedicated and shared resources within a network.
•Handheld & Standalone Devices
Focus on individual usability with limited resource sharing.
7. View in an Operating System
•Resource Allocator
Manages and allocates resources efficiently among programs and users.
•Conflict Management
Resolves conflicting resource requests to maintain system efficiency.
I/O & User Program Management
Oversees input/output devices and user processes.
Control Program
Prevents errors and ensures smooth execution of user programs and system
operations.
•Goal
Simplifies computing by executing programs efficiently and making the system usable.
8. System view
Conflict Resolution
Handles multiple, conflicting resource requests.
•System Efficiency
Ensures optimal operation of programs and users.
•I/O & Program Management
Oversees input/output devices and user programs.
•Control Program
Prevents errors and improper system use.
9. Defining Operating Systems
OS Functionality
Simplifies computing, making it user-friendly.
•Resource Allocator
Manages and distributes system resources.
•Control Program
Oversees execution of programs and I/O operations.
•Kernel
The core OS program always running, while other programs are applications.
11. Computer-System Operation
•CPU (One or More)
Performs logical and mathematical calculations.
•Device Controllers
Manage specific devices (e.g., disk drives, audio devices).
•Common Bus
Facilitates access to shared memory.
12. Computer Startup Process & Interrupts
•Bootstrap Program
Runs at startup, stored in firmware (EEPROM).
Initializes system and loads the OS.
•Kernel
Must be loaded into memory.
•Interrupts
Triggered by hardware, sending a signal to the CPU via the system bus.
.Software Interrupts
Also known as system/monitor calls.
CPU pauses execution and jumps to a predefined address.
Interrupt vector: Stores addresses mapped to device-specific interrupt service
routines.
13. Storage Structure & Instruction Execution
•Main Memory (RAM)
Stores computer programs temporarily.
Only storage directly accessible by the CPU.
DRAM: Each word has its own address.
•Instruction Execution Cycle
Fetch instruction from memory.
Store in instruction register.
Decode the instruction.
Execute the instruction.
Store result in memory.
•Limitations of Main Memory
Too small to store all programs and data.
Volatile (loses data when power is off).
14. Storage Structure
•Semiconductor Memory
Fast and cost-effective.
•Volatile Storage
Loses data when power is off.
•Non-Volatile Storage
Retains data without power.
•Electronic Disk
Can be either volatile or non-volatile.
•Flash Memory
Removable storage for general-purpose computers.
•NVRAM (Non-Volatile RAM)
DRAM with battery backup.
16. I/O Structure
•Device Controllers & Bus
Connected through a common bus; may control multiple devices.
•Example
A SCSI controller can manage 7+ devices.
•Role of Device Controller
Moves data between peripherals and its local buffer.
•Device Driver
OS has a specific driver for each controller.
I/O Operation (Small Data Transfers)
1.Device driver configures registers in the device controller.
2.Controller determines the required action.
3.Data moves from the device to the controller's buffer.
4.Controller notifies the driver when done.
5.Driver returns control to the OS.
Bulk Data Transfers (Direct Memory Access - DMA)
Setup: Buffers, pointers, and counters are configured.
Execution: Controller transfers entire data blocks between its buffer and memory.
Efficiency: Only one interrupt per block; CPU remains free for other tasks.