(Written) Assignment 1 - 10 Marks

1. Understand the Mars Pathfinder Problem and how it was solved and write it down in your own words. (3 Marks)

2. Take the output of the ps command and identify which are the processes being run by you. Trace the tree to the root for two of these processes. Verify that the root of the tree is the init process. Explain what commands or process you used to trace the tree. (2 Marks)

3. Many CPU scheduling algorithms are parameterized. For example, the RR algorithm requires a parameter to indicate the time slice. Multilevel feedback queues require parameters to define the number of queues, the scheduling algorithms for each queue, the criteria to move processes between queues and so on.

These algorithms are thus really sets of algorithms (for e.g., the set of RR algorithms for all time slices and so on). One set of algorithms may include another (for e.g., the FCFS algorithm is the RR algorithm with an infinite time quantum). What (if any) relation holds between the following pairs of sets of algorithms? (2 Marks)

4. Write short notes on the differences between Linux 2.6 and Linux 2.4 schedulers. (3 Marks)


(Programming) Assignment 2 - 10 Marks

Read Understanding the /proc file system. Understand the entries and the contents of various files in this directory /proc.

Write a program to read the /proc filesystem and print the following for all the processes listed there:

PID, PPID, STATE, COMMAND, No. of Files open

Since for all the root or privileged processes, you are not allowed to read the no. of files open, print NA for those. For all user processes, print the no. of files open.

Below are some Hints for the assignment.


(Programming) Assignment 3 - 10 Marks

This is a reading assignment. Please answer the following exercises from the seventh Indian edition of Silberschatz and Galvin.

1. Exercise 7.8

2. Exercise 8.4

3. Exercise 8.11(a)


(Programming) Assignment 4 - 10 Marks

This is a practical assignment which is designed to get the students familiar with the various file protection mechanisms in place in GNU/Linux and how to manipulate them and the differences in access based on the protections set. It is also about how to mount and unmount filesystems and understand the contents of the fstab. As part of this assignment, you are expected to do the following:
  • Use the command chmod to modify the permissions to files and directories for owner, group and others and try to understand how this affects access to that file and directory.
  • Use the command chown to change the ownership and group membership of the files and directories.
  • Use the commands mount and umount to mount and unmount the Windows partition on the GNU/Linux partition. Once it is mounted try and understand what types of accesses are possible for the files in the Windows file system. If you are unable to mount or unmount the file system, find why you are unable to do so. This differs from one GNU/Linux system to another. Please mention the version of GNU/Linux you have done your experiments with.
  • Look at the contents of the file /etc/fstab and understand the format of the file. Explain some of the entries found in your /etc/fstab file. Do the same on the AI lab systems and explain what is different in these systems from your own systems.