PRAKTIKUM 4
MANAJEMEN PROSES LINUX
SISTEM OPERASI
DOSEN PENGAMPU: MUHAMMAD FATHURRAHMAN S.T., M.T.
FACHMA OKTAFIANI
2103421016
BM 5A
PROGRAM STUDI
BROADBAND MULTIMEDIA
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI JAKARTA
2023
TUJUAN BELAJAR:
Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu:
Memahami konsep proses pada sistem 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:
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 diberikan pada Linux shell, maka kernel akan menciptakan sebuah proses-id. Proses ini disebut juga dengan INIT, kemudian diikuti oleh proses berikutnya (terdaftar pada /etc/inittab).
Beberapa tipe proses:
1. Foreground:
Proses yang diciptakan oleh pemakai langsung pada terminal (interaktif, dialog).
2. Batch:
Proses yang dikumpulkan dan dijalankan secara sekuensial (satu persatu). Proses Batch tidak diasosiasikan (berinteraksi) dengan terminal.
3. 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, propd dll.
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 : 1s/d maksimum nomor sinyal yang didefinisikan system Standar nomor sinyal yang terpenting adalah
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.
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 sementara sangat berbeda dengan melakukan interrupt job (biasanya menggunakan [Ctrl-C]), dimana job yang di interrupt akan dimatikan secara permanen dan tidak dapat dijalankan lagi.
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 system UNIX adalah perintah killall. Perintah ini akan menghentikan proses sesuai PID atau job number proses.
PERCOBAAN:
PERCOBAAN 1: STATUS PROSES
a. ps
b. ps -u
c. Mencari proses yang spesifik pemakai: ps -u fachma
d. Mencari proses lainnya gunakan opsi a (all) dan au (all user)
PERCOBAAN 2: MENAMPILKAN HUBUNGAN PROSES PARENT DAN CHILD
a. ps -eH
b. ps -e f
c. pstree
pstree | grep mingetty
d. pstree -p
e. pstree -h
PERCOBAAN 3: MENAMPILKAN STATUS PROSES DENGAN BERBAGAI FORMAT
a. ps -e | more
b. ps ax | more
c. ps ef | more
d. ps -eo pid,cmd | more
e. ps -eo pid,ppid,%mem,cmd | more
PERCOBAAN 4: MENGONTROL PROSES PADA SHELL
a. yes
Untuk berhenti mengirim pesan, tekan “ctrl + C”
b. yes > /dev/null
c. yes > /dev/null &
d. jobs
e. kill %<nomor job>
contoh:
d. jobs
PERCOBAAN 5: MENGHENTIKAN DAN MEMULAI KEMBALI JOB
a. yes > /dev/null
b. fg
c. bg dan fg
d. yes &
e. fg %2 atau %2
bg %2
f. ps -fae
g. kill -9 (NomorPID)
PERCOBAAN 6: PERCOBAAN DENGAN PENJADWALAN PRIORITAS
a. membuka 3 terminal, pada screen yang sama
b. Pada setiap terminal, ketik PS1 = ” \w:” diikuti Enter.
c. Buat terminal lagi (keempat), ketik “top” kemudian enter
d. Pada terminal 1, ketik “yes” kemudian enter.
Untuk memberhentikannya ketik “ctrl + c”
e. lakukan hal yang sama pada terminal 2. Tuliskan “renice 19 2385”
KESIMPULAN:
Kesimpulan:
Proses dalam konteks sistem operasi adalah eksekusi aktif dari program atau perintah yang sedang
berjalan. Setiap instruksi yang diberikan melalui shell Linux akan menciptakan proses baru dengan
identitas unik yang disebut PID (Process ID). Informasi terkait proses seperti nomor identitas proses,
terminal tempat proses berjalan, waktu yang diperlukan untuk menjalankan perintah, dan perintah itu
sendiri ditampilkan. Terdapat berbagai perintah untuk mengelola proses, dan untuk menghentikan
proses, perintah "kill" dapat digunakan. Proses dapat membentuk hirarki atau pohon, dimana proses
tertentu dapat memiliki proses anak yang berkaitan dengannya. Pemahaman yang baik tentang proses
adalah kunci untuk mengoptimalkan kinerja sistem dan melakukan manajemen yang efektif dalam
sistem operasi.
No comments:
Post a Comment