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 Komponen Sistem Secara Umum Manajemen Proses Manajemen Main Memory Manajemen File Manajemen sistem I/O Manajemen Secondary storage Networking Sistem Proteksi Sistem Command-Interpreter 3.2 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 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 CPU dan perangkat I/O bersama-sama. 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 proses mana yang diletakkan (load) jika tersedia ruang memory Mengalokasikan dan men-dealokasikan ruang memory yang diperlukan 3.4 2
Manajemen File File adalah kumpulan informasi yang saling berhubungan yang didefinisikan oleh pembuatnya. 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 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 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 Networking (Sistem Terdistribusi) Sistem terdistribusi adalah kumpulan prosessor yang tidak menggunakan memory dan clock bersama-sama 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 4
Sistem Proteksi Proteksi mengacu pada mekanisme untuk mengontrol akses oleh program, 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 Sistem Command-Interpreter Beberapa perintah diberikan oleh sistem operasi dengan pernyataan kontrol yang berhubungan dengan : Pembuatan dan manajemen proses Penanganan I/O Manajemen penyimpan sekunder 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 5
Eksekusi MS-DOS Saat System Start-up Saat Running Program 3.11 UNIX Menjalankan Multiple Program 3.12 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 I/O secara langsung, g, sistem operasi 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, perangkat I/O atau program user. 3.13 Model Komunikasi Komunikasi antar proses melalui message passing atau shared memory. Msg Passing Shared Memory 3.14 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 System Call System call merupakan antar muka antara program yang sedang berjalan dan sistem operasi Pada umumnya tersedia dalam instruksi bahasa assembly Bahasa pemrograman yang dapat digunakan untuk 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 8
Melewatkan parameter melalui Table 3.17 Jenis System Call Process control Manajemen File Manajemen Perangkat Pemeliharaan informasi Komunikasi 3.18 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 sistem operasi seperti yang terlihat pada system programs, bukan sistem call. 3.19 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 10
Struktur Layer MS-DOS 3.21 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 systemcall 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 11
UNIX System Structure 3.23 Pendekatan Sistem Layer Sistem operasi dibagi ke dalam sejumlah layer (level), 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 12
Sistem Operasi Layer 3.25 Struktur Layer OS/2 3.26 13
Struktur Windows NT Client-Server 3.27 Virtual Machine Virtual machine menggunakan pendekatan berlapis untuk penyelesaian 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 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 Model Sistem Non-virtual Machine Virtual Machine 3.30 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 ini, i The virtual-machine concept provides complete 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, 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 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 16
Java Virtual Machine 3.33 Tujuan Desain Sistem Sisi User sistem operasi harus nyaman digunakan, 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 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 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. 3.36 18