Operating System Structure Struktur OS Sebuah sistem yang besar dan kompleks seperti sistem operasi modern harus diatur dengan cara membagi task kedalam komponen-komponen kecil agar dapat berfungsi dengan baik dan mudah. User Interface Antarmuka pada system operasi atau sistem terbagi menjadi 2 jenis, yaitu GUI dan CLI. GUI (Graphical User Interface), adalah antarmuka pada sistem operasi yang menggunakan menu grafis agar mempermudah para pengguna-nya untuk berinteraksi dengan system atau system operasi. CLI (Command Line Interface), adalah antarmuka pada system operasi atau system yang menggunakan menu baris perintah atau text atau ketikkan dari keyboard untuk berinteraksi dengan system operasi. Contoh Gui dan Cli System calls System Call adalah penyedia antarmuka dari pelayanan-palayanan yang tersedia dengan Sistem Operasi. System call menyediakan interface antara program (program pengguna yang berjalan) dan bagian OS. System call menjadi jembatan antara proses dan sistem operasi. System call ditulis dalam bahasa assembly atau bahasa tingkat tinggi yang dapat mengendalikan mesin (C) Jenis System calls Process control: mengontrol proses yang berjalan File management: memanage file-file yang berjalan pada program Device management: memanage device apa saja yang digunakan pada program Information Maintenance: sebagai penghubung antara user dengan sistem operasi dari berbagai informasi. Communication: pertukaran informasi dari proses yang berjalan dengan sistem operasi. Monolitik approach struktur monolitik dimana prosedur dapat saling dipanggil oleh prosedur lain di sistem bila diperlukan dan kernel berisi semua layanan yang disediakan sistem operasi untuk pengguna. Inisialisasi-nya terbatas pada fungsional perangkat keras yang terbagi menjadi dua bagian yaitu kernel dan sistem program. Kernel terbagi menjadi serangkaian interface dan device driver dan menyediakan sistem file, penjadwalan CPU, manajemen memori, dan fungsi-fungsi sistem operasi lainnya melalui system calls Kelebihan & Kekurangan Kelebihan Struktur Sederhana: Layanan dapat dilakukan sangat cepat karena terdapat di satu ruang alamat. Kekurangan Struktur Sederhana: Pengujian dan penghilangan kesalahan sulit karena tidak dapat dipisahkan dan dilokalisasi. Sulit dalam menyediakan fasilitas pengamanan. Merupakan pemborosan bila setiap komputer harus menjalankan kernel monolitik sangat besar sementara sebenarnya tidak memerlukan seluruh layanan yang disediakan kernel. Tidak fleksibel. Kesalahan pemograman satu bagian dari kernel menyebabkan matinya seluruh sistem. Sistem Berlapis (layered system) Sistem operasi dibentuk secara hirarki berdasar lapisan-lapisan, dimana lapisan-lapisan bawa memberi layanan lapisan lebih atas. Lapisan yang paling bawah adalah perangkat keras, dan yang paling tinggi adalah user-interface. Sebuah lapisan adalah implementasi dari obyek abstrak yang merupakan enkapsulasi dari data dan operasi yang bisa memanipulasi data tersebut Kelebihan Sistem Berlapis (layered system): Memiliki rancangan modular, yaitu sistem dibagi menjadi beberapa modul & tiap modul dirancang secara independen. Pendekatan berlapis menyederhanakan rancangan, spesifikasi dan implementasi sistem operasi. Kekurangan Sistem Berlapis (layered system): Fungsi-fungsi sistem operasi diberikan ke tiap lapisan secara hati-hati. Kernel Mikro Metode struktur ini adalah menghilangkan komponen-komponen yang tidak diperlukan dari kernel dan mengimplementasikannya sebagai sistem dan program-program level user. Hal ini akan menghasilkan kernel yang kecil. Kelebihan Kernel Mikro: kemudahan dalam memperluas sistem operasi mudah untuk diubah ke bentuk arsitektur baru kode yang kecil dan lebih aman Kekurangan Kernel Mikro: kinerja akan berkurang selagi bertambahnya fungsi-fungsi yang digunakan. Modular (Modules) Kernel mempunyai kumpulan komponen-komponen inti dan secara dinamis terhubung pada penambahan layanan selama waktu boot atau waktu berjalan. Sehingga strateginya menggunakan pemanggilan modul secara dinamis (Loadable Kernel Modules) Virtual Machine Dalam struktur ini user seakan-akan mempunyai seluruh komputer dengan simulasi atas pemroses yang digunakan. Sistem operasi melakukan simulasi mesin nyata yang digunakan user, mesin virtual ini merupakan tiruan seratus persen atas mesin nyata. teknik ini berkembang menjadi operating system emulator sehingga sistem operasi dapat menjalankan aplikasiaplikasi untuk sistem operasi lain Kelebihan Mesin Maya ( Virtual Machine ): proteksi yang lengkap untuk sumber daya system sehingga masing-masing mesin virtual dipisahkan mesin virtual yang lain. mesin yang sempurna untuk riset dan pengembangan system operasi. Pengembangan system dikerjakan pada mesin virtual, termasuk di dalamnya mesin fisik dan tidak mengganggu operasi system yang normal. Kekurangan Mesin Maya ( Virtual Machine ): Konsep mesin virtual sangat sulit untuk mengimplementasikan kebutuhan dan duplikasi yang tepat pada mesin yang sebenarnya.