Rangkuman Waktu Nyata dan Multimedia

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

3. Bahasa pemrograman yang akan digunakan. banyak bahasa pemrograman yang dapat

digunakan untuk merancang sistem operasi dan tiap-tiap bahasa mempunyai kekurangan dan kelebihan, tetapi bahasa apapun yang jadi pilihan nantinya haruslah sudah dikuasai dengan baik.

25.2. Perancangan Antarmuka

Merancang antarmuka merupakan bagian yang paling penting dari merancang sistem. Biasanya hal tersebut juga merupakan bagian yang paling sulit, karena dalam merancang antarmuka harus memenuhi tiga persyaratan: sebuah antarmuka harus sederhana, sebuah antarmuka harus lengkap, dan sebuah antarmuka harus memilki kinerja yang cepat. Alasan utama mengapa antarmuka sulit untuk dirancang adalah karena setiap antarmuka adalah sebuah bahasa pemrograman yang kecil: antarmuka menjelaskan sekumpulan objek-objek dan operasi-operasi yang bisa digunakan untuk memanipulasi objek. Dalam proses pengembangan antarmuka, kita bisa atau mungkin saja tidak bisa memisahkannya dari seluruh proses pengembangan sebuah produk. Walaupun begitu, fokus dari dua proses tersebut sangatlah berbeda. Dalam proses pengembangan antarmuka, fokus haruslah terletak pada elemen-elemen antarmuka dan objek-objek yang pengguna lihat dan gunakan, dibandingkan dengan kemampuan sebuah program. Elemen-Elemen dalam perancangan antarmuka adalah 1. Mendefinisikan konsep. Mengumpulkan kebutuhan-kebutuhan pengguna dan mendefinisikan desain secara konseptual.

2. Memvalidasi konsep. Mengevaluasi konseptual desain tersebut. 3. Merancang.

Mengevaluasi prototype. Menandai dan memperbaiki masalah-masalah yang ditemukan.

4. Pengembangan. Melakukan pengujian secara berkala terhadap desain yang lebih dahulu dibuat

dan desain yang paling terakhir dibuat. Menandai dan memperbaiki masalah-masalah yang ditemukan. Gambar 25.1. Empat Tahap Proses Perancangan Antarmuka Proses yang secara rinci menggambarkan bagaimana perancangan dan pengembangan antarmuka terlihat pada gambar di atas. Empat tahap utama dalam proses tersebut adalah: • Mengumpulkan atau menganalisa informasi dari pengguna. • Merancang Antarmuka. • Mengembangkan Antarmuka. • Memvalidasi Antarmuka. Proses-proses tersebut independen dari hardware dan software, sistem operasi dan peralatan yang 213 digunakan untuk merancang dan mengembangakan produk. IBM Common User Access CUA interface design guide adalah yang pertama kali mendeskripsikan proses perancangan antarmuka secara iteratif. 1. Mengumpulkan atau Menganalisa Informasi Pengguna. Proses perancangan antarmuka dimulai dari memahami pengguna. Sebelum merancang antarmuka, kita harus mengetahui masalah apa yang ingin pengguna selesaikan dan bagaimana mereka melakukan pekerjaan mereka. Pengumpulan dan penganalisaan aktivitas-aktivitas pada tahap pertama ini dapat dijabarkan dalam lima langkah: • Menentukan profil pengguna. • Melakukan analisa terhadap task-task pengguna. • Mengumpulkan kebutuhan-kebutuhan pengguna. • Menganalisa user environments. • Mencocokan kebutuhan tersebut dengan task.

2. Merancang Antarmuka. Dalam merancang antarmuka ada beberapa tahapan yang harus

dilalui, yaitu: • Menjelaskan kegunaan dan tujuan. • Menetapkan icon objek, views, dan representasi visual. • Merancang objek dan jendela menu • Memperbaiki rancangan visual.

3. Mengembangkan Antarmuka. Hal pertama yang bisa dilakukan dalam membangun antarmuka

adalah membangun prototype. Membangun prototype adalah cara yang berharga dalam membuat rancangan awal dan membuat demonstrasi produk dan penting untuk pengujian kegunaan antarmuka. Dari prototype tersebut, perancang antarmuka dapat mulai membangun antarmuka secara utuh. Ketika membuat prototype, sangat penting untuk diingat bahwa prototype harus dapat di buang setelah digunakan disposable. Jangan takut untuk membuang sebuah prototype. Tujuan dalam membuat prototype adalah untuk mempercepat dan mempermudah dalam memvisualisasikan desain alternatif dan konsep, bukan untuk membangun kode yang akan digunakan sebagai bagian dari produk.

4. Melakukan Validasi Terhadap Antarmuka. Evaluasi kegunaan adalah bagian penting dari

