Operating Systems Guidelines and Practical List
Course Objective: The course introduces the students to different types of operating systems. Operating system modules such as memory management, process management and file management are covered in detail.
Operating System Guidelines
Introduction: Operating systems (OS) definition, Multiprogramming and Time Sharing operating systems, real time OS, Multiprocessor operating systems, Multicore operating systems, Various computing environments.
Operating System Structures: Operating Systems services, System calls and System programs, operating system architecture (Micro Kernel, client server) operating.
Process Management: Process concept, Operation on processes, Multi-threaded processes and models, Multicore systems, Process scheduling algorithms, Process synchronization. The Critical-section problem and deadlock characterization, deadlock handling.
Memory Management: Physical and Logical address space; Memory allocation strategies – Fixed and Variable Partitions, Paging, Segmentation, Demand Paging and virtual memory, Page Replacement algorithm.
File and I/O Management: Directory structure, File access methods, Disk scheduling algorithms.
Operating System Reference Books:
Silberschatz, A., Galvin, P. B., & Gagne, G. (2008). Operating Systems Concepts. 8th edition.. John Wiley Publications.
Operating System Practicals List
Write a program (using fork() and/or exec() commands) where parent and child execute: a) same program, same code. b) same program, different code. – c) before terminating, the parent waits for the child to finish its task.
Write a program to report behaviour of Linux kernel including kernel version, CPU type and model. (CPU information)
Write a program to report behaviour of Linux kernel including information on 19 configured memory, amount of free and used memory. (memory information)
Write a program to print file details including owner access permissions, file access time, where file name is given as argument.
Write a program to copy files using system calls.
Write a program to implement FCFS scheduling algorithm.
Write a program to implement Round Robin scheduling algorithm.
Write a program to implement SJF scheduling algorithm.
Write a program to implement non-preemptive priority based scheduling algorithm.
Write a program to implement preemptive priority based scheduling algorithm.
Write a program to implement SRJF scheduling algorithm.
Write a program to calculate sum of n numbers using thread library.
Write a program to implement first-fit, best-fit and worst-fit allocation strategies.