Streaming Protocol Waktu Nyata dan Multimedia

Bab 25. Perancangan dan Pemeliharaan

25.1. Pendahuluan

Merancang sebuah sistem operasi merupakan hal yang sulit. Merancang sebuah sistem sangat berbeda dengan merancang sebuah algoritma. Hal tersebut disebabkan karena keperluan yang dibutuhkan oleh sebuah sistem sulit untuk didefinisikan secara tepat, lebih kompleks dan sebuah sistem memiliki struktur internal dan antarmuka internal yang lebih banyak serta ukuran dari kesuksesan dari sebuah sistem sangat abstrak. Sekumpulan kebutuhan dapat juga didefinisikan oleh orang-orang yang harus mendesain, membuat, memelihara dan mengoperasikan sistem operasi seperti: sistem operasi harus mudah didesain, diimplementasikan dan dipelihara, sistem harus fleksibel, dapat diandalkan, bebas eror dan efisien. Pemeliharaan sistem operasi penting untuk dilakukan. Hal tersebut merupakan salah satu cara untuk menjaga agar sistem operasi dapat bekerja dengan baik. Pemeliharaan sistem operasi menyangkut bagaimana nantinya sistem operasi dapat bekerja untuk memenuhi tiga kebutuhan, yaitu: fungsionalitas: apakah sistem tersebut dapat bekerja dengan baik; kecepatan: apakah sistem tersebut dapat memproses dengan cepat?; dan fault-tolerant: apakah sistem dapat terus bekerja apabila terjadi kesalahan pada hardware. Sebelum kita berbicara tentang bagaimana merancang sebuah sistem operasi, akan sangat baik apabila kita tahu apa yang harus dilakukan oleh sebuah sistem operasi. Hal tersebut dapat dijabarkan menjadi tiga, yaitu: abstraksi hardware, manajemen sumber daya dan user interface. Abstraksi Hardware Abstraksi Hardware adalah proses penyederhanaan dan penyembunyian informasi. Inti dari abstraksi hardware adalah mendapatkan hardware-hardware yang kompleks dan membuatnya sesuai untuk interface yang simple dan terdefinisi dengan baik. Abstraksi diperlukan karena meliputi bagaimana cara untuk berhadapan dengan failure apabila device harus fault tolerant. Ada dua alasan mengapa abstraksi hardware penting: simplicity dan compatibility. • Simplicity adalah mengenali proses-proses kompleks sehingga tidak terjadi duplikasi. Proses-proses kompleks tersebut harus dilakukan satu kali, tetapi dalam sistem dimana banyak aplikasi yang melakukan proses tersebut, akan menjadi desain yang buruk apabila setiap developer aplikasi mengimplementasikan ulang proses tersebut. Dan sistem operasi mengatasi hal ini dengan baik. Sistem operasi menyediakan media antarmuka yang lebih sederhana untuk aplikasi. • Compatibility, hampir semua tujuan umum sistem operasi adalah dapat mengoperasikan semua hardware. Akan sangat baik apabila setiap bagian kecil dari hardware yang melakukan hal yang sama berkomunikasi menurut standar interface, tetapi itu tidak benar. Beberapa bagian kecil dari sistem perlu untuk tahu apa tipe dan bagaimana cara berkomunikasi dengan suatu hardware. Sistem operasi melakukan hal tersebut, dan kemudian menampilkan aplikasi dengan interface yang sama, tidak bergantung dengan tipe hardware. Dengan begitu, aplikasi dapat bekerja dengan tipe hardware apa saja. Manajemen Sumber Daya Sebagai tambahan terhadap abstraksi hardware, umumnya sistem operasi mengatur sumber daya dari sistem dengan baik. Sumber daya adalah istilah umum yang dapat merujuk pada setiap komponen dari sistem yang sanggup melakukan perkerjaan. contohnya, processor adalah sumber daya, begitu juga RAM dan disk. Sound card dan network card juga sumber daya walaupun tidak semua hardware adalah sumber daya. Untuk pengaturan sumber daya yang lebih baik, sistem operasi dapat membagi sumber daya menjadi sub-sumber daya yang sejenis. Misalnya, disk adalah sumber daya, tetapi melalui file system, sistem operasi dapat membagi disk menjadi file, yang mana juga sumber daya. Manajemen sumber daya adalah proses pemberian sumber daya kepada aplikasi 211 untuk digunakan. Hal tersebut dilakukan dengan cara yang berbeda-beda untuk sumber daya yang berbeda, dengan perbedaan utama terletak pada multiplexing, locking dan access control. • Multiplexing adalah berbagi sebuah sumber daya antara akses-akses yang berlangsung bersamaan. ini adalah perhatian utama untuk multitasking sistem operasi. Banyak sumber daya dapat di share untuk menyediakan akses bagi aplikasi-aplikasi yang berbeda. • Locking beberapa device mungkin tidak dapat di multiplexed. Contohnya, backup device tidak dapat segera di multiplex apabila dua aplikasi mau melakukan backup dalam waktu yang bersamaan. Ini adalah error. Tetapi sistem operasi tidak seharusnya membiarkan error ini terjadi dan berpengaruh besar pada sistem. Untuk memastikan hal ini, sistem operasi menyediakan beberapa jenis locking ketika device tidak dapat di multiplex. Locking menjamin bahwa hanya satu aplikasi saja yang mempunyai akses ke sebuah device dalam waktu yang ditentukan. • Access Control kadang manajemen sumber daya tidak melibatkan pemecahan masalah dari beberapa proses pengaksesan hardware. Malahan, manajemen sumber daya melibatkan perlindungan proses dari proses lainnya. Security secara khas terimplementasikan di beberapa bentuk sebagai bagian dari manajemen sumber daya. Access control adalah kontrol sumber daya yang disediakan oleh sistem operasi untuk menguatkan batasan-batasan security. Contohnya, sebuah sistem operasi mungkin akan memperbolehkan sebuah aplikasi untuk membuat file yang secara spesifik hanya pengguna tertentu saja yang diperbolehkan untuk menggunakannya. User Interface Tujuan ketiga dari sistem operasi adalah untuk menyediakan beberapa jenis media tatap muka bagi pengguna untuk mempermudah mengontrol sistem dan menjalankan aplikasi-aplikasi. Tujuan ini membawa perancangan sistem operasi jauh dari pertanyaan-pertanyaan teknis yang umumnya ada di diskusi sistem operasi dan lebih ke arah pertanyaan psikologis mengenai cara terbaik untuk berinteraksi antara manusia dan sistem. User interface juga aspek yang sangat modular dari perancangan sistem operasi. dengan demikian, antarmuka pengguna dapat dipaksa ke urutan atas dari perancangan-perancangan lain dengan mudah. Adapun prinsip-prinsip dalam merancang sistem operasi adalah: 1. Extensibility. Extensibility terkait dengan kapasitas sistem operasi untuk tetap mengikuti perkembangan teknologi komputer, sehingga setiap perubahan yang terjadi dapat difasilitasi setiap waktu, pengembang sistem operasi modern menggunakan arsitektur berlapis, yaitu struktur yang modular. Karena struktur yang modular tersebut, tambahan subsistem pada sistem operasi dapat ditambahkan tanpa mempengaruhi subsistem yang sudah ada.

