Sistem Operasi Struktur Sistem Operasi Prepared By Team Teaching Presented by WIN & TGW
Sistem operasi modern adalah suatu sistem yang besar dan kompleks. Dan tentu saja proses mendesain sistem operasi bukanlah pekerjaan mudah. Karena itu, didalam desain sistem operasi digunakan suatu struktur agar sistem tersebut bisa dipelajari dengan mudah, digunakan, dan dikembangkan lebih lanjut. Struktur Sistem Operasi
Struktur sederhana Struktur berlapis Mikro kernel Pendekatan model yang digunakan
Sistem ini dapat dibagi menjadi dua bagian, yaitu kernel dan program sistem. Kernel sendiri dapat dibagi menjadi dua bagian, yaitu device driver dan interface. Contoh : MS-DOS, UNIX saat awal Struktur Sederhana
Struktur MS-DOS
Struktur UNIX
Rasanya susah membayangkan sekian banyak fungsi yang disediakan oleh sistem operasi diimplementasikan dalam satu program saja. Karena itu, lebih mudah untuk membaginya dalam sejumlah layer/lapisan. Tentu setiap lapisan memiliki fungsinya sendiri-sendiri, dan juga bisa menambah fungsi-fungsi lain, berdasarkan fungsi-fungsi yang tersedia pada lapisan-lapisan lain yang dibawahnya. Struktur Berlapis
Lapisan-lapisan sistem operasi adalah suatu abstraksi dari enkapsulasi sekumpulan struktur data dalam sistem operasi. Lapisan-lapisan yang berada di atas bisa mengakses operasi-operasi yang tersedia di lapisan-lapisan bawahnya. Struktur Berlapis
Lapisan 1. Berisi berbagai sirkuit elektronik, misal register, memory cells, dan logic gate. Lapisan 2. Berisi instruksi prosesor, misal instruksi aritmatika, instruksi transfer data, dsb. Lapisan 3. Penambahan konsep seperti prosedur/subrutin, maupun fungsi yang me-return nilai tertentu. Lapisan 4. Penambahan interrupt. Pendekatan Stalling
Lapisan 5. Program sebagai sekumpulan instruksi yang dijalankan oleh prosesor. Lapisan 6. Berhubungan dengan secondary storage device, yaitu membaca/menulis head,track, dan sektor. Lapisan 7. Menciptakan alamat logika untuk proses. Mengatur hubungan antara main memory, virtual memory, dan secondary memory. Pendekatan Stalling
Lapisan 8. Program sebagai sekumpulan instruksi yang dijalankan oleh prosesor. Lapisan 9. Berhubungan dengan secondary storage device, yaitu membaca/menulis head,track, dan sektor. Lapisan 10. Menciptakan alamat logika untuk proses. Mengatur hubungan antara main memory, virtual memory, dan secondary memory. Pendekatan Stalling
Lapisan 11. Program sebagai sekumpulan instruksi yang dijalankan oleh prosesor. Lapisan 12. File adalah objek yang memiliki nama dan ukuran. Abstraksi dari lapisan 9. Lapisan 13. Menyediakan interface agar bisa berinteraksi dengan pengguna. Pendekatan Stalling
Lapisan-lapisan dari 1-4 bukanlah bagian dari sistem operasi dan masih menjadi bagian dari prosesor secara ekslusif. Lapisan ke-5 hingga ke-7, sistem operasi sudah berhubungan dengan prosesor. Lapisan ke-8 hingga 13, sistem operasi berhubungan dengan media penyimpanan maupun perlatan- peralatan lain yang ditancapkan. Pendekatan Stalling
komponen sentral dari sistem operasi yang mengatur hal-hal seperti interrupt handler (untuk menyediakan layanan interupsi), process scheduler (membagi-bagi proses dalam prosesor), memory management, I/O, dan sebagainya. jembatan antara hardware dengan software. Cara tradisional untuk membangun sistem operasi adalah dengan membuat kernel monolitis, yaitu semua fungsi disediakan oleh kernel, dan ini menjadikan kernel suatu program yang besar dan kompleks. Kernel
Cara yang lebih modern, adalah dengan menggunakan kernel mikro. Pada awalnya, konsep mikro kernel dikembangkan pada sistem operasi Mach. Ide dasar dari pengembangan kernel mikro adalah bahwa hanya fitur- fitur yang perlu saja yang diimplementasikan dalam kernel. Mikro Kernel
device driver, file system, virtual memory manager, windowing system, dan security devices. Karakteristik Umum dari Mikro Kernel
Pendekatan kernel mikro menggantikan pendekatan berlapis yang vertikal tradisional. Komponen-komponen sistem operasi yang berada di luar kernel mikro diimplementasi- kan sebagai server process dan berkomu- nikasi dengan message passing via kernel mikro. Misalnya jika user ingin membuat berkas baru, dia mengirim pesan ke file system server, atau jika ingin membuat proses baru, dia mengirimkan pesan ke process server. Mikro Kernel
Struktur Kernel Mikro
Interface yang seragam. Extensibility. Flexibility. Portability. Reliability. Support for object-oriented OS. Kelebihan Mikro Kernel
Booting adalah istilah untuk menghidupkan komputer. Secara umum, gambaran yang terjadi pada proses boot adalah sebagai berikut. Saat komputer dihidupkan, memorinya masih kosong. Belum ada instruksi yang dapat dieksekusi oleh prosesor. Karena itu, prosesor dirancang untuk selalu mencari alamat tertentu di BIOS ROM. Proses Boot
Pada alamat tersebut, terdapat sebuah instruksi jump yang menuju ke alamat eksekusi awal BIOS. Setelah itu, prosesor menjalankan power-on-self test (POST), yaitu memeriksa kondisi hardware yang ada. Sesudah itu, BIOS mencari video card. Secara khusus, dia mencari program BIOS milik video card. Kemudian system BIOS menjalankan video card BIOS. Barulah setelah itu, video card diinisalisasi. Proses Boot
Kemudian BIOS memeriksa ROM pada hardware yang lain, apakah memiliki BIOS tersendiri apakah tidak. Jika ya, maka akan dieksekusi juga. BIOS melakukan pemeriksaan lagi, misal memeriksa besar memori dan jenis memori. Lebih lanjut lagi, dia memeriksa hardware yang lain, seperti disk. Lalu dia mencari disk dimana proses boot bisa dilakukan, yaitu mencari boot sector. Boot sector ini bisa berada di hard disk, atau floppy disk. Proses Boot
Secara tradisional, komputer dipandang sebagai suatu mesin sekuensial, yaitu mereka menjalankan sekumpulan instruksi yang tersusun dalam urutan tertentu. Prosesor menjalankan program dengan cara mengeksekusi instruksi mesin satu demi satu dalam suatu waktu. Tapi tentunya ini tidak selalu benar. Dengan pipelining misalnya, prosesor tidak perlu menunggu suatu instruksi selesai dan bisa mengerjakan instruksi lainnya. Sistem Prosesor Jamak
Seiring dengan perkembangan teknologi, para perancang komputer terus berusaha mengembangkan teknik untuk meningkatkan performa dan tentu juga reliability. Salah satunya adalah multiprocessing, yaitu menggunakan prosesor jamak. Sistem Prosesor Jamak
Peningkatan throughput. Lebih ekonomis. Peningkatan kehandalan. Keuntungan Sistem Prosesor Jamak
ASMP (Asymmetric Multi Processing) dan SMP (Symmetric Multi Processing) Model Sistem Prosesor Jamak
ide dasarnya adalah master/slave, yaitu kernel selalu berjalan di prosesor tertentu, sedangkan prosesor- prosesor lainnya menjalankan utiliti yang ada di sistem operasi atau mengerjakan tugas-tugas tertentu. Prosesor master bertugas menjadwal proses atau thread. Ketika suatu proses/thread aktif, dan prosesor slave membutuhkan layanan (misal untuk I/O), maka dia harus mengirim permintaan ke prosesor master dan menunggu hingga permintaannya dilaksanakan. Model ini adalah sederhana, karena hanya satu prosesor yang mengatur sumber daya memori dan I/O. ASMP
Kegagalan prosesor utama bisa menyebabkan kegagalan keseluruhan sistem. Bisa terjadi penurunan performa, yaitu terjadi bottleneck di prosesor utama karena dialah yang bertanggung jawab atas penjadwalan dan manajenem proses. Kerugian ASMP
kernel bisa dijalankan di prosesor mana saja, dan tiap prosesor bisa melakukan penjadwalan proses/thread secara mandiri. Model seperti ini membuat desain sistem operasi menjadi lebih rumit, karena proses-proses bisa berjalan secara paralel. Karena itu, haruslah dijamin agar hanya 1 prosesor yang mengerjakan tugas tertentu dan proses-proses itu tidak mengalami starvation. SMP
Performance. Availability. Incremental growth. Keuntungan SMP
Model ASMP dan SMP
prosesor, data, dan aspek-aspek lainnya bisa tersebar dalam lingkup tertentu. melibatkan adanya pembagian proses komputasi, pengendali, dan interaksi dalam jaringan Sistem Terdistribusi
Resource sharing. Computation speedup. Reliability. Communication. Keuntungan
Jika tidak direncanakan dengan tepat, sistem terdistribusi bisa menurunkan proses komputasi. Troubleshooting menjadi lebih rumit. Tidak semua proses komputasi cocok untuk dilakukan dalam sistem terdistribusi. Kelemahan
Sistem Terdistribusi
Sistem terkluster menjadi alternatif SMP untuk memperoleh performa dan ketersediaan yang tinggi. Saat ini, sistem terkluster populer untuk aplikasi- aplikasi server. Sistem terkluster pada dasarnya adalah sekumpulan komputer independen (bisa berjalan sendiri) yang terhubung satu sama lain untuk menyatukan sumber daya yang ada sehingga seolah-olah menjadi satu komputer saja. Sistem Terkluster
Absolute scalability. Incremental scalability. High availability. Superior price/performance. Keuntungan
Pada awalnya, istilah real time digunakan dalam simulasi. Memang sekarang lazim dimengerti bahwa real time adalah "cepat", namun sebenarnya yang dimaksud adalah simulasi yang bisa menyamai dengan proses sebenarnya (di dunia nyata) yang sedang disimulasikan. Pada sistem waktu nyata, digunakan batasan waktu. Sistem dinyatakan gagal jika melewati batasan yang ada. Sistem Waktu Nyata
hard real time mewajibkan proses selesai dalam kurun waktu tertentu. Jika tidak, maka gagal. Misalnya adalah alat pacu jantung. Sistem harus bisa memacu detak jantung jika detak jantung sudah terdeteksi lemah. soft real time menerapkan adanya prioritas dalam pelaksanaan tugas dan toleransi waktu. Misalnya adalah transmisi video. Gambar bisa sampai dalam keadaan terpatah-patah, tetapi itu bisa ditolerir karena informasi yang disampaikan masih bisa dimengerti. Dua Model Waktu Nyata
Sistem Multimedia Embedded System Komputasi berbasis jaringan PDA dan telepon seluler Smart card Sistem – Sistem yang Lain