Anda di halaman 1dari 24

LAPORAN PRAKTIKUM

SISTEM OPERASI

JUDUL : PROSES DAN MANAJEMEN PROSES

DISUSUN OLEH :

FINA ENNO RIZKI OKTAVIA PUTRI M0519040

PROGRAM STUDI INFORMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SEBELAS MARET


2020
BAB I
PENDAHULUAN

1.1 Tujuan praktikum


1. Praktikan memahami konsep proses pada sistem operasi Linux.
2. Praktikan mampu menampilkam beberapa cara menampilkan hubungan proses
parent dan child.
3. Praktikan mampu menampilkan status proses dengan beberapa format
berbeda.
4. Praktikan mampu melakukan pengontrolan proses pada shell.
5. Praktikan memahami penjadwalan prioritas
1.2 Landasan teori
1. Konsep Proses Pada Sistem Operasi Linux
Proses adalah program yang sedang dieksekusi. Setiap kali menggunakan
utilitas sistem atau program aplikasi dari shell, satu atau lebih proses “child”
akan dibuat oleh shell sesuai perintah yang diberikan. Setiap kali instruksi
dibe rikan pada Linux shell, maka kernel akan menciptakan sebuah proses-
id. Proses ini disebut juga dengan terminology Unix sebagai sebuah Job.
Proses Id (PID) dimulai dari 0, yaitu proses INIT, kemudian diikuti oleh proses
berikutnya (terdaftar pada /etc/inittab).
Beberapa tipe proses:
• Foreground
Proses yang diciptakan oleh pemakai langsung pada terminal (interaktif,
dialog).
• Batch
Proses yang dikumpulkan dan dijalankan secara sekuensial (satu
persatu). Prose Batch tidak diasosiasikan (berinteraksi) dengan terminal.
• Daemon
Proses yang menunggu permintaan (request) dari proses lainnya dan
menjalankan tugas sesuai dengan permintaan tersebut. Bila tidak ada
request, maka program ini akan berada dalam kondisi “idle” dan tidak
menggunakan waktu hitung CPU. Umumnya nama proses daemon di UNIX
berakhiran d, misalnya inetd, named, popd dll.
2. Sinyal
Proses dapat mengirim dan menerima sinyal dari dan ke proses lainnya.
Proses mengirim sinyal melalui instruksi “kill” dengan format:
Kill [-nomor sinyal] PID
Nomor sinyal : 1 s/d maksimum nomor sinyal yang didefinisikan system
Standar nomor sinyal yang terpenting adalah :

