Bab 2: Struktur Sistem Operasi Komponen sistem Layanan sistem operasi System Call System Program Struktur sistem Virtual Machine Desain dan implementasi sistem System Generation 3.1 Silberschatz, Galvin and Gagne 2002 Komponen Sistem Secara Umum Manajemen Proses Manajemen Main Memory Manajemen j File Manajemen sistem I/O Manajemen Secondary storage Networking Sistem Proteksi Sistem Command-Interpreter 3.2 Silberschatz, Galvin and Gagne 2002 1 Manajemen Proses Proses adalah program yang sedang dieksekusi. Proses memerlukan resource tertentu, seperti waktu CPU, memori, file dan perangkat I/O, untuk menyelesaikan tugasnya Sistem operasi bertanggung jawab pada aktifitas manajemen proses berikut Membuat dan menghapus proses Menghentikan sementara (suspend) dan melanjutkan kembali (resume) proses. Menyediakan mekanisme untuk process synchronization process communication 3.3 Silberschatz, Galvin and Gagne 2002 Manajemen Main-Memory Memory adalah array besar ukuran word atau byte, masing-masing mempunyai alamat sendiri. Merupakan repositori yang dapat mengakses data dengan cepat yang digunakan di k CPU d dan perangkat k t I/O bersama-sama. b Main memory adalah perangkat penyimpan volatile, dimana jika sistem gagal maka isinya akan hilang Sistem operasi bertanggung jawal terhadap aktifitas manajemen memory berikut: Menyimpan bagian memori yang sedang digunakan dan oleh proses apa Memutuskan M t k proses mana yang diletakkan dil t kk (l (load) d) jik jika tersedia ruang memory Mengalokasikan dan men-dealokasikan ruang memory yang diperlukan 3.4 Silberschatz, Galvin and Gagne 2002 2 Manajemen File File adalah kumpulan informasi yang saling berhubungan yang didefinisikan oleh pembuatnya pembuatnya. Biasanya Biasanya, file berupa program (baik dalam bentuk source atau object) dan data. Sistem operasi bertanggung jawab untuk aktifitas manajemen file berikut : Membuat dan menghapus File Membuat dan menghapus Directory Mendukung primitif untuk manipulasi file dan direktori Pemetaan file ke penyimpan sekunder Backup file pada media penyimpan stable (nonvolatile) 3.5 Silberschatz, Galvin and Gagne 2002 Manajemen Sistem I/O Sistem I/O terdiri dari : Sistem buffer-caching system Antar muka general device-driver Driver untuk perangkat hardware khusus 3.6 Silberschatz, Galvin and Gagne 2002 3 Manajemen Penyimpan Sekunder Karena main memory (primary storage) adalah volatile dan terlalu kecil untuk mengakomodasi semua data dan program secara permanen, sistem komputer menyediakan secondary storage untuk back up main memory. Kebanyakan sistem komputer modern menggunakan disk (cakram) untuk media penyimpan baik program dan data Sistem operasi bertanggung jawab pada aktifitas yang berhubungan dengan manajemen disk berikut : Manajemen ruang bebas Alokasi penyimpanan Penjadwalan disk 3.7 Silberschatz, Galvin and Gagne 2002 Networking (Sistem Terdistribusi) Sistem terdistribusi adalah kumpulan prosessor yang tidak menggunakan memory dan clock bersama-sama bersama sama. Setiap prosessor mempunyai lokal memori sendiri Prosessor dalam sistem terhubung jaringan komunikasi Komunikasi menggunakan protocol. Sistem terdistribusi menyediakan akses user untuk berbagai resource sistem Akses ke resource yang digunakan bersama-sama mempunyai keuntungan : Meningkatkan kecepatan komputasi Meningkatkan ketersediaan data Meningkatkan kehandalan sistem 3.8 Silberschatz, Galvin and Gagne 2002 4 Sistem Proteksi Proteksi mengacu pada mekanisme untuk mengontrol akses oleh program program, proses proses, atau pengguna untuk kedua sumber daya sistem dan user. Mekanisme proteksi harus : Membedakan antara penggunaan resmi (authorized) dan tidak resmi (unauthorized). menentukan kontrol yang akan dilakukan. menyediakan sarana penegakan hukum (means of enforcement). ) 3.9 Silberschatz, Galvin and Gagne 2002 Sistem Command-Interpreter Beberapa perintah diberikan oleh sistem operasi dengan pernyataan kontrol yang berhubungan dengan : Pembuatan dan manajemen proses Penanganan I/O Manajemen M j penyimpan i sekunder k d Manajemen main-memory Akses file-system Proteksi Networking Program yang membaca dan menterjemahkan perangkat kontrol yang sering disebut command-line interpreter shell (in UNIX) Fungsinya untuk mendapatkan dan mengeksekusi perintah berikutnya 3.10 Silberschatz, Galvin and Gagne 2002 5 Eksekusi MS-DOS Saat System Start-up 3.11 Saat Running Program Silberschatz, Galvin and Gagne 2002 UNIX Menjalankan Multiple Program 3.12 Silberschatz, Galvin and Gagne 2002 6 Layanan Sistem Operasi Eksekusi Program – kapabilitas sistem untuk meletakkan (load) program ke memori dan menjalankannya. Operasi I/O – karena program user tidak dapat mengeksekusi operasi p I/O secara langsung, g g, sistem operasi p harus menyediakan beberapa ketentuan mengakses I/O. Manipulasi sistem file – program mempunyai kapabilitas untuk membaca, menulis, membuat dan menghapus file. Komunikasi – pertukaran informasi antara proses yang dieksekusi baik pada komputer yang sama maupun pada komputer yang berbeda melalui jaringan. Implementasi melalui shared memory atau message passing. Deteksi Error – menjamin komputasi yang benar dengan mendeteksi error pada hardware CPU dan memory memory, perangkat I/O atau program user. 3.13 Silberschatz, Galvin and Gagne 2002 Model Komunikasi Komunikasi antar proses melalui message passing atau shared memory. Msg Passing Shared Memory 3.14 Silberschatz, Galvin and Gagne 2002 7 Fungsi Tambahan Sistem Operasi Fungsi tambahan digunakan untuk membantu user lebih ke menjamin operasi sistem yang efisien • • • Alokasi Resource – alokasi resource untuk banyak user atau banyak job yang berjalan pada waktu yang sama Accounting – menyimpan data user yang menggunakan resource dan resorce apa saja yang digunakan untuk account billing atau untuk akumulasi statistik. Proteksi – menjamin semua akses ke resource sistem terkontrol. 3.15 Silberschatz, Galvin and Gagne 2002 System Call System call merupakan antar muka antara program yang sedang berjalan dan sistem operasi Pada umumnya tersedia dalam instruksi bahasa assembly Bahasa B h pemrograman yang d dapatt di digunakan k untuk t k menggantikan bahasa assembly untuk pemrograman sistem memungkinkan sistem call dapat dibuat secara langsung (contohnya C dan C++). Tiga metode umum yang digunakan untuk melewatkan parameter antara program yang berjalan dan sistem operasi. Melewatkan parameter dalam register. Menyimpan parameter dalam tabel di memori dan alamat table dilewatkan sebagai parameter dalam register. Push (menyimpan) parameter dalam stack oleh program dan pop stack oleh sistem operasi. 3.16 Silberschatz, Galvin and Gagne 2002 8 Melewatkan parameter melalui Table 3.17 Silberschatz, Galvin and Gagne 2002 Jenis System Call Process control Manajemen File Manajemen Perangkat Pemeliharaan informasi Komunikasi 3.18 Silberschatz, Galvin and Gagne 2002 9 System Program System program merupakan lingkungan yang nyaman untuk pengembangan dan eksekusi. Terdiri dari: Manipulasi File Informasi status Modifikasi file Mendukung bahasa pemrograman Eksekusi dan loading program Komunikasi Program aplikasi User memandang g sistem operasi p seperti p yyang g terlihat pada system programs, bukan sistem call. 3.19 Silberschatz, Galvin and Gagne 2002 Struktur Sistem MS-DOS MS-DOS – menyediakan banyak fungsi pada ruang yang kecil Tidak dibagi dalam modul-modul Meskipun MS-DOS mempunyai beberapa struktur, antar muka dan level fungsional nya tidak terbagi dengan baik. 3.20 Silberschatz, Galvin and Gagne 2002 10 Struktur Layer MS-DOS 3.21 Silberschatz, Galvin and Gagne 2002 Struktur Sistem UNIX UNIX – karena dibatasi oleh fungsionalitas hardware, sistem operasi UNIX awalnya mempunyai struktur yang terbatas. SO UNIX terdiri dari 2 bagian terpisah System program Kernel Terdiri dari segala sesuatu dibawah antar muka system- call dan diatas hardware fisik Menyediakan sistem file, penjadwalan CPU, manajemen memory dan fungsi sistem operasi yang lain; fungsi dalam jumlah yang banyak untuk satu level 3.22 Silberschatz, Galvin and Gagne 2002 11 UNIX System Structure 3.23 Silberschatz, Galvin and Gagne 2002 Pendekatan Sistem Layer Sistem operasi dibagi ke dalam sejumlah layer (level), masing-masing masing masing dibangun dari layer tertinggi sampai terendah. Layer tertinggi (layer 0) adalah hardware, layer tertinggi (layer N) adalah antar muka user Dengan sistem modular, layer mempunyai fungsi (operasi) masing-masing dan layanan untuk layer level yang lebih rendah. 3.24 Silberschatz, Galvin and Gagne 2002 12 Sistem Operasi Layer 3.25 Silberschatz, Galvin and Gagne 2002 Struktur Layer OS/2 3.26 Silberschatz, Galvin and Gagne 2002 13 Struktur Windows NT Client-Server 3.27 Silberschatz, Galvin and Gagne 2002 Virtual Machine Virtual machine menggunakan pendekatan berlapis untuk penyelesaian logika. logika Memperlakukan hardware dan kernel sistem operasi seolah-olah mereka semua perangkat keras.. Virtual machine menyediakan antar muka yang identik untuk hardware yang ada. Sistem operasi membuat ilusi dari beberapa proses, masing-masing mengeksekusi prosessor masing masing dengan memory (virtual) sendiri. 3.28 Silberschatz, Galvin and Gagne 2002 14 Virtual Machine (Cont.) Resource dari komputer fisik digunakan bersama untuk membuat virtual machine Penjadwalan CPU dapat membuat tampilan seolah-olah user mempunyai prosessor masing-masing Proses spooling dan sistem file menyediakan virtual card reader dan virtual line printer Terminal user menyediakan consol operator dari virtual machine 3.29 Silberschatz, Galvin and Gagne 2002 Model Sistem Non-virtual Machine Virtual Machine 3.30 Silberschatz, Galvin and Gagne 2002 15 Kelebihan/Kekurangan Virtual Machine Konsep virtual machine menyediakan proteksi yang lengkap pada resource sistem, karena setiap virtual machine di-isolasi dari virtual machine yang lain. Isolasi i i The ini, Th virtual-machine it l hi conceptt provides id complete l t protection of system resources since each virtual machine is isolated from all other virtual machines. Isolasi ini tidak memungkinkan untuk berbagi dengan resource lain. Sistem virtual machine adalah perangkat riset dan pengembangan sistem operasi. Pengembangan sistem dilakukan pada virtual machine, machine bukan pada mesin fisik dan sehingga tidak mengganggu pengoperasian sistem normal. Konsep virtual machine sulit untuk diimplementasikan karena harus menyediakan duplikat mesin yang tepat. 3.31 Silberschatz, Galvin and Gagne 2002 Java Virtual Machine Program Java yang dikompilasi merupakan platform- netral bytecode yang dieksekusi oleh Java Virtual Machine (JVM). JVM terdiri dari - class loader - class verifier - runtime interpreter Just-In-Time (JIT) compiler meningkatkan kinerja 3.32 Silberschatz, Galvin and Gagne 2002 16 Java Virtual Machine 3.33 Silberschatz, Galvin and Gagne 2002 Tujuan Desain Sistem Sisi User – sistem operasi harus nyaman digunakan, dipelajari handal dipelajari, handal, aman dan cepat Sisi sistem – sistem operasi harus mudah di-desain, diimplementasikan dan dipelihara, juga fleksibel, handal, bebas error dan efisien 3.34 Silberschatz, Galvin and Gagne 2002 17 Implementasi Sistem Secara tradisional ditulis dalam bahasa assembly, sistem operasi sekarang dapat ditulis dalam bahasa tingkat tinggi. Kode ditulis dalam bahasa tingkat tinggi : Dapat ditulis dengan cepat Lebih padat Lebih mudah dimengerti dan di-debug Sistem operasi lebih mudah untuk port (berpindah ke hardware lain) jika ditulis dalam bahasa tingkat tinggi 3.35 Silberschatz, Galvin and Gagne 2002 System Generation (SYSGEN) Sistem operasi dirancang untuk berjalan pada berbagai mesin; sistem harus dikonfigurasi untuk setiap komputer tertentu. Program SYSGEN memperoleh informasi mengenai konfigurasi dari sistem hardware Booting – memulai komputer dengan load kernel Bootstrap program – kode yang disimpan dalam ROM yang dapat menempatkan kernel, meletakkannya ke dalam memory dan memulai eksekusi. eksekusi 3.36 Silberschatz, Galvin and Gagne 2002 18