Skip to main content

Unit - 6

TITLE

I/O Systems, File & Disk Management​

1. I/O Systems​

This topic is about how the CPU communicates with external devices like keyboard, disk, printer, etc.
Since devices are slow compared to CPU, special mechanisms are needed to manage I/O efficiently.


1.1 Introduction to I/O Systems​


1.1.1 Definition of I/O Devices​

I/O devices are hardware components that allow:

  • Input → data into the system (keyboard, mouse)
  • Output → results from the system (monitor, printer)

👉 Without I/O devices, a computer cannot interact with users.


1.1.2 Types of I/O Devices​

I/O devices are classified based on their usage:

  • Human-readable devices → keyboard, monitor
  • Machine-readable devices → disk drives, sensors
  • Communication devices → network cards

👉 This classification helps OS manage them differently.


1.1.3 Block Devices vs Character Devices​

This is a very important distinction:

  • Block devices
    • Transfer data in chunks (blocks)
    • Support random access
    • Example: Hard disk
  • Character devices
    • Transfer data one character at a time
    • Sequential access
    • Example: Keyboard

👉 OS treats them differently in drivers and buffering.


1.2 Device Controller​


1.2.1 Concept of Device Controller​

A device controller is a hardware unit that controls a specific device.

👉 CPU does NOT directly talk to devices
👉 It communicates through the device controller


1.2.2 Components (Buffer, Registers)​

  • Buffer → Temporary storage for data transfer
  • Registers:
    • Control register → command from CPU
    • Status register → device status
    • Data register → actual data

1.2.3 Role as Interface between Device and OS​

The controller:

  • Receives instructions from OS
  • Operates the device
  • Transfers data between device and memory

👉 It acts like a translator between CPU and hardware


1.3 Device Drivers​


1.3.1 Definition​

Device driver is software that controls hardware devices.


1.3.2 Functions of Device Drivers​

  • Converts OS commands → device-specific instructions
  • Controls device operations
  • Handles interrupts

👉 Without drivers, OS cannot use hardware.


1.3.3 Types of Drivers​

  • Block device drivers
  • Character device drivers
  • Network drivers

1.4 I/O Communication Techniques​


1.4.1 Memory-Mapped I/O​

Device registers are treated like memory locations

👉 CPU uses normal memory instructions

✔ Simple
❌ May reduce memory space


1.4.2 Port-Mapped I/O​

Devices have a separate address space

👉 Special instructions used

✔ Better separation
❌ Slightly complex


1.5 Direct Memory Access (DMA)​


1.5.1 Concept of DMA​

DMA allows data transfer without CPU involvement

👉 Device ↔ Memory directly


1.5.2 Need for DMA​

Without DMA:

  • CPU handles every byte → slow

With DMA:

  • Faster transfer
  • CPU free for other work

1.5.3 Working of DMA​

Steps:

  1. CPU initializes DMA controller
  2. DMA takes control of bus
  3. Transfers data between device and memory
  4. Sends interrupt when done

👉 CPU is only involved at start and end


1.5.4 DMA Modes​

  • Burst Mode → transfer entire block at once
  • Cycle Stealing → transfer small chunks
  • Block Mode → continuous transfer

1.6 I/O Methods​


1.6.1 Polling​

CPU repeatedly checks:

“Is device ready?”

❌ Waste of CPU time


1.6.2 Interrupt-driven I/O​

Device sends signal when ready

✔ Efficient
✔ CPU not wasted


1.6.3 Polling vs Interrupt​

  • Polling = CPU checks
  • Interrupt = Device notifies

👉 Interrupt is better in real systems


1.7 Interrupt Handling​


1.7.1 Interrupt Concept​

Interrupt is a signal that:

  • Stops current execution
  • Transfers control to ISR

1.7.2 Types of Interrupts​

  • Hardware → from devices
  • Software → from programs

1.7.3 Interrupt Cycle​

After each instruction:
👉 CPU checks for interrupt


1.7.4 Interrupt Vector​

Stores address of ISR


1.7.5 Interrupt Service Routine (ISR)​

Code executed to handle interrupt


1.7.6 Steps in Interrupt Handling​

  1. Interrupt occurs
  2. CPU saves current state
  3. Executes ISR
  4. Restores state
  5. Continues execution

1.7.7 Return from Interrupt (IRET)​

Special instruction used to:
👉 Return back to normal program


1.8 Instruction Cycle with Interrupt​

CPU cycle includes:

  1. Fetch → get instruction
  2. Execute → run instruction
  3. Interrupt → check for interrupts

