free web hosting | free website | Web Hosting | Free Website Submission | shopping cart | Coaching Institute | php hosting
affordable web hosting Pets web page hosting web hosting website hosting web hosting service web hosting web host

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.