3
Struktur
Sistem Operasi
Struktur Sistem Operasi
z
Komponen Sistem
z
Layanan Sistem Operasi
z
System Calls
z
Program System
z
Struktur System
z
Virtual Machines
Komponen Sistem Umum
z
Manajemen Proses
z
Manajemen Main Memory
z
Manajemen File
z
Manajaemen I/O System
z
Manajemen Secondary Storage
Manajemen Proses
z
Proses adalah sebuah program yang sedang
dijalankan (eksekusi).
z Suatu proses memerlukan resources pada saat
ekesekusi: CPU time, memory, files dan I/O devices
z
Sistim operasi bertanggung jawab terhadap aktifitas
yang berhubungan dengan manajemen proses:
z Process creation & deletion.
z Process suspension (block) & resumption.
z Mekanisme:
Manajemen Main-Memory
z Memori sebagai tempat penyimpanan instruksi/data dari
program
z Storage yang cepat sehingga dapat mengimbangi kecepatan
eksekusi instruksi CPU
z Terdiri dari “array of words/bytes” yang besar
z Address digunakan untuk mengakses data (shared oleh CPU dan
I/O devices)
z Umumnya main memory bersifat “volatile” – tidak permanent.
Isinya akan hilang jika komputer di matikan.
z Manajemen memori:
z Melacak pemakaian memori (siapa dan berapa besar?). z Memilih program mana yang akan diload ke memori.
Manajemen Secondary-Storage
zSecondary Storage: penyimpanan permanen
z Kapasitas harus besar untuk menyimpan semua
program dan data.
z Secondary storage dapat dijadikan “backup” storage
main memory supaya dapat enjalankan banyak program.
z Umumnya menggunakan “magnetic disks” (hard disk).
z
OS bertanggung jawab untuk manajemen disk:
z Manajemen ruang kosong
z Alokasi storage
Manajemen I/O System
z
Sering disebut device manager
z Menyediakan “device driver” yang umum sehingga operasi
I/O dapat seragam (open, read, write, close)
z Contoh: user menggunakan operasi yang sama untuk read file pada hard disk, CD-ROM dan floppy disk sama.
z
Komponen OS untuk sistim I/O:
z Buffer: menampung sementarai data dari/ke I/O devices
z Spooling: melakukan scheduling pemakaian I/O sistim
supaya lebih efisien (antrian dsb)
z Menyediakan “driver” untuk dapat melakukan operasi “rinci”
Manajemen File
z
File: kumpulan informasi yang berhubungan (sesuai
dengan tujuan pembuat file tsb).
z File dapat mempunya struktur yang bersifat hirarkis
(direktori, volume dll).
z
OS bertanggung jawab:
z Membuat dan menghapus file.
z Membuat dan menghapus directory.
z Dukungan primitif untuk manipulasi file dan directory.
z Pemetaan file ke dalam secondary storage.
Command-Interpreter System
z
OS: menunggu instruksi dari user (command driven)
zProgram yang membaca instruksi dan mengartikan
keinginal user (lebih dari sejenis).
z Contoh:
z control-card interpreter z command-line interpreter
z shell (in UNIX)
z Sangat bervariasi dari satu OS ke OS yang lain dan
disesuaikan dengan tujuan, teknologi I/O devices yang ada.
Layanan Sistem Operasi
z
Eksekusi Program
z Kemampuan sistim untuk “load” program ke memori dan
menjalankan program.
z
Operasi I/O
z User tidak dapat secara langsung mengakses H/W
resources, OS harus menyediakan mekanisme untuk melakukan operasi I/O atas nama user
z
Manipulasi File-system
z Kemampuan program untuk operasi pada file (to read,
Layanan Sistem Operasi (Cont.)
z Komunikasi
z Pertukaran data/informasi antar dua atau lebih proses yang
berada pada satu komputer (atau lebih).
z Deteksi Error
z Menjaga kestabilan sistim dengan mendeteksi “error”:
hardware maupun operasi.
z Penggunaan System yang Efisien
z Proteksi : menjamin akses ke system resources dikendalikan
(user dikontrol akses ke sistim).
z Accounting: merekam kegiatan users, jatah pemakaian
System Call
z
System call:
z
Menyediakan interface antara program (user
program yang berjalan) dan bagian OS.
z
System call menjadi jembatan antara proses
dan OS.
z
System call ditulis dalam assembly language
(machine specific) atau bahasa tingkat tinggi yang
dapat mengendalikan mesin (C).
z
Contoh: UNIX menyediakan system call: read,
System Call : Passing Parameter
zSering user program harus memberikan data
(parameter) ke rutin OS yang akan dipanggil.
z UNIX: read(buffer, max_size, file_id);
z
Tiga cara memberikan parameter dari program ke
sistim operasi:
z Melalui registers (resources di CPU).
z Menyimpan parameter pada data struktur (table) di
memory, dan alamat table tsb ditunjuk oleh pointer yang disimpan di register.
z Push (store) melalui “stack” pada memori dan OS
Tipe System Calls
zKontrol Proses
zManipulasi File
zManagemen Device
zInformasi Lingkungan
zKomunikasi
Kontrol Proses
z
Mengakhiri (end) dan membatalkan (abort)
z
Mengambil (load) dan eksekusi (execute)
z
Membuat dan mengakhiri proses
z
Menentukan dan mengeset atribut proses
z
Wait for time
z
Wait event, signal event
Manipulasi File
z
Membuat dan menghapus file
z
Membuka dan menutup file
z
Membaca, menulis dan mereposisi file
Mangemen Device
z
Meminta dan membebaskan device
z
Membaca, menulis dan mereposisi device
Informasi Lingkungan
z
Mengambil atau mengeset waktu atau
tanggal
z
Mengambil atau mengeset sistem data
z
Mengambil atau mengeset proses, file atau
Komunikasi
z
Membuat dan mengahpus sambungan
komunikasi
z
Mengirim dan menerima pesan
Komunikasi (2)
z
Komunikasi dilakukan dengan melewatkan
pesan atau sharing memori
Program Sistem
z
Program sistem menyediakan kemudahan
pembangunan program dan eksekusi.
z
Manipulasi File
zInformasi status
zModifikasi File
z
Dukungan bahasa pemrograman
zLoading dan eksekusi program
zKomunikasi
z
Aplikasi program
Struktur Sistem Operasi
z Struktur Sistem Operasi
z Metode untuk mengorganisasi dan membangun sistem operasi
z Contoh: MS-DOS
z Saat dirancang kemampuan PC sangat minimal
z Prosesor: 8086 (10 MHz), Max. memory: 640 Kb
z MS-DOS – dibuat dengan menyediakan “fungsional” dari OS
sebanyak mungkin pada resources yang sangat terbatas (memori)
z Tidak dalam bentuk modul => monolithic (satu kesatuan):
z MS-DOS menjadi satu kesatuan besar tanpa batasan jelas – fungsional dan interface
z Terdapat struktur yang sangat sederhana dan “proteksi” yang longgar (single user system)
Struktur Monolithic
z
Tidak terstuktur secara jelas
z Kumpulan program yang menggunakan langsung resources
hardware
z Terdapat program-program yang mewakili fungsi OS:
processor management, memory management
z OS awal: satu kesatuan proses, dimana kontrol berpindah dari program-program tersebut (“procedure calls)
z Program user (proses): menjadi satu bagian rutin dari (loop) program utama jika tidak melakukan fungsi OS
z User program dijalankan “call” dari OS => eksekusi pada
user mode akan berhenti:
timeout (timer interrupt)
kembali ke OS (service)
Pendekatan Sederhana (Kernel)
zStruktur terbatas pada dua layer
z Systems programs: bagian OS yang dibangun di atas
kernel – extended machine
z Kernel
z Operasi vital yang penting dan melindungi resources hardware
z Semua service untuk user proses melalui mekanisme
system call
z Tugas utama kernel menyediakan fasilitas untuk:
multiprogramming/multitasking – dimana proses-proses dapat berjalan serentak (concurrent) dan terpisah
z UNIX (1978)
Menggunakan pendekatan rancangan sederhana dengan dukungan H/W yang terbatas (PDP-11)
Pendekatan Berlapis
(layer approach)
z
Susunan berlapis:
z
OS dibagi atas sejumlah (lebih dari 2) layer
zSetiap layer melingkupi layer di bawahnya
(kendali, akses)
z
Layer paling bawah (0) => hardware
zLayer paling atas (N) => user interface
z
Rancangan moduler:
z
Layer disusun sehingga setiap fungsi/operasi
layer atas akan menggunakan “services” pada
layer bawah.
Virtual Machines
z Misalkan terdapat system program => control program yang
mengatur pemakaian resources hardware.
z Control program = trap system call + hardware acces. z Control program memberikan fasilitas ke proses user
z Mendapatkan jatah CPU dan memori.
z Menyediakan interface “identik” dengan apa yang disediakan
oleh hardware => sharing devices untuk berbagai proses.
z Virtual machine => control program yang minimal
z VM memberikan ilusi multitasking: seolah-olah terdapat prosesor
dan memori ekslusif digunakan (virtual machine).
z VM memilah fungsi multitasking dan implementasi extended
machine (tergantung user proses) => flexible dan lebih mudah untuk maintained (proteksi).
Model Sistem VM
Virtual Machines (Cont.)
z
Jika setiap user diberikan satu virtual machine
=>user bebas untuk menjalankan OS (kernel) yang
diinginkan pada VM tersebut.
z Potensi lebih dari satu OS dalam satu komputer.
z Contoh:
z IBM VM370: menyediakan VM untuk berbagai OS: CMS
(interaktif), MVS, CICS, dll.
z Problem:
z Sharing disk => setiap OS mempunyai file system yang mungkin berbeda.
z IBM: virtual disk (minidisk) yang dialokasikan untuk user melalui VM.
Java Virtual Machine
z
Program Jaca dikompile pada platform-neutral
bytecodes yang dieksekusi oleh Java Virtual
Machine (JVM)
z
JVM terdiri dari :
- class loader
- class verifier
- runtime interpreter
Model Client-Server
z
Implementasi fungsi OS (extended machine) dapat
menjadi bagian dari user proses (client)
z Request service ke server proses (kernel).
z Kernel: terdiri dari server (file, memory, I/O dll) yang
melayani request dari client proses.
z Akses ke hardware harus melalui server proses dari kernel
yang mengontrol hardware tersebut.
z
Proses : partisi dan struktur yang sangat jelas
(interface dan fungsional).
z
Konsekuensi : lambat (komunikasi antar client dan
Windows NT Client-Server
Structure
Perancangan Sistem
Tujuan Perancangan Sistem
z
Tujuan User – sistem operasi mudah
digunakan, mudah dipelajari, handal, aman
dan cepat
z
Tujuan Sistem – sistem operasi mudah
didisain, diimplementasikan dan dikelola,
memiliki fleksibilitas, handal, bebas
Implementasi Sistem
z
Secara tradisional ditulis dalam bahasa assemby,
saat ini sistem operasi dapat ditulis dalam bahasa
tingkat tinggi.
z
Kode yang ditulis dalam bahasa tingkat tinggi :
zCode written in a high-level language:
z Dapat ditulis secara cepat.
z Lebih compact.
z Lebih mudah dipahami dan debug.
z
Sistem operasi jauh lebih mudah untuk di port
System Generation
(SYSGEN)
z
Sistem operasi didisain untuk dijalankan pada
berbagai kelas mesin. Sistem harus dikonfirgurasi
untuk setiap komputer secara spesifik
z
Program SYSGEN memiliki informasi dalam
mengkonfigurasi sistem hardware secara spesifik
z
Booting –awal komputer diaktifkan dengan
melakukan loading kernel.
z