👉 This cycle repeats continuously


1.9 Device Types​


1.9.1 Dedicated Devices​

  • Used by only one process
  • Example: Printer

1.9.2 Shared Devices​

  • Used by multiple processes
  • Example: Disk

1.10 Principles of I/O Software​


1.10.1 Device Independence​

Same interface for all devices


1.10.2 Error Handling​

OS detects and handles device errors


1.10.3 Uniform Naming​

Devices are named consistently


1.11 Device Independent I/O Software​


1.11.1 Concept​

Provides a common interface for all devices


1.11.2 Functions​

  • Buffering
  • Error handling
  • Device allocation

1.11.3 Buffering​

Temporary storage for smooth data transfer


1.11.4 Device Allocation​

Assigns devices to processes


1.12 Buffering Techniques​


1.12.1 Single Buffering​

  • One buffer
  • Simple but slower

1.12.2 Double Buffering​

  • Two buffers
  • Parallel processing

1.12.3 Circular Buffering​

  • Multiple buffers in loop
  • Efficient for continuous data

🔥 Final Understanding​

  • CPU is fast, devices are slow
  • OS uses:
    • Controllers
    • Drivers
    • Interrupts
    • DMA
    • Buffering

👉 to make communication efficient and smooth


🎯 Most Important for Exam​

  • DMA working
  • Polling vs Interrupt
  • Interrupt handling steps
  • Buffering types
  • Device controller vs driver

💡 One-line Summary​

👉 I/O System = Efficient communication between CPU and external devices


2. File System (Explained Clearly)​

A File System is the part of the OS responsible for storing, organizing, and managing files on storage devices (disk, SSD).

It provides a structured way to store and retrieve data


🧠 Core Idea​

👉 User interacts with files → File system handles actual storage


2.1 File Concept​


2.1.1 Definition​

A file is a collection of related data stored on secondary storage

Examples:

  • Text file (.txt)
  • Program file (.c, .py)
  • Image file (.jpg)

👉 Files are the basic unit of storage


2.1.2 File Naming​

Each file has a unique name

Rules:

  • Consists of name + extension
  • Example:
    • notes.txt
    • program.c

👉 Extension indicates file type


2.1.3 File Types​

Based on extension:

  • .txt → Text
  • .exe → Executable
  • .jpg → Image

2.1.4 Internal File Types​

Based on content:

  • Text files → human-readable
  • Source files → program code
  • Object files → compiled code
  • Executable files → ready to run

2.2 File Attributes​


2.2.1 Name​

  • Human-readable file name

2.2.2 Identifier​

  • Unique number assigned by OS

2.2.3 Location​

  • Address of file on disk

2.2.4 Size​

  • File size in bytes

2.2.5 Protection​

  • Permissions (read, write, execute)

2.2.6 Time & Date​

  • Creation, modification, access time

🧠 Insight​

👉 Attributes = metadata about file


2.3 File Operations​


2.3.1 Create​

  • Create a new file

2.3.2 Read​

  • Read data from file

2.3.3 Write​

  • Write data into file

2.3.4 Delete​

  • Remove file from system

2.3.5 Open / Close​

  • Open → prepare file for use
  • Close → release resources

2.3.6 Rename​

  • Change file name

2.3.7 Truncate​

  • Delete file content but keep file

🔁 Flow​


2.4 File Structure​


2.4.1 Byte Sequence​

File is treated as a sequence of bytes

  • No structure
  • Used in UNIX

2.4.2 Record Structure​

File is divided into records

  • Each record has fixed/variable size

2.4.3 Tree Structure​

File organized hierarchically

  • Used in databases

2.5 File Access Methods​


2.5.1 Sequential Access​

Data is accessed in order

Example:

  • Reading file from start to end

✔ Simple
❌ Slow for random access


2.5.2 Direct Access​

Access data at any position

Example:

  • Jump to record 50

✔ Fast
✔ Flexible


2.5.3 Indexed Access​

Uses index to locate data

Example:

  • Index → points to records

✔ Efficient
✔ Fast searching


2.6 File System Layered Structure​


🧠 Concept​

File system is divided into layers for modularity and efficiency


🔁 Layered Architecture​


2.6.1 Logical File System​

  • Handles:
    • File naming
    • File attributes
    • Directory structure

2.6.2 File Organization Module​

  • Manages:
    • Allocation of files
    • Logical → physical mapping

2.6.3 Basic File System​

  • Performs:
    • Read/write operations
    • Buffer management