proses pengembangan, untuk mengetahui bagaimana tanggapan pengguna terhadap antarmuka yang telah dibuat. Evaluasi ini akan digunakan untuk memperbaiki kekurangan pada antarmuka yang telah dibangun. Aturan emas dalam perancangan antarmuka: • Buat Pengguna menguasai antarmuka. • Kurangi users memory load • Buat antarmuka konsisten

25.3. Implementasi

Rancangan Sistem Desain sistem memiliki masalah dalam menentukan tujuan dan spesifikasi sistem. Pada level paling tinggi, desain sistem akan dipengaruhi oleh pilihan hardware dan jenis sistem. Kebutuhannya akan lebih sulit untuk dispesifikasikan. Kebutuhan terdiri dari user goal dan system goal. User menginginkan sistem yang nyaman digunakan, mudah dipelajari, dapat diandalkan, aman, dan cepat. Namun itu semua tidaklah signifikan untuk desain sistem. Orang yang mendesain ingin sistem yang mudah didesain, diimplementasikan, fleksibel, dapat dipercaya, bebas error, efisien. Sampai saat ini belum ada solusi yang tepat untuk menentukan kebutuhan dari sistem operasi. Lain lingkungan, lain pula kebutuhannya. Mekanisme dan Kebijakan Mekanisme menentukan bagaimana melakukan sesuatu. Kebijakan menentukan apa yang akan dilakukan. Pemisahan antara mekanisme dan kebijakan sangatlah penting untuk fleksibilitas. Perubahan kebijakan akan membutuhkan definisi ulang pada beberapa parameter sistem, bahkan bisa mengubah mekanisme yang telah ada. Sistem operasi Microkernel-based menggunakan pemisahan mekanisme dan kebijakan secara ekstrim dengan mengimplementasikan perangkat dari primitive building blocks. Semua aplikasi mempunyai antarmuka yang sama karena antarmuka dibangun dalam kernel. Kebijakan penting untuk semua alokasi sumber daya dan penjadwalan problem. Perlu atau tidaknya sistem mengalokasikan sumber daya, kebijakan yang menentukan. Tapi bagaimana dan apa, mekanismelah yang menentukan. 214

25.4. Kinerja

Kinerja sebuah sistem ditentukan oleh komponen-komponen yang membangun sistem tersebut. Kinerja yang paling diinginkan ada pada sebuah sistem adalah bebas error, cepat dan fault-tolerant. Fault-tolerant Beberapa sistem perlu untuk tetap berjalan apapun yang terjadi. Sistem-sistem ini didesain untuk memulihkan secara sempurna dari masalah hardware dan tetap berjalan. Maka dari itu, fault-tolerant sistem operasi adalah menyembunyikan kegagalan hardware dari aplikasi yang sedang menggunakan hardware tersebut.

25.5. Pemeliharaan Sistem

Pemeliharaan sistem sangatlah penting bagi pengguna sistem. Karena, seringkali penggunaan sistem operasi menjadi tidak aman karena alasan-alasan seperti: • Sistem terinfeksi malware aktif • Sistem berkas corrupt • Perangkat keras melemah Untuk mencegah hal-hal tesebut, digunakanlah mOSmaintenance Operating system yang berfungsi untuk: • Manajemen Malware yang aktif • Pemulihan data recovery dan perbaikan sistem berkas • Diagnosa perangkat keras. mOS tidak menulis ke disk atau menjalankan kode apapun dari disk, memiliki akses langsung ke perangkat keras, dan hanya membutuhkan sedikit bagian dari perangkat keras untuk bekerja dengan sempurna. Selain dengan mOS, kita juga dapat memelihara sistem pada windows dengan cara-cara yang sederhana seperti: • Jangan pernah mematikan power sampai sistem benar-benar sudah shutdown. • Buatlah backup data-data yang penting. • Lakukan defragment setidaknya satu bulan sekali • Sisakan sedikitspace kosong di partisi tempat sistem operasi berada. • Gunakan firewall jika anda terkoneksi dengan jaringan. • Lakukan pengecekan virus secara rutin.

25.6. Tunning

