Lab Programs list for Unix Systems Programming and Compiler Design Lab as specified by VTU for 6th Semester students:

  1. Write a C/C++ POSIX compliant program to check the following limits:
  2. No. of clock ticks
  3. Max. no. of child processes
  4. Max. path length
  5. Max. no. of characters in a file name
  6. Max. no. of open files/ process
  7. Write a C/C++ POSIX compliant program that prints the POSIX defined configuration options supported on any given system using feature test macros.
  8. Consider the last 100 bytes as a region. Write a C/C++ program to check whether the region is locked or not. If the region is locked, print pid of the process which has locked. If the region is not locked, lock the region with an exclusive lock, read the last 50 bytes and unlock the region.
  9. Write a C/C++ program which demonstrates interprocess communication between a reader process and a writer process. Use mkfifo, open, read, write and close APIs in your program.
  10. Write a C/C++ program that outputs the contents of its Environment list.
  11. Write a C / C++ program to emulate the unix ln command
  12. Write a C/C++ program to illustrate the race condition.
  13. Write a C/C++ program that creates a zombie and then calls system to execute the ps command to verify that the process is zombie.
  14. Write a C/C++ program to avoid zombie process by forking twice.
  15. Write a C/C++ program to implement the system function.
  16. Write a C/C++ program to set up a real-time clock interval timer using the alarm API.
  17. Write a C program to implement the syntax-directed definition of "if E then S1" and "if E then S1 else S2". (Refer Fig. 8.23 in the text book prescribed for 06CS62 Compiler Design, Alfred V Aho, Ravi Sethi, and Jeffrey D Ullman: Compilers- Principles, Techniques and Tools, 2nd Edition, Pearson Education, 2007).
  18. Write a yacc program that accepts a regular expression as input and produce its parse tree as output.