2.6.4 I/O Control​

  • Contains:
    • Device drivers
    • Interrupt handlers

🔥 Final Summary​

ConceptMeaning
FileCollection of data
AttributesMetadata
OperationsActions on file
Access methodsHow data is accessed
Layered FSStructured design

🎯 Important Exam Points​

  • File definition (very common)
  • File attributes (short question)
  • File operations (list-based question)
  • Access methods comparison
  • File system layers (diagram important)

💡 Memory Trick​

👉 F-A-O-A-L

  • F → File
  • A → Attributes
  • O → Operations
  • A → Access
  • L → Layers

3. Directory Structure (Explained Clearly)​

A directory is used to organize files in a system.

Just like folders in your computer, directories help store and locate files efficiently


🧠 Core Idea​

👉 Directory = container of files and folders


3.1 Directory Concept​


3.1.1 Definition​

A directory is a special file that stores information about other files

It contains:

  • File names
  • File locations
  • File attributes

👉 It acts like an index for files


3.1.2 Directory Operations​

These are basic operations performed on directories:


3.1.2.1 File Search

  • Locate a file in directory
  • OS searches using file name

3.1.2.2 File Creation

  • Add a new file entry
  • Allocate space

3.1.2.3 File Deletion

  • Remove file entry
  • Free allocated space

3.1.2.4 Listing

  • Display all files in directory

3.2 Directory Structures​

Different ways to organize directories:


3.2.1 Single Level Directory​

All files are stored in one directory


🔁 Structure​


Advantages:

  • Simple

Disadvantages:

  • File name conflicts
  • Not suitable for large systems

3.2.2 Two Level Directory​

Separate directory for each user


🔁 Structure​


Advantages:

  • No name conflict between users

Disadvantages:

  • Limited sharing

3.2.3 Tree Structure Directory​

Hierarchical structure (most common)


🔁 Structure​


Advantages:

  • Organized
  • Easy navigation

3.2.4 Acyclic Graph Directory​

Allows sharing of files/directories without cycles


🔁 Structure​


Advantage:

  • File sharing

Restriction:

  • No cycles allowed

3.2.5 General Graph Directory​

Allows cycles (loops)


🔁 Structure​


Advantage:

  • Maximum flexibility

Disadvantage:

  • Complex
  • Risk of infinite loops

3.3 Path Names​


3.3.1 Absolute Path​

Full path from root directory

Example:

/home/user/file.txt

✔ Unique
✔ Clear


3.3.2 Relative Path​

Path relative to current directory

Example:

docs/file.txt

✔ Short
✔ Convenient


🧠 Insight​

  • Absolute → starts from root
  • Relative → starts from current location

3.4 Directory Implementation​


3.4.1 Linear List​

Directory stored as a simple list

Features:

  • Easy to implement

Disadvantages:

  • Slow search

3.4.2 Hash Table​

Uses hashing for faster lookup

Features:

  • Faster search

Disadvantages:

  • Collision handling needed

🔥 Final Summary​

ConceptMeaning
DirectoryCollection of file entries
StructureOrganization method
PathFile location
ImplementationHow directory is stored

🎯 Important Exam Points​

  • Directory structures (very important)
  • Tree vs Graph comparison
  • Absolute vs Relative path
  • Directory operations

💡 Memory Trick​

👉 S-T-A-G

  • S → Single level
  • T → Two level
  • A → Acyclic graph
  • G → General graph

4. File Allocation Methods (Explained Clearly)​

File allocation methods define how files are stored on disk blocks.

OS must decide where and how to place file data on disk


🧠 Core Idea​

👉 A file is divided into blocks, and these blocks must be stored efficiently


4.1 Contiguous Allocation​


4.1.1 Concept​

File is stored in continuous (adjacent) blocks on disk


🔁 Example​

👉 All blocks are next to each other


How it works:​

  • Store:
    • Starting block
    • Length of file

4.1.2 Advantages​

  • Fast access (both sequential & direct)
  • Simple implementation
  • Minimal disk seek time

4.1.3 Disadvantages​

  • External fragmentation
  • Difficult to expand file
  • Requires large continuous space

4.2 Linked Allocation​


4.2.1 Concept​

File is stored as a linked list of blocks

Each block contains:

  • Data
  • Pointer to next block

🔁 Example​

👉 Blocks are scattered but connected


4.2.2 Advantages​

  • No external fragmentation
  • Easy to grow file
  • Flexible

