Sistem Operasi Komputer Sistem Operasi Komputer Pertemuan III – Struktur Sistem Operasi Kuis Kecil II 1. 2. 3. 4. 5. 6. Sebutkan komponen-komponen utama penyusun sistem operasi modern ! (15 point) Sebutkan layanan-layanan yang diberikan OS untuk menjamin tugas user/programmer menjadi lebih ringan ! (15 point) Ceritakan system call yang mungkin dibutuhkan pada suatu program untuk melakukan pembacaan data dari suatu file dan meng-copy-kannya ke file lain. (25 point) Apakah kegunaan system program ? Sebutkan hal-hal yang dapat digolongkan sebagai system program ! (20 point) Mengapa struktur sistem dalam OS diperlukan ? Sebutkan struktur sistem yang banyak digunakan ! (10 point) Apa yang dimaksudkan dengan mesin virtual ? Apa kesulitan dalam pembuatannya ? Apa keuntungan adanya mesin virtual ? (15 point) Universitas Kristen Maranatha -- IT Department 1 Sistem Operasi Komputer Struktur Sistem Operasi Komponen-komponen sistem Pelayanan sistem operasi System call Sistem program Struktur sistem Virtual mesin Rancangan sistem dan implementasi Sistem generasi Komponen Sistem Manajemen Proses Pembuatan atau penghapusan proses yang dibuat oleh user atau sistem Penghentian sementara dan memulai kembali suatu proses Kelengkapan mekanisme untuk sinkronisasi proses Kelengkapan mekanisme untuk komunikasi proses Kelengkapan mekanisme untuk pengendalian deadlock Universitas Kristen Maranatha -- IT Department 2 Sistem Operasi Komputer Komponen Sistem Manajemen Memori Utama Menjaga dan memelihara bagian-bagian memori yang sedang digunakan dan dari yang menggunakan Memutuskan proses mana saja yang harus dipanggil ke memori jika masih ada ruang di memori utama Mengalokasikan dan mendealokasikan ruang memori jika diperlukan Komponen Sistem Manajemen Memori Sekunder Pengaturan ruang kosong dalam disk Alokasi penyimpanan (sector(fisik) atau blok(logik)) Penjadwalan disk Universitas Kristen Maranatha -- IT Department 3 Sistem Operasi Komputer Komponen Sistem Manajemen I/O Sistem buffer,caching, spooling Antarmuka device-driver secara umum Driver untuk device hardware tertentu Komponen Sistem Manajemen File Pembuatan dan penghapusan file Pembuatan dan penghapusan direktori Primitif-primitif yang mendukung untuk manipulasi file dan direktori Pemetaan file ke memori sekunder Backup file ke media penyimpanan yang stabil (non volatile) Universitas Kristen Maranatha -- IT Department 4 Sistem Operasi Komputer Komponen Sistem Networking Berperan dalam Distributed-system dan computer interconnection Akses jaringan untuk sharing informasi Protokol-protokol internet: FTP HTTP Komponen Sistem Proteksi Mekanisme pengontrolan akses program, proses atau user ke dalam suatu resource tertentu dalam sistem komputer Meningkatkan reliabilitas (kepercayaan) melalui deteksi error Universitas Kristen Maranatha -- IT Department 5 Sistem Operasi Komputer Komponen Sistem Command Interpreter Interface antara user dengan sistem operasi: User friendly: MS Windows, Macintosh Command line (shell): unix, DOS Interaksi dengan komponen sistem lainnya Pelayanan Sistem Operasi Eksekusi program Operasi-operasi I/O Manipulasi sistem file Komunikasi: proses dalam satu komputer, beberapa proses dalam jaringan. Teknik: shared-memory, message passing Mendeteksi error Efisiensi sistem: resource allocation, accounting (network performance), protection Universitas Kristen Maranatha -- IT Department 6 Sistem Operasi Komputer System calls Interrupt yang ditimbulkan SW dengan mengeksekusi kode program (operasi) tertentu sebagai interface antara proses dengan sistem operasi. Implementasi Bahasa assembly (low level – machine code) C, C++, Perl (high level – programmer oriented) Metode passing parameter antara SOK dan program Parameter dalam register Tabel dalam memori dan tabel alamat (register) Stack (pop and push) operasi Program baca data – copy ke file Source-Destination file Prompting message / menu-based windows Read from keyboard / mouse click Open input file Success No success Prompting message Terminate abnormally Create output file No success Same name: Abort Delete existing file Create a new one (message, read response) Success Loop until EOF Read from input file, check HW failure Write to destination, check HW failure No success Prompting message Terminate abnormally Universitas Kristen Maranatha -- IT Department Success Close files S-D Write message Close normally 7 Sistem Operasi Komputer System call – Kontrol Proses Mengambil (load) dan eksekusi Mengakhiri (end) dan membatalkan (abort) Membuat dan mengakhiri proses Menentukan dan mengeset atribut proses Waiting event Signal event Mengalokasikan dan membebaskan memori Contoh: ms-dos dengan command interpreternya (prompt) yang singletasking Contoh: linux dengan x-console yang multitasking Eksekusi MS DOS • Singletasking • Tidak membuat proses baru • Process langsung di-load ke memory, memory command interpreter dipakai juga untuk program • Sisa command interpreter di-load kembali setelah process berhenti Start up Universitas Kristen Maranatha -- IT Department Eksekusi program/proses 8 Sistem Operasi Komputer Eksekusi Linux • Multitasking system • Foreground – background process • New-process fork() system call • Selected program into memory exec() sys call System call – Manipulasi File Membuat dan menghapus file, contoh: directory temp pada zip program Membukan dan menutup file Membaca, menulis dan mereposisi file, contoh: install program (setup.exe) Menentukan dan mengeset atribut file Universitas Kristen Maranatha -- IT Department 9 Sistem Operasi Komputer System call – Manipulasi Device Meminta dan membebaskan device Membaca, menulis dan mereposisi file Menentukan dan mengeset atribut device Contoh: alokasi printer untuk sebuah file yang akan dicetak System call – Informasi Lingkungan Mengambil atau mengeset waktu atau tanggal Mengambil atau mengeset sistem data Mengambil atau mengeset proses, file atau atribut-atribut device Universitas Kristen Maranatha -- IT Department 10 Sistem Operasi Komputer System call – Komunikasi Membuat dan menghapus sambungan komunikasi Mengirim dan menerima pesan Mentransfer status informasi Contoh: autentikasi koneksi ke jaringan Model komunikasi Message passing Universitas Kristen Maranatha -- IT Department Shared memory 11 Sistem Operasi Komputer Sistem program Lingkungan dalam pengembangan dan eksekusi program. Dapat dibagi: Manipulasi file Status informasi Modifikasi file Bahasa pemrograman (kompiler, assembler, atau interpreter) Pemanggilan dan eksekusi program Komunikasi Program aplikasi: text editor, database, games, dll Menyediakan interface ke system call Sebagian besar tampilan yang “dilihat” user, berasal dari sistem program dan bukan dari system call Struktur sistem Struktur sederhana Monolithic system Mikrokernel system Layered approach Mesin virtual Client server model Universitas Kristen Maranatha -- IT Department 12 Sistem Operasi Komputer Struktur sederhana Kecil, sederhana, terbatas Tidak terbagi dalam modul-modul Interface dan tingkat fungsionalitas tunggal (tidak dual mode dan tidak memiliki proteksi hardware) Contoh: MS DOS dan Unix (Original Design) Struktur Sistem DOS Universitas Kristen Maranatha -- IT Department 13 Sistem Operasi Komputer Monolitihic system (1) Struktur sederhana, dilengkapi dengan operasi dualmode Fungsionalitas (networking, file systems, memory management, process control, etc.) dilakukan oleh kernel sendiri. Pelayanan (system call) dengan cara mengambil parameter pada tempat yang telah ditentukan (register atau stack) kemudian mengeksekusi trap tertentu pada monitor mode. Co: Linux, Unix Modern Monolitihic system (2) • Program utama meminta service procedure • Kumpulan service procedure yang dibawa oleh system call • Kumpulan utility procedure yang membantu service procedure • Tiap system call (trap) memiliki satu service procedure • Utility procedure mengerjakan segala sesuatu yang dibutuhkan oleh beberapa service procedure, contoh: pengambilan data dari user program Universitas Kristen Maranatha -- IT Department User program 2 User program 1 trap User mode Service procedure Monitor mode Dispacth table 14 Sistem Operasi Komputer Monolitihic system (3) Kernel (maintaining important abstraksi: VM and processes) System Libraries (standard set of functions kernel interactions) System Utilities (specialized management tasks) Monolitihic system (4) Universitas Kristen Maranatha -- IT Department 15 Sistem Operasi Komputer Mikrokernel (1) Memiliki kernel sebagai “core” yang dapat beradaptasi dengan perubahan sistem user program Memory management Communication facility Process management Komunikasi antar modul program dengan message passing Keuntungan: Perluasan fungsionalitas dan interface Porting ke dalam arsitektur komputer yang baru lebih mudah Reliabilitas (kode dalam kernelnya lebih sederhana) Sekuritas Co: BeOS, OS/2, POSIX, DOS Mikrokernel (2) Universitas Kristen Maranatha -- IT Department 16 Sistem Operasi Komputer Mikrokernel (3) Mikrokernel VS. Monilithic Advantages MICROKERNEL MONOLITHIC Fault tolerant, & secure. Direct implementation of kernel. Easy to develop extra functionality. Fast; less overhead. Less errors in kernel. Clean programming API. Disadvantages Slower; increased overhead. Hard to develop extra functionality. Complicated programming API. Not necessarily as secure. Universitas Kristen Maranatha -- IT Department 17 Sistem Operasi Komputer Layered approach (1) Sistem modular Lapisan terendah (0) adalah hardware, lapisan teratas (N) adalah user interface Lapisan lebih atas diimplementasikan dengan menggunakan operasi yang tersedia oleh lapisan yang lebih rendah Baik untuk error deteksi, debugging dan verifikasi sistem Contoh: unix termodifikasi, OS/2, THE, WinNT (hybrid) Layered approach (2) Universitas Kristen Maranatha -- IT Department 18 Sistem Operasi Komputer Layered approach (3) User Interface Sistem program Kernel Menyediakan: sistem file, CPU scheduling, manajemen memori, dll Menggunakan sistem satu tingkat (one level layer) Layered approach (4) OS/2 Layers Universitas Kristen Maranatha -- IT Department 19 Sistem Operasi Komputer Layered approach (5) WinNT Win2000 WinXP (hybrid Microkernel & Layers) Mesin virtual (1) Interface hardware dengan kernel untuk tiap-tiap proses Tiap proses memiliki (virtual) memori dan “menganggap” prosesor dimiliki oleh proses itu sendiri Sumberdaya komputer (fisik) “disharing” ke dalam tiap proses Teknik ilusi: CPU Scheduling, Threads, Virtual Memory Kesulitan: implementasi transfer user-mode ke monitormode pada mesin nyata, yang juga menyebabkan transfer dari virtual user-mode ke virtual monitor-mode pada mesin virtual Keuntungan: proteksi resource Contoh: IBM VM, Java OS Universitas Kristen Maranatha -- IT Department 20 Sistem Operasi Komputer Mesin virtual (2) Non-virtual Machine Virtual Machine Client-server model Memindahkan kode ke lapisan yang lebih tinggi, kernel minimal Fungsi-fungsi pada SOK menjadi user proses (client proses) Pengendalian komunikasi C/S Server tidak mengakses hardware langsung Sistem terdistribusi Universitas Kristen Maranatha -- IT Department 21 Sistem Operasi Komputer Rancangan sistem User: SOK harus dapat digunakan secara efektif, efisien, mudah dipelajari, reliabel, aman dan cepat Sistem: SOK harus mudah dirancang, diimplementasikan, dan di-maintain, serta harus fleksibel, reliabel, bebas dari error dan efisien Mekanisme: bagaimana melakukan sesuatu. Policy: memutuskan apa yang harus dilakukan Implementasi SOK Secara tradisional dituliskan dalam bahasa assembly, namun berkembang terus dan dituliskan juga pada bahasa tingkat tinggi: C, C++ dan java Penulisan pada bahasa tingkat tinggi: Lebih cepat dituliskan Lebih mudah melacak kesalahan Lebih kompak SOK yang dituliskan dengan bahasa tingkat tinggi, lebih mudah untuk dipindah antar sistem komputer (porting) Universitas Kristen Maranatha -- IT Department 22 Sistem Operasi Komputer Sistem generasi (SYSGEN) SOK dirancang untuk dapat dijalankan pada setiap tipe mesin SYSGEN memberikan informasi yang mengacu pada konfigurasi hardware tertentu Booting: mulai menjalankan komputer dengan meloading kernel yang ada Program bootstrap: kode yang tersimpan dalam ROM yang digunakan untuk menunjukkan kernel dan menaruhnya pada RAM, dan mulai eksekusi program Latihan Soal 1. 2. 3. 4. 5. 6. 7. Sebutkan aktivitas yang dilakukan pada manajemen proses ! Sebutkan aktivitas yang dilakukan pada manajemen memori ! Sebutkan jenis-jenis layanan yang dilakukan SOK ! Apakah system call itu? Sebutkan keuntungan digunakannya struktur terlapis Sebutkan keuntungan digunakannya mesin virtual Sebutkan keuntungan digunakannya struktur clientserver Universitas Kristen Maranatha -- IT Department 23