3. Mengirim Sinyal
Mengirim sinyal adalah satu alat komunikasi antar proses, yaitu
memberitahukan proses yang sedang berjalan bahwa ada sesuatu yang
harus dikendalikan. Berdasarkan sinyal yang dikirim ini maka proses dapat
bereaksi dan administrator/programmer dapat menentukan reaksi
tersebut. Mengirim sinyal menggunakan instruksi.
Kill [-nomor sinyal] PID
Sebelum mengirim sinyal PID proses yang akan dikirim harus diketahui
terlebih dahulu.
4. Mengontrol Proses pada Shell
Shell menyediakan fasilitas job control yang memungkinkan mengontrol
beberapa job atau proses yang sedang berjalan pada waktu yang sama.
Misalnya bila melakukan pengeditan file teks dan ingin melakukan interrupt
pengeditan untuk mengerjakan hal lainnya. Bila selesai, dapat kembali
(switch) ke editor dan melakukan pengeditan file teks kembali.
Job bekerja pada foreground atau background. Pada foreground hanya
diperuntukkan untuk satu job pada satu waktu. Job pada foreground akan
mengontrol shell - menerima input dari keyboard dan mengirim output ke
layar. Job pada background tidak menerima input dari terminal, biasanya
berjalan tanpa memerlukan interaksi.
Job pada foreground kemungkinan dihentikan sementara (suspend),
dengan menekan [Ctrl-Z]. Job yang dihentikan sementara dapat dijalankan
kembali pada foreground atau background sesuai keperluan dengan
menekan “fg” atau “bg”. Sebagai catatan, menghentikan job seme ntara
sangat berbeda dengan melakuakan interrupt job (biasanya menggunakan
[Ctrl-C]), dimana job yang diinterrup akan dimatikan secara permanen dan
tidak dapat dijalankan lagi.
5. Mengontrol Proses Lain
Perintah ps dapat digunakan untuk menunjukkan semua proses yang
sedang berjalan pada mesin (bukan hanya proses pada shell saat ini) dengan
format:
ps –fae atau ps -aux
Beberapa versi UNIX mempunyai utilitas sistem yang disebut top yang
menyediakan cara interaktif untuk memonitor aktifitas sistem. Statistik secara
detail dengan proses yang berjalan ditampilkan dan secara terus-menerus di-
refresh. Proses ditampilkan secara terurut dari utilitas CPU. Kunci yang
berguna pada top adalah
s – set update frequency
u – display proses dari satu user
k – kill proses (dengan PID)
q – quit
Utilitas untuk melakukan pengontrolan proses dapat ditemukan pada
sistem UNIX adalah perintah killall. Perintah ini akan menghentikan
proses sesuai PID atau job number proses.
1.3 Perangkat / alat yang digunakan
1. Laptop/PC
2. Virtual Box
3. Terminal Linux
BAB II
PEMBAHASAN

1.1 Langkah-langkah praktikum


Percobaan 5: Menghentikan dan memulai kembali job
1. Cara lain meletakkan job pada background dengan memulai job secara normal
(pada foreground), stop job dan memulai lagi pada background
$ yes > /dev/null

Percobaan ini memulai job dan menghentikan sementara job (suspend)


menggunakan Ctrl-Z.
2. Untuk restart job pada foreground, gunakan perintah fg.
$ fg

Kemudian melakukan kembali job yang sebelumnya dihentikan sementara


menggunakan perintah fg, shell akan menampilkan nama perintah yang
diletakkan pada foreground yaitu perintah “yes > /dev/null” dan stop job lagi
menggunakan Ctrl-Z.
3. Kemudian gunakan perintah bg untuk meletakkan job pada background dan fg
untuk meletakkann pada foreground.
$ bg
$ fg

Kemudian meletakkan job pada background melalui perintah bg. Job yang
berada di background tidak bisa dihentikan menggunakan perintah Ctlz-Z. Untuk
menghentikan jobnya, pindahkan dulu pada foreground dan menggunakan
perintah Ctrl-Z untuk menghentikannya.
4. Job pada background dapat digunakan untuk menampilkan teks pada terminal,
dimana dapat diabaikan jika mencoba mengerjakan job lain.
$ yes &

Percobaan ini akan menjalankan job menampilkan teks pada terminal secara
terus menerus, untuk menghentikan job ini harus dipindah dulu ke foreground
dengan tekan fg, tekan enter, kemudian dilanjutkan dengan Ctrl-Z untuk
menghenikan sementara.
5. Apabila ingin menjalankan banyak job dalam satu waktu
$ fg %2 atau $ %2
$ bg %2

Perintah untuk memberikan job pada background atau foreground dengan


memberikan ID nya, missal dipercobaan menggunakan ID 2.
6. Tekan fg dan tekan Enter, kemudian dilanjutkan dengan Ctrl-Z untuk
menghentikan sementara.

Menjalankan kembali job pada foreground yang sebelumnya diberhentikan


sementara.

Untuk memberhentikan job menggunakan perintah Ctrl-Z.


7. Lihat job dengan perintah ps -fae dan tekan Enter. Kemudian hentikan proses
dengan perintah kill.
$ ps -fae
$ kill -9 <NomorPID>

Percobaan menggunakan perintah ps -fae untuk melihat semua job yang


