Loading Preview Show
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.
Proses dalam sistem operasi berisi instruksi, data, program counter, register pemroses, stack data, alamat pengiriman dan variabel pendukung lainnya. Sistem Operasi - Proses Terdapat beberapa definisi mengenai proses, antara lain :
Peran sistem operasi dalam kegiatan proses adalah mengelola semua proses di sistem dan mengalokasikan sumber daya ke proses tersebut. Banyak proses yang dijalankan bersamaan, dimana setiap proses mendapat bagian memori dan kendali sendiri-sendiri (peran SO), sehingga setiap proses (program) memiliki prinsip :
Dalam multiprogramming, teknik penanganan proses adalah dengan mengeksekusi satu proses dan secara cepat beralih ke proses lainnya (bergiliran), sehingga menimbulkan efek paralel semu (pseudoparallelism). Pengendalian proses Dalam pengendalian antar proses, sistem operasi menggunakan metode :
Pada sistem dengan banyak proses aktif, proses-proses pada satu saat berada dalam beragam tahap eksekusinya. Proses mengalami beragam state (ready, running, blocked) selama siklus hidupnya sebelum berakhir dan keluar dari sistem. Sistem operasi harus dapat mengetahui state masing-masing proses dan merekam semua perubahan yang terjadi secara dinamis. Informasi tersebut digunakan untuk kegiatan penjadwalan dan memutuskan alokasi sumber daya. Status (state) proses Sebuah proses akan mengalami serangkaian state diskrit. Beragam kejadian dapat menyebabkan perubahan state proses. Tiga state tersebut adalah sebagai berikut :
Proses yang baru diciptakan akan mempunyai state ready.
Diagram state lanjut Penundaan (suspend) adalah operasi penting dan telah diterapkan dengan beragam cara. Penundaan biasanya berlangsung singkat. Penundaan sering dilakukan sistem untuk memindahkan proses-proses tertentu guna mereduksi beban sistem selama beban puncak. Proses yang ditunda (suspended blocked) tidak berlanjut sampai proses lain meresume. Untuk jangka panjang, sumber daya-sumber daya proses dibebaskan (dilucuti). Keputusan membebaskan sumber daya-sumber daya bergantung sifat masing-masing sumber daya. Memori utama seharusnya segera dibebaskan begitu proses tertunda agar dapat dimanfaatkan proses lain. Resuming (pengaktifan kembali) proses, yaitu menjalankan proses dari titik (instruksi) dimana proses ditunda. Operasi suspend dan resume penting, sebab :
Dua state baru dimasukkan sehingga membentuk diagram 5 state, yaitu :
Penundaan dapat diinisialisasi oleh proses itu sendiri atau proses lain.
Pada proses blocked terdapat transisi menjadi suspended blocked. Pilihan ini dirasa aneh. Apakah tidak cukup menunggu selesainya operasi masukan/keluaran atau kejadian yang membuat proses ready atau suspended ready?. Bukankah state blocked, ready blocked, suspended blocked sama-sama tidak mendapat jatah waktu pemroses ?. Kenapa dibedakan ?. Alasannya, karena penyelesaian operasi masukan/keluaran bagi proses blocked mungkin tak pernah terjadi atau dalam waktu tak terdefinisikan sehingga lebih baik disuspend agar sumber daya-sumber daya yang dialokasikan untuk proses tersebut dapat digunakan proses-proses lain. Untuk kondisi ini, lebih baik sumber daya-sumber daya yang dipegang proses yang berkondisi seperti ini dipakai proses-proses lain. Proses blocked disuspend sistem atau secara manual menjadi suspended blocked. Bila akhirnya operasi masukan/keluaran berakhir maka segera proses suspended blocked mengalami transisi. Karena resume dan suspend mempunyai prioritas tinggi maka transisi segera dilakukan. Suspend dan resume dapat digunakan untuk menyeimbangkan beban sistem saat mengalami lonjakan di atas normal. Program Control Block (PCB)Struktur data PCB menyimpan informasi lengkap mengenai proses sehingga dapat terjadi siklus hidup proses. Sistem operasi memerlukan banyak informasi mengenai proses guna pengelolaan proses. Informasi ini berada di PCB. Sistem berbeda akan mengorganisasikan secara berbeda. Informasi dalam PCB : Informasi identifikasi prosesInformasi ini berkaitan dengan identitas proses yang berkaitan dengan tabel lainnya. Informasi tersebut meliputi :
Informasi status pemrosesInformasi tentang isi register-register pemroses. Saat proses berstatus running, informasi tersebut berada diregister-register. Ketika proses diinterupsi, semua informasi register harus disimpan agar dapat dikembalikan saat proses dieksekusi kembali. Jumlah dan jenis register yang terlibat tergantung arsitektur komputer. Informasi status terdiri dari :
Informasi kendali prosesInformasi kendali proses adalah informasi lain yang diperlukan sistem operasi untuk mengendalikan dan koordinasi beragam proses aktif. Informasi kendali terdiri dari :
Informasi ini diperlukan oleh penjadwal. Struktur citra proses digambarkan berurutan di satu ruang alamat. Implementasi penempatan citra proses yang sesungguhnya bergantung skema manajemen memori yang digunakan dan organisasi struktur kendali sistem operasi. Operasi-operasi pada prosesSistem operasi dalam mengelola proses dapat melakukan operasi-operasi terhadap proses. Operasi tersebut adalah :
Penciptaan prosesMelibatkan banyak aktivitas, yaitu :
Ketika proses baru ditambahkan, sistem operasi membangun struktur data untuk mengelola dan mengalokasikan ruang alamat proses. Kejadian yang dapat menyebabkan penciptaan proses : Tahap-tahap penciptaan prosesPenciptaan proses dapat disebabkan beragam sebab. Penciptaan proses meliputi beberapa tahap :
Penghancuran prosesPenghancuran proses melibatkan pembebasan proses dari sistem, yaitu :
Penghancuran lebih rumit bila proses telah menciptakan proses-proses lain. Terdapat dua pendekatan, yaitu :
Alasan-alasan penghancuran proses, sebagai berikut. Pengalihan prosesKelihatannya pengalihan proses (process switching) adalah sepele. Pada suatu saat, proses running diinterupsi dan sistem operasi memberi proses lain state running dan menggilir kendali ke proses itu. Dalam hal ini muncul beberapa masalah, yaitu :
Kejadian-kejadian penyebab pengalihan prosesKejadian-kejadian yang menyebabkan terjadinya alih proses adalah :
Kemungkinan yang dilakukan adalah menjalankan prosedur pemulihan atau memperingkatkan ke pemakai. Saat terjadi trap, mungkin terjadi pengalihan proses mungkin pula resume proses.
Pengalihan konteksPengalihan konteks dapat terjadi tanpa pengalihan state process yang sedang running, sedang pengalihan proses pasti melibatkan juga pengalihan konteks. Siklus penanganan interupsi adalah :
Pengalihan prosesPengalihan proses terjadi jika proses yang running beralih menjadi state lain (ready, blocked) kemudian sistem operasi membuat perubahan-perubahan berarti terhadap lingkungan. Langkah-langkah yang terlibat dalam pengalihan proses sebagai berikut :
Tabel-tabel prosesTiap proses mempunyai state yang perlu diperhatikan sistem operasi yang dicatat dalam beragam tabel atau senarai yang saling berhubungan, yaitu :
Proses ditempatkan di memori utama di lokasi tertentu, proses mempunyai satu ruang alamat tersendiri. Ruang alamat yang digunakan proses disebut citra proses (process image), karena selain seluruh kode biner program, proses ditambahi atribut-atribut lain yang berkaitan penempatannya pada suatu lokasi memori dan status eksekusi pada saat itu. Elemen-elemen citra proses, sebagai berikut
Struktur umum tabel-tabel kendali ditunjukkan pada gambar berikut : Gambar 5 : Struktur tabel-tabel kendali pada sistem operasi PCB dan senarai proses PCB berisi informasi mengenai proses yang diperlukan sistem operasi. PCB dibaca dan /atau dimodifikasi rutin sistem operasi seperti penjadwalan, alokasi sumber daya, pemrosesan interupsi, monitoring dan analisis kinerja. Kumpulan PCB mendefinisikan state sistem operasi. Untuk menyatakan senarai proses di sistem operasi dibuat senarai PCB. Diagram memperlihatkan hanya satu PCB berada di senarai running. PCB ini menyatakan proses yang saat itu sedang dieksekusi pemroses sehingga hanya satu proses yang running. Tentu saja ini tidak berlaku untuk multiprocessing yang dapat mengeksekusi lebih dari satu proses sekaligus. Prose-proses ready digambarkan dengan PCB proses-proses di senarai ready. Proses-proses menunggu dijadwalkan untuk dieksekusi pemroses. Proses yang dijadwalkan dieksekusi (yaitu mengalami transisi dari state ready menjadi running) maka PCBnya dipindah dari senarai ready ke senarai running. Proses running (PCB-nya berada di senarai running) dipindah sesuai state yang dialami proses itu, sebagai berikut :
Pengaksesan informasi di PCBRutin-rutin sistem operasi perlu mengakses informasi di PCB. Tiap proses dilengkapi ID unik yang digunakan sebagai indeks (penunjuk) ke tabel untuk mengambil PCB. Kesulitan bukan pada mekanisme pengaksesan, tetapi masalah proteksi terhadap PCB. Dua masalah utama proteksi terhadap PCB, yaitu : Bug (kesalahan pemrograman) pada rutin tunggal, misalnya interrupt handler dapat merusak PCB sehingga dapat berakibat menghancurkan kemampuan sistem mengelola proses-proses yang diasosiasikan dengan PCB. Perubahan rancangan struktur dan semantiks PCB dapat berdampak ke sejumlah modul sistem operasi yang memakai PCB. Kedua masalah tersebut memberi gagasan agar semua rutin sistem operasi melewati satu rutin khusus, yaitu rutin penanganan PCB dalam mengakses PCB. Tugas rutin adalah memproteksi PCB dan menjadi perantara pembacaan dan penulisan PCB. Masalah pertama dapat dicegah karena rutin penanganan PCB akan selalumenjaga agar PCB tidak rusak. Masalah kedua jelas langusng teratasi karena antarmuka terhadap rutin-rutin lain masih tetap dipertahankan walau rincian-rincian PCB diubah. Rutin-rutin sistem operasi yang memakai antarmuka tidak perlu diubah. Teknik ini menghendaki didefinisikan antarmuka rutin penanganan PCB dan rutin-rutin lain dengan baik. Kelemahan teknik ini adalah adanya overhead kinerja karena harus memanggil rutin penanganan PCB. Pengaksesan langsung terhadap PCB tentu lebih cepat daripada harus memanggil rutin penanganan PCB. Kedudukan sistem operasiSistem operasi pada dasarnya adalah sepert perangkat lunak lain, yaitu program yang perlu dieksekusi pemroses. Kedudukan sistem operasi dibanding proses-proses lain, adalah :
Kernel sebagai non prosesKetika proses running diinterupsi atau memanggil system call, maka konteks pemroses proses ini disimpan dan kendali dilewatkan ke kernel. Sistem operasi mempunyai daerah memori dan stack sendiri untuk pemanggilan prosedur. Sistem operasi melakukan fungsi yang diinginkan dan mengembalikan konteks proses yang diinterupsi. Eksekusi proses pemakai yang diinterupsi dilanjutkan. Alternatif lain, sistem operasi menyimpan lingkungan proses, melakukan penjadwalan dan menjadwalkan proses lain. Konsep proses hanya diterapkan untuk program-program pemakai. Kode sistem operasi dieksekusi sebagai satu entitas terpisah, beroperasi pada mode kernel. Proses adalah non-kernel, sedang sistem operasi adala kernel yang bukan proses. Dieksekusi dalam proses pemakaiAlternatif lain dieksekusi sistem operasi adalah mengeksekusi sistem operasi di konteks proses pemakai. Pendekatan ini didasarkan terutama pada pandangan bahwa sistem operasi sebagai kumpulan rutin yang dipanggil pemakai untuk melakukan beragam fungsi dan dieksekusi dalam lingkungan proses pemakai. Pada seluruh waktu, sistem operasi mengelola N citra proses. Tiap citra tidak hanya mempunyai daerah untuk proses tapi juga daerah program, data dan stack untuk kernel. Terdapat juga ruang alamat yang dipakai bersama semua proses. Ketika diinterupsi, trap atau supervisor call terjadi,pemroses ditempatkan ke mode kernel dan kendali dilewatkan ke sistem operasi. Konteks pemroses disimpan dan alih konteks ke rutin sistem operasi. Eksekusi dilanjutkan dalam proses pemakai saat itu, tidak dilakukan alih proses, hanya alih konteks di proses yang sama. Jika sistem operasi telah menyelesaikan tugas, menentukan apakah proses berlanjut, maka alih konteks meresume program yang diinterupsi dalam proses itu juga. Keunggulan pendekatan ini adalah program pemakai yang diinterupsi untuk memperoleh rutin sistem operasi dan diresume tidak mengalami overhead peralihan dua proses. Jika sistem operasi menentukan bahwa alih proses terjadi bukan kembali ke proses semula yang dieksekusi, maka kendali dilewatkan ke rutin alih proses. Rutin ini boleh dijalankan pada proses boleh juga tidak, bergantung rancangan sistem. Pada keadaan ini, proses saat itu menjadi state non-running dan proses lain menjadi running. Sistem operasi sebagai kumpulan proses Pendekatan ini mengimplementasikan sistem operasi sebagai kumpulan proses. Pendekatan ini digambarkan pada gambar berikut : Variannya adalah perangkat lunak bagian kernel dieksekusi dalam mode kernel. Fungsi-fungsi kernel utama diorganisasi sebagai proses-proses terpisah. Terdapat kode kecil pengalihan proses yang dieksekusi di luar proses. Pendekatan ini mempunyai beberapa keunggulan, yaitu : Mikrokernel Saat ini, mikrokernel mendapat banyak perhatian. Mikrokernel adalah inti sistem operasi yang menyebabkan landasan perluasan sistem operasi. Pendekatan mikrokernel dipopularkan sistem operasi MACH. Secara teoritis, pendekatan mikrokernel menyediakan derajat fleksibilitas dan modularitas tinggi. Sistem operasi yang memakai pendekatan mikrokernel adalah MS Windows NT. Landasan pendekatan mikrokernel adalah hanya fungsi-fungsi sistem operasi inti yang secara mutlak esensi yang harus berada di kernel. Layanan-layanan dan aplikasi-aplikasi yang kurang esensi dibangin diatas mikrokernel itu. Meskipun pembagian antara yang perlu dan tidak perlu ada di mikrokernel beragam. Terdapat ciri yang sama yaitu banyak lauanan yang secara tradisional merupakan bagian sistem operasi menjadi subsistem eksternal. Subsistem in berinteraksi dengan kernel dan subsistem-subsistem lain. Layanan-layanan itu antara lain sistem file, sistem windowing dan layanan-layanan keamanan. Komponen-komponen sistem operasi di luar mikrokernel saling berinteraksi melalui pesan yang dilewatkan melalui mikrokernel. Fungsi mikrokernel adalh sebagai mediator pertukaran pesan. Mikrokernel memvalidasi pesan, melewatkan pesan antara komponen-komponen dan memberi hak pengaksesan perangkat keras. Struktur ini ideal untuk lingkungan pemrosesan terdistribusi karena mikrokernel dapat melewatkan pesan baik secara lokal atau jarak jauh tanpa perubahan komponen-komponen sistem operasi yang lain. |