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 

  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.

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

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

Postingan populer dari blog ini

Laporan Praktikum Instalasi Windows Menggunakan Virtual Box

Laporan Praktikum Sistem Operasi " Input Output Linux" Beserta Penjelasan dan Gambar