Guidelines of B.Sc.
(H) Computer Science Sem III (NEP) Operating System
(DSC 08) Core Course
Suggested
S.No. Unit Chapter(s) Number of
Weeks
1 Introduction 1.1, 1.4, 1.5, 1.6, 1.7, 1.8 2
2 Operating System 2.1, 2.3, 2.4, 2.5, 2.7 2.7.4 2
Structures
3 Process Management 3.1, 3.2, 3.3 (excluding 5
process creation using
Windows API figure
3.11)
4.1, 4.2, 4.3, 4.4 4.4.1
5.1, 5.2, 5.3 5.3.4
6.1, 6.2, 6.3
7.1, 7.2, 7.3
4 Memory 8.1.3, 8.2, 8.3, 8.4, 8.5-8.5.2 4
Management 9.2, 9.4 9.4.4
5 File System 10.1 10.1.2, 10.2, 10.3 2
10.3.6
12.1, 12.4
Reference Book
Silberschatz, A., Galvin, P. B., Gagne G. Operating System Concepts, 9th edition, John Wiley
Publications, 2016.
Additional Resources
1. Dhamdhere, D. M., Operating Systems: A Concept-based Approach, 2nd edition, Tata McGraw-
Hill Education, 2017.
2. Kernighan, B. W., Rob Pike, R. The Unix Programming Environment, Englewood Cliffs, NJ:
Prentice-Hall, 1984.
3. Stallings, W. Operating Systems: Internals and Design Principles, 9th edition, Pearson Education,
2018.
4. Tanenbaum, A. S. Modern Operating Systems, 3rd edition, Pearson Education, 2007.
Suggested Practical List for the Operating System Paper (DSC08)
1. Demonstration of various Operating System functions using OS Simulator.
2. Execute various LINUX commands for:
i. Information Maintenance: wc, clear, cal, who, date, pwd
ii. File Management: cat, cp, rm, mv, cmp, comm, diff, find, grep, awk
iii. Directory Management: cd, mkdir, rmdir, ls
3. Execute various LINUX commands for:
i. Process Control: fork, getpid, ps, kill, sleep
ii. Communication: Input-output redirection, Pipe
iii. Protection Management: chmod, chown, chgrp
4. Write a program (using fork () and/or exec () commands) where parent and child
execute:
i.same program, same code.
ii. same program, different code.
iii. before terminating, the parent waits for the child to finish its task.
5. Write a program to report behaviour of Linux kernel including kernel version, CPU
type and CPU information.
6. Write a program to report behaviour of Linux kernel including information on
configured memory, amount of free and used memory. (Memory information)
7. Write a program to copy files using system calls.
8. Write a program to implement First Come First Serve (FCFS) scheduling algorithm.
9. Write a program to implement Shortest Job First (SJF) scheduling algorithm.
10. Write a program to implement non-preemptive priority-based scheduling algorithm.
11. Write a program to calculate sum of n numbers using Pthreads.
12. Write a program to implement first-fit, best-fit and worst-fit allocation strategies.