Laporan Praktikum Sistem Operasi "Proses dan Managemen Proses " Beserta Penjelasan dan Gambar
Praktikum Sistem Operasi "Proses dan Manajemen Proses"
LAPORAN RESMI:
1.
Analisa hasil percobaan yang Anda lakukan.
2.
Kerjakan latihan diatas dan analisa hasil tampilannya.
3. Berikan kesimpulan dari praktikum
ini.
1. Analisa hasil percobaan yang Anda
lakukan.
Percobaan 5 Menghentikan dan Memulai Jobs
1. Cara lain meletakkan job pada
background dengan memulai job secara normal (pada foreground), stop
job dan memulai lagi pada background.
$ yes > /dev/null
Analisis : Hentikan sementara job (suspend ), bukan menghentikannya
(terminate ), tetapi
menghentikan sementara job sampai di restart. Untuk menghentikansementara job gunakan Ctrl-Z.
2.
Untuk
restart job pada foreground , gunakan perintah fg
$ fg
Analisis : Perintah fg digunakan untuk menampilkan proses pada foreground
3.
Shell akan
menampilkan nama perintah yang diletakkan di foreground. Stop job lagi dengan
Ctrl-Z. Kemudian gunakan perintah bg untuk meletakkan job pada background.
$ bg
Job tidak bisa dihentikan dengan Ctrl-Z karena job berada pada background. Untuk menghentikannya letakkan job pada foreground dengan fg dan kemudian hentikan sementara dengan Ctrl-Z.
$ fg
Analisis : - Perintah bg digunakan untuk melihat proses yang
berjalan pada background
- Perintah fg untuk menampilkan program yang berjalan di foreground
4. Job pada background dapat
digunakan untuk menampilkan teks pada terminal, dimana dapat diabaikan
jika mencoba mengerjakan job lain.
$ yes &
Untuk menghentikannya tidak dapat menggunakan Ctrl-C. Job harus dipindah ke foreground, baru dihentikan dengan cara tekan fg dan tekan Enter, kemudian dilanjutkan dengan Ctrl-Z untuk menghentikan sementara.
Analisis : Berikut adalah menjalankan proses di foreground dan kemudian menghentikannya
5. Apabila ingin menjalankan banyak
job dalam satu waktu, letakkan job pada foreground atau
background dengan memberikan job ID
$ fg %2 atau $ %2
$ bg %2
Analisis : Berikut ini adalah hasil dari proses fg %2 dan bg %2 dan hasil yang tertera adalah no such job.
6. Tekan fg dan tekan Enter,
kemudian dilanjutkan dengan Ctrl -Z untuk menghentikan sementara.
Analisis : Percobaan diatas adalah untuk menghentikan proses yes
7. Lihat job dengan perintah ps -fae
dan tekan Enter. Kemudian hentikan proses dengan perintah kill.
$ ps –fae
$ kill -9 <NomorPID>
Analisis : Kill digunakan untuk menghentikan suatu proses
8. Logout dan tekan Alt+F7 untuk kembali ke mode grafis
Percobaan 6 : Percobaan dengan Penjadwalan Prioritas
- Login sebagai root
- Buka 3 terminal, tampilkan pada screen yang sama.
3. Pada setiap terminal, ketik PS1=
” \w:” diikuti Enter. \w menampilkan path pada direktori home.
- Karena login sebagai root, maka akan ditampilkan ~: pada setiap terminal. Untuk setiap terminal ketik pwd dan tekan Enter untuk melihat bahwa Anda sedang berada pada direktori /root.
Analisis : - Pertama kita memasukkan sudo su untuk masuk sebagai
root
-Memasukkan perintah tersebut agar dapat masuk ke directory root.
5. Buka terminal lagi (keempat), atur posisi sehingga keempat terminal terlihat pada screen.
6. Pada terminal keempat, ketik top dan tekan Enter. Maka program top akan muncul. Ketiki. Top akan menampilkan proses yang aktif. Ketik lmt. Top tidak lagi menampilkan informasi pada bagian atas dari screen. Pada percobaan ini, terminal ke empat sebagai jendela Top.
7. Pada terminal 1, bukalah program executable C++ dengan mengetik program yes dan tekan Enter
8. Ulangi langkah 7 untuk terminal 2. setelah melakukan nya lagi di terminal 2 kita dapat lihat di terminal 4 ad2 perintah yes yang berjalan dengan pid 4375 untuk yes diterminal 1 dan 4406 untuk yes di terminal 2
Analisis :
- Pada jendela 1 dan 2 saya menyuruh proses bekerja menjalankan yes
- Perintah I top akan menampilkan proses yang aktif
- Perintah lmt maka akan mengilangkan informasi pada bagian atas jendela
9. Jendela Top akan menampilkan dua program yes sebagai proses yang berjalan. Nilai %CPU sama pada keduanya. Hal ini berarti kedua proses mengkonsumsi waktu proses yang sama dan berjalan sama cepat. PID dari kedua proses akan berbeda, misalnya 3148 dan 3149. Kemudian gunakan terminal 3 (yang tidak menjalankan primes maupun Jendela Top) dan ketik renice 19 <PID terimnal 1> (contoh : renice 19 3148) dan diikuti Enter. Hal ini berarti mengganti penjadwalan prioritas dari proses ke 19.
Analisis : sebelum kita melakukan renice pada pid 8749 terlihat kolom Ni masih terisi dengan 0
10. Tunggu beberapa saat sampai program top berubah dan terlihat pada jendela Top. Pada kolom STAT memperlihatkan N untuk proses 3148. Hal ini berarti bahwa penjadwalan prioritas untuk proses 3148 lebih besar (lebih lambat) dari 0. Proses 3149 berjalan lebih cepat.
11. Program top juga mempunyai fungsi yang sama dengan program renice. Pilih Jendela Top dan tekan r. Program top terdapat prompt PID to renice: tekan 3148 (ingat bahwa Anda harus mengganti 3148 dengan PID Anda sendiri) dan tekan Enter. Program top memberikan prompt Renice PID 3148 to value: tekan -19 dan tekan Enter.
Analisis : selain dengan menggunakan perintah renice, kita juga dapat langsung melakukan perubahan penjadwalan prioritas di top, dengan menekan r lalu pilih PID dan valuenya 12. Tunggu beberapa saat sampai top berubah dan lihat nilai %CPU pada kedua proses. Sekarang proses 3148 lebih cepat
12. Tunggu beberapa saat sampai top berubah dan lihat nilai %CPU pada kedua proses. Sekarang proses 3148 lebih cepat dari proses 3149. Kolom status menunjukkan < pada proses 3148 yang menunjukkan penjadwalan prioritas lebih rendah (lebih cepat) dari nilai 0.
13. Pilih terminal 3 (yang sedang tidak menjalankan yes atau program top) dan ketik nice –n - 10 yes dan tekan Enter. Tunggu beberapa saat agar program top berubah dan akan terlihat proses primes ketiga. Misalnya PID nya 4107. Opsi -10 berada pada kolom NI (penjadwalan prioritas).
Analisis : Setelah melakukan yes dengan opsi -10 di terminal 3 kita dapat lihat hasilnya seperti gambar diatas. Proses dengan pid 8264 memiliki penjadwalan prioritas bernilai -10
14. Jangan menggunakan mouse dan keyboard selama 10 detik. Program top menampilkan proses yang aktif selain program yes. Maka akan terlihat proses top terdaftar tetapi %CPU kecil (dibawah 1.0) dan konsisten. Juga terlihat proses berhubungan dengan dekstop grafis seperti X, panel dll.
Analisis : disini masih terlihat banyak, dikarenakan proses yes masih berjalan, dan semakin lama
semakin berat, namun selain itu yang berjalan adalah proses dan sub proses dari grafis desktop.
15. Pindahkan mouse sehingga kursor berubah pada screen dan lihat apa yang terjadi dengan tampilan top. Proses tambahan akan muncul dan nilai %CPU berubah sebagai bagian grafis yang bekerja. Satu alasan adalah bahwa proses 4107 berjalan pada penjadwalan prioritas tinggi. Pilih jendela Top, ketik r. PID to renice : muncul prompt. Ketik 4107 (ubahlah 4107 dengan PID Anda) dan tekan Enter. Renice PID 4107 to value: muncul prompt. Ketik 0 dan tekan Enter. Sekarang pindahkan mouse ke sekeliling screen. Lihat perubahannya
16. Tutup semua terminal windows
17. Login kembali sebagai user
2. Kerjakan latihan dan analisa hasil tampilannya.
Latihan :
1. Masuk ke tty2 dengan Ctrl+Alt+F2. Ketik ps –au dan tekan Enter. Kemudian perhatikan keluaran sebagai berikut :
a. Sebutkan nama-nama proses yang bukan root
User = satrios+ pid=806 cmd=/usr/libexec
User = satrios+ pid=8455 cmd= bash
User = satrios+ pid=8468 cmd= ps -au
b. Tulis PID dan COMMAND dari proses yang paling banyak menggunakan CPU
Time
User = gdm pid = 986 cmd =/usr/bin/gnome
c. Sebutkan buyut proses dan PID dari proses tersebut
Pid = 1280 cmd=/usr/lib/xorg/Xorg
d. Sebutkan beberapa proses daemon
Pid = 1027 cmd = ibus –daemon –x
Pid = 1437 cmd = ibus –daemon –x
e. Pada prompt login lakukan hal- hal sebagai berikut :
$ csh : sebuah shell dengan command interpreter dengan c
$ who : melihat siapa yang login
$ bash : GNU Bourne-Again Shell
$ ls : melihat isi direktori
$ sh : command interpreter shell
$ ps : melihat proses yang aktif
f. Sebutkan PID yang paling besar dan kemudian buat urut-urutan proses sampai
ke PPID = 1.
Analisis : Dapat menggunakan sort untuk mengurutkan
2. Cobalah format tampilan ps dengan opsi berikut dan perhatikan hasil tampilannya :
• -f daftar penuh
Menampilkan dengan format penuh
• -j format job
Menampilkan dengan format job
Menampilkan dengan format jobBSD
• l daftar memanjang
Digunakan untuk menampilkan dengan format memanjang BSD
• s format sinyal
Menampilkan dengan format sinyal
• v format virtual memory
Menampilkan dengan format memory virtual
• X format register i386
Menampilkan dengan format register
3. Gunakan urutan kerja berikut
a) Gunakan perintah find ke seluruh direktory pada sistem, belokkan output sehingga daftar
direktori dialihkan ke file directories.txt dan daftar pesan error dialihkan ke file errors.txt
$ find > directories.txt 2> errors.txt
b) Gunakan perintah sleep 5. Apa yang terjadi dengan perintah ini ?
perintah sleep selama 5 detik (loading selama 5 detik) lalu baru bisa mengetik commands selanjutnya
c) Jalankan perintah background dengan
$ sleep 5 &
d) Jalankan sleep 15 pada foreground , hentikan sementara dengan Ctrl- Z dan kemudian letakkan
pada background dengan bg. Ketikkan jobs. Ketikkan ps. Kembalikan job ke foreground dengan perintah fg.
Untuk yang pertama saya melakukan percobaan sleep 15, lalu saya hentikan setelah itusaya
lihat di background. Alasan disini pada saat jobs diketikan tidak keluar apa apa adalahkarena proses
sleep 15 telah selesai, jadi sudah tidak ada lagi jobs atau pekerjaan yang masih berjalan, kita
juga bisa memastikannya melalui ps, tidak ada proses sleep yang berjalan, maka dari itu pada saat kita
melakukan perintah fg terdapat output “no such job” yang berarti tidak ada pekerjaan atau job.
e) Jalankan sleep 15 pada background menggunakan & dan kemudian gunakan perintah kill untuk menghentikan proses diikuti job number.
$ sleep 15 &
kill %[nomorjob]
Proses dapat kita hentikan dengan kill sehingga statusnya terminated
f) Jalankan sleep 15 pada background menggunakan & dan kemudian gunakan kill untuk
menghentikan sementara proses. Gunakan bg untuk melanjutkan menjalankan proses.
$ sleep 15 &
$ kill -STOP %[nomorjob]
$ bg
disini saya mengguakan option stop untuk menstop proses sleep 15, karena jika tidak
menggunakan opsi tersebut maka proses sleep 15 akan terminated maksudnya berhenti
tidak dapat dilanjutkan.
g) Jalankan sleep 60 pada background 5 kali dan terminasi semua pada dengan menggunakan
perintah killall.
$ for i in {1..5}; do sleep 60 & done
Maksudnya adalah mengulang perintah sleep 60 & 5 kali.
kill %{1..5}
Maksudnya untuk memberhentikan proses 1 sampai 5, disini saya tidak menggunakan killall
karena tidak bisa.
h) Gunakan perintah ps, w dan top untuk menunjukkan semua proses yang sedang dieksekusi.
i) Gunakan perintah ps –aeH untuk menampilkan hierarki proses. Carilah init proses.
Apakah Anda bisa identifikasi sistem daemon yang penting ?
Dapatkan Anda identifikasi shell dan subproses ?
init proses disini adalah systemd dengan PID = 1
sistem daemon yang penting menurut saya ada beberapa yang penting, seperti
dhclient untuk internet system seperti mengatur ip dan lain lain, dbus untuk
sistem komunikasi antar proses, dan lainnya.
Disini kita bisa melihat sub proses nya dari tata letaknya, missal
System
systemd-journal
systemd-udvd
berarti systemd-journal dan systemd-udvd adalah sub proses dari systemd.
j) Kombinasikan ps –fae dan grep, apa yang Anda lihat ?
$ ps -fae | grep budgie-daemon
disini saya menjalankan perintah ps -fae untuk melihat proses namun saya filter menggunakan
grep budgie-daemon untuk menampilkan proses yang mengandung budgie-daemon
k) Jalankan proses sleep 300 pada background. Log off komputer dan log in kembali.
Lihat daftar semua proses yang berjalan. Apa yang terjadi pada proses sleep ?
Setelah saya melakukan log out dan login kembali ternyata ketika saya melihat jobs kosong, ini
berarti proses sleep 300 yang berjalan di background telah terminated pada saat saya melakukan logout.
3. Berikan kesimpulan dari praktikum ini.
a. Proses merupakan program yang sedang di eksekusi
b. Suatu proses bisa dilihat secara foreground dan background
c. Pada status proses yang ditampilkan ada hubungan antara parent dengan childnya
d. Setiap proses memiliki nomor yang disebut PID
Format-format status proses antara lain : PID, TTY, CMD, STATE, TIME, PPID, MEM dan sebagainya
Komentar
Posting Komentar