III. Struktur sistem operasi III.1. Struktur sederhana • Sistem operasi yang kecil, sederhana dan terbatas pada hardware contoh MSDOS dan UNIX MSDOS • MSDOS menggunakan single tasking dan single mode (tanpa proteksi hardware) • Terdapat dua fasilitas layanan interrupsi : - Layanan ROM BIOS - Layanan di MS DOS Program Aplikasi Program sistem resident MS DOS device drivers ROM BIOS device drivers 1 MS DOS pada IO.sys dan MSDOS.sys ROM BIOS Interrupsi 0x05 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1A Deskripsi Utilitas Print-Screen Video I/O Daftar perangkat Ukuran memori Disk I/O Serial port I/O Cassete control Keyboard I/O Printer I/O Mengeksekusi ROM BASIC Mengeksekusi bootstrap loader Waktu dan tanggal Interrupsi 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x2A 0x2F Deskripsi Program terminate Function request Terminate address Control-break exit address Critical error handler vector Absolute disk read Absolute disk write Terminate & stay resident MS-NET access Printer Multiplex UNIX • Terdiri dari Kernel dan program sistem • Kernel berisi sistem file, penjadwalan CPU, manajemen memori dan system call • Program sistem memanggil fungsi yang ada pada kernel 2 User Program Trap User Level Libraries Diagram Blok Sistem Kernel UNIX Kernel Level System Call Interface File Subsystem Process Control Subsystem Scheduler Memory Management Buffer Cache Character Inter-process Communication Blok Device Drivers Hardware Control Kernel Level Hardware Level 3 Hardware Struktur UNIX users Shell dan perintah-perintah; compiler dan interpreter; system libraries; antarmuka system call ke kernel sinyal; sistem file; Penjadwalan CPU; pengendali terminal; swapping; page replacement sistem karakter I/O; sistem blok I/O; demand paging; terminal drivers; disk & tape drivers virtual memory; terminal controllers terminals device controllers disk & tapes memory controllers memory fisik 4 III.2. Struktur Monolithic • Merupakan struktur sederhana yang dilengkapi dengan dual mode • Berupa kumpulan prosedur yang dapat dipanggil bila diperlukan dan dieksekusi pada monitor mode • User program melakukan trap pada kernel. Intruksi berpindah dari user mode ke monitor mode dan mentransfer kontrol ke sistem operasi • Sistem operasi mengecek parameter dari pemanggilan tersebut untuk menentukan system call mana yang memanggil • Sistem operasi menunjuk ke suatu tabel yang berisi system call yang dimaksud • Setelah system call selesai, kontrol dikembalikan ke user program 5 Kelemahan sistem monolithic • Merupakan pemborosan bila setiap komputer harus menjalankan kernel monolitik karena sangat besar ukurannya sementara sebenarnya tidak memerlukan seluruh layanan yang disedikan kernel • Pengujian dan penghilangan kesalahan sulit dilokalisasi dan bila ada kesalahan dapat mematikan seluruh sistem Keunggulan sistem monolithic • Layanan dapat dilakukan sangat cepat karena terdapat di satu ruang yang sama 6 III.3. Struktur Berlapis • Sistem operasi dibagi menjadi modul-modul (modular) dan tiap modul memiliki hirarki top-down. • Modul yang merupakan lapisan bawah akan melayani lapisan di atasnya. • Contoh : UNIX termodifikasi, THE, Venus dan OS2 Struktur THE : Lapis-5 : user program Lapis-4 : buffering untuk I/O device Lapis-3 : operator-console device driver Lapis-2 : manajemen memori Lapis-1 : penjadwalan CPU Lapis-0 : hardware 7 12 Modern Operating System Design Hierarchy Name Objects User programming Shell environment User processes User processes 11 Directories Directories 10 Devices External devices, such as printers, displays, and keyboards 9 File system Files 8 Communication Pipes 7 Virtual memory Local secondary store Level 13 6 5 4 3 2 1 (Denning & Brown) Example Operations Segments, pages Blocks of data, device channels Primitive process, Primitive processes semaphore, ready list Interrupt-handling Interrupts program Procedures, call stack, Procedures display Evaluation stack, microInstruction set program interpreter, scalar and array data Electronic circuits Register, gates, buses, etc Statements in shell language Quit, kill, suspend, resume Create, destroy, attach, detach, search, list Create, destroy, open, close, read, write Create, destroy, open, close read, write Create, destroy, open, close, read, write Read, write, fetch Read, write, allocate, free Suspend, resume, wait, signal Invoke, mask, unmask, retry Mark stack, call, return Load, store, add, substract, branch Clear, transfer, activate, complement 8 Keunggulan Struktur Berlapis • Karena sistem dibagi menjadi beberapa modul, tiap lapisan dapat dirancang dan diuji secara independen Kelemahan Struktur Berlapis • Fungsi-fungsi sistem operasi harus diberikan ke setiap lapisan secara hati-hati III. 4. Struktur dengan Mesin Virtual • Awalnya struktur ini melakukan simulasi mesin nyata dan hasil simulasi berupa mesin virtual yang digunakan user • Kemudian berkembang menjadi emulator sistem operasi yang memungkinkan sistem operasi diemulasikan pada sistem operasi yang berbeda • Mula-mula digunakan pada IBM S/370 dengan VM370-nya Contoh emulasi sistem operasi • Sistem operasi MS-Windows NT dapat menjalankan aplikasi untuk MS-DOS, OS/2 mode teks dan aplikasi Win16. Aplikasi tersebut dijalankan sebagai masukan bagi subsistem di MS-Windows NT yang mengemulasikan system calls yang dipanggil aplikasi dengan WIN32 API • IBM mengembangkan WABI yang mengemulasikan WIN32 API sehingga diharapkan sistem operasi yang menjalankan WABI dapat menjalankan aplikasi-aplikasi untuk MS Windows • Pada LINUX ada DOSEMU untuk menjalankan aplikasi DOS pada LINUX dan WINE untuk menjalankan aplikasi MS Windows pada LINUX 10 III.5. Struktur dengan Client-Server • Sistem operasi berupa kumpulan proses yang dapat dikategorikan : - Server : proses yang menyediakan layanan - Client : proses yang meminta layanan • Server dan client ditempatkan pada user mode • Kernel dibuat sekecil mungkin dan hanya bertugas mengatur komunikasi antara client dan server client proses client proses proses server terminal server kernel ......... file server memory server user mode monitor mode 11 Kelemahan Struktur Client Server • Layanan dilakukan lambat karena harus melalui pertukaran pesan yang dapat menjadi bottleneck Keunggulan Struktur Client Server • Pengembangan dapat dilakukan secara modular • Kesalahan pada sub sistem tidak akan mematikan seluruh sistem • Dapat diadaptasikan pada sister terdistribusi Mesin-1 Mesin-2 Mesin-3 Mesin-4 Client File server Proces server Terminal server Kernel Kernel Kernel Kernel ...... 12 Jaringan III.6. Struktur Berorientasi Obyek • Sistem operasi mengerjakan layanan sebagai obyek • Tiap obyek berisi (encapsulated) struktur data dan operasi data dan diberi tipe sesuai dengan propertinya (proses, direktori, berkas) Contoh : Window NT, Medusa, X-kernel Pelayanan Sistem Operasi (pada programmer) • Eksekusi Program • Operasi I/O • Manipulasi sistem file (pembuatan, penghapusan, write, read) • Komunikasi • Pendeteksian kesalahan 13 System Call System call dapat dikelompokkan menjadi 5 kategori A. Kontrol Proses • Mengakhiri (end) dan membatalkan (abort) • Mengambil (load) dan eksekusi (execute) • Membuat dan mengakhir proses • Menentukan dan mengeset atribut proses • Wait for time • Wait event, signal event • Mengalokasikan dan membebaskan memori 14 B. Memanipulasi File D. Informasi Lingkungan • Membuat dan menghapus file • Mengambil atau mengeset waktu dan tanggal • Membuka dan menutup file • Mengambil atau mengeset • Membaca, menulis dan sistem data mereposisi file • Menentukan dan mengeset • Mengambil atau mengeset proses, file atau attribut atribut file device C. Manipulasi Device • Meminta dan membebaskan device • Membaca, menulis dan mereposisi device • Menentukan dan mengeset atribut device E. Komunikasi Proses • Membuat dan menghapus sambungan komunikasi • Mengirim dan menerima pesan • Mentransfer status 15 informasi