Soal Shift Sistem Operasi 2020
Modul 2
Kelompok E 04
Source code file: Soal1
- Program Traizone merupakan dan Pokezone merupakan dua program yang berjalan dengan IPC.
- Traizone memiliki dua mode, yaitu normal dan capture.
- Mode normal untuk mencari pokemon dijalankan dengan
thread
tiap sepuluh detik darishared memory
, membuka pokedex untuk mengelola pokemon, membuka shop untuk membeli item darishared memory
. - Mode Capture untuk Menangkap dan menggunakan item.
- Ketika pokemon ditangkap, pokemon tersebut akan memiliki
thread
sendiri untuk meng-handle APnya. - Item lullaby powder dihandle dengan menggunakan
thread
- Mode normal untuk mencari pokemon dijalankan dengan
- Pokezone memiliki tiga fitur
- Fitur untuk mematikan traizone dan pokezone dijalankan dengan mengetikkan
shutdown
, menggunakanfork-exec
perintahkill
dankillall
di program main. - Fitur untuk merandom pokemon dijalankan menggunakan
thread
tiap satu detik kemudian di share menggunakanshared memory
. - Fitur untuk merestock Item setiap sepuluh detik dengan
thread
kemudian di share menggunakanshared memory
.
- Fitur untuk mematikan traizone dan pokezone dijalankan dengan mengetikkan
Source code file: Soal2
- Program Tapplayer merupakan
client
dan Tapserver merupakanserver
. - Tapplayer
- Mengirimkan command login, logout, register, dan find.
- Mengirimkan Username dan Password untuk di login atau register.
- Menerima pesan apakah player ini terkena hit atau tidak.
- Ketika Game berjalan, responsive terhadap spasi menggunakan
thread
sertatermios
untuk menghandle tiap spasi dan mengirimkan pesan tiap kali hit lawan.
- Tapserver
- Menghandle banyak player dengan
thread
dan id darithread
tersebut akan menjadi id dari client juga. - Membuat
akun.txt
untuk menyimpan akun yang telah diregister menggunakanfputs()
. - Melakukan pengecekan login, apakah akun ada atau tidak di
akun.txt
denganfgets()
tiap line dari akun.txt. - Menyediakan
queu1ing
untuk permainan agar dua pemain berpasangan dengan cara mencocokkan id yang telah diterima dari parameter untuk pembuatan server. - Menerima hit dan mengirim pesan ke
client
yang terkena hit. - Mengirim pesan menang atau kalah ke
client
.
- Menghandle banyak player dengan
Source code file: Soal3
- Kategorisasi menerima 3 argumen
\*
untuk kategorisasi di folder dimana program tersebut berada.-f
untuk kategorisasi file yang ditentukan.-d
untuk kategorisasi di folder yang ditentukan.
- Pembuatan direktori untuk kategorisasi berdasarkan ekstensi tiap file. Pengecekan ekstensi dan nama file menggunakan
strrchr()
- Dalam kategorisasi tiap file diproses dengan
thread
berbeda-beda. - Pemindahan file dilakukan dengan cara memmbaca file menggunakan
fgetc()
kemudian memasukkan ke file lain dengan nama yang sama dan folder yang berbeda menggunakanfputc()
.
Source code file: Soal4
- 4a adalah program yang menghitung perkalian matriks dengan setiap perkaliannya dijalankan menggunakan
thread
kemudian memasukkan hasilnya keshared memory
. - 4b menerima hasil dari 4a dengan cara membaca
shared memory
kemudian dilakukan operasi penambahan dari 1 ke n untuk tiap isi matriks mengguanakanthread
. - 4c adalah program untuk menampilkan jumlah folder dan file menggunakan
pipe
danfork-exec
commandls | wc -l
.