sedang berjalan yang dilengkapi dengan PID, PPID, UID dan lain sebagainya.
Kemudian untuk hentikan job yang ada dapat menggunakan perintah kill yang
diikuti dengan nomor PID job.
8. Logout dan tekan Alt+F7 untuk kembali ke mode grafis

Percobaan 6: Percobaan dengan Penjadwalan Prioritas


1. Login sebagai root.

Login sebagai root dapat menggunakan perintah su -.


2. Buka 3 terminal, tampilkan pada screen yang sama.
Login sebagai root menggunakan perintah su - pada 3 terminal yang dibuka
secara bersamaan.
3. Pada setiap terminal, ketik PS1 = “\w:” diikuti Enter.

Pada percobaan ini, \w untuk menampilkan path pada direktori home,


kemudian karena login sebagai root, maka akan ditampilkan ~: pada setiap
terminal.
4. Buka terminal lagi (keempat), atur posisi sehingga keempat terminal terlihat pada
screen.

5. Pada terminal keempat, ketik top dan tekan Enter. Maka program top akan
muncul. Ketik i. 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.

Percobaan pada terminal 4 menggunakan perintah top akan menampilkan


proses-proses yang berjalan.
6. Pada terminal 1, bukalah program executable C++ dengan mengetik program yes
dan tekan Enter.
Pada terminal 1 akan menampilkan teks secara terus menerus.
7. Ulangi langkah 7 untuk terminal 2.

Pada terminal 2 juga akan menampilkan teks secara terus menerus.


8. 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.
Pada terminal terminal 4 akan menampilkan program yes pada terminal 1 yang
memiliki PID 4049 dan terminal 2 yang memiliki PID 4051. Kedua proses berjalan
pada kecepatan yang sama.
9. 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.

Pada terminal 3 akan mengubah jadwal prioritas pada terminal 1 yang


semulanya 0 menjadi 19.

Dapat dilihat di terminal 4, program yes pada terminal 1 dengan PID 4049 akan
memiliki jadwal prioritas proses ke 19 yang artinya akan berjalan lebih lambat
dibandingkan pada terminal 2 dengan PID 4051.
10. 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.
Pada percobaan ini akan mengubah penjadwalan prioritas proses pada
terminal 1 dengan PID 4049 melalui jendelan top.

Mengubah yang sebelumnya 19 menjadi -19.

Kemudian akan terlihat penjadwalan prioritas proses pada terminal 1 sudah


berubah menjadi -19 yang nantinya akan berjalan lebih cepat dibandingkan
terminal 2 yang memiliki penjadwalan prioritas ke 0.
11. 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).
Pada terminal 3 akan menjalankan proses yes seperti terminal 1 dan 2, tetapi
terminal 3 memiliki penjadwalan prioritas ke -10.

Pada jendela sudah terlihat proses yes pada terminal 3 dengan PID 4237 dan
memiliki penjadwalan prioritas -10.
12. 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.
Mengubah penjadwalan prioritas proses pada terminal 3 dengan PID 4237
melalui jendelan top.

Mengubah yang sebelumnya -10 menjadi 0.

Kemudian akan terlihat penjadwalan prioritas proses pada terminal 3 sudah


berubah menjadi 0 yang nantinya akan berjalan sama cepatnya dengan terminal
2, tetapi lebih lambat dari terminal 1.
1.2 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


➔ bash, ps -au
b. Tulis PID dan COMMAND dari proses yang paling banyak menggunakan CPU time
➔ Command: /usr/lib/xor
PID: 1228
c. Sebutkan buyut proses dan PID dari proses tersebut
➔ Buyut proses yaitu proses yang memiliki PID terkecil yang menandakan
program tersebut merupakan program yang pertama dijalankan.
Command: /usr/lib/gdm
PID: 1226
d. Sebutkan beberapa proses daemon
➔ contoh proses daemon adalah inetd, named, popd, dan lain lainnya. Namun
pada praktikum ini, tidak ada proses daemon yang berjalan.
e. Pada prompt login lakukan hal-hal sebagai berikut:
$ csh: untuk beralih pada c shell (csh)
$ who: untuk menampilkan user yang sedang aktif atau dipakai
$ bash: untuk beralih ke bash
$ ls: untuk melihat direktori
$ sh: untuk beralih ke bourne shell atau posix shell (sh)
$ ps: untuk menampilkan proses yang sedang berjalan

