Lab 04 - Synchronization and Deadlock (revision 151005-r01)

Back to Wiki Page


  1. Have you joined SCELE Operating Systems?
  2. Have you joined SCELE Arsip?
  3. Report through SCELE Technical Problem should you find any problems!
  4. Remember, Uncle G is your friend!


  1. You may use your own laptop or Lab's computer to do the tasks.
  2. Boot up Ubuntu from your flashdisk and login into your account.
  3. Create KELAS/NPM/Lab04 directory. For example my KELAS is TESTING and my NPM is 1202000818, replace it with your class (REG, INT, MTX) and student ID.
    $ mkdir -p TESTING/1202000818/Lab04
    $ cd TESTING/1202000818/Lab04/
  4. Do the following to prepare the examination:
    $ wget
    $ chmod +x UPDATE.x
    $ ./UPDATE.x
    $ rm -f UPDATE.x


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

    Change [KELAS] with your class, [TANGGAL] with today's date with format DD-MM-YY, [NPM] with your NPM, and [KETERANGAN] with short explanation.
    ZCZC TESTING TGS LAB04 05-10-15
    ZCZC 1202000818 LOG This is too easy!
  2. Record all output in your tutorial.
    $ script -a catat-Lab04.txt

    PS: If you haven't finished your work in one go and reboot your Ubuntu to do the work again, you must do this command again.
  3. Listen to the Tutorial about Synchronization and Deadlock.
  4. Do the Synchronization and Deadlock Task.
  5. Stop recording output.
    $ exit


  1. Execute genbio script
    $ genbio
  2. Do md5sum Tutorial.
  3. Do Examination Tutorial.
  4. Get back one folder that you are in your NPM folder and you can see Lab04 folder. Archive that folder to be KELAS-NPM-Lab04.tar.bz2 archive. Replace KELAS with your class (REG, INT, MTX), NPM with your student ID.
  5. Submit your document to Scele. Each person should submit:
    1. myself.txt
    2. catat-Lab04.txt
    3. main1.c
    4. main1
    5. main1.o
    6. main2.c
    7. main2
    8. main2.o
    9. main3.c
    10. main3
    11. main3.o
    12. main4.c
    13. main4
    14. main4.o
    15. main5.c
    16. main5
    17. main5.o
    18. main6.c
    19. main6
    20. main6.o
    21. myutils.c
    22. myutils.h
    23. myutils.o
    24. Makefile
    25. MD5SUM
    26. MD5SUM.asc
    27. .periksa
  6. That's it, folks. Have fun for the rest of the week.

Back to Wiki Page