Tuning dengan tujuan optimisasi kinerja adalah proses memodifikasi sebuah sistem untuk membuat beberapa aspek bekerja lebih efisien atau menggunakan sumber daya lebih sedikit. Dengan kata lain, tuning berarti mencari titik kelemahan dari suatu sistem dan memperbaikinya agar bisa jauh lebih baik lagi. Tuning akan terpusat pada meningkatkan hanya satu atau dua aspek dari kinerja: waktu eksekusi, penggunaan memori, kapasitas disk, bandwith, konsumsi power, atau sumber daya lainnya. Namun peningkatan tersebut diimbangi dengan penurunan kinerja lainnya. Misalnya memperbesar ukuran cache mempercepat kinerja, namun meningkatkan penggunaan memori. Salah satu contoh tuning yang biasa kita lakukan adalah defragment. Defragmentation atau defragging adalah proses mengurangi jumlah fragmentasi dalam file system. Defragmentation menyusun kembali konten-konten dalam disk dan menyimpan bagian-bagian kecil dari setiap file untuk tetap saling berdekatan. Defragmentation juga berusaha untuk membuat area untuk free space lebih besar dengan menggunakan compaction untuk menghalangi kembalinya fragmentasi. Beberapa defragmenter juga mencoba untuk menjaga file-file yang lebih kecil tetap berada dalam singel directory, karena mereka sering kali diaskes secara berurutan. Selain untuk optimasi kinerja, Adalah mungkin untuk mendesain, mengkode, dan megimplementasikan sebuah sistem operasi khusus untuk satu mesin saja. Pada umumnya sistem operasi dirancang untuk dapat dijalankan pada berbagai jenis mesin, sistemnya harus 215 dikonfigurasikan untuk setiap komputer. Proses ini terkadang disebut sebagai System Generation. Program Sysgen mendapatkan informasi mengenai konfigurasi khusus tentang sistem perangkat keras dari sebuah data, antara lain sebagai berikut: • CPU apa yang digunakan, pilihan yang diinstall. • Berapa banyak memori yang tersedia • Peralatan yang tersedia • Sistem operasi pilihan apa yang diinginkan atau parameter apa yang digunakan.

25.7. Trend

Trend sistem operasi sangat dipengaruhi oleh penilaian dari pengguna sistem operasi. Pengguna biasanya lebih memilih sistem operasi yang user friendly, performanya bagus, tidak sering mengalami error, tampilannya cantik, dan lain lain. Trend sistem operasi sampai saat ini ternyata masih dikuasai oleh keluarga Windows. Namun bisa diprediksi bahwa trend sistem operasi pada tahun-tahun mendatang akan berkaitan dengan sistem operasi yang bersifat Open Source. Dalam sebuah artikel di web, Linus Torvalds mengatakan bahwa sistem operasi yang open source memungkinkan penggunanya untuk menciptakan sistem yang terbaik sesuai dengan kebutuhan mereka masing-masing.

25.8. Rangkuman

Sebelum merancang sistem operasi ada baiknya melakukan persiapan-persiapan terlebih dahulu. Persiapan-persiapan tersebut antara lain: memikirkan dimana nantinya sistem operasi akan dijalankan, memikirkan kegunaan sistem operasi tersebut dan menentukan bahasa pemrograman yang akan digunakan. Selain itu dalam merancang sistem operasi juga sebaiknya berpegangan dengan prinsip-prinsip merancang sistem operasi, yaitu: extensibility, portability, reliability, security dan high performance. Pemeliharaan sistem operasi dilakukan untuk menjaga agar sistem operasi tetap stabil dan dapat berkerja sebagaimana mestinya. Trend sistem operasi pada tahun-tahun mendatang akan berkaitan dengan sistem operasi yang bersifat Open Source. Dalam sebuah artikel di web, Linus Torvalds mengatakan bahwa sistem operasi yang open source memungkinkan penggunanya untuk menciptakan sistem yang terbaik sesuai dengan kebutuhan mereka masing-masing. Rujukan [Silberschatz2005] Avi Silberschatz, Peter Galvin, dan Grag Gagne. 2005. Operating Systems Concepts. Seventh Edition. John Wiley Sons. [WEBWiki2007] Wikipedia. 2007. Page Replacement Algortihm http:en.wikipedia.orgwikiPage_replacement_algorithm . Diakses 4 April 2007. [WEBCDSmith] Chris Smith. 2007. The Common Mans Guide to Operating System Design http:cdsmith.twu.netprofessionalosdesign.html . Diakses 9 Mei 2007. [WEBQuirke2004] Chris Quirke. 2004. What is a Maintenance OS? http:cquirke.mvps.orgwhatmos.htm . Diakses 9 Mei 2007. [BudiHalusSantoso2005] Budi Halus Santoso dan Jubilee Enterprise. 2005. Perancangan Sistem Operasi. First Edition. ANDI Yogyakarta. [Internet News] Internet News. 2007. Linux Creator: Operating Systems Will Follow Internet Trends http:www.internetnews.comdev-newsarticle.php212891 . Diakses 10 Mei 2007. [WEBWiki2007] Wikipedia. 2007. Optimization computer science http:en.wikipedia.orgwikiOptimization_computer_science . Diakses 10 Mei 2007. 216