4.2.3 Disadvantages​

  • Slow access (must follow links)
  • Pointer overhead
  • Cannot support efficient random access

4.3 Indexed Allocation​


4.3.1 Concept​

Uses an index block to store addresses of all file blocks


🔁 Structure​


4.3.2 Index Block​

  • Contains list of:
    • Block addresses

👉 OS directly accesses any block using index


4.3.3 Advantages​

  • Supports direct access
  • No external fragmentation
  • Efficient for large files

4.3.4 Disadvantages​

  • Extra memory for index block
  • Overhead for small files
  • Complex implementation

🔥 Final Comparison​

MethodStorageAccessFragmentation
ContiguousContinuousFastExternal
LinkedScatteredSlowNone
IndexedIndexed listFastNone

🎯 Important Exam Points​

  • Compare all 3 methods (very common)
  • Advantages/disadvantages
  • Diagrams (high scoring)
  • Which method supports random access → Indexed

💡 Memory Trick​

👉 C-L-I

  • C → Contiguous
  • L → Linked
  • I → Indexed

🧠 Final Insight​

  • Contiguous → fast but rigid
  • Linked → flexible but slow
  • Indexed → balanced (best practical)

5. Free Space Management (Explained Clearly)​

Free space management is about keeping track of unused disk blocks.

OS must know which blocks are free so it can allocate them to new files


🧠 Core Idea​

👉 OS maintains a structure to track free blocks


5.1 Bit Map (Bit Vector)​


5.1.1 Concept​

Each disk block is represented by a bit (0 or 1)

Representation:

  • 0 → Free block
  • 1 → Allocated block

🔁 Example​

Block No: 0 1 2 3 4 5 6 7
Bit Map: 1 0 1 1 0 0 1 0

👉 Free blocks = 1, 4, 5, 7


5.1.2 Working​

  • OS scans bitmap
  • Finds free block (bit = 0)
  • Allocates it

Advantages:​

  • Simple
  • Easy to find contiguous blocks

Disadvantages:​

  • Requires extra memory for bitmap
  • Scanning can be slow for large disks

5.2 Linked List​


5.2.1 Concept​

Free blocks are linked together as a linked list

Each free block stores:

  • Pointer to next free block

🔁 Example​

👉 These are free blocks


5.2.2 Working​

  • OS keeps pointer to first free block
  • Allocate → remove from list
  • Free → add back to list

Advantages:​

  • No extra memory needed (stored in blocks)
  • Simple

Disadvantages:​

  • Slow to find large contiguous blocks
  • Sequential access only

5.3 Grouping Method​


5.3.1 Concept​

Instead of storing one pointer, a block stores multiple free block addresses

👉 Improves efficiency over linked list


🔁 Structure​


5.3.2 Working​

  • First free block contains:
    • List of free blocks
    • Pointer to next group
  • OS uses this list to allocate blocks quickly

Advantages:​

  • Faster than linked list
  • Can allocate multiple blocks at once

Disadvantages:​

  • Slightly complex
  • Extra management needed

🔥 Final Comparison​

MethodStructureSpeedSuitable For
Bit MapArray of bitsMediumGeneral use
Linked ListChain of blocksSlowSimple systems
GroupingBlock of pointersFastLarge systems

🎯 Important Exam Points​

  • Bit map representation (very common)
  • Linked list vs grouping comparison
  • Advantages/disadvantages
  • Which method is fastest → Grouping

💡 Memory Trick​

👉 B-L-G

  • B → Bit Map
  • L → Linked List
  • G → Grouping

🧠 Final Insight​

  • Bit map → easy & visual
  • Linked list → simple but slow
  • Grouping → optimized version of linked list

6. File System Implementation (Explained Clearly)​

File system implementation describes how files are actually stored and managed internally by the OS.

It involves structures on disk + structures in memory for efficient access


🧠 Core Idea​

👉 OS uses both disk + memory structures to manage files efficiently


6.1 On-Disk Structures​

These structures are stored permanently on disk


6.1.1 Boot Control Block​

Contains information needed to boot the system

Key Points:

  • Located at beginning of disk
  • Contains bootstrap program
  • Loads OS into memory

6.1.2 Volume Control Block​

Stores information about the entire file system (also called superblock)

Contains:

  • Total number of blocks
  • Free block count
  • File system size
  • Pointer to free space

6.1.3 Directory Structure​

Stores information about files and directories

Contains:

  • File names
  • Locations
  • Attributes

👉 Helps in file organization and lookup


6.1.4 File Control Block (FCB)​

