Proses
Process State
Status proses selalu berubah-ubah selama suatu program dieksekusi atau dijalankan. Beberapa status tersebut ialah :
- New : Proses baru diciptakan.
- Running : Proses sedang dijalankan.
- Waiting : Proses sedang menunggu suatu kondisi tertentu untuk bisa berjalan. (misalkan menunggu respon dari perangkat I/O).
- Ready : Proses menunggu untuk dilayaniprocessor.
- Terminated Proses telah menyelesaikan eksekusi.
Process Control Block (PCB)
Sistem operasi membutuhkan banyak informasi mengenai proses guna pengelolaan proses. Semua informasi ini ada pada PCB. PCB mengandung beberapa informasi seperti berikut :
1. http://t3.gstatic.com/images?q=tbn:ANd9GcTtOtP0SWiIbYLC6F_xWW_00Scl8mLJNvNA9I7iQP56d4ybI3WCRQProcess State, berisi informasi status proses. (new,running,waiting,ready,terminated).
2. Program counter, berisi informasi mengenai alamat instruksi yang akan digunakan selanjutnya.
3. CPU register, berisi register2 CPU apa saja yang digunakan.
4. CPU scheduling information, berisis penjadwalan proses beserta algoritmanya.
5. Memory management information, berisi informasi tentang berapa jumlah memory yang digunakan, limit register, tabel segment, dll berkenaan dengan penggunaan memory.
6. I/O status information, berisi informasi tentang perangkat apa saja yang digunakan dalam proses.
7. Accounting, berisi informasi tentang statistik eksekusi proses seperti waktu yang diperlukan, jumlah proses, dll.
Thread
Program yang dieksekusi :
1. Proses berat (heavyweight), biasa disebut dengan proses tradisional.
2. Proses ringan (lightweight), biasa disebut dengan THREAD.
Thread terdiri dari ID thread, program counter, himpunan register dan stack. Thread dapat melakukan lebih dari satu pekerjaan pada waktu yang sama (multithreading). Thread bekerja sama dengan thread lain dalam penggunaan bagian kode, bagian data, dan resource. Dengan penggunaan thread CPU dapat secara ekstensif di antara peer thread tanpa menggunakan manajemen memori.
Keuntungan penggunaan thread :
1. Tanggap.
2. Pemberdayaan resorce.
3. Ekonomis.
4. Pemberdayaan arsitektur multiprocessor.
- Single thread dan multi thread
http://t1.gstatic.com/images?q=tbn:ANd9GcR45OqSPB6Lxbz4Zl9MttWtAJ0EYrFZSc9epZA5hE0wmaCaUx_wkw
1. Single thread, yaitu process hanya mengeksekusi satu thread saja pada satu waktu
2. Multi thread, yaitu process dapat mengeksekusi sejumlah thread dalam satu waktu.
- Model Multithread
Sebelumnya, perlu diketahui apa itu user thread dan kernel thread. User thread, yaitu pengelolaan thread dilakukan oleh user level (pengguna). Kernel thread, yaitu pengelolaan thread dilakukan oleh kernel komputer User tidak dapat menginterupsi.
Model-model multithreading :
1. Many to one.
- Beberapa thread user-lever dipetakan ke dalam single kernel thread.
- Penggunaannya pada sistem tidak memerlukan dukungan kernel thread.
2. One to one
- Setiap user-level thread dipetakan ke kernel thread.
- Contoh : Windows 95/98/NT/2000.
3. Many to many
- Membolehkan setiap user-level thread dipetakan ke banyak kernel thread.
- Membolehkan sistem operasi membuat sejumlah kernel thread.
- Contoh : Windows NT/2000 dengan paket ThreadFiber 10, Solaris 2.
Symmetric Multi Processing
Berkaitan dengan arsitektur hardware multiprosesor, dimana dua buah atau lebih prosesor terhubung pada sebuah memori utama dan dikendalikan oleh sebuah Sistem Operasi. Sekarang ini banyak sistem mikroprosesor menggunakan SMP ini. Intinya sistem SMP ini memungkinkan prosesor untuk mengerjakan tugas-tugas dimanapun datanya tersimpan pada memori, dengan syarat setiap tugas yang dikerjakan tidak dilakukan oleh kedua prosesor secara bersamaan.
http://t3.gstatic.com/images?q=tbn:ANd9GcRP1DwHl1FYV8F_DLWfvfm48LdUpkulBwZ-M7wMgP-lNqiOAPyI
Dengan sistem operasi yang tepat, sistem SMP dapat dengan mudah memindahkan tugas antar prosesor untuk menyeimbangkan bebean kerja dengan efisien.
Kelebihan dan Kekurangan SMP
Kelebihannya adalah memungkinkan prosesor memproses banyak pengolahan data, jadi berguna untuk beberapa program tertentu. Untuk beberapa program seperti Game, SMP ini tidak cocok untuk CPU berprosesor tunggal.
Bilapun akan dihubungkan dengan prosesor tunggal, SMP ini membutuhkan sistem program yang mendukung untuk melakukan kinerja.
Microkernel
Microkernel adalah inti (kernel) dari operating system yang paling sederhana, tidak ada fasilitas apapun, menjadikannya kernel ini berukuran sangat kecil dan biasanya sangat stabil (hampir bisa dipastikan tidak ada lagi bugsnya).
Microkernel hanya memiliki fungsi manajemen sederhana untuk mendeliver services :
- Low-level address space management : sistem pengalamatan physical atau virtual untuk memory, network host, peripheral, dan lain-lain.
- Thread management : pengaturan proses (='molekul') yang terpecah menjadi thread (='atom') dan dijalankan secara paralel.
- Inter-process communication (IPC) : pengaturan komunikasi antar thread pada satu atau beberapa proses. IPC bisa punya ruang lingkup di dalam atau antar komputer.
Arsitektur microkernel sangat berbeda dengan monolithic kernel :
- Monolithic kernel memiliki struktur vertical layered : setiap aplikasi memanggil servis yang berada di bawahnya.
- Microkernel memiliki struktur horizontal : aplikasi memanggil servis yang berada sejajar dengan menggunakan IPC.
Realtime Applications
Karena sistem microkernel menggunakan thread yang dieksekusi secara parallel, microkernel sangat mudah mendukung aplikasi realtime meskipun system sedang overloaded. Sedangkan pada arsitektur monolithic, aplikasi realtime akan terputus-putus pada saat system overloaded.
Robustness/Keandalan Tinggi
Microkernel sangat sederhana, sehingga bisa dipastikan bebas bugs. Selain itu proses di dalam microkernel berjalan secara independent. Sehingga microkernel memiliki keandalan sangat tinggi, jauh lebih tinggi dibandingkan dengan monolithic. Oleh karena itu arsitektur microkernel banyak dipakai pada aplikasi mission critical pada embedded system.
Pada monolithic kernel, bugs lebih sering menghantam kernel karena kernelnya sangat kompleks. Selain itu semua proses saling terkait. Sehingga jika ada bugs atau proses yang menggantung, seluruh sistem bisa ikut crashed.
Security / Keamanan Tinggi
Microkernel menggunakan prinsip miminal privilege, dimana setiap proses hanya dapat mengeksekusi instruksi sederhana yang sangat spesifik. Sehingga pengaturan security menjadi sangat mudah.
Sedangkan proses-proses pada arsitektur monolithic cenderung bisa melakukan eksekusi kompleks yang lebih sulit dimonitor securitynya.
Arsitektur Microkernel pada Router
Pada router-router kelas high end, seperti Cisco CRS-1, operating system dengan arsitektur Microkernel menjadi pilihan yang sangat menarik, karena keunggulan-keunggulan tadi :
- Performance, Router CRS-1 adalah router raksasa yang memiliki CPU (dan kipas pendingin) yang sangat kuat, sehingga overhead microkernel menjadi tidak ada artinya.
- Realtime Applications, Router CRS-1 dapat menjalankan aplikasi realtime (seperti emulasi leased line, voice, telemetri, dll) tanpa takut aplikasi realtime terganggu karena ada traffic sangat tinggi atau ada serangan DDoS.
- Robustness, semua komponen hardware/software CRS-1 dapat diganti2 tanpa adanya system down sama sekali. Termasuk penggantian chassis dan switching fabric, karena CRS-1 bersifat multi chassis dan multi switching fabric (yang dimungkinkan karena microkernel ini).
- Security, user CRS-1 memiliki tingkat privilege yang berbeda-beda, sehingga pengaturan security menjadi mudah sekali. Level security ini pun terbawa sampai tingkat process dan thread karena arsitektur microkernel ini.
No Response to "Proses"
Posting Komentar