Teknologi, khususnya di bidang komputer, berkembang dengan sangat pesat. Setiap pengguna komputer perlu mengikuti perkembangannya, baik dari segi perangkat keras, perangkat lunak, maupun sistem operasi.
Perangkat keras yang terus berkembang membuat sistem operasi terdahulu tidak mampu mengatasinya. Akibatnya, ada banyak bermunculan struktur sistem operasi baru yang dapat digunakan pada rancangan komputer modern. Sistem operasi terkini dirancang dengan sangat kompleks dan detail sehingga dapat berfungsi secara optimum.
Ada beberapa struktur sistem operasi yang masih digunakan hingga sekarang, berikut adalah beberapa diantaranya!
Section Artikel
Beberapa sistem komersial masih belum memiliki stuktur yang cukup baik. Kondisi ini menyebabkan sistem operasi yang digunakan cukup sederhana, kecil, dengan beberapa keterbatasan. Dua contoh sistem tersebut adalah MS DOS dan UNIX, dengan ciri khas :
Struktur sistem operasi monolitik hanya dapat digunakan pada beberapa perangkat keras saja. Hal ini disebabkan karena sistem operasi monolotik dilengkapi dengan operasi dual mode dan pelayanan system calls. Namun, Intel 8088 tidak dapat menggunakan dual mode sehingga tidak akan ada proteksi pada perangkat keras yang digunakan.
Secara umum, system calls pada sistem operasi monolitik dibuat dengan cara :
Walaupun mudah digunakan, struktur monolitik memiliki kekurangan yang cukup berbahaya. Program-program malware dapat mudah memodifikasi sistem dan merusak keseluruhan sistem operasi yang anda gunakan.
Selain itu, struktur ini dapat menyebabkan pemborosan jika setiap kernelnya harus menjalankan kernel monolitik yang sangat besar. Perlu diingat juga bahwa satu saja kesalahan pemrograman dari salah satu bagian kernel dapat menyebabkan matinya keseluruhan sistem monolitik yang digunakan.
Sistem operasi berlapis memiliki beberapa lapis yang beragam, mulai dari bagian atas hingga bagian bawah. Masing-masing lapisan ini memiliki fungsi dan tujuannya tersendiri yang saling mendukung satu sama lain. Lapisan paling bawah digunakan untuk perangkat keras, sedangkan lapisan paling atas digunakan untuk user interface.
Sistem berlapis banyak digunakan karena dapat mengurangi kompleksitas rancangan dari implementasi sebuah sistem operasi. Setiap lapisan struktur tersebut berasal dari hasil implementasi objek abstrak.
Kondisi ini menyebabkan hasil implementasi berasal dari data yang terenkapsulasi dan operasi yang dapat dimanipulasi. Salah satu contoh struktur sistem berlapis adalah The System.
Menurut Tananbaum dan Woodhull, sistem operasi berlapis memiliki 6 lapisan, yaitu :
Berbeda dari Tananbaum dan Woodhull, Stallings membagi sistem operasi berlapis dalam lapisan yang lebih mendetail, yaitu :
Beberapa jenis lapisan yang digunakan dalam sistem operasi berlapis adalah :
Lapisan perangkat keras merupakan lapisan paling bawah pada sistem operasi berlapis. Lapisan ini terdiri dari sirkuit elektronik yang berfungsi untuk membersihkan register ataupun membaca lokasi memori, set instruksi pada prosesor, serta interupsi yang berisikan perintah yang dijalankan.
Lapisan sistem operasi merupakan sebuah lapisan yang berhubungan secara langsung dengan program spesifik pada bagian sistem operasinya.
Lapisan ini memiliki kerja yang bersifat teknis dan terdiri dari penyimpanan sekunder komputer, ide dalam eksekusi program, dan lamat logic dari setiap proses yang berlangsung. Kode program sangat diperlukan pada lapisan ini agar dapat terlaksanakan dengan benar dan sesuai dengan yang diharapkan.
Lapisan kelengkapan masih berhubungan dengan program karena termasuk dari kelengkapan sebuah sistem operasi. Lapisan ini memiliki tugas utama sebagai pengaturan komunikasi informasi yang berlangsung, termasuk menerima pesan-pesan dan proses pengirimannya.
Lapisan ini juga memiliki tugas dalam penyimpanan jangka panjang, menyediakan akses pada perangkat keras eksternal yang menggunakan user interface standar, dan bertanggung jawab dalam hubungan identifier internal atau eksternal.
Lapisan program aplikasi bertujuan untuk menghubungkan pengguna dengan aplikasi yang digunakan, dimana sangat berhubungan erat dengan user interface. Lapisan inin akan memproses segala informasi yang dibutuhkan oleh pengguna dalam aplikasi.
Kernel mikro adalah sistem operasi yang mempermudah komunikasi antara program klien dengan beragam layanan pada ruang user.
Komunikasi yang terjadi antar module user menggunakan passing massage. Kernel mikro dapat memperluas sistem operasi dan mudah diatur jika ada transformasi ke arsitektur yang baru. Kode program yang digunakan pada sistem ini juga lebih kecil dan lebih aman.
Beberapa manfaat yang dapat anda terima dari struktur sistem mikro kernel adalah :
Walaupun demikian, struktur sistem mikro kernel sering mengalami overhead kinerja dari komunikasi ruang ke pengguna ruang kernel. Pastikan anda sudah mempertimbangkan kekurangan ini sebelum menerapkan struktur sistem mikro kernel.
Beberapa sistem operasi yang menerapkan mikro kernel adalah :
Struktur modular memiliki beberapa kumpulan komponen inti yang terhubung dengan tambahan layanan secara dinamis saat boot berjalan. Struktur ini dapat dilakukan dengan cara menggunakan pemanggil modul secara dinamis. Beberapa sistem operasi yang menerapkan struktur ini adalah Linux, MacOS, dan Solaris.
Banyak sistem operasi modern yang menerapkan struktur modul. Hal ini disebabkan karena struktur kernel menggunakan pendekatan yang berorientasikan objek dan memiliki kompinen modul inti yang terpisah. Tiap modul dapat berkomunikasi sesuai keperluannya dalam struktur. Secara keseluruhan struktur modular mirip dengan struktur sistem berlapis. Perbedaan yang jelas terlihat antar keduanya adalah dari fleksibilitas struktur.
Mesin virtual adalah salah satu jenis struktur yang memiliki sistem time-sharing, dimana berfungsi untuk menyediakan kemampuan multi programming dan perluasan sistem mesin dengan user interface yang mudah digunakan. Pengguna struktur mesin virtual cenderung tidak akan mengalami kebingungan saat mengoperasikannya.
Mesin virtual memiliki konsep yang menyediakan proteksi lengkap untuk sumber daya sistem. Kondisi ini terjadi karena setiap mesin virtual terpisah jauh dari mesin virtual lainnya. Namun, efek buruk yang terjadi akibat kondisi ini adalah tidak adanya sharing sumberdaya secara langsung.
Konsep mesin virtual cocok untuk digunakan dalam penelitian dan pengembangan sebuah sistem operasi. Mesin virtual cukup sulit untuk diterapkan pada komputer awam karena usaha yang diperlukan untuk menyediakan duplikasi mesin utama cukup sulit. Salah satu contoh mesin virtual yang dapat anda temukan adalah Java Virtual Machine.
Walaupun demikian, mesin virtual sulit diimplementasikan karena memiliki banyak syarat yang diperlukan untuk menyediakan duplikasi yang tepat dari underlying machine. Waktu yang dibutuhkan I/O untuk bekerja juga dapat berbeda, lebih cepat atau lebih lambat, berdasarkan dari spooling yang ada.
Struktur mesin virtual terdiri dari 2 macam, yaitu :
Program kontrol adalah struktur yang digunakan untuk mengatur fungsi prosesor, memor, dan perangkat keras tambahan input ataupun output.
Program kontrol akan berhubungan langsung dengan perangkat keras yang digunakan. Program kontrol yang dimiliki oleh mesin virtual memiliki ilusi multitasking
Sistem monitor konvensional berfungsi untuk mengatur proses pengelolaan informasi dan pengelolaan perangkat yang digunakan dalam sistem operasi.
Struktur client server model sedang trend belakangan ini. Hal ini disebabkan karena struktur ini dapat memindahkan kode ke lapisan yang lebih tinggi dan menghapusnya sebanyak mungkin dari sistem operasi, sehingga kerja kernel yang tertinggal cukup minimal. Semua pekerjaan kernel akan ditekankan pada pengembalian komunikasi antara client dan server.
Konsep ini umumnya digunakan dengan cara menganti setiap fungsi yang ada pada sistem operasi menjadi user process. Jika suatu saat ada proses yang harus dilakukan, misalnya memblok sebuah file tertentu, maka user process atau client server akan mengirim permintaan tersebut ke server process. Nantinya, server process akan menerima permintaan tersebut, meyalaninya, dan mengirimkan kembali jawaban yang diminta.
Beberapa keuntungan yang dapat anda peroleh jika menggunakan struktur client server adalah :
Sistem operasi yang berorientasikan objek memiliki pendekatan yang mengadopsi dari teknologi object oriented. Struktur ini cukup teratur dan dapat memisahkan setiap layanan dan implementasinya dengan baik.
Informasi yang dihasilkan pada struktur ini akan lebih mudah dimengerti dan tidak tercampur-campur. Beberapa contoh sistem operasi yang menggunakan struktur ini adalah MS Windows.