Nurdianah Yuliasih 4d Modul5
-
Upload
nurdianah-yulia -
Category
Documents
-
view
122 -
download
12
Transcript of Nurdianah Yuliasih 4d Modul5
PRAKTIKUM V
PROSES DAN MANAJEMEN PROSES
Disusun Oleh :
NURDIANAH YULIASIH201010370311300
PROGRAM STUDI TEKNIK INFORMATIKAFAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH MALANG2011 – 2012
POKOK BAHASAN:
Proses pada Sistem Operasi Linux
Manajemen Proses pada Sistem Operasi Linux
TUJUAN BELAJAR:
Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu:
Memahami konsep proses pada sis tem operasi Linux.
Menampilkan beberapa cara menampilkan hubungan proses parent dan child.
Menampilkan status proses dengan beberapa format berbeda.
Melakukan pengontrolan proses pada shell.
Memahami penjadwalan prioritas.
DASAR 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 prosesid. 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)
44Praktikum Sistem Operasi
Teknik Inforatika Universitas Muhammadiyah Malang
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 :
2. MENGIRIM SINYAL
Teknik Inforatika Universitas Muhammadiyah Malang
45Praktikum Sistem Operasi
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 diper untukkan 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 [CtrlZ]. 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
ps –fae atau
Teknik Inforatika Universitas Muhammadiyah Malang
46Praktikum Sistem Operasi
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 terusmenerus direfresh. 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.
TUGAS PENDAHULUAN:
Jawablah pertanyaanpertanyaan di bawah ini :
1. Apa yang dimaksud dengan proses ?
2. Apa yang dimaksud perintah untuk menampilkan status proses : ps, pstree.
3. Sebutkan opsi yang dapat diberikan pada perintah ps
4. Apa yang dimaksud dengan sinyal ? Apa perintah untuk mengirim sinyal ?
5. Apa yang dimaksud dengan proses foreground dan background pada job control ?
6. Apa yang dimaksud perintahperintah penjadwalan prioritas : top, nice, renice.
PERCOBAAN:
Percobaan 1 : Status Proses
1. Login sebagai user.
Teknik Inforatika Universitas Muhammadiyah Malang
47Praktikum Sistem Operasi
2. Lakukan percobaanpercobaan di bawah ini kemudian analisa hasil percobaan.
3. Pindah ke command line terminal (tty2) dengan menekan Ctrl+Alt+F2 dan login ke terminal sebagai user.
4. 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
5. Untuk melihat faktor/elemen lainnya, gunakan option –u (user). %CPU adalah presentasi CPU 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
6. Mencari proses yang spesifik pemakai. Proses diatas hanya terbatas pada proses milik pemakai, dimana pemakai teresbut melakukan login
$ ps –u <user>
7. Mencari proses lainnya gunakan opsi a (all) dan au (all user)
$ ps –a
$ ps –au
Percobaan 2 : Menampilkan Hubungan Proses Parent dan Child
1. Pindah ke command line terminal dengan menekan Ctrl+Alt+F2 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.
Teknik Inforatika Universitas Muhammadiyah Malang
48Praktikum Sistem Operasi
$ ps –eH
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
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 mempunyai proses bash sebagai child. Proses bash
mempunyai proses child startx. Proses startx mempunyai child xinit dan seterusnya.
$ pstree
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
6. Untuk melihat semua PID untuk proses gunakan opsi –p.
$ pstree –p
7. Untuk menampilkan proses dan ancestor yang tercetak tebal gunakan opsi –h.
$ pstree –h
8. Untuk melihat PID setiap proses di sistem
$ ps ax
Latihan :
1. Tulislah contoh program berikut yang yang membaca ID proses aktif dan ID proses parent :
/* contoh1.c */
Teknik Inforatika Universitas Muhammadiyah Malang
49Praktikum Sistem Operasi
#include <stdio.h> /* standard I/O */
#include <unistd.h> /* getpid(), getppid() */
#include <sys/types.h> /* pid_t */
int
main() {
pid_t mypid, myparentpid; /* deklarasi variabel penampung
*/
mypid=getpid(); /* ambil ID proses ini */
myparentpid=getppid(); /* ambil ID parent proses ini */
/* tampilkan ID proses ini */
printf("PID Saya = %d\n",mypid);
/* tampilkan ID parent */
printf("PID PARENT Saya = %d\n",myparentpid);
}
Lakukan proses kompilasi dan Link program contoh1.c
gcc contoh1.c o contoh1
Kemudian eksekusi program dengan :
. /contoh1
Analisa hasil percobaa n yang Anda lakukan. Kerjakan latihan diatas dan analisa hasil tampilannya. Berikan kesimpulan dari praktikum ini.
Percobaan 3 : Konsep Pembuatan Proses
Konsep pembuatan proses pada sistem operasi linux :
Setiap proses diberi nomor khusus sebagai identifikasi yang disebut process identification
50Praktikum Sistem Operasi
Teknik Inforatika Universitas Muhammadiyah Malang
atau PID berupa angka integer unik.
Jika proses selesai (Terminated) maka semua sumber daya yang digunakan termasuk PID
dibebaskan kembali.
Proses dibuat menggunakan system call fork() yang sering disebut forking proses
System call fork() mengkopi proses pemanggil sehingga akan terdapat 2 proses yaitu :
1. Proses pemanggil disebut PARENT
2. Proses hasil kopian disebut CHILD
Proses CHILD identik dengan proses PARENTnya tetapi memiliki PID yang berbeda.
Setelah proses baru (child) berhasil dibuat eksekusi dilanjutkan secara normal di masing–masing proses pada baris setelah pemanggilan system call fork().
Proses pemanggil (PARENT) dapat melakukan forking proses lebih dari satu kali sehingga memungkinkan terdapat banyak proses CHILD yang dieksekusi.
Proses CHILD dapat melakukan forking proses seperti halnya PARENT sehingga dapat
terbentuk struktur pohon proses.
Untuk pembuatan proses baru di sistem, GNU C menyediakan system call fork() yang disertakan
pada pustaka unistd.h dengan bentuk prototype sebagai berikut :
pid_t fork (void);
fork() mengembalikan suatu besaran bertipe pid_t yang dapat bernilai :
1 menandakan pembuatan proses baru (child) gagal
0 menandakan proses child
selain itu merupakan proses parent dan jika variabel PID dia kses akan berisi PID child. Apabila operasi sukses akan terdapat 2 proses yang dieksekusi yaitu proses parent dan proses child, eksekusi akan dilanjutkan pada kedua proses setelah fork() sampai selesai. Seperti yang telah dijelaskan bahwa proses parent dan child dapat membuat proses proses baru yang lain sehingga
Teknik Inforatika Universitas Muhammadiyah Malang
51Praktikum Sistem Operasi
terdapat banyak proses yang berjalan pada waktu bersamaan (Multitasking). Berikut contoh program yang melakukan forking sebuah proses tanpa memeriksa nilai yang dikembalikan.
Percobaan Pembuatan Proses
1. program pembuatan proses baru yang melakukan pemeriksaan nilai tanpa kembalian dari
fork()
/* contoh2.c */
#include <stdio.h> /* standard I/O */
#include <unistd.h> /* fork() */
#include <sys/types.h> /* pid_t */
int
main() {
printf("Hello\n"); /* tampilkan Hello */
fork(); /* buat proses child */
printf("Bye-Bye\n"); /* dieksekusi oleh parent dan child */
}
Lakukan proses kompilasi pada program diatas yaitu :
gcc contoh2.c o contoh2
Eksekusi program yang telah di kompilasi dengan :
./contoh2
Hasil dari eksekusi program diatas adalah :
Hello
Teknik Inforatika Universitas Muhammadiyah Malang
52Praktikum Sistem Operasi
ByeBye
ByeBye
String “Hello” ditampilkan oleh parent sedangkan string “ByeBye” masing – masing dieksekusi oleh parent dan child, lebih jelasnya berikut ilustrasi forking proses pada program contoh2.c diatas :
2. program pembuatan proses baru yang melakukan pemeriksaan nilai kembalian dari fork()
/* contoh3.c */
#include <stdio.h> /* standard I/O */
#include <stdlib.h> /* standard library */
#include <unistd.h> /*fork(), getpid(), getppid() */
#include <sys/types.h> /* pid_t */
int
main(){
pid_t pid;
pid=fork(); /* buat proses child */
if (pid==-1){
Teknik Inforatika Universitas Muhammadiyah Malang
53Praktikum Sistem Operasi
print(“Fork gagal\n”);
exit(EXIT_FAILURE); /* exit jika gagal */
}
if (pid==0){
/* proses child */
print(“CHILD: Ini proses Child\n”); print(“CHILD:
PID saya = %d\n”,getpid()); print(“CHILD: PID
parent saya = %d\n”,getppid());
} else {
/* proses parent */
print(“PARENT: Ini proses Parent\n”);
print(“PARENT: PID saya = %d\n”,getpid());
print(“PARENT: PID parent saya = %d\n”,getppid());
print(“PARENT: PID child saya = %d\n”,pid);
}
}
Lakukan kompilasi pada program diatas
Analisa dan catatlah hasilnya
Gantilah blok if menjadi struktur switch case
Analisa dan catatlah hasilnya
3. Fungsi Wait() membuat proses parent menunggu
/* contoh4.c */
#include <stdio.h>
#include <stdlib.h>
Teknik Inforatika Universitas Muhammadiyah Malang
54Praktikum Sistem Operasi
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h> /* wait()
*/ int
main(){
pid_t pid;
int rv;
pid=fork();
switch(pid) {
case -1:
perror("fork"); /* pesan kesalahan */
exit(EXIT_FAILURE); /* exit jika gagal */
case 0:
printf(" CHILD: Ini proses child!\n");
sleep(5); /* tunggu 5 second */
printf(" CHILD: Selesai...!\n");
exit(EXIT_SUCCESS);
default:
printf("PARENT: Ini proses parent!\n");
printf("PARENT: Sekarang menunggu child untuk
selesai...\n");
wait(&rv); /* tunggu sampai child selesai */
printf("PARENT: Selesai...!\n");
}
Teknik Inforatika Universitas Muhammadiyah Malang
55Praktikum Sistem Operasi
}
Lakukan kompilasi pada program diatas
Analisa dan catatlah hasilnya
/* contoh5.c */
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
int
main(){
pid_t pid;
int rv;
switch(pid=fork()) {
case -1:
perror("fork"); /* pesan kesalahan */
exit(EXIT_FAILURE); /* exit jika gagal */
case 0:
printf(" CHILD: Ini proses child!\n");
printf(" CHILD: PID saya adalah %d\n", getpid());
printf(" CHILD: PID parent saya %d\n", getppid());
printf(" CHILD: Masukkan status exit saya: ");
scanf(" %d", &rv);
printf(" CHILD: Selesai...!\n");
Teknik Inforatika Universitas Muhammadiyah Malang
56Praktikum Sistem Operasi
exit(rv);
default:
printf("PARENT: Ini proses parent!\n");
printf("PARENT: PID saya adalah %d\n", getpid());
printf("PARENT: PID child saya %d\n", pid);
printf("PARENT: Sekarang menunggu child untuk
selesai...\n");
wait(&rv); /* tunggu proses child selesai */
printf("PARENT:status exit child saya :
%d\n",WEXITSTATUS(rv)); /*status exit*/
printf("PARENT: Selesai...!\n");
}
}
Lakukan kompilasi pada program diatas
Analisa dan catatlah hasilnya
Percobaan 4 : Menampilkan Status Proses dengan Berbagai Format
1. Ketik ps –e | more dan tekan Enter. Opsi e menampilkan semua proses dalam bentuk 4
kolom : PID, TTY, TIME dan CMD.
$ ps –e | more
Teknik Inforatika Universitas Muhammadiyah Malang
57Praktikum Sistem Operasi
Jika halaman penuh terlihat prompt More di bagian bawah screen, tekan q untuk kembali ke prompt perintah.
2. 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. Terdapa 5 kolom : PID, TTY,
STAT, TIME dan COMMAND.
$ ps ax | more
Jika halaman penuh terlihat prompt More di bagian bawah screen, tekan q untuk kembali ke prompt perintah.
3. Ketik ps –e f | more dan tekan Enter. Opsi –e f akan menampilkan semua proses dalam
format daftar penuh.
$ ps ef | more
Jika halaman penuh terlihat prompt More di bagian bawah screen, tekan q untuk kembali ke prompt perintah.
4. 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.
5. 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 ditampilkan 0.
$ ps –eo pid,ppid,%mem,cmd | more
Percobaan 5 : Mengontrol proses pada shell
1. Gunakan perintah yes yang mengirim output y yang tidak pernah berhenti
$ yes
Teknik Inforatika Universitas Muhammadiyah Malang
58Praktikum Sistem Operasi
Untuk menghentikannya gunakan CtrlC.
2. Belokkan standart output ke /dev/null
$ yes > /dev/null
Untuk menghentikannya gunakan CtrlC.
3. 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 &
Angka dalam ”[ ]” merupakan job number diikuti PID.
4. Untuk melihat status proses gunakan perintah jobs.
$ jobs
5. Untuk menghentikan job, gunakan perintah kill diikuti job number atau PID proses.
Untuk identifikasi job number, diikuti prefix dengan karakter ”%”.
$ kill %<nomor job> contoh : kill %1
6. Lihat status job setelah diterminasi
$ jobs
Percobaan 6 : 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
Teknik Inforatika Universitas Muhammadiyah Malang
59Praktikum Sistem Operasi
$ yes > /dev/null
Hentikan sementara job (suspend ), bukan menghentikannya (terminate ), tetapi menghentikan sementara job sampai di restart. Untuk menghentikan sementara job gunakan CtrlZ.
2. Untuk restart job pada foreground , gunakan perintah fg.
$ fg
3. Shell akan menampilkan nama perintah yang diletakkan di foreground. Stop job lagi
dengan CtrlZ. Kemudian gunakan perintah bg untuk meletakkan job pada background.
$ bg
Job tidak bisa dihentikan dengan CtrlZ karena job berada pada background. Untuk
menghentikannya, letakkan job pada foreground dengan fg dan kemudian hentikan
sementara dengan CtrlZ.
$ fg
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 CtrlC. Job harus dipindah ke
foreground, baru dihentikan dengan cara ketik fg dan tekan Enter, kemudian dilanjutkan
dengan CtrlZ untuk menghentikan sementara.
5. Apabila ingin menjalankan banyak job dalam satu waktu, letakkan job pada foregroundatau background dengan memberikan job ID
$ fg %2 atau $ %2
$ bg %2
6. ketik fg dan tekan Enter, kemudian dilanjutkan dengan Ctrl Z untuk menghentikan
sementara.
7. Lihat job dengan perintah ps fae dan tekan Enter. Kemudian hentikan proses dengan
perintah kill.
60Praktikum Sistem Operasi
Teknik Inforatika Universitas Muhammadiyah Malang
$ ps fae
$ kill 9 <NomorPID>
Contoh Program yang serupa dengan perintah kill. Lakukanlah kompilasi dan analisa hasilnya
/* contoh1.c */
#include <signal.h> /* kill() */
#include <sys/types.h> /* pid_t */
int
main(){
pid_t PID=773;
kill(PID,SIGTERM);
}
Percobaan 7 : 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.
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.
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.
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.
Teknik Inforatika Universitas Muhammadiyah Malang
61Praktikum Sistem Operasi
7. Pada terminal 1, bukalah program executable C++ dengan mengetik program yes dan
tekan Enter.
8. Ulangi langkah 7 untuk terminal 2.
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.
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.
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).
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.
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
Teknik Inforatika Universitas Muhammadiyah Malang
62Praktikum Sistem Operasi
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 window.
17.Logout dan login kembali sebagai user.
LATIHAN :
1. Masuk ke terminal Ketik ps –au dan tekan Enter. Kemudian perhatikan keluaran sebagai
berikut :
a. Sebutkan namanama proses yang bukan root
b. Tulis PID dan COMMAND dari proses yang paling banyak menggunakan CPU time
c. Sebutkan buyut proses dan PID dari proses tersebut
d. Sebutkan beberapa proses daemon
e. Pada prompt login lakukan hal hal sebagai berikut :
$ csh
$ who
$ bash
$ ls
$ sh
$ ps
f. Sebutkan PID yang paling besar dan kemudian buat uruturutan proses sampai
ke PPID = 1.
Teknik Inforatika Universitas Muhammadiyah Malang
63Praktikum Sistem Operasi
2. Cobalah format tampilan ps dengan opsi berikut dan perhatikan hasil tampilannya :
f daftar penuh
j format job
J format job control
l daftar memanjang
s format sinyal
v format virtual memory
X format register i386
Teknik Inforatika Universitas Muhammadiyah Malang
64Praktikum Sistem Operasi
DAFTAR PUSTAKA
1. Free Software Foundation.`The GNU C Library Reference Manual', for Version 2.2.x of
the GNU C Library. 2001
2. Hariyanto, Bambang.‘Sistem Operasi’, Edisi 2, Informatika Bandung. 2000
3. h tt p :/ / l e c t urer.ee p i s it s .edu/
4. h ttp : / / w w w . il mu k omp u te r .c om/
5. Husain, Kamran. Parker, Tim.‘Red Hat Linux Unleashed’,Sams Publishing.1996
6. Sams Development Team.‘Unix Unleashed’,Sams Publishing.1994
7. Stallings, William.‘Operating Systems’, New jersey. PrenticeHall Inc.1995
Teknik Inforatika Universitas Muhammadiyah Malang
65Praktikum Sistem Operasi
LAPORAN PRAKTIKUM
1. Percobaan 4 : Menampilkan Status Proses dengan Berbagai Format>>> >>>
Ps –e untuk menampilkan semua proses dalam bentuk 4 kolom seperti : PID, TTY, TIME, dan CMD
ps ax | more 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. Terdapa 5 kolom : PID, TTY, STAT, TIME dan COMMAND.
Teknik Inforatika Universitas Muhammadiyah Malang
66Praktikum Sistem Operasi
>>>
Ps ef | more adalah untuk menampilkan semua proses dalam format daftar penuh. Jika halaman penuh terlihat prompt “more” di bagian bawah screen.
>>> >>>
Teknik Inforatika Universitas Muhammadiyah Malang
67Praktikum Sistem Operasi
ps –eo pid,ppid,%mem,cmd | more Akan menampilkan kolom
PID, PPID dan %MEM. PPID adalah proses ID dari proses parent. %MEM menampilkan pe
rsentasi memory system yang digunakan proses. Jika proses hanya menggunakan
sedikit memory system akan ditampilkan 0.
2. Percobaan 5 : Mengontrol Proses pada shell>>> >>>
Yes digunakan untuk mengirim output y yang tidak pernah berhenti.
3. Percobaan 6 : Menghentikan dan Memulai Kembali jobs>>> >>>
>>>
>>>
Teknik Inforatika Universitas Muhammadiyah Malang
68Praktikum Sistem Operasi
Jobs digunakan untuk melihat status proses. Untuk identifikasi job number, diikuti prefix dengan karakter ”%”.
>>>
>>>
Teknik Inforatika Universitas Muhammadiyah Malang
69Praktikum Sistem Operasi
4. Percobaan 7 : Percobaan dengan Penjadwalan Prioritas>>>
Untuk menampilkan path pada direktori home
>>>
>>>
Teknik Inforatika Universitas Muhammadiyah Malang
70Praktikum Sistem Operasi
5. Latihana. Nama-nama yang bukan /root --> ayikb. PID --> 4749 COMMAND --> 1:46 /usr/bin/X :0 -br -verbose -auth /var/run/gdm/auth-for-gdm-kyH5PY/database
-nolisten tcpc. Buyut proses tersebut adalah proses yang paling atas.d. Beberapa proses daemon --> inetd, popd, named.e. Menjalankan command hasil ada pada printscreen.f. PID terbesar hingga terkecil : PID TTY TIME CMD 6962 pts/0 00:00:00 bash 7179 pts/0 00:00:00 sh 7231 pts/0 00:00:00 ps
>>>
>>> >>>
>>>
Teknik Inforatika Universitas Muhammadiyah Malang
71Praktikum Sistem Operasi
>>>
>>>
>>>
>>>
KESIMPULAN :1. Mengetahui cara menampilakn status proses antara child dengan parent.2. Bisa menampilkan beberapa format proses yang berbeda.3. Mengontrol proses pada shell.
Teknik Inforatika Universitas Muhammadiyah Malang
72Praktikum Sistem Operasi