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.
No comments:
Post a Comment