Académique Documents
Professionnel Documents
Culture Documents
Section I
1.
Design and develop a pseudo device driver in Linux to implement a RAM disk.
Description: A RAM disk (or drive) is like a secondary storage device present in the
main memory (RAM) of a computer system. A device driver has to be implemented to
create a new partition along with the existing partitions. The usual file operations and
UNIX commands will have to be supported for this new partition. For example, the
df k command will display the following information:
Filesystem
/dev/hda2
/dev/hda1
none
/dev/hda5
1K-blocks
20161204
295561
127404
17488652
Used
8786024
15800
0
737632
Available
10351040
264501
127404
15862628
Use%
46%
6%
0%
5%
Mounted on
/
/boot
/dev/shm
/home
The RAM disk driver will have to create a new partition (say /dev/mem). Different
UNIX commands (like cp, mv, rm, etc.) should be tried on this partition (drive).
2.
Description: This driver will be responsible for creating user terminal(s) (terminal
drivers). An interface will have to be supported that will facilitate the users to execute
shell commands using this terminal. For example, if the name of this driver is term,
then executing this driver program will open a new terminal using which the users
should be able to interface with the shell (or O.S.).
3.
6.
Description: Design and develop a program under Linux that will simulate an editor
(like vi, ed, emacs, pico, joe, etc.). Basic features like opening, closing, editing and
saving of files should be provided. Additional features like cut-copy-paste should also
be supported.
7.
Description: This project aims at combining two or more file systems into a single
namespace. Consider two computer systems having the same or different file systems.
This project will combine both these file systems into one single entity thus increasing
the disk space considerably. The users of this new file system will be under the
impression that only one file system (with a huge space) is available for their use.
8.
Description: This project will assist users to connect to a remote UNIX based system
using socket programming. A remote shell environment has to be provided and the
users should be able to execute programs/commands at the remote site using this
utility.
9.
Description: The talk utility is a visual communication program which copies lines
from your terminal to that of another user. This is a daemon based program that will
assist users to indulge in a chat session on the same machine (server).
10.
Description: A group of 2-4 students can build a Linux cluster (with support for NFS,
NIS and Single System Image [SSI]). Job Scheduler for Linux, i.e. PBS (Portable Batch
System) will have to be loaded in order to facilitate users to execute their parallel
application programs. Demonstration of MPI (Message Passing Interface) programs will
also have to be carried out as a part of this project.
11.
Description: A group of 3-5 students can take up this project and create a campuswide grid using the most popular software called GTK. This project will involve in
setting up a Grid server, installing and configuring GTK and all its components, setting
up of other Grid nodes in different locations (Computer Centre, Boys Hostel, Girls
Hostel, Medical Centre, SAC, some of the faculty chambers, SWD office, ARC office,
etc.), etc.
12.
Description: This project involves writing a new shell for Linux O.S. with support for
some of the important features of shells.
16.
17.
Design scalable parallel algorithms for Sparse Matrix Computations using
MPI/OpenMP/Pthread programming paradigms on Multi-Core systems
18.
Efficient Implementation of Partial Differential Equations on parallel processing
platforms
19.
Description: The grid portal which provides the user interface to the Grid resources
hides the complexity of the grid from the users. It allows submission of both
sequential and parallel jobs and also provides job accounting facilities. Problem
Solving Environment (PSE) in the domains of Bio-informatics, and Community
Atmospheric Model support the entire cycle of problem solving for the specific domains
by supporting problem formulation, algorithm selection, numerical simulation and
solution visualization. This interface will allow a standard navigator to submit
computational requests to a grid. In other words, an application programmer will be
able to submit his programming tasks on the grid using this portal. This portal will also
display status information about the jobs that have been submitted on the Grid.
20.
Description: This tool will help in effectively monitoring the health and utilization of
various components of the Grid. A mobile agent framework for monitoring the Grid
resources and also for automatic update of software releases can be explored.
21.
22.
Section II
Notes:
a) This document might be updated frequently. The version number of the same (as
mentioned in the footer of each page) will change with addition of new ideas.
b) Students can check out the FTP server for the most recent version of this
document. Invoke a browser and open the following site:
ftp://10.1.1.223/
Next, click on the following:
ACADEMICS-SEM I 07-08
CS
CSGC372-OPERATING_SYSTEMS
PROJECTS
c) Students can also check out project ideas given at the end of almost all the
chapters of Operating System Principles by Galvin (seventh edition).
d) Students are encouraged to come out with research papers at the end of their
projects (COPs/SOPs).