St. Joseph's College of Engineering · AI & Data Science · 2026–2027
Twenty experiments in C and shell script: UNIX commands, CPU scheduling, synchronization, deadlock, memory allocation, page replacement, file allocation and disk scheduling.
Each page link opens the full manual at that experiment.
Directory, file, process, text and permission commands: pwd, ls, cd, mkdir, cp, mv, rm, who, date, head, tail, wc, chmod, man.
Recorded run pwd → /home/user
C programs that reimplement ls, cp, grep and cat with opendir, readdir, open, read and write.
Recorded run ./copy src.txt dest.txt → File copied successfully
A bash script that reads N values into an array and tracks the maximum in a loop.
Recorded run 15 20 30 40 55 → largest is 55
A menu-driven script that runs date, who or prints $HOME with case…esac, and quits on w.
Recorded run choice 3 → Home directory is /home/sys1
Serves processes in arrival order and prints the Gantt chart, waiting time and turnaround time.
Recorded run bursts 3 1 4 6 8 → avg waiting 5.80, avg turnaround 10.20
Sorts processes by burst time, then computes waiting and turnaround times.
Recorded run bursts 4 1 7 9 3 → P2 P5 P1 P3 P4, avg waiting 5.60
Runs processes in order of priority value and reports the averages.
Recorded run 5 processes → avg waiting 7.40, avg turnaround 10.40
Gives each process a fixed time slice in turn until every burst is finished.
Recorded run bursts 3 5 2 8 10, slice 5 → avg waiting 8.80
A three-slot bounded buffer with wait and signal on empty, full and mutex.
Recorded run produce Blue, Green → consumed in order, buffer empty
A parent creates a segment with shmget and shmat; the child writes into it and the parent reads it back.
Recorded run child writes a–z → parent prints abcdefghijklmnopqrstuvwxyz
Builds the need matrix and runs the safety algorithm to find a safe sequence.
Recorded run 3 processes, 3 resources → safe state, P0 P1 P2
Computes availability from allocation and request matrices and marks processes that can finish.
Recorded run 3 processes → no deadlock detected
Fixed-partition allocation with three placement strategies and fragment reporting.
Recorded run best fit → P1 (15) in block 2 (20), fragment 5
Replaces the oldest page in a circular frame queue and counts page faults.
Recorded run 1 3 2 1 4 5 3 2, 3 frames → 7 page faults
Evicts the page that has gone unused the longest.
Recorded run 2 3 4 3 2 4 1 5, 2 frames → 7 page faults
Evicts the page whose next use is farthest in the future.
Recorded run 15 pages, 4 frames → 12 page faults, rate 0.80
Places a file in consecutive blocks of a 20-block memory and rejects occupied or out-of-range starts.
Recorded run file 15, start 8, length 5
Checks each requested block against the list of allocated blocks before assigning the file.
Recorded run blocks 3 4 5 6 8 9 taken → request 1–9 refused
An index block holds the addresses of a file's data blocks and refuses blocks already in use.
Recorded run index block 4 → blocks 5 8 9 10 11
Simulates head movement for three algorithms and totals the seek distance.
Recorded run FCFS 362 · SCAN 240 · C-SCAN 382 (average 47.75)
On completing the course
Text and reference
Full programs, algorithms and screenshotsThe manual has every program listing and terminal output, plus the viva questions at the end.
Open full manual (PDF)