Like my blog!? Bookmark it!

List of OS Programs!!!

This is the FINAL LIST of programs to be submitted to K Ramesh Sir. (Disclaimer : I've no idea whether he asked it just as a record of the list of programs done by our batch or it is actually supposed to be used for the end lab. I've made no such claims whatsoever at any point of time).

1. Command Line Interpreter

2. Chat Server using FIFOs and parent-child processes

3. Chat Server using FIFOs and threads

4. Chat Server using message queues and parent-child processes

5. Chat Server using message queues and threads

6-33. Classic synchronization problems
* Producer-consumer
* Reader-writer with reader preference
* Reader-writer with writer preference
* Reader-writer with equal preference
* Sleeping barber
* Cigarette smokers
* Dining philosophers

using
* Semaphores
* Monitor as a different process
* Generic monitor
* Thread mutex

34. Sleeping barbers with multiple barbers using signals

35. Resource sharing between two different processes

36. I/O multiplexing using poll() and/or select()

37. Simulation of scheduling algorithms using different processes and calculation of waiting time and turnaround time
* FCFS (First come first serve)
* SJF (Shortest job first)
* SRTF (Shortest remaining time first)
* PS (Priority scheduling)
* RR (Round robin)

38. The above program (No. 33) using threads

39. Simulation of a deadlock monitor (should include safe sequence generator and resource request algorithm) using different processes

40. The above program (No. 35) using threads

41. Process log for n processes communicating using message queues

42. Simulation of page replacement algorithms
* LRU (Least recently used)
* MRU (Most recently used)
* Op (Optimization)
* LFU (Least frequently used)
* MFU (Most frequently used)

43. Simple file locking involving the shared read and the exclusive write locks

44. Simple user-defined thread library with functions for initialization, starting the threads, making a thread go to the end of the process queue (called yielding) and stopping a thread
* using clone()
* using context switch
* using setjmp and longjmp

45. Implementation of semaphores (user defined semaphores) and its applications

46. Clock device driver

47. Implementation of Pfiles

48. Adding a user-defined system call (echo2 as mentioned in class)

49. Alternate servers

50. Monitoring multiple servers and multiple clients using a handler process with the help of message queues