Operating Systems
Unit 8: File Management & Device Management
From file allocation strategies to disk scheduling algorithms โ master storage management with full numerical problems and start earning through Linux administration.
โฑ๏ธ Time to Complete: 7 hrs theory + 5 hrs lab | ๐ฐ Earning Potential: โน5,000โโน15,000/month | ๐ 30 MCQs (Bloom's Mapped)
๐ผ Jobs this unlocks: Linux Admin (โน4โ8 LPA) | Storage Engineer (โน6โ12 LPA)
Opening Hook โ How IRCTC Handles 30 Million Ticket Records Daily
๐ When Disk Scheduling Goes Wrong During Tatkal
IRCTC stores 30 million ticket records daily across distributed file systems. During the Tatkal rush window, up to 15 lakh tickets are booked within 30 minutes. That's 8,333 bookings per second, each requiring multiple disk reads and writes โ checking seat availability, updating reservation charts, generating PNR numbers, and logging transactions.
When disk scheduling goes wrong during Tatkal, the entire booking system slows down. Queues pile up, users get timeout errors, and thousands of passengers miss their train bookings. The difference between a well-optimised SSTF scheduler and a naive FCFS approach? Up to 10ร difference in response time.
Behind the scenes, IRCTC's storage engineers use optimised file allocation strategies and disk scheduling algorithms to ensure data is read and written at maximum speed. Every millisecond of disk head movement matters when 25,000 concurrent users are hitting the server simultaneously.
Could YOU optimise IRCTC's disk access? Could you calculate the exact seek time for different scheduling algorithms and choose the best one? That's exactly what this unit teaches you โ with full worked numericals you'll see in your exams.
Learning Outcomes โ Bloom's Taxonomy Mapped
| Bloom's Level | Learning Outcome |
|---|---|
| ๐ต Remember | List file attributes, operations, and types; define contiguous, linked, and indexed allocation methods |
| ๐ต Understand | Explain how directory structures differ and why tree-structured is most common in modern operating systems |
| ๐ข Apply | Calculate total seek time for FCFS, SSTF, SCAN, C-SCAN, LOOK, and C-LOOK disk scheduling algorithms |
| ๐ข Analyze | Compare allocation methods and determine which suits SSD vs HDD storage scenarios |
| ๐ Evaluate | Assess disk scheduling algorithms for fairness, throughput, and starvation; recommend the best for given workloads |
| ๐ Create | Design a Python-based disk scheduling simulator that visualises head movement and compares algorithms |
Concept Explanation โ File Management & Device Management
โโโ PART A: FILE MANAGEMENT โโโ
1. File Concepts โ Attributes, Operations & Types
A file is a named collection of related information stored on secondary storage. Think of it as a container โ like a file folder in a physical office cabinet. The operating system manages how these files are created, stored, accessed, and deleted.
๐ File Attributes
Every file has metadata (data about data) that the OS maintains:
| Attribute | Description | Example |
|---|---|---|
| Name | Human-readable identifier | report.pdf |
| Type | File format/extension | .txt, .exe, .jpg |
| Location | Pointer to file's position on disk | Block 1024 on /dev/sda1 |
| Size | Current size in bytes | 4,096 bytes |
| Protection | Access control (read/write/execute) | rwxr-xr-- |
| Timestamps | Creation, modification, last accessed | 2024-01-15 10:30:00 |
| Owner | User who created the file | uid=1000 (student) |
File Operations
The OS provides a set of system calls to manipulate files:
| Operation | What It Does | System Call (Linux) |
|---|---|---|
| Create | Allocate space, add directory entry | creat(), open(O_CREAT) |
| Open | Load file metadata into memory, return file descriptor | open() |
| Read | Transfer data from disk to memory buffer | read() |
| Write | Transfer data from memory to disk | write() |
| Reposition (Seek) | Move the read/write pointer to a specific position | lseek() |
| Delete | Remove directory entry, free allocated space | unlink() |
| Truncate | Erase contents but keep attributes | truncate() |
File Types
| Type | Description | Examples |
|---|---|---|
| Regular | Contains user data (text/binary) | .txt, .doc, .c, .jpg |
| Directory | Contains list of files and subdirectories | /home, /etc |
| Character Special | Character-based device access | /dev/tty, /dev/null |
| Block Special | Block-based device access | /dev/sda, /dev/hda |
| Executable | Programs that can be run | .exe, .out, .sh |
| Archived | Compressed collection of files | .zip, .tar, .gz |
File Structure
None (Byte Sequence): File is just a stream of bytes. OS doesn't care about internal structure. Used in Unix/Linux โ maximum flexibility.
Simple Record Structure: File is a sequence of fixed-length or variable-length records. Used in old mainframe systems.
Complex Structure (Indexed): File has an internal index for fast searching. Used in databases.
2. Access Methods
How does the OS read data from a file? There are three fundamental methods:
| Method | How It Works | Analogy | Best For |
|---|---|---|---|
| Sequential Access | Read one record after another, in order. Can't jump. Pointer moves forward automatically after each read. | Like a cassette tape โ play from start, can't skip | Batch processing, log files |
| Direct (Relative) Access | Jump to any block using block number. No need to read preceding blocks. read(block_n) | Like a DVD โ skip to any scene instantly | Databases, random queries |
| Indexed Sequential | An index maps key values to block positions. Search index first, then read sequentially within the target block. | Like a book's index โ find chapter, then read within it | Mainframe databases (ISAM, VSAM) |
3. Directory Structures
A directory is a special file that contains a list of files and other directories. How we organise directories determines how efficiently we can find, create, and manage files.
3.1 Single-Level Directory
All files in one directory. Simplest possible structure.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ cat.txt dog.jpg report.pdf main.c a.out โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
(All files in one flat directory)
โ Pros: Simple to implement, fast search (small systems).
โ Cons: Name collision โ two users can't have test.txt. No grouping. Unusable for large systems.
3.2 Two-Level Directory
Separate directory for each user. Master File Directory (MFD) โ User File Directory (UFD).
โโโโ MFD โโโโ
โ โ
โโโโโดโโโโ โโโโโดโโโโ
โ User1 โ โ User2 โ
โ UFD โ โ UFD โ
โโโโโโโโโค โโโโโโโโโค
โ f1.txtโ โ f1.txtโ โ Same name, no conflict!
โ f2.c โ โ f3.py โ
โโโโโโโโโ โโโโโโโโโ
โ Pros: Name isolation per user. Different users can have same filename.
โ Cons: No subdirectories within a user's space. Can't group related files.
3.3 Tree-Structured Directory
Hierarchical structure with unlimited nesting. The most common in modern OS (Linux, Windows, macOS).
/ (root)
/ | \
bin home etc
/ \
u1 u2
/ \ \
docs code pics
/ \
report.pdf main.c
โ Pros: Hierarchical organisation, scalable, efficient searching, natural grouping.
โ Cons: No file sharing between directories.
/home/rahul/documents/resume.pdf narrows down to a specific file.
3.4 Acyclic Graph Directory
Like tree, but allows shared files/directories through links (hard links, soft links). Two directory entries can point to the same file.
/ (root)
/ \
home shared
/ \ |
u1 u2 |
\ / |
project โโโโ (shared by u1, u2, and /shared)
โ Pros: File sharing without duplication.
โ Cons: Dangling pointer problem โ if original file is deleted, links point to nothing. Need reference counting.
3.5 General Graph Directory
Allows cycles (directory A can contain B, and B can contain A). Most flexible but most complex.
โ Pros: Maximum flexibility.
โ Cons: Cycles can cause infinite loops during traversal. Needs garbage collection to reclaim space. Most complex to implement.
Directory Structure Comparison
| Structure | Grouping | Name Isolation | Sharing | Cycles | Complexity |
|---|---|---|---|---|---|
| Single-Level | โ No | โ No | โ No | โ No | Very Low |
| Two-Level | โ No | โ Per user | โ No | โ No | Low |
| Tree | โ Yes | โ Full | โ No | โ No | Medium |
| Acyclic Graph | โ Yes | โ Full | โ Yes | โ No | High |
| General Graph | โ Yes | โ Full | โ Yes | โ Yes | Very High |
4. File System Mounting & Sharing
Mounting is the process of making a file system accessible at a certain point in the directory tree. When you plug in a USB drive in Linux, it gets "mounted" at a mount point like /mnt/usb.
mount /dev/sdb1 /mnt/pendrive makes the pen drive accessible at /mnt/pendrive.
File Sharing across networks is done through NFS (Network File System) in Linux and SMB/CIFS in Windows. Multiple machines can access the same files over a network.
5. File Protection & Access Control
File protection ensures that only authorised users can access files in specific ways.
Access Control Methods:
1. Access Matrix: A table with rows = users, columns = files, entries = permissions (read, write, execute). Conceptually complete but impractical for large systems.
2. Access Control List (ACL): Each file stores a list of users and their permissions. Column-wise view of access matrix.
3. Capability List: Each user stores a list of files they can access. Row-wise view of access matrix.
Linux Permission System (chmod):
Shell # Permission format: rwx r-x r-- # Owner Group Others chmod 755 myfile.txt # Owner=rwx, Group=r-x, Others=r-x chmod 644 readme.md # Owner=rw-, Group=r--, Others=r-- chmod u+x script.sh # Add execute permission for owner ls -la myfile.txt # View permissions # Output: -rwxr-xr-x 1 student staff 4096 Jan 15 10:30 myfile.txt
6. File Allocation Methods
When a file is stored on disk, the OS must decide which blocks on the disk to use. This is the file allocation problem. There are three major methods:
6.1 Contiguous Allocation
Each file occupies a set of contiguous (adjacent) blocks on disk. The directory entry stores the starting block and the length.
Block: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
โโโโโฌโโโโฌโโโโฌโโโโฌโโโโฌโโโโฌโโโโฌโโโโฌโโโโฌโโโโฌโโโโฌโโโโฌโโโโฌโโโโฌโโโโ
โ A โ A โ A โ A โ A โ B โ B โ B โ B โ โ โ โ C โ C โ C โ
โโโโโดโโโโดโโโโดโโโโดโโโโดโโโโดโโโโดโโโโดโโโโดโโโโดโโโโดโโโโดโโโโดโโโโดโโโโ
File A: start=0, length=5 โ gap (external fragmentation)
File B: start=5, length=4
File C: start=12, length=3
โ Pros: Fast sequential access (blocks are adjacent). Fast direct access (start + offset). Simple directory entry (just start + length).
โ Cons: External fragmentation (gaps between files after deletions). File size must be known at creation. Files cannot grow easily.
6.2 Linked Allocation
Each file is a linked list of disk blocks. Each block contains a pointer to the next block. Blocks can be scattered anywhere on disk.
Directory: File A โ start: block 9 Block 9 Block 16 Block 1 Block 10 Block 25 โโโโโโโโ โโโโโโโโ โโโโโโโโ โโโโโโโโ โโโโโโโโ โ data โโโโโ data โโโโโ data โโโโโ data โโโโโ data โโโโ null โ โ16 โ โ โ1 โ โ โ10 โ โ โ25 โ โ โnil โ โโโโโโโโ โโโโโโโโ โโโโโโโโ โโโโโโโโ โโโโโโโโ
FAT (File Allocation Table): A centralised table that stores all the "next pointers" in one place, rather than inside each data block. Used in FAT12, FAT16, FAT32 (pen drives, SD cards).
โ Pros: No external fragmentation. Files can grow dynamically โ just add a new block anywhere and link it.
โ Cons: No direct access โ must traverse from start to reach block N (slow for random access). Pointer overhead in each block. If one pointer is corrupted, rest of file is lost.
6.3 Indexed Allocation
An index block stores all the pointers to data blocks. The directory points to the index block. Like a table of contents for the file.
Directory: File A โ index block: 14 Index Block [14]: Data Blocks: โโโโโโโโโโโโโโโโ โโโโโโโ โ 0 โ block 9 โ โโโโโโโ โ 9 โ โ 1 โ block 16โ โโโโโโโ โ 16 โ โ 2 โ block 1 โ โโโโโโโ โ 1 โ โ 3 โ block 10โ โโโโโโโ โ 10 โ โ 4 โ block 25โ โโโโโโโ โ 25 โ โ 5 โ -1 (end)โ โโโโโโโโโโโโโโโโ
โ Pros: Supports direct access (go to index, find block number, read). No external fragmentation.
โ Cons: Index block overhead โ wastes space for small files. Limited file size per index block (solved with multilevel/linked index schemes in Unix i-nodes).
Allocation Methods โ Comparison Table
| Feature | Contiguous | Linked | Indexed |
|---|---|---|---|
| Direct Access | โ Yes (start + offset) | โ No (must traverse) | โ Yes (via index) |
| External Fragmentation | โ High | โ None | โ None |
| Sequential Access | โ Very fast | โ ๏ธ Slow (random blocks) | โ Moderate |
| File Growth | โ Difficult | โ Easy | โ Easy |
| Overhead | โ None | โ ๏ธ Pointer per block | โ ๏ธ Index block |
| Reliability | โ Good | โ One bad pointer = data loss | โ Good |
| Used In | CD-ROM, DVD | FAT16/32 (pen drives) | Unix/Linux (i-node), NTFS |
7. Free-Space Management
When files are deleted, blocks become free. The OS must track which blocks are free so they can be allocated to new files. Four methods:
7.1 Bit Vector (Bitmap)
Each block is represented by one bit: 0 = free, 1 = occupied (convention varies).
Block: 0 1 2 3 4 5 6 7
Bitmap: 0 0 1 1 1 1 0 0
โ โ โ โ
free free free free
Free blocks: 0, 1, 6, 7 โ 4 free blocks
โ Pros: Simple, efficient for finding contiguous free blocks (just scan for consecutive 0s). Fast with hardware support.
โ Cons: Requires extra space. A 1TB disk with 4KB blocks = 256 million bits = 32 MB bitmap.
7.2 Linked List
All free blocks are linked together in a list. First free block is pointed to by a head pointer.
โ Pros: No wasted space for bitmap.
โ Cons: Very slow traversal to find free blocks. Finding contiguous free blocks is difficult.
7.3 Grouping
First free block stores addresses of n free blocks. The last of those n blocks stores addresses of the next n free blocks, and so on.
โ Pros: Faster than linked list โ get n free blocks in one read.
โ Cons: More complex to implement.
7.4 Counting
Store pairs: (starting block, count). If blocks 10โ14 are free, store (10, 5). Efficient when free blocks are contiguous.
โ Pros: Very compact for contiguous free regions.
โ Cons: Inefficient when free blocks are scattered.
Free-Space Management โ Comparison
| Method | Space Efficiency | Speed | Contiguous Finding | Best For |
|---|---|---|---|---|
| Bit Vector | โ ๏ธ Extra space needed | โ Fast | โ Excellent | General purpose (most common) |
| Linked List | โ No extra space | โ Slow | โ Poor | Small disks |
| Grouping | โ Good | โ Moderate | โ ๏ธ Moderate | Medium systems |
| Counting | โ Very compact | โ Fast | โ Good | Disks with large contiguous free regions |
8. Directory Implementation
| Method | How It Works | Search Time | Pros | Cons |
|---|---|---|---|---|
| Linear List | Directory is a list of (filename, pointer) entries | O(n) | Simple to implement | Slow for large directories |
| Hash Table | Hash function maps filename to list entry | O(1) average | Very fast lookup | Collision handling needed, fixed size |
โโโ PART B: DEVICE MANAGEMENT โโโ
9. Device Types
| Type | Description | Examples |
|---|---|---|
| Dedicated | Assigned to one process at a time. No sharing. | Printer, tape drive, plotter |
| Shared | Multiple processes can use simultaneously. | Hard disk, SSD (via I/O scheduling) |
| Virtual | Simulated device that doesn't physically exist. | Virtual printer (print to PDF), RAM disk, virtual terminal |
10. Serial vs Direct Access Devices
| Feature | Serial (Sequential) Access | Direct (Random) Access |
|---|---|---|
| Data Access | Must read in order, from beginning | Can jump to any location |
| Example | Magnetic tape | Hard disk, SSD, CD-ROM |
| Speed | Slow for random access | Fast for any access pattern |
| Use Case | Backups, archival | OS, databases, applications |
11. Disk Structure
A hard disk drive (HDD) is made up of several physical components:
Top View of a Disk Platter:
Track 0 (outermost)
โโโโโโโโโโโโโโโโโโโโโ
โ Track 1 โ
โ โโโโโโโโโโโโโโโ โ
โ โ Track 2 โ โ
โ โ โโโโโโโโโโโโโ โ โ
โ โ โ Spindle โ โ โ โ Platters rotate around spindle
โ โ โ (center) โ โ โ
โ โ โโโโโโโโโโโโโ โ โ
โ โโโโโโโโโโโโโโโ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโ
Each track is divided into SECTORS (smallest unit of data, usually 512 bytes)
โโโโโโฌโโโโโฌโโโโโฌโโโโโฌโโโโโ
โ S1 โ S2 โ S3 โ S4 โ S5 โ โ Sectors on one track
โโโโโโดโโโโโดโโโโโดโโโโโดโโโโโ
CYLINDER = Same track number across ALL platters
Platter 1: Track 5 โโโ
Platter 2: Track 5 โโโผโโ Cylinder 5
Platter 3: Track 5 โโโ
โฑ๏ธ Disk Access Time Formula
Disk Access Time = Seek Time + Rotational Latency + Transfer Time
Seek Time: Time for the disk arm to move to the correct track/cylinder. This is the LARGEST component and what disk scheduling algorithms try to minimise.
Rotational Latency: Time for the disk to rotate until the desired sector is under the read/write head. Average = ยฝ ร (1/RPM) ร 60 seconds.
Transfer Time: Time to actually read/write the data. Usually very small compared to seek time.
12. Disk Scheduling Algorithms โ Full Numericals
๐ GIVEN DATA (Same for ALL algorithms)
Initial Head Position: 53
Request Queue: [98, 183, 37, 122, 14, 124, 65, 67]
Disk Size: 0 to 199 (200 cylinders)
Direction: Towards 0 (left) โ for SCAN, C-SCAN, LOOK, C-LOOK
12.1 FCFS (First Come, First Served)
Algorithm: Process requests in the exact order they arrive in the queue. No reordering.
๐ข FCFS โ Worked Solution
Head movement sequence:
53 โ 98 โ 183 โ 37 โ 122 โ 14 โ 124 โ 65 โ 67
Seek distance calculation:
| Move | From โ To | Distance |
|---|---|---|
| 1 | 53 โ 98 | |53 โ 98| = 45 |
| 2 | 98 โ 183 | |98 โ 183| = 85 |
| 3 | 183 โ 37 | |183 โ 37| = 146 |
| 4 | 37 โ 122 | |37 โ 122| = 85 |
| 5 | 122 โ 14 | |122 โ 14| = 108 |
| 6 | 14 โ 124 | |14 โ 124| = 110 |
| 7 | 124 โ 65 | |124 โ 65| = 59 |
| 8 | 65 โ 67 | |65 โ 67| = 2 |
Total Seek Time = 45 + 85 + 146 + 85 + 108 + 110 + 59 + 2 = 640 cylinders
FCFS Head Movement Diagram:
Position: 0 14 37 53 65 67 98 122 124 183 199
| | | โ | | | | | | |
โ | | | โโโโโโโโโโโโ | | | |
โก | | | | | | โโโโโโโโโโโโโโโโโโโโ |
โข | | โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ |
โฃ | | โโโโโโโโโโโโโโโโ | | | |
โค | โโโโโโโโโโโโโโโโโโโโโโโโโโโ | | |
โฅ | โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | |
โฆ | | | | | | | | โโโโโโ | |
โง | | | | | โโโโโโโโโโโโโโโโโโโโ | |
Wait โ let me fix โฆ and โง:
โฆ | | | | โโโโโโโโโโโโโโโโโโโโโโ | |
โง | | | | โโโ | | | | |
12.2 SSTF (Shortest Seek Time First)
Algorithm: From current head position, move to the nearest pending request. Recalculate after each move.
๐ข SSTF โ Step-by-Step Solution
Pending queue: {98, 183, 37, 122, 14, 124, 65, 67}
Step 1: Head at 53. Distances: 98(45), 183(130), 37(16), 122(69), 14(39), 124(71), 65(12), 67(14). Nearest = 65. Move to 65.
Step 2: Head at 65. Distances: 98(33), 183(118), 37(28), 122(57), 14(51), 124(59), 67(2). Nearest = 67. Move to 67.
Step 3: Head at 67. Distances: 98(31), 183(116), 37(30), 122(55), 14(53), 124(57). Nearest = 37. Move to 37.
Step 4: Head at 37. Distances: 98(61), 183(146), 122(85), 14(23), 124(87). Nearest = 14. Move to 14.
Step 5: Head at 14. Distances: 98(84), 183(169), 122(108), 124(110). Nearest = 98. Move to 98.
Step 6: Head at 98. Distances: 183(85), 122(24), 124(26). Nearest = 122. Move to 122.
Step 7: Head at 122. Distances: 183(61), 124(2). Nearest = 124. Move to 124.
Step 8: Head at 124. Only 183 left (distance 59). Move to 183.
Sequence: 53 โ 65 โ 67 โ 37 โ 14 โ 98 โ 122 โ 124 โ 183
Total Seek Time = 12 + 2 + 30 + 23 + 84 + 24 + 2 + 59 = 236 cylinders
12.3 SCAN (Elevator Algorithm)
Algorithm: The disk arm moves in one direction (like an elevator), serving all requests along the way. When it reaches the end of the disk, it reverses direction and serves remaining requests.
๐ข SCAN โ Worked Solution (Direction = Left)
Direction: Left (towards 0)
Requests left of 53: 37, 14 (sorted descending: 37, 14)
Requests right of 53: 65, 67, 98, 122, 124, 183 (sorted ascending)
Sequence: 53 โ 37 โ 14 โ 0 โ 65 โ 67 โ 98 โ 122 โ 124 โ 183
(Head goes left to 0 โ the disk boundary โ then reverses right)
Seek distances:
| Move | From โ To | Distance |
|---|---|---|
| 1 | 53 โ 37 | 16 |
| 2 | 37 โ 14 | 23 |
| 3 | 14 โ 0 | 14 |
| 4 | 0 โ 65 | 65 |
| 5 | 65 โ 67 | 2 |
| 6 | 67 โ 98 | 31 |
| 7 | 98 โ 122 | 24 |
| 8 | 122 โ 124 | 2 |
| 9 | 124 โ 183 | 59 |
Total Seek Time = 16 + 23 + 14 + 65 + 2 + 31 + 24 + 2 + 59 = 236 cylinders
12.4 C-SCAN (Circular SCAN)
Algorithm: Like SCAN, but after reaching the disk end, the head jumps to the other end and scans in the same direction again. It only serves requests in one direction โ treating the disk as circular.
๐ข C-SCAN โ Worked Solution (Direction = Left)
Direction: Left (towards 0)
Step 1: Move left, serving requests: 53 โ 37 โ 14 โ 0
Step 2: Jump from 0 to 199 (wrap around, no requests served during jump)
Step 3: Continue moving left from 199, serving: 199 โ 183 โ 124 โ 122 โ 98 โ 67 โ 65
Sequence: 53 โ 37 โ 14 โ 0 โ (jump to 199) โ 183 โ 124 โ 122 โ 98 โ 67 โ 65
Seek distances:
| Move | From โ To | Distance |
|---|---|---|
| 1 | 53 โ 37 | 16 |
| 2 | 37 โ 14 | 23 |
| 3 | 14 โ 0 | 14 |
| 4 | 0 โ 199 (wrap) | 199 |
| 5 | 199 โ 183 | 16 |
| 6 | 183 โ 124 | 59 |
| 7 | 124 โ 122 | 2 |
| 8 | 122 โ 98 | 24 |
| 9 | 98 โ 67 | 31 |
| 10 | 67 โ 65 | 2 |
Total Seek Time = 16 + 23 + 14 + 199 + 16 + 59 + 2 + 24 + 31 + 2 = 386 cylinders
12.5 LOOK
Algorithm: Like SCAN, but the head goes only to the last request in each direction, NOT to the disk boundary. It "looks" ahead and reverses when there are no more requests in the current direction.
๐ข LOOK โ Worked Solution (Direction = Left)
Direction: Left (towards 0)
Leftmost request: 14 (NOT 0 โ this is the key difference from SCAN)
Step 1: Move left to last request: 53 โ 37 โ 14
Step 2: Reverse direction (no need to go to 0)
Step 3: Move right: 14 โ 65 โ 67 โ 98 โ 122 โ 124 โ 183
Sequence: 53 โ 37 โ 14 โ 65 โ 67 โ 98 โ 122 โ 124 โ 183
Seek distances:
| Move | From โ To | Distance |
|---|---|---|
| 1 | 53 โ 37 | 16 |
| 2 | 37 โ 14 | 23 |
| 3 | 14 โ 65 | 51 |
| 4 | 65 โ 67 | 2 |
| 5 | 67 โ 98 | 31 |
| 6 | 98 โ 122 | 24 |
| 7 | 122 โ 124 | 2 |
| 8 | 124 โ 183 | 59 |
Total Seek Time = 16 + 23 + 51 + 2 + 31 + 24 + 2 + 59 = 208 cylinders
12.6 C-LOOK (Circular LOOK)
Algorithm: Like C-SCAN, but head goes only to the last request in each direction. After serving the last request going left, it jumps to the farthest request on the right and continues left.
๐ข C-LOOK โ Worked Solution (Direction = Left)
Direction: Left
Step 1: Move left, serving: 53 โ 37 โ 14
Step 2: Jump to the farthest request on right: 14 โ 183
Step 3: Continue left: 183 โ 124 โ 122 โ 98 โ 67 โ 65
Sequence: 53 โ 37 โ 14 โ (jump to 183) โ 124 โ 122 โ 98 โ 67 โ 65
Seek distances:
| Move | From โ To | Distance |
|---|---|---|
| 1 | 53 โ 37 | 16 |
| 2 | 37 โ 14 | 23 |
| 3 | 14 โ 183 (jump) | 169 |
| 4 | 183 โ 124 | 59 |
| 5 | 124 โ 122 | 2 |
| 6 | 122 โ 98 | 24 |
| 7 | 98 โ 67 | 31 |
| 8 | 67 โ 65 | 2 |
Total Seek Time = 16 + 23 + 169 + 59 + 2 + 24 + 31 + 2 = 326 cylinders
Master Comparison Table โ All 6 Disk Scheduling Algorithms
| Algorithm | Total Seek Time | Starvation? | Fairness | Throughput | Best For |
|---|---|---|---|---|---|
| FCFS | 640 | โ No | โ High | โ Low | Light loads, simplicity |
| SSTF | 236 | โ ๏ธ Possible | โ Low | โ Good | Random access patterns |
| SCAN | 236 | โ No | โ Good | โ Good | General purpose |
| C-SCAN | 386 | โ No | โ Very High | โ Good | Heavy uniform loads |
| LOOK | 208 | โ No | โ Good | โ High | Most common practical choice |
| C-LOOK | 326 | โ No | โ Very High | โ High | Server workloads |
13. DASD (Direct Access Storage Devices)
DASD refers to any storage device where data can be accessed directly (randomly) without reading through preceding data.
| DASD (Direct Access) | SASD (Sequential Access) |
|---|---|
| Hard disks, SSDs, CD-ROMs, USB drives | Magnetic tapes |
| Can jump to any block/sector | Must read from beginning |
| Used for OS, databases, applications | Used for backups, archival storage |
| Faster for random workloads | Cheaper per GB, good for sequential reads |
14. Channels and Control Units
In mainframe systems, I/O devices communicate with the CPU through channels and control units:
Channel: A specialised hardware pathway (independent processor) that manages data transfer between memory and I/O devices, freeing the CPU for other work.
| Channel Type | Description | Used For |
|---|---|---|
| Multiplexor Channel | Handles many slow devices simultaneously | Printers, card readers, terminals |
| Selector Channel | Handles one fast device at a time (full speed) | Disk drives, tape drives |
| Block Multiplexor | Hybrid โ interleaves blocks from multiple fast devices | Multiple disk drives |
Control Unit: Sits between the channel and the device. Manages device-specific operations and translates channel commands into device commands.
Learn by Doing โ 3-Tier Lab Structure
๐ข Tier 1 โ GUIDED: File System Exploration with Linux Shell
Step 1: View Inode Information
Every file in Linux has an inode โ a data structure storing file metadata.
Bash # List files with inode numbers ls -i # Detailed file metadata stat filename.txt
Step 2: Disk Space Analysis
Bash # Disk space usage (human-readable) df -h # Directory size du -sh /home du -sh /var/log
Step 3: Block Device Listing
Bash # List all block devices lsblk # Detailed partition info (requires sudo) sudo fdisk -l
Step 4: File Operations
Bash # Create a file touch myfile.txt # Write to file echo "Hello IRCTC - File Management Lab" > myfile.txt # Read file contents cat myfile.txt # Copy file cp myfile.txt backup.txt # Move/rename file mv backup.txt backup_old.txt # Delete file rm backup_old.txt
Step 5: Directory Operations
Bash # Create nested directories mkdir -p projects/os/unit8 # List recursively with details ls -laR projects/ # Tree view (install: sudo apt install tree) tree projects/
Step 6: File Permissions
Bash # Set permissions (rwxr-xr-x) chmod 755 myfile.txt # Add execute for owner chmod u+x myfile.txt # View permissions ls -la myfile.txt
Step 7: File System Info
Bash # Detect file type file myfile.txt # Count lines wc -l myfile.txt # View first/last lines of system files head -5 /etc/passwd tail -5 /etc/passwd
๐ Congratulations! You've explored the Linux file system hands-on. Take screenshots of your terminal โ these are portfolio evidence of your Linux skills.
๐ก Tier 2 โ SEMI-GUIDED: Build a Disk Scheduling Calculator in Python
Your Mission:
Build a Python program that takes a head position and request queue, then calculates total seek time for FCFS, SSTF, SCAN, and LOOK algorithms.
Starter Code โ FCFS (complete):
Python def fcfs(head, requests): seek = 0 current = head sequence = [current] for r in requests: seek += abs(current - r) current = r sequence.append(current) return seek, sequence # Test head = 53 queue = [98, 183, 37, 122, 14, 124, 65, 67] total, seq = fcfs(head, queue) print(f"FCFS: Total Seek = {total}, Sequence = {seq}")
Hints for SSTF:
Python def sstf(head, requests): pending = requests.copy() seek = 0 current = head sequence = [current] while pending: # Find nearest request nearest = min(pending, key=lambda x: abs(x - current)) seek += abs(current - nearest) current = nearest sequence.append(current) pending.remove(nearest) return seek, sequence
Hints for SCAN:
- Sort the requests
- Split into two lists: left of head and right of head
- If going left: serve left list (descending) โ go to 0 โ serve right list (ascending)
- Sum all seek distances
Hints for LOOK:
- Same as SCAN, but DON'T go to 0 or 199
- After serving leftmost request, reverse immediately
๐ด Tier 3 โ OPEN CHALLENGE: Disk Scheduling Visualizer with matplotlib
The Brief:
Create a Python program using matplotlib that:
- Plots head movement for all 6 algorithms as line charts (X = step, Y = cylinder position)
- Bar chart comparison of total seek times for all 6 algorithms
- Animates the disk head movement using
matplotlib.animation - Exports all charts as PNG files for your portfolio
Deliverable: Python script + 6 PNG charts. Upload to GitHub as "Disk Scheduling Visualizer." This is a strong portfolio project for Linux Admin and Storage Engineer roles.
Industry Spotlight โ A Day in the Life
๐จโ๐ป Suresh Patel, 32 โ Storage Engineer at TCS, Mumbai
Background: BCA from Mumbai University. Started as a junior Linux admin at a small IT services company in Andheri. Learned storage management, RAID configurations, and backup automation on the job. After 3 years, cracked the TCS lateral entry interview and joined their Infrastructure team.
A Typical Day:
9:00 AM โ Check Nagios and Zabbix monitoring dashboards for overnight storage alerts. One client's disk usage hit 92% โ needs immediate attention.
10:00 AM โ Analyse disk I/O patterns on a banking client's production servers. Their database queries are causing excessive random I/O โ recommend switching from CFQ to Deadline scheduler.
11:30 AM โ Configure a RAID-5 array for a new e-commerce client deployment. 6 disks ร 2TB each, with one disk for parity.
1:00 PM โ Lunch at TCS cafeteria in Airoli.
2:00 PM โ Troubleshoot a slow database issue. Run iostat and iotop โ discover the I/O scheduler is suboptimal. Change from CFQ to Deadline. Response time improves by 40%.
4:00 PM โ Write Bash + Python automation scripts for disk space monitoring across 200+ servers. Script sends Slack alerts when usage exceeds 85%.
5:30 PM โ Team meeting to plan SAN (Storage Area Network) migration for a banking client. Discussing NetApp ONTAP vs Dell EMC PowerStore.
| Detail | Info |
|---|---|
| Tools Used Daily | Linux CLI, Nagios, Zabbix, NetApp ONTAP, Bash, Python, iostat, iotop |
| Entry Salary (2024) | โน4โ6 LPA + benefits |
| Mid-Level (3โ5 yrs) | โน8โ12 LPA |
| Senior (7+ yrs) | โน15โ25 LPA |
| Companies Hiring | TCS, Infosys, HCL, NetApp, Dell EMC, IBM, Pure Storage, HPE |
Earn With It โ Freelance & Income Roadmap
๐ฐ Your Earning Path After This Unit
Portfolio Piece: "Disk Scheduling Algorithm Simulator" โ a Python tool that calculates and visualises seek time for all 6 algorithms. Upload to GitHub.
Beginner Gig Ideas:
โข Shell scripting automation bundles for small IT firms โ โน2,000โโน5,000/bundle
โข Linux server monitoring setup (Nagios/Zabbix basic config) โ โน5,000โโน8,000/project
โข Backup automation scripts (cron + rsync + email alerts) โ โน3,000โโน6,000/project
โข Disk usage report scripts for sysadmins โ โน2,000โโน4,000/script
| Platform | Best For | Typical Rate |
|---|---|---|
| Internshala | Indian student internships & freelance | โน2,000โโน8,000/project |
| Fiverr | Shell scripting & automation gigs | $10โ$50/gig (โน800โโน4,000) |
| Upwork | Linux admin tasks, longer projects | $15โ$40/hour |
| Direct outreach to IT companies | โน5,000โโน15,000/project | |
| Local IT shops | Server setup, backup automation | โน3,000โโน10,000/project |
โฑ๏ธ Time to First Earning: 3โ4 weeks (complete Tier 1 lab + create 2 automation scripts + set up Internshala profile)
MCQ Assessment Bank โ 30 Questions (Bloom's Mapped)
Remember / Identify (Q1โQ5)
Which file allocation method stores all block pointers in a separate index block?
- Contiguous
- Linked
- Indexed
- Hashed
In a bitmap for free-space management, a '0' typically represents:
- An occupied block
- A free block
- A bad sector
- A reserved block
Which directory structure allows file sharing through links?
- Single-level
- Two-level
- Tree-structured
- Acyclic graph
The method of accessing data one record after another, in order, is called:
- Direct access
- Sequential access
- Indexed access
- Random access
SSTF stands for:
- Shortest Seek Time First
- Simple Seek Transfer First
- Sequential Seek Time Fast
- Shortest Sector Time First
Understand / Explain (Q6โQ10)
Why does contiguous allocation suffer from external fragmentation?
- Files are too large for the disk
- Files are deleted leaving scattered free spaces between allocated files
- Index blocks overflow and waste space
- Pointers inside blocks break the chain
How does SCAN differ from LOOK?
- SCAN serves requests in FCFS order
- SCAN goes to the disk boundary even if no request exists there; LOOK stops at the last request
- LOOK is always slower than SCAN
- There is no difference between them
Why is linked allocation unsuitable for direct (random) access?
- Blocks are too large to seek efficiently
- The file system lacks an index
- You must traverse each block's pointer sequentially to reach the desired block
- Files cannot grow beyond one block
What is the purpose of FAT (File Allocation Table)?
- To store file names and their creation dates
- To manage CPU scheduling queues
- To store block pointers for linked allocation in a centralised table
- To encrypt file contents for security
Why might C-SCAN provide more uniform wait times than SCAN?
- C-SCAN uses less memory than SCAN
- C-SCAN only serves requests in one direction, then wraps around, so no request at one end waits for a full back-and-forth sweep
- C-SCAN is inherently faster
- C-SCAN uses SSTF internally for each direction
Apply / Calculate (Q11โQ20) โ Numerical Problems
Given head=53, queue=[98,183,37,122,14,124,65,67]. What is the total seek time using FCFS?
- 236
- 640
- 208
- 386
Using SSTF with head=53 and queue=[98,183,37,122,14,124,65,67], what is the FIRST request served?
- 98
- 37
- 65
- 67
In SCAN (direction=left) with head=53 and same queue, what is the total seek time?
- 640
- 236
- 208
- 386
In LOOK (direction=left) with head=53 and same queue, what is the total seek time?
- 236
- 386
- 208
- 640
A disk has 8 blocks. The free-space bitmap is 00111100. How many blocks are FREE?
- 4
- 2
- 6
- 3
Using C-SCAN (left direction) with head=53, the head wraps from 0 to 199. What is the total seek time?
- 208
- 236
- 386
- 326
In indexed allocation, a file uses index block 20 with entries [4, 7, 2, 11, 15]. To access the 3rd logical data block, the OS reads block number:
- 20, then block 2
- 20, then block 7
- Block 2 directly
- Block 7 directly
Head=50, queue=[82,170,43,140,24,16,190]. Using SSTF, the first TWO requests served are:
- 82, 170
- 43, 24
- 43, 16
- 82, 140
C-LOOK with head=53, direction=left, same queue. The jump is from 14 to 183. Total seek time?
- 208
- 326
- 386
- 640
In contiguous allocation, a file starts at block 10 and has length 5 blocks. To access the 4th logical block (0-indexed: block 3), the physical block number is:
- 10
- 13
- 14
- 15
Analyze / Compare (Q21โQ25)
Which allocation method would be BEST for a read-only CD-ROM file system?
- Linked
- Indexed
- Contiguous
- Hashed
A sysadmin notices that disk I/O requests at cylinders 1 and 199 are always served last, regardless of arrival time. Which scheduling algorithm is most likely in use?
- FCFS
- SSTF
- SCAN
- C-LOOK
Compare SCAN and C-SCAN. In which scenario is C-SCAN clearly better?
- Very few requests on the disk
- Requests clustered in the centre of the disk
- Heavy, uniformly distributed requests across all cylinders
- All requests on one side of the disk
A file system uses linked allocation with 512-byte blocks and 4-byte pointers. What is the effective data capacity per block?
- 512 bytes
- 508 bytes
- 516 bytes
- 256 bytes
Why do modern operating systems prefer tree-structured directories over single-level?
- Tree structures require less memory
- Tree structures have faster access times
- Hierarchical organisation, name isolation, and scalability for millions of files
- Tree structures support file encryption natively
Evaluate / Justify (Q26โQ28)
A database server has random I/O pattern with thousands of concurrent queries. Which disk scheduling algorithm should the admin choose and why?
- FCFS โ simplest to implement
- SSTF โ gives best individual response time
- C-LOOK โ uniform wait time, no starvation, practical
- SCAN โ goes both ways for coverage
An admin is choosing between bitmap and linked list for free-space management on a 2TB disk with 4KB blocks. Which is better and why?
- Linked list โ simpler implementation
- Bitmap โ compact representation, fast contiguous block finding
- Both are equally efficient at this scale
- Neither works for disks larger than 1TB
Evaluate why indexed allocation with multilevel index is used in Unix/Linux ext4 instead of contiguous allocation.
- Easier to implement than contiguous
- No fragmentation, supports large files, allows direct access; contiguous can't grow files easily
- Better security features
- Faster for small files under 1KB
Create / Design (Q29โQ30)
Design a scenario where SSTF performs WORSE than FCFS in terms of total response time for all requests.
- A large queue with the head positioned at the centre of the disk
- A small queue with all requests near the head position
- New requests continuously arriving near the current head while old far-away requests starve indefinitely
- A completely random queue with no pattern
A student proposes a "Priority SCAN" algorithm that serves high-priority I/O requests first within the SCAN sweep. What is the main potential drawback?
- Too complex to implement in kernel space
- High-priority request flood could starve low-priority requests indefinitely
- Uses too much memory for the priority queue
- Always slower than plain FCFS
Short Answer Questions (5 Questions)
Q1. Explain the three file allocation methods with one advantage and one disadvantage of each.
Contiguous Allocation: Each file occupies consecutive blocks on disk. Advantage: Fast sequential and direct access since blocks are adjacent. Disadvantage: Suffers from external fragmentation โ deleted files leave gaps that may not fit new files.
Linked Allocation: Each block contains a pointer to the next block, forming a chain. Advantage: No external fragmentation โ any free block can be used. Disadvantage: No direct access โ must traverse the entire chain to reach a specific block, making random reads very slow.
Indexed Allocation: A separate index block stores pointers to all data blocks. Advantage: Supports both sequential and direct access efficiently. Disadvantage: The index block itself wastes space, especially for small files that don't need many pointers.
Q2. Describe the SCAN disk scheduling algorithm with an example. Why is it called the "elevator algorithm"?
SCAN moves the disk head in one direction (e.g., left), serving all pending requests along the way. When it reaches the end of the disk (cylinder 0), it reverses direction and serves remaining requests going right. Example: Head=53, direction=left, queue=[98,183,37,122,14,124,65,67]. Sequence: 53โ37โ14โ0โ65โ67โ98โ122โ124โ183. Total seek = 236 cylinders.
It is called the "elevator algorithm" because it behaves exactly like an elevator in a building โ the elevator goes down, stopping at every requested floor, then reverses and goes up, stopping at every requested floor. It doesn't change direction midway just because someone on a higher floor pressed the button.
Q3. Compare bitmap and linked list methods of free-space management.
Bitmap: Uses one bit per block (0=free, 1=occupied). It requires extra space (e.g., 64MB for a 2TB disk with 4KB blocks) but allows very fast identification of contiguous free blocks using bit operations. Most modern file systems (ext4, NTFS) use bitmaps.
Linked List: All free blocks are linked together, with each free block pointing to the next free block. It doesn't require extra space (uses the free blocks themselves) but is very slow for traversal โ finding free blocks requires following the chain. Finding contiguous free blocks is extremely difficult. Suitable only for small file systems.
Q4. What is the difference between SCAN and LOOK? Why is LOOK preferred in practice?
SCAN moves the head to the physical end of the disk (cylinder 0 or the last cylinder) before reversing, even if there are no pending requests beyond the last served request. LOOK reverses direction at the last pending request โ it "looks" ahead and turns back when there are no more requests in the current direction.
LOOK is preferred because it avoids unnecessary head movement to disk edges. In our example, SCAN goes to cylinder 0 (14 extra cylinders of wasted movement), while LOOK reverses at cylinder 14. This saves seek time: SCAN=236, LOOK=208 โ a 12% improvement. All practical disk schedulers use LOOK variants, not pure SCAN.
Q5. Explain the concept of an acyclic graph directory. What is the dangling pointer problem?
An acyclic graph directory extends the tree structure by allowing shared files and subdirectories through links (hard links and symbolic links). Multiple directory entries can point to the same file, enabling collaboration without file duplication. The "acyclic" constraint means no cycles are allowed โ directory A cannot be a child of directory B if B is already a child of A.
The dangling pointer problem occurs when the original file is deleted but links still point to it. For example, User1 creates report.pdf and User2 creates a link to it. If User1 deletes the file, User2's link now points to a non-existent file โ a "dangling" pointer. Solutions include reference counting (track how many links exist; only delete when count reaches 0) and using symbolic links that gracefully report "file not found."
Case Studies
๐ Case Study 1: IRCTC Storage Architecture During Tatkal
Scenario: IRCTC handles 30 million ticket bookings daily. During the Tatkal window (10:00โ10:30 AM), over 15 lakh bookings happen in 30 minutes. Their storage infrastructure uses:
- Indexed allocation for ticket records (each ticket = one record with PNR, passenger details, status)
- RAID-5 arrays for redundancy (data survives single disk failure)
- C-LOOK disk scheduling for uniform I/O response times
- Bitmap free-space management for fast block allocation during peak load
Questions:
1. Why is indexed allocation preferred over linked allocation for ticket records?
Model Answer: IRCTC needs to retrieve individual tickets instantly by PNR number โ this requires direct/random access. Indexed allocation supports direct access (read index block โ jump to data block). Linked allocation would require traversing the chain from the start of each file, making PNR lookups unacceptably slow during Tatkal when 8,333 lookups happen per second.
2. What would happen if FCFS disk scheduling was used during Tatkal?
Model Answer: FCFS would cause severe performance degradation. With 25,000 concurrent users, disk requests would arrive for random cylinders. FCFS processes them in arrival order, causing the head to thrash across the entire disk โ our example showed FCFS gives 640 cylinders vs LOOK's 208. During Tatkal, this would mean 3ร longer disk access times, leading to timeout errors, booking failures, and angry passengers.
3. Calculate: If Tatkal generates 1500 disk requests/second and the first 5 requests from head=100 are [45, 130, 20, 150, 80], find total seek time using SSTF.
Model Answer:
From 100: distances = 45(55), 130(30), 20(80), 150(50), 80(20). Nearest = 80. Move to 80. Seek = 20.
From 80: distances = 45(35), 130(50), 20(60), 150(70). Nearest = 45. Move to 45. Seek = 35.
From 45: distances = 130(85), 20(25), 150(105). Nearest = 20. Move to 20. Seek = 25.
From 20: distances = 130(110), 150(130). Nearest = 130. Move to 130. Seek = 110.
From 130: remaining = 150(20). Move to 150. Seek = 20.
SSTF sequence: 100โ80โ45โ20โ130โ150. Total = 20+35+25+110+20 = 210 cylinders.
๐ Case Study 2: Google India Data Center File Systems
Scenario: Google's data center in Mumbai uses GFS (Google File System), a distributed file system designed for large-scale data processing:
- Files are split into 64 MB chunks, each replicated 3 times across different servers
- A Master server maintains the fileโchunk mapping (metadata), similar to indexed allocation at massive scale
- Chunk servers use contiguous allocation locally for each 64 MB chunk
- Disk scheduling: Modified C-SCAN optimised for sequential reads (Google's workloads are primarily large sequential reads)
Questions:
1. Why does GFS use large 64 MB chunks instead of standard 4 KB blocks?
Model Answer: Google processes massive files (multi-GB web crawl data, YouTube video files). Using 4KB blocks would create billions of entries in the metadata server, overwhelming it. 64MB chunks reduce metadata by 16,000ร. Also, larger chunks mean fewer seeks โ the disk head seeks once and reads 64MB sequentially, which is far more efficient for throughput-oriented workloads than many small random reads.
2. How is GFS's chunkโserver mapping similar to indexed allocation?
Model Answer: In indexed allocation, an index block stores pointers to all data blocks of a file. Similarly, the GFS Master server maintains a mapping table: for each file, it stores which chunk servers hold each chunk (like an index block pointing to data blocks on different "disks"/servers). To read a file, the client first contacts the Master (like reading the index block), gets chunk locations, then reads directly from chunk servers (like reading data blocks).
3. Why replicate each chunk 3 times? What's the trade-off?
Model Answer: Replication provides fault tolerance โ if one server fails, data is still available on two others. Three copies ensure data survives even two simultaneous failures. The trade-off is storage cost: 3ร replication means 1 PB of data requires 3 PB of disk space. Google accepts this because data availability is worth more than storage cost. Additionally, replicas can serve parallel read requests, improving read throughput.
Chapter Summary
๐ Unit 8 โ Key Takeaways
1. A file has attributes (name, type, size, location, protection, timestamps) and supports operations like create, open, read, write, seek, delete, and truncate.
2. Access methods: Sequential (read in order), Direct (jump to any block), Indexed Sequential (index + sequential within blocks).
3. Directory structures evolve from single-level (flat) โ two-level (per user) โ tree (hierarchical) โ acyclic graph (sharing via links) โ general graph (cycles allowed). Tree-structured is the standard in modern OS.
4. Allocation methods: Contiguous (fast but fragmentation), Linked (flexible but no random access), Indexed (best of both โ used in Unix/Linux i-nodes).
5. Free-space management: Bitmap (most common, fast), Linked list (simple but slow), Grouping (batch), Counting (compact for contiguous regions).
6. Disk structure: Platters โ Tracks โ Sectors โ Cylinders. Disk access time = Seek time + Rotational latency + Transfer time.
7. 6 Disk Scheduling Algorithms (with our example โ Head=53, Queue=[98,183,37,122,14,124,65,67]): FCFS(640), SSTF(236), SCAN(236), C-SCAN(386), LOOK(208), C-LOOK(326).
8. LOOK/C-LOOK are the most practical algorithms โ used in real OS schedulers. They save unnecessary movement to disk edges.
9. File protection uses access control lists (ACL), capability lists, and the Linux chmod permission system (rwx for owner/group/others).
10. Device types: Dedicated (printer), Shared (disk), Virtual (RAM disk). Channels (multiplexor, selector, block multiplexor) connect devices to the CPU in mainframe systems.
Earning Checkpoint
| Skill | Tool / Method | Portfolio Output | Earning Ready? |
|---|---|---|---|
| File System Concepts | Conceptual | โ | โ Yes โ interview ready |
| Shell Scripting | Bash / Linux CLI | Lab Screenshots + Scripts | โ Yes โ โน2Kโโน5K/automation bundle |
| Disk Scheduling Numericals | Python Calculator | Simulator Output | โ Yes โ tuition/tutoring content |
| Storage Management | Linux CLI + Python | Monitoring Scripts | โ Yes โ โน5Kโโน8K/project |
| Disk Scheduling Visualizer | Python + matplotlib | Algorithm Comparison Charts | โฌ Not yet โ need matplotlib practice |
โ Unit 8 complete. Numerical problems: 8+. MCQs: 30. Ready for Unit 9!
[QR: Link to EduArtha video tutorial โ File & Device Management]