Proses Sistem Operasi, Mikrokernel

3.1 Apakah Proses itu?

Latar Belakang
1.    Sebuah komputer terdiri dari kumpulan perangkat keras.
2.    Aplikasi komputer dibangun untuk melaksanakan perintah.
3.    Sangat tidak efisien jika aplikasi langsung berhubungan dengan perangkat keras, disebabkan karena:
a.    Banyak aplikasi yang bisa dibangun oleh satu daya.
b.    Prosesor sendiri menyediakan daya terbatas untuk multiprogram.
c.    Saat multi aplikasi berjalan, itu dapat melindungi suber daya dari aplikasi lain.
4.    OS dibangun untuk menyediakan ketepatan, kaya fitur, keamanan, dan interaksi yang konsisten kepada aplikasi untuk digunakan.
5.    Kita dapat berpikir OS menyediakan suatu kesatuan, representasi abstrak dari sumber daya yang diminta dan diakses oleh aplikasi.

Jadi sebagai OS, untuk melakukan eksekusi harus:
1.    Sumber dibuat dapat bekerja untuk beragam aplikasi.
2.    Prosesor fisik dapat melakukan pergantian untuk melakukan proses.
3.    Prosesor dan I/O dapat digunakan dengan efisien.

Processes and Process Control Blocks
•    Identifier:  Identitas unik yang berhubungan dengan proses.
•    State: Jika proses telah dieksekusi, akan masuk ke baian sedang berjalan.
•    Priority: level  prioritas yang relativ pada tiap proses.
•    Program counter: Alamat dari instruksi program yang akan dieksekusi.
•    Memory pointers: Teridiri dari pointer untuk kode dan data yang diproses serta memori blok yang dibagi oleh proses lain.
•    Context data: Data yang bersamaan dengan eksekusi proses yang ada di register.
•    I/O status information: terdiri dari permintaan I/O yang dikenali.
•    Accounting information: bisa termasuk jumlah dari waktu prosesMay  dan penggunaan waktu dan sebagainya.

3.1    Name five major activities of an OS with respect to process management, and briefly describe why each is required.

3.1.1    Process creation and termination
Managemen proses yang melakukan pembuatan proses baru dengan langkah-langkah sistematik dan juga melakukan pembatalan atau mengakhiri proses atau proses lain.
3.1.2    Process scheduling and dispatching
merupakan proses penjadwalan dan pengeksekusi suatu proses yang ada atau timbul karena proses pemindahan suatu proses ke proses lain.
3.1.3    Process switching
Proses yang mengatur ketika ada proses lain yang akan menggunakan daya yang sama sehingga setelah selesai interupsi, proses dilakukan kembali ketika daya atau I/O atau daya lainnya dalam keadaan tidak terpakai.
3.1.4    Process synchronization and support for interprocess communication
Dalam suatu proses diperlukan sinkronisasi antar proses, dan proses tersebut memiliki komunikasi intern, agar proses dapat berjalan dengan baik dan lancar.
3.1.5    Management of process control blocks
Diperlukan adanya manajemen dalam suatu proses untuk mengatur pembagian penggunaan sumber daya, penghubung antar proses dan berbagai kegiatan dari proses itu sendiri, jadi perlu adanya pemblokiran terhadap suatu proses ketika ada proses lain yang berjalan.

3.2    Consider a computer with N processors in a multiprocessor configuration.
3.2.1    banyak prosesor yang telah siap digunakan, berjalan dan berada pada area blokir pada satu waktu.
3.2.2    Hanya satu proses yang telah siap digunakan, berjalan dan berada pada area blokir pada satu waktu.

4.1.    Table 3.5 lists typical elements found in a process control block for an unthreaded OS. Of these, which should belong to a thread control block and which should belong to a process control block for a multithreaded system?
Thread control block :
Processor state information dan process control information
Process control block :
Process intenfication


4.2.    List reasons why a mode switch between threads may be cheaper than a mode switch between processes.
•    Memory yang dibutuhkan thread untuk switch cenderung lebih kecil daripada memory yang dibutuhkan process untuk switch.
•    Thread merupakan bagian dari proses.3.MIKROKERNEL Mikrokernel merupakan modul inti yang meyediakan beragam mekanisme yang dibutuhkan untuk mengembangkan sebuah sistem operasi, seperti halnya manajemen pengalamatan ruang tingkat rendah, manajemen thread, dan komunikasi antar proses. Dalam implementasinya mikrokernel merupakan satu-satunya perangkat lunak yang berjalan dengan tingkat kewenangan tertinggi (umumnya disebut sebagai modus supervisor atau modus kernel) dari serangkaian level kewenangan yang tersedia pada perangkat kerasnya. Layanan yang disediakan oleh sebuah sistem operasi beberapa diantaranya adalah device driver, protokol jaringan, sistem berkas, dan kode antarmuka pengguna yang berada dalam ruang pengguna.



