LAPORAN PRAKTIKUM SISTEM OPERASI Judul : Manajemen Proses PDF

Title LAPORAN PRAKTIKUM SISTEM OPERASI Judul : Manajemen Proses
Author Ahnaf Faiz
Pages 40
File Size 1.7 MB
File Type PDF
Total Downloads 90
Total Views 871

Summary

LAPORAN PRAKTIKUM SISTEM OPERASI Judul : Manajemen Proses Nama : Faiz Ahnaf Eka Putra NIM : K3518030 Prodi : Pendidikan Teknik Informatika dan Komputer Asisten : 1. Devia Larasati (M0516015) 2. Hafiz Abdurrahman S. (M0516022) 3. Nirmala Aliffia S. (M0516037) 4. Winda Mustikaningtyas (M0516045) FAKUL...


Description

LAPORAN PRAKTIKUM SISTEM OPERASI Judul : Manajemen Proses

Nama : Faiz Ahnaf Eka Putra NIM : K3518030 Prodi : Pendidikan Teknik Informatika dan Komputer Asisten : 1. Devia Larasati (M0516015) 2. Hafiz Abdurrahman S. (M0516022) 3. Nirmala Aliffia S. (M0516037) 4. Winda Mustikaningtyas (M0516045)

FAKULTAS KEGURUAN DAN ILMU PENDIDIKAN UNIVERSITAS SEBELAS MARET SURAKARTA 2018

Bab 1 Pendahuluan

A. Latar belakang Sistem operasi dirancang untuk menjalankan perangkat keras dan perangkat lunak. Bisa juga diartikan sistem operasi sebagai jembatan antara perangkat keras komputer dengan software atau aplikasi yang berjalan dan pengguna yang mengoperasikannya. Jika kita tidak menggunakan sistem operasi kita tidak dapat menjalankan aplikasi yang kita butuhkan dan mengatur sumber daya perangkat keras yang kita butuhkan. Namun kita masih dapt melakukan booting. Seiring berkembangnya zaman banyak sekali sistem operasi yang dibuat. Salah satunya adalah linux yang kini sangat terkenal dan familiar karena bersifat opensource. Kali ini akan dibahas bagaimana management proses yang terjadi pada sistem operasi linux khususnya linux ubuntu 18. B. Bahan dan metode 1. Virtual box 2. Ubuntu 18.04 3. Terminal linux ubuntu

PRAKTIKUM A. Petunjuk Praktikum 1. Login sebagai user. 2. Download program C++ untuk menampilkan bilangan prima yang bernama primes. 3. Lakukan percobaan-percobaan di bawah ini kemudian analisa hasil percobaan. 4. Selesaikan soal-soal latihan. B. Percobaan 1 1. Pindah ke command line terminal (tty2) dengan menekan Ctrl+Alt+F4 dan login ke terminal sebagai user.

Analisis: - Berikut ini adalah tampilan mode tty2 karena tidak merupakan GUI. 2. Instruksi ps (process status) digunakan untuk melihat kondisi proses yang ada. PID adalah Nomor Identitas Proses, TTY adalah nama terminal dimana proses tersebut aktif, STAT berisi S (Sleepin g) dan R (Running), COMMAND merupakan instruksi yang digunakan. $ ps

Analisis - Ps digunakan untuk melihat proses yang ada 3. Untuk melihat faktor/elemen lainnya, gunakan option –u (user). %CPU adalah presentasiCPU time yang digunakan oleh proses tersebut, %MEM adalah presentasi system memori yang digunakan proses, SIZE adalah jumlah memori yang digunakan, RSS (Real System Storage) adalah jumlah memori yang digunakan, START adalah kapan proses tersebut diaktifkan $ ps –u

Analisis - Ps -u digunakan untuk menampilkan user yang kita gunakan 4. Mencari proses yang spesifik pemakai. Proses diatas hanya terbatas pada proses milik pemakai, dimana pemakai teresbut melakukan login $ ps –u

Analisis - Perintah tersebut digunakan untuk menampilkan proses pada user yang kita inginkan. 5. Mencari proses lainnya gunakan opsi a (all) dan au (all user) $ ps –a

Analisis - Digunakan untuk menampilkan proses pada user sekarang $ ps –au

