Anirban's Personal Homepage
Operating System Laboratory
Assignments
Before
doing the assignments, go through the Lab Tutorial Part
– I and Part –II in each lab sessions
Assignments
Part A: Introduction to Unix System
Familiarize yourself with
the various unix system commands and their options. For example, ls, cat,
mkdir, rmdir, rm, cd, cp, mv, wc, grep, tail, head, cut, paste, sort etc etc.
Part B: Shell Programming
1. Write a shell program to find the min
& max among n inputed numbers.
2. Write
a shell program to check a string is palindrome or not.
3.
Write a shell program to print a string
in reverse order.
4.
Write a shell program to find the sum
of the digits of an inputted number.
5. Write
a shell program to display:
i> Process of current machine.
ii> All processes of particular user, the
user name will be given through the key board.
iii> Entire process table given by the key
board
a> of a particular IP/Terminal.
b> of a particular user.
6. Write a shell program to display the
name & department of a student by reading from a ' | ' (pipe) delimited
text file database after the user inputs the roll number as the argument of
the shell program.
The name &
department should be displayed in well formatted fashion.
a> The shell script assumes a particular
text file database.
b> The name of the text file database is
inputed as another argument to the script along with roll number. Use shift
function.
DO NOT USE TEMPORARY
INTERMEDIATE FILE.
Part C: Processes & OS concepts implementation
1.
Familiarization with process related commands in Unix, ps, kill, nice,
nohup etc.
2.
Process creation, child process, parent process creation using fork()
and Exec() system calls in ANSI C programs. Demonstration of Orphans and
Zombie processes. Development of simple C programs that use the different
variations of the above system calls.
3.
Signals and signal passing across processes using simple ANSI C
programs. Signal Trapping and signal generation, hooking of subroutines to
specific kernel signals. Signal passing between parent and child process.
4.
Message passing between process, creation of message queue using the
msgget() system call in ANSI C. C programs that communicate with each other
using messages.
5.
Write a C program which will
accept a string as input from the command console and send it as a message to
the receiver program. The receiver program upon receiving the message from
the sender will display the received message as well as send an
acknowledgment to the sender program. The sender program will then display
“Acknowledgment received from receiver” and then will wait for the next user
input from the console.
6.
Semaphore creation,
semaphore destruction and semaphore queue. Simple C programs that set and
retrieve semaphore values.
|