Lab05: Process Scheduling, Synchronization and Deadlock (revision 141014-r01KI)



  1. If you need to re-check tutorials from previous labs, please access Tutorial Quick Links.


  1. Login into Lab's Ubuntu, then open Terminal.
  2. Enter your KELAS/NPM directory , then make Lab05 directory inside. For example my KELAS is TESTING and my NPM is 1202000818, replace it with your class (INT142) and student ID.
    $ mkdir -p TESTING/1202000818/
    $ cd TESTING/1202000818/
    $ mkdir Lab05
    $ cd Lab05
  3. Do the following to prepare the examination:
    $ wget
    $ chmod +x UPDATE.x
    $ ./UPDATE.x
    $ rm -f UPDATE.x
  4. Open new Tab for Terminal with <Ctrl> <Shift> <t>
  5. Do the following and input your SIAK's password if asked.
  6. Get your token for your work today.


  1. Please create "catat-Lab05.txt" with contents:

    Change [KELAS] with your class, [TANGGAL] with today's date with format DD-MM-YY, [TOKEN] with your token, and [KETERANGAN] with short explanation.
    ZCZC TESTING TGS LAB05 17-10-2014
    ZCZC NO4LAY LOG This is too easy!
  2. Record all output in your tutorial.
    $ script -a catat-Lab05.txt
  3. Listen to the Tutorial about Process Scheduling.
  4. Do the Process Scheduling Task.
  5. Listen to the Tutorial about Synchronization and Deadlock.
  6. Do the Synchronization and Deadlock Task.
  7. Stop recording output.
    $ exit

Examination and Submission

  1. Execute genbio script
    $ genbio
  2. Do md5sum Tutorial.
  3. Do Examination Tutorial.
  4. Exit from Lab05 directory, then create a file named KELAS-NPM-Lab05.tar.bz2 contains Lab05 directory and its content. For example my KELAS is TESTING and my NPM is 1202000818, change with your KELAS (REG142, EXT142, INT142) and your student ID.
    $ cd ..
    $ tar cvjf TESTING-1202000818-Lab05.tar.bz2 Lab05/
  5. Do Assignment Submission in Scele to submit your compressed archive contains:
    1. myself.txt
    2. catat-Lab05.txt
    3. cpu.jar
    4. JobQueue.dat
    5. WHAT-IS-THIS.txt
    6. main1.c
    7. main1
    8. main1.o
    9. main2.c
    10. main2
    11. main2.o
    12. main3.c
    13. main3
    14. main3.o
    15. main4.c
    16. main4
    17. main4.o
    18. main5.c
    19. main5
    20. main5.o
    21. main6.c
    22. main6
    23. main6.o
    24. myutils.c
    25. myutils.h
    26. myutils.o
    27. Makefile
    28. MD5SUM
    29. MD5SUM.asc
    30. .periksa
  6. This marks the end of the tutorial today.