Manajemen Proses dalam Sistem Operasi Windows
Windows adalah salah satu sistem operasi yang
mempunyai banyak keunggulan dalam menjalankan suatu eksekusinya. Didalam sistem
operasi ini, terdapat proses-proses yang sangat valid dan selalu berhubungan
satu sama lain. Dibawah ini akan dijelaskan beberapa penjelasan tentang proses
pada sistem operasi windows.
Didalam window, prosesnya mempunyai beberapa elemen
dasar untuk menjalankan proses tersebut, yaitu :
-
Identifier
-
State
-
Priority
-
Program counter
-
Memory pointers
-
Context data
-
I/O status information
-
Accounting information
Dalam kenyataanya, proses banyak mengalami gangguan
dalam menjalankan tugasnya. Oleh karena itu, ada PCB (Proses Control Block)
untuk membantu dan memberikan dukungan kepada proses itu.
Trace adalah dereta intruksi yang dieksekusi proses
dalam menjalankan tugasnya. Dispatcher merupakan suatu program
kecil yang men-switch processor dari satu proses ke proses lainnya.
Dibawah ini adalah gambaran umum suatu main memory mengpart addres-addresnya
untuk melakukan beberapa proses.
1. Alir Proses
Biasanya, dalam menjalankan tuganya, proses berada
pada salah satu dua status yaitu running atau not running. Selain itu, terdapat
suatu antrian untuk mendapatkan eksekusi yang akan dijalankan. Dibawah ini
adalah diagram antrian suatu proses.
Keterangan : Proses dipindahkan oleh dispatcher dari
SO ke CPU kemudian kembali ke antrian (Queue) sampai tugas tersebut
selesai (lengkap) dan seterusnya.
Sistem operasi windows memperbolehkan proses berjalan
menghasilkan proses lagi. Aksi ini disebut Proses swapning dengan macam :
- Proses induk
- Proses anak
Dalam kenyataanya, windows melakukan beberapa eksekusi
yang eksekusi itu masih menghasilkan beberapa proses yang berbeda. Proses ini
haruslah memberikan sebuah intruksi kepada prose parent agar perses parent atau
induk dapat menjalankan proses aslinya.
2. Model Proses Lima Status
Prosesor lebih cepat dibandngkan
I/O, sehingga semua proses dapat menunggu I/O. Dalam gmabar diatas, status
blocked berubah menjadi suspend ketika proses dialihkan ke disk. Setelah tahap
ini, proses memberikan beberapa intruksi pada beberapa temenya yaitu :
Didalam proses sistem operasi
windows, terdapat switc yaitu : memungkinkan berpindahnya proses. Suatu process
switch dapat terjadi kapapun SO memperolehkontrol dari proses yang sedang (currently)
berjalan. Event yang mungkin memberikan SO kontrol adalah :
Langkah-langkah dalam process switch:
1. Simpan context
dari processor termasuk program counter (PC) & register lain
2. Update process
control block (PCB) dariproses yang saat terkini dalam status Running
3. Pindahkan
PCB ke antrian yang tepat –ready; blocked; ready/suspend
4. Pilih proses
lain untuk dieksekusi
5. Update PCB
dari proses terpilih
6. Update
struktur data memorymanagement
7. Restore
(kembalikan) context dari proses terpilih
Alasan Pembuatan &
Penghentian Proses
Pembuatan Proses:
Sistem Operasi membangun suatu struktur data untuk mengelola
proses yang akan dijalankan dalam program. Biasanya, semua proses dalam
komputer dibuat oleh Sistem Operasi, Tetapi Sistem Operasi juga membolehkan
proses yang sedang berjalan membuat proses lain. Aksi ini disubut process
spawning
– Proses induk (parent) adalah
proses yang bisa membuat proses baru
– Proses anak (child) merupakan proses baru
Penyebab terjadinya pembuatan suatu proses baru yaitu;
- Pada lingkungan batch, sebagai tanggapan atas pemberian suatu kerja (job)
- Pada lingkungan interaktif, ketika pemakai baru berusaha logon
Langkah-langkah dalam pembuatan proses, antara lain :
- Memberi identitas (nama) pada proses yang dibuat.
- Menyisipkan proses pada list proses atau tabel proses.
Penghentian Proses
Suatu proses akan berhenti jika
telah menyelesaikan pernyataan terakhir dan meminta pada sistem operasi untuk
menghapusnya dengan menggunakan system call exit. Proses mengembalikan
semua data (output) ke parent proses melalui system call wait. Kemudian
proses akan dihapus dari list atau tabel system dilanjutkan dengan menghapus
PCB.
Penghapusan proses ini akan menjadi sangat kompleks
jika ternyata proses yang akan dihentikan tersebut membuat proses-proses yang
lain. Pada beberapa system proses-proses anak akan dihentikan secara otomatis
jika proses induknya berhenti. Namun ada beberapa sistem yang menganggap bahwa
proses anak ini terpisah dengan induknya, sehingga proses anak tidak ikut
dihentikan secara otomatis pada saat proses induk dihentikan
Dalam kenyataanya, program yang berjalan tidak selalu
berjalan dengan lancar, tetapi ada kesalahan-kesalahan yang menyebabkan program
itu akan diberhentikan. Harus ada cara yang dapat menandakan bahwa suatu
proses selesai.
Indikasi ini dapat berupa:
ü Instruksi
HALT membangkitkan suatu interupsi alert untuk SO
ü Aksi
pengguna (seperti log off & keluar dari suatu aplikasi)
ü Suatu
kesalahan atau error
ü Dihentikan
oleh proses induk
model proses
lima status beserta kemungkinan transisinya!
Model proses lima status diantaranya adalah
- New adalah Proses sedang dikerjakan/dibuat.
- Running adalah Instruksi sednag dikerjakan.
- Waiting adalah Proses sedang menunggu sejumlah kejadian untuk terjadi (seperti sebuah penyelesaian I/O atau penerimaan sebuah tanda/signal).
- Ready adalah Proses sedang menunggu untuk ditugaskan pada sebuah prosesor.
- Terminated adalah Proses telah selsesai melaksanakan tugasnya/mengeksekusi
Status Suspended
- Blocked -Blocked/Suspend : Jika tidak ada proses siap maka setidaknya satu diblokir proses swapped keluar untuk memberikan ruang bagi proses lain yang tidak diblokir.
- Blocked/Suspend -Ready/Suspend : Sebuah proses dalam Diblokir / Suspend negara tersebut akan dipindahkan ke Siap / Suspend saat acara yang telah menunggu terjadi.
- Ready/Suspend – Ready : Bila tidak ada siap proses di memori utama OS perlu membawa satu untuk melanjutkan eksekusi. Selain itu mungkin dengan kasus yang di proses Siap / Suspend negara memiliki prioritas lebih besar dari salah satu proses di Siap negara.
- Ready -Ready/Suspend: Biasanya OS memilih untuk menunda proses yang diblokir daripada satu siap karena proses siap sekarang dapat dijalankan sedangkan yang diblokir adalah proses mengambil atas ruang memori utama dan tidak dapat dijalankan.
- New – Ready/Suspend and New – Ready : Ketika sebuah proses baru dibuat maka dapat ditambahkan ke antrian Siap atau Siap / Suspend antrian.
- Blocked/Suspend -Blocked : Pencantuman ini tampaknya transisi jika proses belum siap untuk dijalankan dan belum di utama memori tetapi mempertimbangkan skenario berikut Sebuah proses terminates freeing beberapa memory.memory utama akan memproses dalam (Diblokir / Suspend) antrian dengan prioritas yang lebih tinggi daripada salah satu dalam proses (Ready / Suspend) antrian dan OS memiliki alasan percaya bahwa memblokir kegiatan untuk proses yang akan terjadi segera.
- Running – Ready/Suspend:Biasanya yang menjalankan proses tersebut akan dipindahkan ke negara Siap jika alokasi waktu berakhir.
- Any State – Exit: Biasanya, proses terminates ketika sedang berjalan baik karena telah selesai atau karena kondisi beberapa kesalahan fatal.
Process Control Back
Process Control Back adalah bentuk informasi-informasi
lain yang diperlukan SO untuk mengendalikan dan mengoordinasikan beragam proses
aktif dalam suatu proses.
Element-elemen PCB antara lain:
- Identifier proses
- Status proses. Mendefinisikan status proses (running,ready,block, dsb)
- Prioritas. Menjelaskan prioritas proses\
- Informasi berkaitan penjadwalan. Informasi ini seperti lama menunggu, lama proses terakhir dieksekusi dsb.\
- Kejadian (Event). Identitas kejadian yang ditunggu proses
- Program Counter
- Informasi I/O untuk menjadwalkan informasi yang sudah masuk
- Konteks Data
- Memori Pointer
Manajemen
Proses Dalam Sistem Operasi Linux
Proses merupakan konsep
pokok pada sistem operasi, karena salah satu tugas utama sistem operasi adalah bagaimana
mengatur proses – proses yang berjalan di sistem. Sebenarnya apakah Proses itu?
Berikut beberapa
definisi proses pada sistem operasi adalah :
1. Program yang sedang
dalam keadaan dieksekusi.
2. Unit kerja terkecil
yang secara individu memiliki sumber daya dan dijadwalkan oleh sistem
operasi.
Sistem operasi mengolah seluruh proses yang ada di sistem dan bertugas mengalokasikan sumber daya – sumber daya ke proses yang membutuhkan sesuai dengan kebijaksanaan tertentu. Sumber daya yang dibutuhkan proses diantaranya CPU, memori, file serta I/O device.
operasi.
Sistem operasi mengolah seluruh proses yang ada di sistem dan bertugas mengalokasikan sumber daya – sumber daya ke proses yang membutuhkan sesuai dengan kebijaksanaan tertentu. Sumber daya yang dibutuhkan proses diantaranya CPU, memori, file serta I/O device.
Keadaan Proses
Proses – proses yang
dikelola oleh sistem operasi akan melalui serangkaian keadaan yang merupakan bagian
dari aktivitasnya. Keadaan proses ini disebut sebagai status proses yang
terdiri dari:
Status New yaitu
status dimana proses sedang dibuat.
Status Ready
yaitu status dimana proses siap dieksekusi tetapi CPU belum tersedia karena
sedang mengerjakan proses lain.
Status Waiting yaitu
status dimana proses sedang menunggu suatu kejadian tertentu. Misalnya sedang menunggu
operasi I/O selesai, menunggu signal dari proses lain, tersedianya memori, dsb.
Status Running
yaitu status dimana proses dieksekusi. Pada status ini CPU sedang mengeksekusi instruksi
– instruksi pada proses.
Status Terminated
yaitu status dimana proses diakhiri.
Ø Sebuah
proses menjadi Waiting karena proses tersebut menunggu suatu kejadian tertentu
seperti selesainya operasi I/O, misalnya perekaman data ke disk karena pada
saat perekaman dilakukan proses sedang tidak menggunakan CPU maka scheduler
segera mengalokasikan CPU ke proses lain yang telah Ready. Apabila kejadian
yang ditunggu telah selesai maka proses dipindahkan kembali ke antrian Ready
dan siap dijadwalkan.
Ø Sebuah
proses dari keadaan Running dapat menjadi Ready kembali karena diinterupsi oleh
proses lain. Interupsi dapat disebabkan karena jatah waktu yang diberikan CPU
ke proses tersebut telah habis sementara proses masih memerlukan sejumlah waktu
untuk selesai. Jatah waktu yang diberikan sering disebut sebagai quantum time
(time slice) yang dapat berkisar antara 1 hingga 100 milidetik. Interupsi suatu
proses terkait erat dengan strategi penjadwalan proses yang digunakan sistem
operasi yaitu strategi preemptive dimana suatu proses dapat saja disela oleh proses
lain pada saat Running.
- Sebuah proses menjadi Terminated disebabkan oleh
beberapa hal diantaranya:
1. Proses memang sudah sele sai mengerjakan tugasnya, sehingga diakhiri secara normal
2. Melewati batas waktu yang telah diberikan
1. Proses memang sudah sele sai mengerjakan tugasnya, sehingga diakhiri secara normal
2. Melewati batas waktu yang telah diberikan
3. Terjadi kesalahan perhitungan misalnya mengerjakan
instruksi pembagian dengan nol
(division by zero) , atau menyimpan angka yang lebih besar daripada yang dapat diakomodasi
oleh perangkat keras.
(division by zero) , atau menyimpan angka yang lebih besar daripada yang dapat diakomodasi
oleh perangkat keras.
4. Terjadi kegagalan I/O seperti kegagalan pembacaan
dan penulisan file.
5. Proses induknya berakhir, pada kasus ini suatu
proses dibuat oleh proses lain, proses pembuat disebut sebagai parent,
sedangkan proses yang dibuat disebut sebagai child . Sistem dirancang untuk
mengakhiri secara otomatis proses – proses childnya bila proses parent
berakhir.
6. Proses child diakhiri atas permintaan proses parentnya. Pada kasus ini parent mengirim signal tertentu untuk mengakhiri childnya misalnya mengirim signal SIGQUIT, SIGKILL atau SIGTERM.
6. Proses child diakhiri atas permintaan proses parentnya. Pada kasus ini parent mengirim signal tertentu untuk mengakhiri childnya misalnya mengirim signal SIGQUIT, SIGKILL atau SIGTERM.
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 :
1.
Proses pemanggil disebut PARENT
2.
Proses hasil kopian disebut CHILD
ü Proses CHILD
identik dengan proses PARENT-nya 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.

Tidak ada komentar:
Posting Komentar