Analisis - Digunakan untuk menampilkan proses semua user 6. Logout dan tekan Alt+F1 untuk kembali ke mode grafis C. Percobaan 2 Menampilkan hubungan parent dan child 1. Pindah ke command line terminal (tty2) dengan menekan Ctrl+Alt+F4 dan login ke terminal sebagai user.

2. Ketik ps –eH dan tekan Enter. Opsi e memilih semua proses dan opsi H menghasilkan tampilan proses secara hierarki. Proses child muncul dibawah proses parent. Proses child ditandai dengan awalan beberapa spasi. $ ps -eH

Analisis - Perintah ini digunakan untuk memilih seluruh proses dan ditampilkan secara hirearki 3. Ketik ps –e f dan tekan Enter. Tampilan serupa dengan langkah 2. Opsi –f akan menampilkan status proses dengan karakter grafis (\ dan _) $ ps –e f

Analisis - Menampilkan suatu proses dengan menampilkan dalam bentuk grafik(\ dan _) 4. Ketik pstree dan tekan Enter. Akan ditampilkan semua proses pada sistem dalam bentuk hirarki parent/child. Proses parent di sebelah kiri proses child. Sebagai contoh proses init sebagai parent (ancestor) dari semua proses pada sistem. Beberapa child dari init mempunyai child. Proses login mempunya i proses bash sebagai child. Proses bash mempunyai proses child startx. Proses startx mempunyai child xinit dan seterusnya. $ pstree

Analisis - Perintah ini digunakan untuk menampilkan seluruh proses pada sistem dalam bentuk hirarki/child 5. Ketik pstree | grep mingetty dan tekan Enter. Akan menampilkan semua proses mingetty yang berjalan pada system yang berupa console virtual. Selain menampikan semua proses, proses dikelompokkan dalam satu baris dengan suatu angka sebagai jumlah proses yang berjalan. $ pstree | grep mingetty Analisis pstree | grep mingetty digunakan untuk mencari proses yang mengandung kata mingetty, karena di saya tidak ada, maka tidak muncul apa apa 6. Untuk melihat semua PID untuk proses gunakan opsi –p. $ pstree –p

Analisis - Digunakan untuk menampilkan semua pid 7. Untuk menampilk an proses dan ancestor yang tercetak tebal gunakan opsi –h. $ pstree –h

Analisis - Digunakan untuk mencetak tebal ancestor D. Percobaan 3 menampilkan status proses dengan berbagai format 1. Pindah ke command line terminal (tty2) dengan menekan Ctrl+Alt+F2 dan login ke terminal sebagai user.

2. Ketik ps –e | more dan tekan Enter. Opsi -e menampilkan semua proses dalam bentuk 4 kolom : PID, TTY, TIME dan CMD. $ ps –e | more Jika halaman penuh terlihat prompt --More-- di bagian bawah screen, tekan q untuk kembali ke prompt perintah.

Analisis - Option e digunakan untuk menampilkan 4 kolomPID, TTY, TIME, CMD dan more menyuruh akan ditampilkan sesuai layer 3. Ketik ps ax | more dan tekan Enter. Opsi a akan menampilkan semua proses yang dihasilkan terminal (TTY). Opsi x menampilkan semua proses yang tidak

dihasilkan terminal. Secara logika opsi ini sama dengan opsi –e. Terdapat 5 kolom : PID, TTY, STAT, TIME dan COMMAND. $ ps ax | more

Analisis - Perintah tersebut digunakan untuk menampilkan proses dengan 5 kolom PID, TTY, STAT, TIME, COMMAND. Lalu more menampilkan data sesuai layer 4. Ketik ps –e f | more dan tekan Enter. Opsi –e f akan menampilkan semuaproses dalam format daftar penuh. $ ps ef | more

Analisis - Opsi –e f akan menampilkan semuaproses dalam format daftar penuh. Lalu | more, artinya di tampilkan secara more seperti pada gambar. 5. Ketik ps –eo pid, cmd | more dan tekan Enter. Opsi –eo akan menampilkan semua proses dalam format sesuai definisi user yaitu terdiri dari kolom PID dan CMD. $ ps –eo pid,cmd | more Jika halaman penuh terlihat prompt --More-- di bagian bawah screen, tekan q untuk kembali ke prompt perintah.