Stuktur sistem operasi berbasis mikrokernel monolitik
Mikrokernel sangat erat terkait dengan exokernel , serta memiliki banyak kesamaan dengan hypervisor. namun implementasinya lebih bersifat minimalis, dan secara spesifik untuk mendukung pengimplementasian mesin virtual. Mikrokernel L4 sering juga disebut sebagai hypervisor, yang mengindikasikan kemungkinan pengimplementasian sebuah mikrokernel sebagai hypervisor. Istilah nanokernel dalam sejarahnya digunakan untuk membedakan mikrokernel saat ini dengan istilah mikrokernel sebelumnya yang menyediakan layanan sistem aktual, namun secara prinsip minimalitas menurut Jochen Liedtke dalam disain mikrokernel L4 menyebutkan bahwa istilah-istilah tersebut memiliki arti yang kurang lebih sama.
Kelebihan Mikrokernel
1.    ketika layanan baru akan ditambahkan ke user-space,kernel tidak perlu di modif.
2.    mendukung keamanan reliabilitas lebih, karena sebagianbesar pada level pengguna, SO jadi terjaga.
3.    Interface yang seragam. Proses tidak lagi dibedakan, baik antara kernel-level maupun user-level,karena semuanya berkomunikasi via message passing.
4.    Extensibility. Bisa menambahkan fitur-fitur baru tanpa perlu melakukan kompilasi ulang
5.    Flexibility. Fitur-fitur yang sudah ada bisa dikurangi, atau dimodifikasi sesuai dengan kebutuhan sehingga menjadi lebih efisien. Misalnya tidak semua pengguna membutuhkan security yang sangat ketat, atau kemampuan untuk melakukan distributed computing.
6.    Portability. Pada mikro kernel, semua atau sebagian besar kode yang prosesor-spesifik berada di dalamnya. Jadi, proses porting ke prosesor lain bisa dilakukan dengan relatif sedikit usaha. Pada kelompok desktop misalnya, tampaknya dominasi Intel makin kuat. Tapi, sampai seberapa lama itu bisa bertahan? Karena itulah, portability adalah salah satu isu yang sangat penting.
7.    Reliability. Semakin besar suatu software, maka tentulah semakin sulit untuk menjamin reliabilitynya. Desain dengan pendekatan berlapis sangatlah membantu, dan dengan pendekatan mikro kernel bisa lebih lagi. Mikro kernel dapat diuji secara ekstensif karena dia menggunakan API yang sedikit,sehingga bisa meningkatkan kualitas code di luar kernel.
8.    Support for object-oriendted OS. Model mikro kernel sangat sesuai untuk mengembangkan sistem operasi yang berbasis object-oriented. Contoh sistem operasi yang menggunakan mikro kernel adalah Mac OS X dan QNX.
Kinerja Mikrokernel
Untuk mengatur kegiatan proses mereka perlu saling berkomunikasi. Linux mendukung berbagai mekanisme komunikasi antar proses (KAP). Sinyal dan pemipaan merupakan dua di antaranya, tapi linux juga mendukung system sistem ke lima mekanisme KAP. Manajemen I/O berguna Untuk mengelola perangkat masukan/keluaran, dimana perangkat tersebut digunakan proses tertenty, sehingga perlu dijaga agar proses lain tidak memakainya. Sistem operasi perlu mengetahui status operasi masukan/keluaran dan lokasi memori utama yang digunakan untuk transfer data. Manajemen Memory Manajemen memory level bawah (low- level): Memetakan setiap page virtual ke frame fisik, - Sebagian besar tugas manajemen memory terjadi dalam user space.

Rancangan Mikrokernel
   
•    Manajemen memory level bawah (lowlevel):Memetakan setiap page virtual ke frame fisik.
    – Sebagian besar tugas manajemen memory terjadi dalam user space
   
•    Komunikasi antar proses (Interprocess Communication) atau thread dalam suatu SO mikrokernel adalah melalui message.
•    Suatu message menyertakan:
– Header yang mengidetifikasi proses pengiriman dan penerimaan, dan
– Body yang mengandung data langsung, pointer ke suatu block data, atau beberapa
informasi kontrol mengenai proses.

Komunikasi Antar Proses
•    Komunikasi antar proses (Interprocess Communication) atau thread dalam suatu SO mikrokernel adalah melalui message.
•    Suatu message menyertakan:
- Header yang mengidetifikasi proses pengiriman dan penerimaan, dan - Body yang mengandung data langsung, pointer ke suatu block data, atau beberapa informasi kontrol mengenai proses.

Manajemen I/O & interrupt : Di dalam mikrokernel, adalah mungkin menangani interupsi hardware sebagai message dan menyertakan port I/O dalam ruang alamat. - Proses user-level tertentu dilewatkan ke interrupt & kernel memelihara pemetaan tersebut.

Comments

Post a Comment

Komentar kamu apa?