Operating System Structure Kelompok 2 : 1. Novita Eka Puspita Ariyanti (2103151034) 2. Ariel Rakadewa (2103151047) 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-pelayanan 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. System Programs Menyediakan lingkungan yang nyaman untuk pengembangan dan eksekusi program. Kebanyakan user melihat system operasi yang didefinisikan oleh system program dan bukan system call sebenarnya. System program adalah masalah yang relatif kompleks, namun dapat dibagi menjadi beberapa kategori, antara lain: Manipulasi File Status Informasi Modifikasi File Bahasa Pemrograman yang mendukung Pemanggilan dan Eksekusi Program Komunikasi Program-program aplikasi Operating System Design and Implementation Struktur internal Sistem Operasi yang berbeda dapat bervariasi mulai dari pendefinisian tujuan dan spesifikasi dan dipengaruhi oleh pilihan perangkat keras , jenis system. Tujuan user dan Tujuan sistem Tujuan user - sistem operasi harus nyaman digunakan , mudah dipelajari , handal, aman , dan cepat Tujuan sistem - sistem operasi harus mudah untuk digunakan dalam merancang , mengimplementasikan , dan memelihara , serta fleksibel , handal , bebas kesalahan , dan efisien Prinsip Penting Policy: Apa yang akan dilakukan? Mechanism: Bagaimana melakukannya? Contoh : Timer Kebijakan : berapa lama timer diset untuk tiap user Mekanisme : bagaimana membuat timer untuk melakukan proteksi CPU Mekanisme menentukan bagaimana melakukan sesuatu Kebijakan memutuskan apa yang akan dilakukan 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 bawah 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. Operating System Generation OS dapat dirancang dan dibangun untuk lingkungan operasi tertentu. Sistem kadang-kadang perlu dikonfigurasi ulang setelah instalasi awal Informasi yang diperlukan untuk mengkonfigurasi OS : CPU. RAM. Perangkat yang dibutuhkan. Pilihan OS yang diinginkan. System Boot Sistem operasi harus tersedia pada hardware sehingga dapat memulai system boot. bootstrap loader, sepotong kode yang berada di kernel. Dan bebannya masuk ke dalam memori, dan memulai system boot. Kadang-kadang dua langkah proses di mana boot block pada beban lokasi tetap bootstrap loader Bila daya diinisialisasi pada sistem, eksekusi dimulai pada lokasi memori tetap Firmware digunakan untuk menyimpan kode boot awal