2. Portability. Suatu sistem operasi dikatakan portable jika dapat dipindahkan dari arsitektur

hardware yang satu ke yang lain dengan perubahan yang relatif sedikit. Sistem operasi modern dirancang untuk portability. Keseluruhan bagian sistem ditulis dalam bahasa C dan C++. Semua kode prosesor diisolasi di DLL Dynamic Link Library disebut dengan abstraksi lapisan hardware.

3. Reliability. Adalah kemampuan sistem operasi untuk mengatasi kondisi error, termasuk

kemampuan sistem operasi untuk memproteksi diri sendiri dan penggunanya dari software yang cacat. Sistem operasi modern menahan diri dari serangan dan cacat dengan menggunakan proteksi perangkat keras untuk memori virtual dan mekanisme proteksi perangkat lunak untuk sumber daya sistem operasi.

4. Security. Sistem operasi harus memberikan keamanan terhadap data yang disimpan dalam

semua drive.

5. High Performance. Sistem operasi dirancang untuk memberikan kinerja tinggi pada sistem

desktop, server sistem multi-thread yang besar dan multiprosesor. untuk memenuhi kebutuhan kinerja, sistem operasi menggunakan variasi teknik seperti asynchronous IO, optimized protocols untuk jaringan, grafik berbasis kernel, dan caching data sistem berkas. Untuk merancang sistem operasi diperlukan persiapan-persiapan yang matang. persiapan-persiapan yang diperlukan dalam merencanakan perancangan sistem operasi yaitu:

1. Memikirkan dimana nantinya sistem operasi akan dijalankan. ini dikarenakan banyaknya

sistem komputer dan masing-masing sistem komputer tidak saling mendukung.

2. Memikirkan kegunaan sistem operasi tersebut. fungsi sistem operasi sebagai pelayan bagi

program aplikasi dan masing-masing program aplikasi mempunyai tujuan-tujuan tertentu yang saling berbeda. disinilah perlu dipikirkan kegunaan sistem operasi yang akan dirancang. akan tetapi, biasanya sistem operasi dirancang agar dapat menjalankan berbagai macam aplikasi. Sistem operasi ini disebut sistem operasi umum, tetapi kadang sistem operasi ditujukan bagi aplikasi-aplikasi tertentu saja, misalnya sistem operasi database. 212