Contains metadata about a file


🔍 FCB contains:​

  • File name
  • Size
  • Location
  • Permissions
  • Timestamps

🔁 Concept​

👉 FCB acts like a record for each file


6.2 In-Memory Structures​

These structures exist temporarily in RAM for faster access


6.2.1 In-Memory Partition Table​

Stores information about mounted file systems

Purpose:

  • Tracks available partitions
  • Helps OS access different disks

6.2.2 Directory Cache​

Stores recently accessed directory entries

Benefit:

  • Faster file lookup
  • Reduces disk access

6.2.3 Open File Table​

Tracks files currently opened by processes


Contains:​

  • File pointer
  • Access mode
  • File status

🔁 Concept​

👉 Avoids repeated disk access


6.3 Virtual File System (VFS)​


6.3.1 Concept​

VFS provides a uniform interface for different file systems


Example:​

  • FAT
  • NTFS
  • EXT4

👉 All accessed through same interface


🔁 Architecture​


6.3.2 Purpose​

  • Supports multiple file systems
  • Provides abstraction
  • Simplifies OS design

🔥 Final Summary​

StructurePurpose
Boot BlockStart system
Volume BlockFile system info
DirectoryFile organization
FCBFile metadata
Open File TableTrack open files
VFSUniform interface

🎯 Important Exam Points​

  • FCB (very important)
  • On-disk vs In-memory structures
  • VFS concept (common theory question)
  • Directory cache & open file table

💡 Memory Trick​

👉 B-V-D-F-O-V

  • B → Boot block
  • V → Volume block
  • D → Directory
  • F → FCB
  • O → Open file table
  • V → VFS

🧠 Final Insight​

  • Disk structures = permanent storage
  • Memory structures = fast access support
  • VFS = universal interface

7. File Protection and Security (Explained Clearly)​

File protection ensures that only authorized users can access or modify files.

It is essential for data security, privacy, and system integrity


🧠 Core Idea​

👉 OS controls who can do what with a file


7.1 Access Control​


7.1.1 Access Types​

These define what operations are allowed on a file

Common Access Types:

  • Read (R) → View file content
  • Write (W) → Modify file
  • Execute (X) → Run file
  • Append (A) → Add data at end
  • Delete (D) → Remove file

7.1.2 User Categories​

Users are grouped to manage permissions easily:

  • Owner → Creator of file
  • Group → Users in same group
  • Others → All remaining users

🔍 Example​

UserPermission
OwnerRead, Write
GroupRead
OthersNo access

7.2 Protection Mechanisms​


7.2.1 Access Control List (ACL)​

ACL is a list that defines permissions for each user


🔁 Structure​


Features:​

  • Fine-grained control
  • Different permissions for different users

Advantages:​

  • Flexible
  • Detailed security

Disadvantages:​

  • Complex for large systems

7.2.2 Permission Bits​

Permissions are stored as bits (binary flags)


Format (UNIX style):​

rwx rwx rwx
  • First → Owner
  • Second → Group
  • Third → Others

Example:​

rwx r-x r--
  • Owner → full access
  • Group → read + execute
  • Others → read only

Advantages:​

  • Simple
  • Efficient

Disadvantages:​

  • Less flexible than ACL

7.3 File Sharing​


7.3.1 Modes​

File sharing allows multiple users/processes to access files.

Types:

  • Read-only sharing
    • Multiple users can read
  • Read-write sharing
    • Users can modify file

🔁 Example​


7.3.2 Issues​

Sharing introduces problems:

1. Consistency Problem

  • Multiple users modifying file → conflict

2. Synchronization Issue

  • Need control mechanisms (locks)

3. Security Risk

  • Unauthorized access

🔥 Final Summary​

ConceptMeaning
Access TypesOperations allowed
User CategoriesOwner, group, others
ACLDetailed permissions
Permission BitsSimple permissions
File SharingMultiple users access

🎯 Important Exam Points​

  • ACL vs Permission bits (very common)
  • Access types (short question)
  • User categories
  • File sharing issues

💡 Memory Trick​

👉 A-U-P-S

  • A → Access types
  • U → Users
  • P → Permissions
  • S → Sharing

🧠 Final Insight​

  • Security = who can access + what they can do
  • ACL = detailed control
  • Permission bits = simple control

8. File System Performance (Explained Clearly)​

File system performance determines how fast data can be read from or written to disk.

Since disk operations are slow, optimizing them is very important for overall system performance


🧠 Core Idea​

