Sistem komputer modern yang semakin kompleks dan rumit memerlukan sistem operasi yang dirancang dengan sangat hati-hati agar dapat berfungsi secara optimum dan mudah untuk dimodifikasi. berikut beberapa struktur Sistem Operasi atau biasa disingkat OS
Daftar Isi
Struktur Sederhana
Ada sejumlah sistem komersial yang tidak memiliki struktur yang cuup baik. Sistem operasi tersebut sangat kecil, sederhana dan memiliki banyak ketebatasan. Salah satu contoh sistem tesebut adalah MS DOS dirancang oleh orang-orang yang tidak memikirkan akan kepopuleran software tersebut. Sistem operasi tersebut terbatas pada hardware sehingga tidak terbagi terbagi menjadi modul-modul seperti terlihat pada di bawah. Karena Intel 8088 tidak menggunakan dual mode sehingga tidak ada proteksi harware.
Pada dasarnya, sistem monolitic merupakan struktur sederhana yang dilengkapi dengan operasi dual mode. Pelayanan (system calls) yang diberikan oleh sistem operasi model ini dilakukan dengan cara mengambil sejumlah parameter pada tempat yang telah ditentukan sebelumnya, seperti register atau stack, dan kemudian mengeksekusi suatu instruksi trap tertentu pada monitor mode.
Secara umum system calls dibuat dengan cara :
– user program melakukan ‘trap’ pada kernel. Instruksi berpindah dari user mode ke monitor mode dan mentransfer kontrol ke sistem operasi
– sistem operasi mengecek parameter-parameter dari pemanggilan tersebut untuk menentukan system call mana yang memanggil
– sistem operasi menunjuk ke suatu tabel yang berisi slot ke –k yang menunjukkan system call k
– setelah system call selesai mengerjakan tugasnya, konrol akan dikembalikan pada user program.
Pendekatan Berlapis (Layered Approach)
Mesin Virtual
Sebuah mesin virtual (Virtual Machine) menggunakan misalkan terdapat sistem program => control program yang mengatur pemakaian sumber daya perangkat keras. Control program = trap System call + akses ke perangkat keras. Control program memberikan fasilitas ke proses pengguna. Mendapatkan jatah CPU dan memori. Menyediakan interface “identik” dengan apa yang disediakan oleh perangkat keras => sharing devices untuk berbagai proses.
Mesin Virtual (MV) (MV) => control program yang minimal MV memberikan ilusi multitasking: seolah-olah terdapat prosesor dan memori ekslusif digunakan MV. MV memilah fungsi multitasking dan implementasi extended machine (tergantung proses pengguna) => flexible dan lebih mudah untuk pengaturan. Jika setiap pengguna diberikan satu MV => bebas untuk menjalankan OS (kernel) yang diinginkan pada MV tersebut. Potensi lebih dari satu OS dalam satu komputer. Contoh: IBM VM370: menyediakan MV untuk berbagai OS: CMS (interaktif), MVS, CICS, dll. Masalah: Sharing disk => OS mempunyai sistem berkas yang mungkin berbeda. IBM: virtual disk (minidisk) yang dialokasikan untuk pengguna melalui MV.
Konsep MV menyediakan proteksi yang lengkap untuk sumberdaya sistem, dikarenakan tiap MV terpisah dari MV yang lain. Namun, hal tersebut menyebabkan tidak adanya sharing sumberdaya secara langsung. MV merupakan alat yang tepat untuk penelitian dan pengembangan sistem operasi. Konsep MV susah untuk diimplementasi sehubungan dengan usaha yang diperlukan untuk menyediakan duplikasi dari mesin utama.
Model Client Server
Trend dari sistem operasi modern adalah memindahkan kode ke lapisan yang lebih tinggi dan menghapusnya sebanyak mungkin dari sistem operasi sehingga akan meninggalkan kernel yang minimal. Konsep ini biasanya diimplementasikan dengan cara menjadikannya fungsi-fungsi yang ada pada sistem operasi menjadi user proses. Jika suatu proses minta untuk dilayani, misalkan saja satu blok file, maka user proses (client server) mengirim permintaan tersebut ke server proses. Server proses akan melayani permintaan tersebut ke server proses. Server proses akan mealyani permintaan tersebut kemudian mengirimkan jawabannya kembali. Pada model ini, semua pekerjaan kernel ditekankan pada pengendalian komunikasi antara client dan server.