Manajemen Proses
A. Dasar teori
Perintah ps merupakan akronim dari “proces status”. Akan memberikan informasi status pada proses sistem kita.Menampilkan berbagai informasi mengenai proses apa saja yang sedang aktif, siapa pemilik proses tersebut, berapa lama proses berjalan dan berapa ID atau nomor pengenal proses.
“top” adalah aplikasi di Linux yang dijalankan melalui Terminal di Linux. Aplikasi ini digunakan untuk memanajemen proses Linux tanpa menggunakan GUI. Saat dieksekusi, aplikasi ini akan menampilkan daftar semua proses yang sedang berjalan dan setiap detik akan diperbaharui. Proses yang ditampilkan pada perintah “top” adalah yang paling besar menggunakan sumber daya.
“ps” adalah aplikasi di Linux yang digunakan untuk menampilkan aktif proses yang berjalan pada sistem. Aplikasi ini dapat Anda gunakan untuk melakukan manajemen proses Linux
C.Kesimpulan
Manajemen proses merupakan konsep pokok dalam sistem
operasi, sehingga masalah manajemen proses adalah masalah utama dalam
perancangan sistem operasi.
Proses adalah program yang sedang dieksekusi. Proses
dapat juga didefinisikan sebagai unit kerja terkecil yang secara individu
memiliki sumber daya dan dijadwalkan oleh sistem operasi. Proses berisi
instruksi, data, program counter, register pemroses, stack data, alamat
pengiriman dan variabel pendukung lainnya.
Sebagaimana proses bekerja, maka proses tersebut
merubah state (keadaan statis/ asal). Status dari sebuah proses didefinisikan
dalam bagian oleh aktivitas yang ada dari proses tersebut. Tiap proses mungkin
adalah satu dari keadaan berikut ini:
? New : Proses sedang dikerjakan/
dibuat.
? Running
: Instruksi sedang dikerjakan.
? Waiting : Proses sedang menunggu sejumlah
kejadian untuk terjadi (seperti sebuah penyelesaian I/O
? Ready : Proses sedang menunggu untuk
ditugaskan pada sebuah prosesor.
? Terminated
: Proses telah selsesai melaksanakan tugasnya/ mengeksekusi.
PROCESS CONTROL BLOCK
Tiap proses digambarkan dalam sistem operasi oleh
sebuah process control block (PCB) – juga
disebut sebuah control block. Sebuah PCB ditunjukkan
dalam Gambar 2. PCB berisikan banyak bagian dari informasi yang berhubungan
dengan sebuah proses yang spesifik, termasuk ini:
? Keadaan proses
: Keadaan mungkin, new, ready, running, waiting, halted, dan juga
banyak
lagi.
? Program counter : Counter mengindikasikan address
dari perintah selanjutnya untuk dijalankan untuk proses ini.
? CPU register : Register bervariasi dalam jumlah
dan jenis, tergantung pada rancangan komputer.
PENJADWALAN PROSES
Tujuan dari multiprogramming adalah untuk memiliki
sejumlah proses yang berjalan pada sepanjang waktu, untuk memaksimalkan
penggunaan CPU.
Tujuan dari pembagian waktu adalah untuk mengganti
CPU diantara proses-proses yang begitu sering sehingga pengguna dapat
berinteraksi dengan setiap program sambil CPU bekerja. Untuk sistem
uniprosesor, tidak akan ada lebih dari satu proses berjalan. Jika ada proses
yang lebih dari itu, yang lainnya akan harus menunggu sampai CPU bebas dan
dapat dijadualkan kembali.
Terdapat 3 konsep dasar Penjadwalan proses yaitu :
Penjadualan Antrian (Scheduling Queue)
Ketika proses memasuki sistem, mereka diletakkan
dalam antrian job. Antrian ini terdiri dari seluruh proses dalam sistem. Proses
yang hidup pada memori utama dan siap dan menunggu/ wait untuk mengeksekusi
disimpan pada sebuah daftar bernama ready queue. Antrian ini biasanya disimpan
sebagai daftar penghubung. Sebuah header ready queue berisikan penunjuk kepada
PCB-PCB awal dan akhir. Setiap PCB memiliki pointer field yang menunjukkan
proses selanjutnya dalam ready queue.
Penjadual / Scheduler
Sebuah proses berpindah antara berbagai penjadualan
antrian selama umur hidupnya. Sistem
operasi harus memilih, untuk keperluan penjadualan,
memproses antrian-antrian ini dalam cara tertentu. Pemilihan proses
dilaksanakan oleh penjadual yang tepat/ cocok. Dalam sistem batch, sering ada
lebih banyak proses yang diserahkan daripada yang dapat dilaksanakan segera
Alih Konteks / Switch Context
Mengganti CPU ke proses lain memerlukan penyimpanan
suatu keadaan proses lama (state of old
process) dan kemudian beralih ke proses yang baru.
Tugas tersebut diketahui sebagai alih konteks (context switch). Alih konteks
sebuah proses digambarkan dalam PCB suatu proses; termasuk nilai dari CPU register,
status proses (lihat Gambar 7). dan informasi managemen memori. Ketika alih
konteks terjadi, kernel menyimpan konteks dari proses lama kedalam PCB nya dan
mengisi konteks yang telah disimpan dari process baru yang telah terjadual
untuk berjalan.
OPERASI PADA PROSES
Proses dalam sistem dapat dieksekusi secara
bersama-sama, proses tersebut harus dibuat dan dihapus secara dinamis. Maka,
sistem operasi harus menyediakan suatu mekanisme untuk pembuatan proses dan
erminasi proses. Sistem operasi dalam mengelola proses dapat melakukan
operasi-operasi terhadap proses. Operasi tersebut adalah :
Penciptaan proses
Penghancuran/terminasi proses
Penundaan proses
Pelanjutan kembali proses
Pengubahan prioritas proses
Memblok proses
Membangunkan proses
Menjadwalkan proses
Memungkinkan proses berkomunikasi dengan proses lain
Pembuatan Proses
Melibatkan banyak aktivitas, yaitu :
Memberi identitas proses
Menyisipkan proses pada senarai atau tabel proses
Menentukan prioritas awal proses
Menciptakan PCB
Mengalokasikan sumber daya awal bagi proses
Kejadian yang dapat menyebabkan penciptaan proses :
Pada lingkungan batch, sebagai tanggapan atas
pemberian satu kerja (job). Sistem operasi dengan kendali batch job, setelah
menciptakan proses baru, kemudian melanjutkan membaca job berikutnya.
Pada lingkungan interaktif, ketika pemakai baru
berusaha logon.
Sebagai tanggapan suatu aplikasi, seperti permintaan
pencetakan file, sistem operasi dapat menciptakan proses yang akan mengelola
pencetakan itu. Sistem operasi menciptakan proses untuk memenuhi satu fungsi
pada program pemakai, tanpa mengharuskan pemakai menunggu.
Proses penciptaan proses lain (proses anak). Untuk
mencapai modularitas atau mengeksploitasi
kongkurensi, program pemakai memerintahkan pembuatan
sejumlah proses.
Tahap-tahap penciptaan proses
Penciptaan proses meliputi beberapa tahap :
Beri satu identifier unik ke proses baru. Isian baru
ditambahkan ke tabel proses utama yang berisi satu isian perproses.
Alokasikan ruang untuk proses.
PCB harus diinisialisasi.
Kaitan-kaitan antar tabel dan senarai yang cocok
dibuat.
Bila diperlukan struktur data lain maka segera
dibuat struktur data itu.
Penghancuran / Terminasi Proses
Penghancuran proses melibatkan pembebasan proses
dari sistem, yaitu :
Sumber daya-sumber daya yang dipakai dikembalikan.
Proses dihancurkan dari senarai atau tabel sistem.
c.PCB dihapus (ruang memori PCB dikembalikan ke pool
memori bebas).
Penghancuran lebih rumit bila proses telah
menciptakan proses-proses lain.
Terdapat dua pendekatan, yaitu :
Pada beberapa sistem, proses-proses turunan
dihancurkan saat proses induk dihancurkan secara otomatis.
Beberapa sistem lain menganggap proses anak
independen terhadap proses induk, sehingga proses anak tidak secara otomatis
dihancurkan saat proses induk dihancurkan.
Alasan penghancuran proses :
1 Selesainya proses secara manual. Proses
mengeksekusi panggilan layanan sistem operasi untuk menandakan bawah proses
telah berjalan secara lengkap.
2 Batas waktu telah terlewati. Proses telah berjalan
melebihi batas waktu total yang dispesifikasikan.
3 Memori tidak tersedia. Proses memerlukan memori
lebih banyak daripada yang dapat disediakan sistem.
4 Pelanggaran terhadap batas memori Proses mencoba
mengakses lokasi memori yang tidak diijinkan diakses.
5 Terjadi kesalahan karena pelanggaran proteksi
6 Terjadi kesalahan aritmatika
7 Waktu telah kedaluwarsa
8 Terjadi kegagalan Masukan/keluaran
9 Instruksi yang tidak benar
Proses yang Kooperatif
Proses yang bersifat simultan (concurrent)
dijalankan pada sistem operasi dapat dibedakaan menjadi yaitu proses
independent dan proses kooperatif. Suatu proses dikatakan independen apabila
proses tersebut tidak dapat terpengaruh atau dipengaruhi oleh proses lain yang
sedang dijalankan pada sistem.
Komunikasi Proses Dalam Sistem
Cara lain untuk meningkatkan efek yang sama adalah
untuk sistem operasi yaitu untuk menyediakan alat-alat proses kooperatif untuk
berkomunikasi dengan yang lain lewat sebuah komunikasi dalam proses (IPC =
Inter-Process Communication). IPC menyediakan sebuah mekanisme untuk
mengizinkan proses- proses untuk berkomunikasi dan menyelaraskan aksi-aksi
mereka tanpa berbagi ruang alamat yang sama. IPC adalah khusus digunakan dalam
sebuah lingkungan yang terdistribusi dimana proses komunikasi tersebut mungkin
saja tetap ada dalam komputer-komputer yang berbeda yang tersambung dalam
sebuah jaringan. IPC adalah penyedia layanan terbaik dengan menggnakan sebuah
sistem penyampaian pesan, dan sistem- sistem pesan dapat diberikan dalam banyak
cara.
Sistem Penyampaian Pesan
Fungsi dari sebuah sistem pesan adalah untuk
memperbolehkan komunikasi satu dengan yang lain
tanpa perlu menggunakan pembagian data. Sebuah
fasilitas IPC menyediakan paling sedikit dua operasi yaitu kirim (pesan) dan
terima (pesan). Pesan dikirim dengan sebuah proses yang dapat dilakukan pada
ukuran pasti atau variabel. Jika hanya pesan dengan ukuran pasti dapat
dikirimkan, level sistem implementasi adalah sistem yang sederhana. Pesan
berukuran variabel menyediakan sistem implementasi level yang lebih kompleks.
Berikut ini ada beberapa metode untuk
mengimplementasikan sebuah jaringan dan operasi
pengiriman/penerimaan secara logika:
Komunikasi langsung atau tidak langsung.
Komunikasi secara simetris/ asimetris.
Buffer otomatis atau eksplisit.
Pengiriman berdasarkan salinan atau referensi.
Pesan berukuran pasti dan variabel.
THREAD
Model proses yang didiskusikan sejauh ini telah
menunjukkan bahwa suatu proses adalah sebuah
program yang menjalankan eksekusi thread tunggal.
Sebagai contoh, jika sebuah proses menjalankan sebuah program Word Processor,
ada sebuah thread tunggal dari instruksi-instruksi yang sedang dilaksanakan.
Konsep Dasar
Secara informal, proses adalah program yang sedang
dieksekusi. Ada dua jenis proses, proses berat
(heavyweight) atau biasa dikenal dengan proses
tradisional, dan proses ringan atau kadang disebut thread.
Thread saling berbagi bagian program, bagian data
dan sumber daya sistem operasi dengan thread
lain yang mengacu pada proses yang sama. Thread
terdiri atas ID thread, program counter, himpunan register, dan stack. Dengan
banyak kontrol thread proses dapat melakukan lebih dari satu pekerjaan pada
waktu yang sama.
User Threads
User thread didukung oleh kernel dan
diimplementasikan oleh thread library ditingkat pengguna.
Library mendukung untuk pembentukan thread,
penjadualan, dan managemen yang tidak didukung oleh
kernel.
Kernel Threads
Kernel thread didukung secara langsung oleh sistem
operasi: pembentukan thread, penjadualan, dan managemen dilakukan oleh kernel
dalam ruang kernel. Karena managemen thread telah dilakukan oleh sistem
operasi, kernel thread biasanya lebih lambat untuk membuat dan mengelola
daripada pengguna thread.
Model Multithreading
Dalam sub bab sebelumnya telah dibahas pengertian
dari thread, keuntungannya, tingkatan atau
levelnya seperti pengguna dan kernel. Sistem-sistem
yang ada sekarang sudah banyak yang bisa mendukung untuk kedua pengguna dan
kernel thread, sehingga model-model multithreading-nya pun menjadi beragam.
Implementasi multithreading yang umum akan kita bahas ada tiga, yaitu model
many-to-one, one-to-one, dan many-to-many.
Model Many to One
Model many-to-one ini memetakan beberapa tingkatan
pengguna thread hanya ke satu buah kernel
thread. Managemen proses thread dilakukan oleh (di
ruang) pengguna, sehingga menjadi efisien, tetapi apabila sebuah thread
melakukan sebuah pemblokingan terhadap sistem pemanggilan, maka seluruh proses
akan berhenti (blocked). Kelemahan dari model ini adalah multihreads tidak
dapat berjalan atau bekerja secara paralel di dalam multiprosesor dikarenakan
hanya satu thread saja yang bisa mengakses kernel dalam suatu waktu.
Model One to One
Model one-to-one memetakan setiap thread pengguna ke
dalam satu kernel thread. Hal ini membuat model one-to-one lebih sinkron
daripada model many-to-one dengan mengizinkan thread lain untuk berjalan ketika
suatu thread membuat pemblokingan terhadap sistem pemanggilan; hal ini juga
mengizinkan multiple thread untuk berjalan secara parallel dalam multiprosesor.
Kelemahan model ini adalah dalam pembuatan thread pengguna dibutuhkan pembuatan
korespondensi thread pengguna. Karena dalam proses pembuatan kernel thread
dapat mempengaruhi kinerja dari aplikasi maka kebanyakan dari implementasi
model ini membatasi jumlah thread yang didukung oleh sistem. Model one-to-one
diimplementasikan oleh Windows NT dan OS/2.
Model Many to Many
Beberapa tingkatan thread pengguna dapat menggunakan
jumlah kernel thread yang lebih kecil atau sama dengan jumlah thread pengguna.
Jumlah dari kernel thread dapat dispesifikasikan untuk beberapa aplikasi dan
beberapa mesin (suatu aplikasi dapat dialokasikan lebih dari beberapakernel
thread dalam multiprosesor daripada dalam uniprosesor) dimana model many-to-one
mengizinkan pengembang untuk membuat thread pengguna sebanyak mungkin,
konkurensi tidak dapat tercapai karena hanya satu thread yang dapat dijadualkan
oleh kernel dalam satu waktu. Model one-to-one mempunyai konkurensi yang lebih
tinggi, tetapi pengembang harus hati-hati untuk tidak membuat terlalu banyak
thread tanpa aplikasi dan dalam kasus tertentu mungkin jumlah thread yang dapat
dibuat dibatasi
B.Praktikum
perintah ps dapat digunakan untuk menunjukan semua proses yang sedang berjalan pada mesin (bukan hanya proses pada shell saat ini)
Perintah ps merupakan akronim dari “proces status”. Akan memberikan informasi status pada proses sistem kita.Menampilkan berbagai informasi mengenai proses apa saja yang sedang aktif, siapa pemilik proses tersebut, berapa lama proses berjalan dan berapa ID atau nomor pengenal proses.
“top” adalah aplikasi di Linux yang dijalankan melalui Terminal di Linux. Aplikasi ini digunakan untuk memanajemen proses Linux tanpa menggunakan GUI. Saat dieksekusi, aplikasi ini akan menampilkan daftar semua proses yang sedang berjalan dan setiap detik akan diperbaharui. Proses yang ditampilkan pada perintah “top” adalah yang paling besar menggunakan sumber daya.
“ps” adalah aplikasi di Linux yang digunakan untuk menampilkan aktif proses yang berjalan pada sistem. Aplikasi ini dapat Anda gunakan untuk melakukan manajemen proses Linux
C.Kesimpulan
Manajemen proses Linux cukup sederhana. Anda hanya tinggal memasukkan satu atau dua perintah ke dalam Terminal maka seluruh informasi terkait dengan proses yang sedang berjalan pada Linux dapat terlihat. Meskipun tampilan yang sangat sederhana, tapi Anda dapat melihat secara detail aplikasi apa saja yang sedang berjalan.
Selain itu Anda juga dapat menghentikan proses yang berjalan dengan menggunakan satu perintah saja. Tentu saja ini akan sangat berguna pada saat Anda ingin mencari dan menghentikan proses yang cukup besar menggunakan sumber daya perangkat.
Semoga artikel ini sedikit membantu Anda untuk memahami bagaimana manajemen proses Linux. Anda juga dapat melihat beberapa artikel kami terkait dengan Linux dan pengelolaan VPS.
D.Daftar Pustaka
https://www.niagahoster.co.id/blog/manajemen-proses-linux/







Komentar
Posting Komentar