👉 Goal = reduce delay in disk access


8.1 Performance Factors​

These factors directly affect how fast disk operations happen.


8.1.1 Disk Access Time​

Total time required to read/write data from disk


Formula:​

Disk Access Time = Seek Time + Rotational Latency + Transfer Time

Components:​

  • Seek Time
  • Rotational Latency
  • Transfer Time

👉 Lower access time = better performance


8.1.2 Seek Time​

Time taken by disk head to move to correct track


Key Points:​

  • Largest component of delay
  • Depends on distance moved

🔍 Example:​

  • Moving from track 10 → track 200 → high seek time

8.1.3 Latency (Rotational Latency)​

Time taken for disk to rotate and bring required sector under head


Key Points:​

  • Depends on disk speed (RPM)
  • Faster disk → lower latency

🔍 Example:​

  • If disk spins at 7200 RPM → faster access

🧠 Insight​

👉 Most delay comes from:

  • Seek time
  • Latency

8.2 Optimization Techniques​

To improve performance, OS uses several techniques:


8.2.1 Caching​

Frequently accessed data is stored in fast memory (cache)


🔁 Concept​


Benefits:​

  • Reduces disk access
  • Faster data retrieval

Example:​

  • Recently opened file stored in cache

8.2.2 Buffering​

Temporary storage used during data transfer


Purpose:​

  • Smooth data flow
  • Reduce speed mismatch (CPU vs disk)

🔁 Example​


Types:​

  • Single buffering
  • Double buffering
  • Circular buffering

8.2.3 Disk Scheduling Impact​

Order of disk requests affects performance


Idea:​

  • Arrange requests to reduce head movement

🔁 Example​

Without scheduling:

Requests: 10 → 200 → 20 → 180

With scheduling:

Optimized: 10 → 20 → 180 → 200

👉 Less movement → faster access


Common Algorithms:​

  • FCFS
  • SSTF
  • SCAN

🔥 Final Summary​

FactorMeaning
Seek TimeHead movement time
LatencyRotation delay
Access TimeTotal delay
CachingStore frequently used data
BufferingTemporary storage
SchedulingOptimize request order

🎯 Important Exam Points​

  • Disk access time formula (very important)
  • Seek time vs latency
  • Caching vs buffering
  • Role of disk scheduling

💡 Memory Trick​

👉 S-L-C-B-S

  • S → Seek time
  • L → Latency
  • C → Caching
  • B → Buffering
  • S → Scheduling

🧠 Final Insight​

  • Disk is the slowest component
  • Performance improves by:
    • Reducing head movement
    • Reducing disk access
    • Using memory efficiently

9. Disk Structure (Explained Clearly)​

Disk structure explains how data is physically organized on storage devices (HDD/SSD).

Understanding disk structure helps in efficient data storage and retrieval


🧠 Core Idea​

👉 Data is stored in a hierarchical physical structure


9.1 Disk Basics​


9.1.1 Disk Concept​

A disk is a secondary storage device used to store data permanently

Key Features:

  • Non-volatile (data not lost on power off)
  • Large storage capacity
  • Slower than RAM

9.1.2 Storage Technologies​

🔹 Magnetic Disks (HDD)​

Image

Image

Image

Image

Image

Image

  • Uses magnetic coating
  • Data stored using magnetism
  • Mechanical movement involved

🔹 Solid State Drives (SSD)​

Image

Image

Image

Image

Image

Image

  • Uses flash memory
  • No moving parts
  • Faster than HDD

🧠 Insight​

  • HDD → cheaper, slower
  • SSD → faster, expensive

9.2 Disk Geometry​

Disk geometry describes physical layout of disk


9.2.1 Platters​

Circular disks coated with magnetic material

  • Multiple platters stacked
  • Both sides used for storage

9.2.2 Tracks​

Concentric circles on platter

  • Data stored along tracks

9.2.3 Sectors​

Smallest unit of storage

  • Each track divided into sectors
  • Typically 512 bytes or 4KB

9.2.4 Cylinders​

Set of tracks at same position across all platters


🔁 Concept​

👉 All aligned tracks = cylinder


9.2.5 Clusters​

Group of sectors treated as a unit

  • Used by file system
  • Improves efficiency

🧠 Insight​

  • Sector → smallest physical unit
  • Cluster → logical unit used by OS

9.3 Disk Mapping​


9.3.1 Logical Block Addressing (LBA)​

Data is addressed using linear block numbers


🔁 Concept​

👉 Simplifies addressing