f. Sebutkan PID yang paling besar dan kemudian buat urut-urutan proses sampai
ke PPID=1.
➔ Yang memiliki PID paling besar adalalh 4620
2. Cobalah format tampilan ps dengan opsi berikut dan perhatikan hasil tampilannya:
• -f daftar penuh

Hasil dari daftar penuh berupa UID, PID, PPID, C, STIME, TTY, TIME, CMD.
• -j format job

Hasil percobaan berisi PID, PGID, SID, TTY, TIME, CMD. Hasilnya berupa format
job yang biasanya hanya dipenuhi oleh angka, karena lebih cenderung
menampilkan ID dimana proses sedang bekerja.
• j format job control

Hasil percobaan berupa format job yang lebih detail hasilnya.


• l daftar memanjang

Daftar yang memanjang berisi F, UID, PID, PPID, PRI, NI, VSZ, RSS, WCHAN, STAT,
TTY, TIME, COMMAND.
• s format sinyal

Berupa format sinyal, isinya UID, PID, PENDING, BLOCKED, IGNORED, CAUGHT,
STAY, TTY, TIME, COMMAND.
• v format virtual memory

Hasilnya berupa virtual memory


• x format register i386

3. lakukan urutan pekerjaan 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

b. Gunakan perintah sleep 5. Apa yang terjadi dengan perintah ini?

Program akan berhenti selama 5 detik.


c. Jalankan perintah pada background menggunakan &
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.

Bisa memindahkan job ke background dan sebaliknya.


e. Jalankan sleep 15 pada background menggunakan & dan kemudian gunakan
perintah kill untuk menghentikan proses diikuti job number.

Untuk menghentikan proses dapat menggunakan perintah kill <PID>. Setelah


dicek kembali, proses sudah terhentikan
f. Jalankan sleep 15 pada background menggunakan & dan kemudian gunakan
kill untuk menghentikan sementara proses. Gunakan bg untuk melanjutkan

menjalankan proses.

g. Jalankan sleep 60 pada background 5 kali dan terminasi semua pada dengan
menggunakan perintah killall.
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?

j. Kombinasikan ps -fae dan grep, apa yang Anda lihat?

Artinya ps -fae hanya mengarahkan pada semua proses yang bernama terminal
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?
Pada saat melakukan log off, semua proses yang dijalankan oleh user
terselesaikan atau berhenti, sehingga program sleep 300 juga berhenti. Ketika
melakukan log in, sistem hanya akan menjalankan program-program dasar dan
saat dicek sudah tidak ada program sleep 300.
BAB III
PENUTUPAN

3.1 Kesimpulan
Berdasarkan praktikum yang telah dilaksanakan dibahas, kesimpulan yang
dapat diambil diantaranya adalah setiap proses yang dijalankan memiliki nomor
id nya masing-masing, memiliki jadwal prioritas dan dapat melakukan
penjadwalan prioritas pada setiap proses. Kemudian proses dapat dijalankan di
background atau foreground dan juga proses dapat diberhentikan melalui
perintah kill.

3.2 Referensi
https://www.academia.edu/12182657/LAPORAN_PRATIKUM_SISTEM_OPERASI_
manajemen_proses_ (Diakses pada 27 November 2020 pukul 21:24)
http://intheworld-it.blogspot.com/2014/11/laporan-praktikum-sistem-
operasi_25.html (Diakses pada 27 November 2020 pukul 22:06)

Anda mungkin juga menyukai