Pokok
Bahasan
Proses pada Sistem Operasi Linux
Manajemen Proses pada Sistem Operasi Linux
Tujuan
Praktikum
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 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 :
No Sinyal Nama Deskripsi
1 SIGHUP
Hangup, sinyal dikirim bila proses terputus, misalnya
melalui putusnya
hubungan modem
2 SIGINT Sinyal interrupt, melalui ^C
3 SIGQUIT Sinyal Quit, melalui ^\
9 SIGKILL Sinyal Kill, menghentikan proses
15 SIGTERM Sinyal terminasi software
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 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 [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.
TUGAS
PENDAHULUAN:
Jawablah pertanyaan-pertanyaan 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 ?
1. Apa
yang dimaksud perintah-perintah penjadwalan prioritas : top, nice, renice.
Percobaan
1 : Status Proses
1. Login
sebagai user.
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
(Sleeping) 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.
$ 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
9. Latihan
:
1. Tulislah contoh program
berikut yang yang membaca ID proses aktif dan ID proses parent :
/*
contoh1.c */
#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
2. Analisa hasil percobaa n yang
Anda lakukan.
3. Kerjakan latihan diatas dan
analisa hasil tampilannya.
4. 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 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 :
o Proses pemanggil disebut
PARENT
o 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
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
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){
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
3. Fungsi
Wait() membuat proses parent menunggu
/*
contoh4.c */
#include
<stdio.h>
#include
<stdlib.h>
#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");
}
}
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");
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
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
Untuk menghentikannya
gunakan Ctrl-C.
2. Belokkan standart
output ke /dev/null
$ yes
> /dev/null
Untuk menghentikannya
gunakan Ctrl-C.
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 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
Hentikan sementara job (suspend ), bukan
menghentikannya (terminate ), tetapi menghentikan
sementara job sampai di restart. Untuk menghentikan
sementara job gunakan Ctrl-Z.
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 Ctrl-Z karena job berada
pada background. Untuk
menghentikannya, letakkan job pada foreground dengan
fg dan kemudian hentikan
sementara
dengan Ctrl-Z.
$ 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 Ctrl-C. Job
harus dipindah ke foreground,
baru dihentikan dengan cara ketik fg dan tekan Enter, kemudian
dilanjutkan dengan Ctrl-Z untuk
menghentikan sementara.
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. 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.
$ 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.
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 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.
Komentar
Posting Komentar