9.3.2 Physical Mapping​

Converts logical address → physical location


Mapping:​

  • Logical → Cylinder
  • Cylinder → Track
  • Track → Sector

🔁 Flow​


🧠 Insight​

  • LBA hides physical complexity
  • OS uses logical addressing

9.4 Disk Capacity​


9.4.1 CHS Calculation​

Disk capacity is calculated using:


Formula:​

Capacity = Cylinders × Heads × Sectors × Bytes per Sector

🔍 Example:​

Cylinders = 1000
Heads = 4
Sectors = 100
Bytes = 512

Capacity = 1000 × 4 × 100 × 512
= 204,800,000 bytes (~200 MB)

🔥 Final Summary​

ComponentMeaning
PlatterDisk surface
TrackCircular path
SectorSmallest unit
CylinderGroup of tracks
ClusterGroup of sectors
LBALogical addressing

🎯 Important Exam Points​

  • Disk geometry (diagram very important)
  • Sector vs cluster
  • LBA concept
  • CHS formula (numerical asked)

💡 Memory Trick​

👉 P-T-S-C-C

  • P → Platter
  • T → Track
  • S → Sector
  • C → Cylinder
  • C → Cluster

🧠 Final Insight​

  • Disk structure = physical organization
  • OS uses logical abstraction (LBA)
  • Performance depends on geometry + access

10. Disk Scheduling (Explained Clearly)​

Disk scheduling decides the order in which disk I/O requests are processed.

Goal: Minimize disk head movement → reduce seek time → improve performance


🧠 Core Idea​

👉 Better scheduling = faster disk performance


10.1 Disk Access Time​

Disk access time is the total time to access data from disk


10.1.1 Seek Time​

Time taken to move disk head to correct track

  • Largest delay
  • Depends on distance

10.1.2 Rotational Latency​

Time for disk to rotate and bring sector under head

  • Depends on disk speed (RPM)

10.1.3 Transfer Time​

Time to actually read/write data

  • Usually small compared to others

🧠 Formula​

Access Time = Seek Time + Latency + Transfer Time

10.2 Scheduling Algorithms​

These algorithms decide which request to serve next


10.2.1 FCFS (First Come First Serve)​

Serve requests in order of arrival


Example:​

Queue: 10 → 180 → 40 → 120

Advantages:​

  • Simple
  • Fair

Disadvantages:​

  • High head movement
  • Poor performance

10.2.2 SSTF (Shortest Seek Time First)​

Select request closest to current head position


Example:​

  • Head at 50
  • Requests: 10, 40, 100

👉 Choose 40


Advantages:​

  • Reduced seek time

Disadvantages:​

  • Starvation possible

10.2.3 SCAN (Elevator Algorithm)​

Head moves in one direction servicing requests, then reverses


🔁 Movement​


Advantages:​

  • Better than FCFS
  • Reduced starvation

10.2.4 C-SCAN (Circular SCAN)​

Head moves in one direction only, then jumps back


🔁 Movement​


Advantages:​

  • Uniform wait time

10.2.5 LOOK​

Similar to SCAN but stops at last request (not disk end)


Advantage:​

  • Avoids unnecessary movement

10.2.6 C-LOOK​

Similar to C-SCAN but jumps only between requests


Advantage:​

  • More efficient than C-SCAN

🧠 Insight​

AlgorithmIdea
FCFSOrder-based
SSTFClosest request
SCANElevator
C-SCANCircular
LOOKOptimized SCAN
C-LOOKOptimized C-SCAN

10.3 Performance Metrics​


10.3.1 Total Head Movement​

Total distance moved by disk head

  • Lower movement → better performance

🔍 Example:​

Head moves: 50 → 100 → 20 → 150
Total movement = sum of distances

10.3.2 Throughput​

Number of requests served per unit time

  • Higher throughput → better performance

10.3.3 Starvation​

Some requests may never be served


Occurs in:​

  • SSTF

Example:​

  • Requests far from head are ignored repeatedly

🔥 Final Summary​

AlgorithmAdvantageDisadvantage
FCFSSimpleSlow
SSTFFastStarvation
SCANBalancedSlight delay
C-SCANUniform waitJump overhead
LOOKEfficientComplex
C-LOOKBest optimizedSlight overhead

🎯 Important Exam Points​

  • FCFS vs SSTF vs SCAN (very common)
  • SCAN vs C-SCAN vs LOOK
  • Starvation concept
  • Total head movement numericals

💡 Memory Trick​