Analisis - Opsi eo, pid, cmd akan menampilkan semua proses dengan format pid, cmd. Lalu more artinya ditampilkan sesuai layer 6. Ketik ps –eo pid,ppid,%mem,cmd | more dan tekan Enter. Akan menampilkan kolom PID, PPID dan %MEM. PPID adalah proses ID dari proses parent. %MEM menampilkan persentasi memory system yang digunakan proses. Jika proses hanya menggunakan sedikit memory system akan dita mpilkan 0. $ ps –eo pid,ppid,%mem,cmd | more

Analisis - Opsi –eo pid,ppid,%mem,cmd akan menampilkan semua proses dalam format pid, ppid, %mem dan cmd. Lalu | more, artinya di tampilkan sesuai layer. 7. Log out dengan menekan Ctrl+Alt+F1 E. Percobaan 4 Mengontrol Program pada Shell 1. Pindah ke command line dengan menekan Ctrl+Alt+F4 dan login sebagai user

2. Gunakan input yes yang akan mengirim y yang tidak akan berhenti

3. Belokkan standar output ke /dev/null $ yes > /dev/null

Analisis Perintah tersebut digunakan untuk membelokkan output perintah yes ke /dev/null maka tidak keluar output ke terminal tetapi pada sebenarnya perintah yes berjalan 4. Salah satu cara agar perintah yes tetap dijalankan tetapi shell tetap digunakan untuk hal yang lain dengan meletakkan proses pada background dengan menambahkan karakter & pada akhir perintah. $ yes > /dev/null &

Analisis - Perintah & digunakan untuk menjalankan program di background 5. Untuk melihat status proses gunakan perintah jobs. $ jobs Analisis - Jobs digunakan untuk melihat proses yang berjalan di background 6. Untuk menghentikan job, gunakan perintah kill diikuti job number atau PID proses. Untuk identifikasi job number, diikuti prefix dengan karakter ”%”. $ kill % contoh : kill %1 Analisis - Perintah kill digunakan untuk menghentikan proses yang berjalan 7. Lihat status job setelah diterminasi $ jobs

Analisis - Dapat dilihat kalau proses yang kita kill sudah berhenti F. 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

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 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

Analisis - Kill digunakan untuk menghentikan suatu proses 8. Logout dan tekan Alt+F7 untuk kembali ke mode grafis G. Percobaan 6 1. Login sebagai root 2. Buka 3 terminal, tampilkan pada screen yang sama. 3. Pada setiap terminal, ketik PS1= ” \w:” diikuti Enter. \w menampilkan path pada direktori home. 4. 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 (contoh : renice 19 3148) dan diikuti Enter. Hal ini berarti mengganti penjadwalan prioritas dari proses ke 19.

Analisis - sebelum kita melakukan renice pada pid 1665terlihat 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

dari proses 3149. Kolom status menunjukkan < pada proses 3148 yang menunjukkan penjadwalan prioritas lebih rendah (lebih cepat) dari nilai 0.

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).

Analisa : Setelah melakukan yes dengan opsi -10 di terminal 3 kita dapat lihat hasilnya seperti gambar diatas. Proses dengan pid 4550 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

H. 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 = ahnaffaiz pid= 1550 cmd=/usr/lib/ibus/ibus-engine-simple User = ahnaffaiz pid=1666 cmd = -bash User = ahnaffaiz pid= 1739 cmd= ps -au b. Tulis PID dan COMMAND dari proses yang paling banyak menggunakan CPU time User = gdm pid = 974 cmd = /usr/bin/gnome- dst. Tidak terdapat pada screenshoot c. Sebutkan buyut proses dan PID dari proses tersebut Pid = 1181 cmd= /usr/lib/xorg/Xorg d. Sebutkan beberapa proses daemon Ada 2 proses daemon Pid = 1017 cmd = ibus -daemon --x Pid = 1343 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 • j format job control

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 command selanjutnya

c) Jalankan perintah background dengan $ sleep 5 &

setelah itu karna proses hanya 5 secon kita bisa lihat di jobs, maka statusnya akan selesai 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 itu saya lihat di background. Alasan disini pada saat jobs diketikan tidak keluar apa apa adalah karena 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 dis...


Similar Free PDFs