- Metode untuk mengorganisasi dan membangun sistem operasi
Contoh: MS-DOS
- Saat dirancang kemampuan PC sangat minimal
- Prosesor: 8086 (10 MHz), Max. memory: 640 Kb
- MS-DOS – dibuat dengan menyediakan “fungsional” dari OS sebanyak mungkin pada resources yang sangat terbatas (memori)
- Tidak dalam bentuk modul => monolithic (satu kesatuan):
- MS-DOS menjadi satu kesatuan besar tanpa batasan jelas – fungsional dan interface
- Terdapat struktur yang sangat sederhana dan “proteksi” yang longgar (single user system)
Struktur Layer MS-DOS
Struktur Monolithic
- Tidak terstuktur secara jelas
- Kumpulan program yang menggunakan langsung resources hardware
- Terdapat program-program yang mewakili fungsi OS: processor management, memory management
- OS awal: satu kesatuan proses, dimana kontrol berpindah dari program-program tersebut (“procedure calls)
- Program user (proses): menjadi satu bagian rutin dari (loop) program utama jika tidak melakukan fungsi OS
- User program dijalankan “call” dari OS => eksekusi pada user mode akan berhenti:
- timeout (timer interrupt)
- kembali ke OS (service)
- Interrupt (hardware)
Pendekatan Sederhana (Kernel)
- Struktur terbatas pada dua layer
- Systems programs: bagian OS yang dibangun di atas kernel – extended machine
- Kernel
- Operasi vital yang penting dan melindungi resources hardware
- Semua service untuk user proses melalui mekanisme system call
- Tugas utama kernel menyediakan fasilitas untuk: multiprogramming/multitasking – dimana proses-proses dapat berjalan serentak (concurrent) dan terpisah
- UNIX (1978)
- Menggunakan pendekatan rancangan sederhana dengan dukungan H/W yang terbatas (PDP-11)
Struktur Sistem UNIX
Pendekatan Berlapis (layer approach)
- Susunan berlapis:
- OS dibagi atas sejumlah (lebih dari 2) layer
- Setiap layer melingkupi layer di bawahnya (kendali, akses)
- Layer paling bawah (0) => hardware
- Layer paling atas (N) => user interface
- Rancangan moduler:
- Layer disusun sehingga setiap fungsi/operasi layer atas akan menggunakan “services” pada layer bawah.
Sistem Operasi Berlapis
Struktur Berlapis OS/2
Virtual Machines
- Misalkan terdapat system program => control program yang mengatur pemakaian resources hardware.
- Control program = trap system call + hardware acces.
- Control program memberikan fasilitas ke proses user
- Mendapatkan jatah CPU dan memori.
- Menyediakan interface “identik” dengan apa yang disediakan oleh hardware => sharing devices untuk berbagai proses.
- Virtual machine => control program yang minimal
- VM memberikan ilusi multitasking: seolah-olah terdapat prosesor dan memori ekslusif digunakan (virtual machine).
- VM memilah fungsi multitasking dan implementasi extended machine (tergantung user proses) => flexible dan lebih mudah untuk maintained (proteksi).
- Jika setiap user diberikan satu virtual machine =>user bebas untuk menjalankan OS (kernel) yang diinginkan pada VM tersebut.
- Potensi lebih dari satu OS dalam satu komputer.
- Contoh:
- IBM VM370: menyediakan VM untuk berbagai OS: CMS (interaktif), MVS, CICS, dll.
- Problem:
- Sharing disk => setiap OS mempunyai file system yang mungkin berbeda.
- IBM: virtual disk (minidisk) yang dialokasikan untuk user melalui VM.
Model Sistem VM
Java Virtual Machine
Program Jaca dikompile pada platform-neutral bytecodes yang dieksekusi oleh Java Virtual Machine (JVM)
JVM terdiri dari :
- class loader
- class verifier
- runtime interpreter
Kompiler Just-In-Time (JIT) meningkatkan kinerja
Model Java Virtual Machine
Model Client-Server
- Implementasi fungsi OS (extended machine) dapat menjadi bagian dari user proses (client)
- Request service ke server proses (kernel).
- Kernel: terdiri dari server (file, memory, I/O dll) yang melayani request dari client proses.
- Akses ke hardware harus melalui server proses dari kernel yang mengontrol hardware tersebut.
- Proses : partisi dan struktur yang sangat jelas (interface dan fungsional).
- Konsekuensi : lambat (komunikasi antar client dan server), tidak efisien dalam menggunakan resources.
Windows NT Client-Server Structure