proses lanjutan
implementasi proses
Implementasi Proses
tiap proses mempunyai state yang perlu diperhatikan oleh sistem operasi. Sistem operasi mencatat state proses dengan beragam tabel atau senarai antara lain:
1. Tabel informasi manajemen memori, untuk menjaga keutuhan memori utama dan memori sekunder. Tabel ini memuat informasi berikut
- Alokasi memori utama yang dipakai pemroses
- Alokasi memori skunder yang dipakai proses (bila menggunakan manajemen memori dengan swapping)
- Atribut segmen memori utama dan sekunder
- Informasi-informasi lain yang digunakan untuk pengolahan memori
2. Tabel informasi manajemen I/O
tabel ini untuk mengelola perangkat I/O. pada satu saat I/O digunakan proses tertentu, perlu dijaga agar proses lain tidak memakainya. Sistem operasi perlu mengetahui status operasi I/O dan lokasi memori utama yang digunakan untuk transfer data
- Tabel informasi sistem lain
tabel ini berisi informasi mengenai ekstensi file, lokasi pada memori skunder, status pada saat itu dan menyimpan atribut-atribut lainya
- Tabel proses
tabel proses mengelola informasi proses di sistem operasi, lokasinya di memori, tabel juga berisi status dan atribut-atribut proses yang lain.
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 ditambah atribut-atribut lain berkaitan penempatanya pada suatu lokasi memori dan status eksekusi pada saat itu
Tabel berikut menunjukan isi dari citra proses
Pengalihan Proses
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 apa yang memicu alih proses
- Masalah lain adalah terdapatnya perbedaan antara alih proses (process switching) dan alih konteks (context-switching)
- Apa yang harus dilakukan sistem operasi terhadap beragam struktur data yang dibawah kendalinya dalam alih proses
Kejadian-Kejadian Penyebab Pengalihan Proses
- Interupsi sistem, disebabkan kejadian eksternal dan tak bergantung proses yang sedang running
contoh: selesainya operasi I/O
Pada kejadian interupsi, kendali lebih dulu ditransfer ke interrupt handler yang melakukan penyimpanan data-data dan kemudian beralih ke rutin sistem operasi yang berkaitan dengan tipe interupsi itu
Tipe-tipe interupsi antara lain:
• interupsi clock, os (penjadwal) menentukan apakah proses yang sedang running telah mengeksekusi selama jatah waktunya. Jika telah mencapai jatahnya maka proses dialihkan ke state ready dan proses lain dijadwalkan running
• Interupsi I/O, kejadian dimana peralatan I/O melakukan interupsi meminta layanan sistem operasi. Os segera menentukan aksi-aksi I/O yang harus dilakukan
• Page memory fault, pemroses menemui pengacuan alamat memori maya yang tidak terdapat di memori utama (fisik). OS segera memerintahkan untuk mengambil page yang terdapat alamat yang dimaksud untuk dipindah ke memori utama.
- Trap adalah interupsi karena terjadinya kesalahan atau kondisi kekecualian (exception conditions) yang dihasilkan proses yang running, seperti usaha illegal dalam mengakses file.
Dengan adanya trap, os menentukan apakah kesalah yang dibuat merupakan kesalahan fatal?
• Jika fatal, proses yang saat itu running disingkirkan dan terjadi alih proses
• Jika kesalahan tidak fatal maka bergantung sifat kesalahan dan rancangan os.
kemungkinan yang dilakukan adalah menjalankan prosedur pemulihan tau memperingatkan ke pemakai.
• Saat terjadi trap, mungkin terjadi pengalihan proses mungkin pula resume proses
- Supervisor call, yaitu panggilan meminta atau mengaktifkan bagian sistem operasi
Pengalihan Proses dan Pengalihan Konteks
• Pengalihan Konteks
pengalihan konteks dapat terjadi tanpa pengalihan state proses yang sedang running, sedang pengalihan proses pasti melibatkan juga pengalihan konteks
siklus penangan interupsi
- Pemroses menyimpan konteks program saat itu yang sedang dieksekusi ke stack
- Pemroses men-set register PC dengan alamat awal program untuk interrupt handler
Jadi pengalihan konteks adalah untuk pengalihan sementara yang singkat, misalnya untuk mengeksekusi program interupt handler.
Setelah selesai penanganan interupsi maka konteks yang terdapat pada stack dikembalikan sehingga kembali ke konteks proses semula tanpa terjadi pengalihan ke proses lain
Pengalihan proses adalah terjadi jika proses yang running beralih menjadi state lain, kemudian sistem operasi harus membuat perubahan-perubahan berarti terhadap lingkunganya.
• Pengalihan Proses
Langkah-langkah yang terlibat dalam pengalihan proses sebagi berikut:
- Simpan konteks pemroses, termasuk register PC dan register-register lain
- Perbarui PCB proses yang running. Pelaksanaan termasuk mengubah state proses menjadi salah satu state
- Pindahkan PCB proses ke senarai yang cocok
- Pilih satu proses lain untuk dieksekusi sesuai dengan teknik penjadwalan
- Perbarui PCB proses yang dipilih termasuk perubahan state menjdai running
- Perbarui struktur data manajemen memori. Pekerjaan ini sesuai dengan pengelolaan tranlasi alamat
- Kembalikan konteks pemroses dengan konteks simpanan yang memberitahu konteks proses terakhir saat dialihkan dari state running. Pengembalian konteks ini dilakukan dengan memuatkan nilai-nilai register PC dan register-register lain dengan nilai konteks yang tersimpan
Pengalihan proses melibatkan pengalihan kontekks dan perubahan state, memerlukan usaha lebih besar besar daripada pengalihan konteks
Kedudukan Sistem Operasi
Kedudukan os dibanding dengan proses-proses lain:
• os sebagai kernel tersendiri yang berbeda dengan proses-proses lain (kernel-non proses)
• Fungsi-fungsi os dieksekusi dalam proses pemakai
• Os juga sebagai kumpulan proses (process-based operating system)
Karnel sebagai non proses
Kernel sistem operasi adalah diluar proses, digambarkan berikut
Gambar 3.6Eksekusi Kernel sebagai non proses
• Ketika proses running diinterupsi atau memanggil system call, maka konteks pemroses proses disimpan dan kendali dilewatkan ke kernel. Os mempunyai daerah memori stack sendiri untuk pemangilan prosedur. Fungsi OS melakukan fungsi yang diinginkan dan mengembalikan konteks proses yang diinterupsi. Eksekusi proses pemakai yang diinterupsi dilanjutkan
• Alternatif lain, os menyimpan lingkungan proses, melakukan penjadwalan dan menjadwalkan proses lain
Dieksekusi Dalam Proses Pemakai
Eksekusi Os juga 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
Gambar 3.7 Eksekusi dalam proses pemakai
Sistem Operasi Sebagai Kumpulan Proses
Pendekatan ini mengimplementasikan os sebagai kumpulan proses. Varianya adalah perangkat lunak bagian kernel dieksekusi dalam mode kernel
Gambar 3.8 Eksekusi sistem operasi sebagai proses
Fungsi-fungsi kernel utama diorganisasi sebagai proses-proses terpisah. Terdapat kode kecil pengalihan proses yang dieksekusi di luar proses.
Pendekatan ini mempuyai keunggulan:
• perancangan modular dapat diterapkan ke peracangan sistem operasi. Os menjadi modul-modul dengan interface yang bersih dan minimal antar modul-modul itu
• Mudah diterapkan pada lingkungan multiprocessor atau multicomputer dimana beberapa layanan sistem operasi ditaruh di pemroses-pemroses tertentu. Teknik ini akan meningkatkan kinerja
Microkernel
• Mirokernel adalah inti sistem operasi yang menyediakan landasan perluasan sistem operasi
• Pendekatan mikrokernel dipopulerkan sistem operasi MACH, secara teoritis pendekatan mikrokernel menyediakan derajat fleksibilitas dan modularitas tinggi. Os yang memakai pendekatan mirokernel adalah MS Windows NT
• Landasan pendekatan mikrokomputer adalah hanya fungsi-fungsi sistem operasi inti yang secara mutlak esensi yang harus berada di kernel.
• Terdapat ciri yang sama yaitu banyak layanan yang secara tradisional merupakan bagian sistem operasi menjadi subsistem eksternal. Subsistem ini berinteraksi dengan kernel dan subsistem-subsistem lain. Layanan ini antara lain sistem file, sistem windowing dan layanan keamanan
• Komponen-komponen sistem operasi di luar mikrokernel saling berinteraksi melalui pesan yang dilewatkan melalui mikrokernel
• Fungsi miikrokernel adalah sebagai mediator pertukaran pesan
• Mikrokernel memvalidasi pesan, melewatkan pesan antara komponen-komponen dan meberi hak pengaksesan perangkat keras
• Struktur ini ideal untuk lengkungan pemroses terdistribusi karena mikrokernel dapat melawatkan pesan baik secara lokal atau jarak jauh tanpa perubahan komponen-komponen sistem operasi lain.
Tidak ada komentar:
Posting Komentar