- DASAR TEORI
Setiap kali instruksi diberikan pada Shell Linux, kernel akan menciptakan proses-id. Proses ini disebut juga dalam terminologi UNIX sebagai JOB. Proses-id (PID) dimulai dari 0, yaitu proses INIT, kemudian diikuti oleh proses berikutnya (dapat dilihat dalam daftar urutan pada /etc /inittab). Proses-proses sistem terbagi dalam tiga tipe utama, yaitu :
- Interactive : Diprakarsai oleh sebuah shell dan berjalan dalam foreground dan
Background. - Batch : Secara tipical merupakan sebuah seri dari proses-proses yang
dijadwalkan untuk dieksekusi pada suatu waktu tertentu - Daemon : Secara tipikal diinisialisasi saat boot untuk membentuk fungsi-fungsi
sistem yang dibutuhkan, seperti LPD, NFS dan DNS
Proses Interaktive terdiri dari atas :
- Proses fireground adalah suatu proses yang ketika berjalan, shell tidak menampilkan prompt hingga proses berakhir.
- Proses background adalah suatu proses yang sewaktu-waktu berjalan, pemakai tetap dapat memberikan perintah yang lain. Sebab begitu perintah background diberikan (setelah di tekan ENTER), prompt akan ditampilkan kembali dan shell siap menerika perintah berikutnya.
Background Proses
Untuk menghasilkan sebuah background proses, dapat dilakukan dengan menjalankan perintah yang diakhiri dengan simbol &. Pada kondisi seperti ini, sehll tidak akan menunggu sampai eksekusi perintah berakhir. Begitu perintah berakhiran & diberikan, shell siap menerima perintah lain. Kegunaan perintah ini misalnya untuk memperoleh daftar seluruh file dari direktori root (/) beserta anak-anaknya dan menempatkannya ke sebuah file. Karena proses ini Kemungkinan memakan waktu yang cukup lama, pemakai dapat mengatur agar eksekusinya dilakukan dilatar belakang. Sehingga sementara sistem sedang memprosesnya, pemakai tetap dapat bekerja memberikan perintah-perintah lainnya.
- PRAKTEK
LATIHAN 1
- Masuk ke tty2 dengan Ctr+Alt+F2, ketik ps –au, kemudian perhatikan keluaran sebagai berikut :
- Sebutkan nama-nama proses yang bukan root.
Proses yang bukan root adalah proses yang bekerja pada user zaenal.
- Tulis PID dan COMMAND dari proses yang paling banyak menggunakan CPU time.
Yang menggunakan cpu time paling banyak yang pertama adalah pada COMMAND /usr/X11R6/bin/ yang menggunakan CPU time 1.9%, yang kedua adalah pada COMMAND bash yang menggunakan CPU time 0.4%, yang ketiga adalah pada COMMAND -bash yang menggunakan CPU time 0.2%, sedangkan yang lainnya hanya 0.0%.
- Sebutkan buyut proses dan PID dari proses tersebut.
Proses tersebut berada pada direktori /sbin/ dan itu merupakan buyut dari proses tersebut.
- Sebutkan beberapa proses daemon
Pada umumnya nama proses daemon di UNIX berakhiran d. jika kita perhatikan tidak ada yang seperti itu.
- Pada prompt login lakukan hal-hal berikut : csh, who, bash, ls, sh, ps.
- Sebutkan PID yang terbesar dan kemudian buat urutan- urutan proses sampai ke PID = 1.
Dari hasil ps –au sudah terurutkan dari PID terkecil ke PID terbesar.
- Cobalah format tampilan ps dengan opsi –f, -j, j, l, s, v, x
LATIHAN 2
- Menghentikan dan memulai kembali job
- Cara lain meletakan job pada background dengan memulai job secara normal pada foreground, stop job dan memulai pada background.
- Untuk restart job pada foreground gunakan perintah $ fg.
- Shell akan menampilkan nama perintah yang diletakan di foreground. Stop job lagi dengan ctrl+z kemudian gunakan perintah bg untuk meletakan job pada background.
Job tidak bisa dihentikan dengan ctrl+z karena job bekerja pada background. Untuk menghentikannya lakukan job pada foreground dengan fg dan kemudian hentikan sementara dengan ctrl+z.
Job pada background dapat digunakan untuk menampilkan teks pada terminal, dimana dapat diabaikan jika mengerjakan job lain. Dan untuk menghentikannya tidak dapat menggunakan ctrl+z, job harus dipindah ke foreground, baru dihentikan dengan cara fg dan tekan enter, kemudian dilanjutkan dengan ctrl+z untuk menghentikan sementara..
- Apabila ingin menjalankan banyak job dalam satu waktu. Letakan job pada foreground atau background dengan memberikan job ID.
- Lihat job dengan perintah ps –fae, kemudian hentikan proses dengan perintah kill.Untuk menghentikan proses lakukan perintah killItu berarti menghentikan proses dengan no PID 9.
Percobaan dengan penjadualan prioritas:
- Login sebagai root, buka 3 terminal tampilkan pada screen yang sama
- Pada setiap terminal ketik PS1=”\w: “ .
- Untuk setiap terminal ketik pwd, ini berguna untuk melihat bahwa anda sedang berada di direktori root
Buka terminal lagi, dan diterminal ke empat ini ketik top dan tekan enter
Lalu ketik I, ini berguna untuk melihat program yang sedang aktif
Ketik lmt dan program top tidak akan lagi menampilkan informasi pada bagian atas dari screen.
- Pada terminal 1 bukalah program executable C++ dengan mengetikan yesPada jendela terminal 1 akan muncul program yang tiada henti, dan dijendela 4 ditampilkan proses yang sedang berjalan di jendela ke-1, 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.
- Gunakan terminal ke 3 dan ketik renice 19<PID terminal 1>Hal ini berarti mengganti penjadwalan prioritas dari proses ke 19.
- Tunggu beberapa saat sampai program top berubah dan terlihat pada jendela top.
Pada kolom STAT memperlihatkan N untuk proses 2143. Hal ini berarti bahwa penjadwalan prioritas untuk proses 2143 lebih besar atau lebih lambat dari 0, proses 2205 berjalan lebih cepat.
- Program top juga mempunyai beberapa fungsi yang sama dengan program renice.
Terdapat prompt PID to renice..
Masukan nilainya
Lalu tekan enter
Aksi renice yang saya lakukan ternyata failed
- Pilih terminal yang sedang nganggur dan ketik nice –n -10 yes
Program top berubah dan terlihat proses prime ke 3
- 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 desktop grafis seperti X panel dll.
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.
- Tutup semua terminal, logout dan login kembali sebagai user.
KESIMPULAN
Setiap kali instruksi diberikan pada Shell Linux, kernel akan menciptakan proses-id. Proses ini disebut juga dalam terminologi UNIX sebagai JOB. Proses- proses sistem terbagi dalam tiga tipe utama, yaitu :
Interactive : Diprakarsai oleh sebuah shell dan berjalan dalam foreground dan
Background.
Background.
Batch : Secara tipical merupakan sebuah seri dari proses-proses yang
dijadwalkan untuk dieksekusi pada suatu waktu tertentu
dijadwalkan untuk dieksekusi pada suatu waktu tertentu
Daemon : Secara tipikal diinisialisasi saat boot untuk membentuk fungsi-fungsi
sistem yang dibutuhkan, seperti LPD, NFS dan DNS
sistem yang dibutuhkan, seperti LPD, NFS dan DNS
Tidak ada komentar:
Posting Komentar