CLUSTER UNIVERSITY SRINAGAR
SYLLABUS (FYUP UNDER NEP - 2020)
Offered by Department of Information Technology
Semester 5th (Minor Course - CT1)
Title: Operating Systems and Shell Programming
Course Code: UGICT22N501 Max. Marks: 100
Credits: 4 (Theory: 3, Practical: 1) Theory External: 60; Min Marks: 24
Contact Hrs: 75 (Theory: 45, Practical: 30) Theory Internal (Continuous Assessment): 15 Marks, Min Marks: 06
Practical Experimental Basis= 15, Min. Marks: 06
Practical Experimental (Continuous assessment) = 10, Min. Marks: 04
Course Objectives:
The main objective of this course is to understand the essential principles of operating systems, including process and memory
management, file systems, and system calls. Students will gain practical skills in shell programming by writing and debugging
scripts to automate tasks and manage system resources.
Course Outcomes:
1. Students will be able to explain fundamental operating system concepts such as process management, memory
management, file systems, and I/O systems.
2. Students will demonstrate the ability to manage processes and threads, including creation, synchronization, and
communication between processes.
3. Students will understand and apply memory management techniques like paging, segmentation, and virtual memory in
operating systems.
4. Students will be able to write and debug shell scripts to automate common tasks in Unix/Linux environments,
demonstrating proficiency in scripting languages such as Bash.
5. Students will understand and analyze the concepts of resource management and deadlocks, applying strategies to prevent
or resolve deadlock situations.
6. Students will gain knowledge in operating system security, focusing on concepts like access control, user authentication,
and protection mechanisms.
7. Students will apply theoretical knowledge of operating systems and shell programming to solve practical problems,
showcasing their ability to implement solutions in real-world scenarios
Unit 1: (15 Hrs.)
Operating system overview: objectives and functions, Evolution of Operating System, Types of Operating Systems.
Operating system structure.
Process Management and Coordination: Process concept, Process States, Process Description and Process Control, Interrupts,
Process Scheduling, - Types of Scheduling – Scheduling algorithms.
Unit 2: (15 Hrs.)
Inter-process Communication, Processes and Threads, Concurrency: Principles of Concurrency—Mutual Exclusion,
Semaphores, Monitors, Readers/Writers Problem Deadlocks: Basic concepts, necessary conditions for deadlock, resource
allocation graph, Banker’s algorithm, Recovery from Deadlock.
Unit 3: (15 Hrs.)
Memory management requirements, Memory Hierarchy, Cache Memory, Direct Memory Access Partitioning, Paging and
Segmentation, Demand Paging, Virtual memory - Hardware and control structures.
I/O management and disk scheduling—I/O devices, organization of I/O functions; File management—organization,
directories, File sharing, and Record blocking, secondary storage management.
Lab Work (1 Credits: 30 Hours)
1 Study of UNIX basic commands: cal, date, echo, printf, bc, script, mailx, passwd, who, uname, tty, stty, pwd, cd, mkdir,
rmdir, ls, cat, cp, rm, mv, more, file, wc, od, cmp,comm, diff, chmod, vi
2 Study of vi editor
3 Write a Script to print “hello world”
4 Write a script to create a simple function.
5 Write a script to study local variables.
6 Write a script to study if...else
7 Write a script to study for, while and until
8 Write a script that finds the prime factors of a given number.
9 Write a script to check if the two strings are the same or not.
10 Write a script that will print a message “Good Morning” or “Good Afternoon” according to the user login time.
11 Linux Commands: ls, cd, pwd, cp, mv, rm, mkdir, rmdir, chmod, grep, find, touch, cat, man, ps, cmp, find, grep, od, tar,
ps, df, du, kill, nice, sleep, test, who,cal, tee, expr, uname,
12. Introduction of Bash shell, Bash Features, Command Line, Command Line Expansion, and Editing, gnome-terminal.
Recommended Books
1) Operating system concepts, Abraham Silberchatz, Galvin,Wiley Publications
2) Modern operating systems, Andrew Tannenbaum, Pearson Education
3) Operating system, Internals and Design principles, W Stallings, Pearson Education
4) “Unix Shell Programming” by Stephen G. Kochan and Patrick Wood.
5) “Shell Scripting: Expert Recipes for Linux, Bash and more” by Steve Parker.
6) The Unix programming Environment by Brain W. Kernighan & Rob Pike, Pearson.
7) Introduction to Unix Shell Programming by M.G.Venkateshmurthy, Pearson.