👉 F-S-S-C-L-C

  • F → FCFS
  • S → SSTF
  • S → SCAN
  • C → C-SCAN
  • L → LOOK
  • C → C-LOOK

🧠 Final Insight​

  • Disk scheduling = optimization problem
  • Best practical:
    • SCAN / LOOK
  • Avoid:
    • SSTF (starvation risk)

11. Disk Management (Explained Clearly)​

Disk management deals with how the OS initializes, organizes, and maintains disks, including booting, reliability, and handling errors.

It ensures the system starts correctly and stores data safely


🧠 Core Idea​

👉 Disk management starts from booting → ends with reliable storage


11.1 Booting Process​


11.1.1 Bootstrap Program​

A small program that loads the operating system into memory

  • Stored in ROM
  • Runs automatically when system starts

11.1.2 ROM (Read Only Memory)​

Permanent memory that contains bootstrap code

  • Non-volatile
  • Cannot be easily modified

11.1.3 Boot Block​

Special disk sector containing boot information

  • Located at start of disk
  • Helps in loading OS

🧠 Insight​

👉 Booting = ROM → Disk → OS


11.2 Boot Process Flow​


🔁 Step-by-Step Flow​


11.2.1 ROM → MBR​

  • ROM executes bootstrap program
  • Loads Master Boot Record (MBR)

11.2.2 MBR → Boot Sector​

  • MBR identifies active partition
  • Loads its boot sector

11.2.3 Boot Sector → OS Loading​

  • Boot sector loads OS kernel into memory
  • OS starts execution

11.3 Disk Logical Structure​


🔁 Structure​


11.3.1 Master Boot Record (MBR)​

First sector of disk

Contains:

  • Bootloader
  • Partition table

11.3.2 DOS Boot Record (DBR)​

Boot sector of a partition

  • Contains file system info
  • Helps load OS

11.3.3 File Allocation Table (FAT)​

Tracks allocation of disk blocks

  • Shows which blocks belong to which file

11.3.4 Root Directory​

  • Contains file entries
  • Starting point of file system

11.3.5 Data Area​

  • Actual storage of file data

🧠 Insight​

👉 Disk = Control info + Directory + Data


11.4 FAT Details​


11.4.1 FAT Entries​

Each entry represents a cluster status


11.4.2 Free Cluster​

  • Available for allocation

11.4.3 Bad Sector​

  • Damaged and unusable

11.4.4 End of File (EOF)​

  • Marks end of file

🔁 Example​

Cluster 1 → 2 → 5 → EOF

🧠 Insight​

👉 FAT acts like a linked list of clusters


11.5 Disk Reliability​


11.5.1 RAID Concept​

RAID = Redundant Array of Independent Disks

👉 Combines multiple disks for:

  • Performance
  • Reliability

11.5.2 RAID Levels​


🔹 RAID 0 (Striping)​

Image

Image

Image

Image

Image

  • Splits data across disks
    ✔ Fast
    ❌ No protection

🔹 RAID 1 (Mirroring)​

Image

Image

Image

Image

Image

  • Duplicate data
    ✔ High reliability
    ❌ Double storage

🔹 RAID 5 (Parity)​

Image

Image

Image

Image

Image

  • Uses parity for recovery
    ✔ Balanced
    ✔ Fault tolerant

🔹 RAID 10 (1+0)​

Image

Image

Image

Image

Image

Image

  • Combination of RAID 0 + RAID 1
    ✔ Fast + reliable
    ❌ Expensive

11.6 Bad Blocks​


11.6.1 Definition​

Bad blocks are damaged disk areas that cannot store data


11.6.2 Causes​

  • Physical damage
  • Manufacturing defects
  • Wear and tear

11.6.3 Detection​

  • Disk scanning tools
  • Error detection codes

11.6.4 Management​

  • Mark block as unusable
  • Replace with spare block
  • Use RAID for recovery

🔥 Final Summary​

ConceptMeaning
BootingStart OS
MBRFirst disk sector
FATTracks file blocks
RAIDReliability
Bad BlockDamaged area

🎯 Important Exam Points​

  • Boot process flow (very common)
  • MBR vs DBR
  • FAT working
  • RAID levels comparison
  • Bad blocks handling

💡 Memory Trick​

👉 B-M-F-R-B

  • B → Boot
  • M → MBR
  • F → FAT
  • R → RAID
  • B → Bad blocks

🧠 Final Insight​

  • Booting = system startup process
  • FAT = file tracking system
  • RAID = data safety mechanism

END