• 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