Operating-System Structures
(Ch. 3)
SISTIM OPERASI
(Operating System)
IKI-20230
Fakultas Ilmu Komputer Universitas Indonesia Semester 2000/2001
Operating-System Structures
nSystem Components
n
Operating System Services
n
System Calls
n
System Programs
n
System Structure
n
Virtual Machines
n
System Design and Implementation
OS Structures JM-2000/v1.1/3
Common System Components
nProcess Management
n
Main Memory Management
n
Secondary-Storage Management
n
I/O System Management
n
File Management
n
Support services:
n Protection System n Networking
n Command-Interpreter System
(Baca: Ch. 3 untuk keterangan lebih rinci).
Process Management
n
Proses adalah sebuah program yang sedang
dijalankan (eksekusi).
n Suatu proses memerlukan resources pada saat ekesekusi: CPU time, memory, files dan I/O devices
n
Sistim operasi bertanggung jawab terhadap
aktifitas yang berhubungan dengan manajemen
proses:
n Process creation & deletion.
n Process suspension (block) & resumption. n Mekanisme:
• Sinkronisasi antar proses
OS Structures JM-2000/v1.1/5
Main-Memory Management
n Memori sebagai tempat penyimpanan instruksi/data dari program
n Storage yang cepat sehingga dapat mengimbangi kecepatan eksekusi instruksi CPU
n Terdiri dari “array of words/bytes” yang besar
n Address digunakan untuk mengakses data (shared oleh CPU dan I/O devices)
n Umumnya main memory bersifat “volatile” – tidak permanent. Isinya akan hilang jika komputer di matikan. n Manajement memori:
n Melacak pemakaian memori (siapa dan berapa besar?).
n Memilih program mana yang akan diload ke memori.
n Alokasi dan De-alokasi memori fisik untuk program.
Secondary-Storage Management
nSecondary Storage: penyimpanan permanent
n Kapasitas harus besar untuk menyimpan semua program dan data.
n Secondary storage dapat dijadikan “backup” storage main memory supaya dapat menjalankan banyak program.
n Umumnya menggunakan “magnetic disks” (hard disk).
n
OS bertanggung jawab untuk manajemen disk:
n Free space management
n Storage allocation
OS Structures JM-2000/v1.1/7
I/O System Management
nSering disebut device manager
n Menyediakan “device driver” yang umum sehingga
operasi I/O dapat seragam (open, read, write, close)
• Contoh: user menggunakan operasi yang sama untuk read file pada hard disk, CD-ROM dan floppy disk sama.
n
Komponen OS untuk sistim I/O:
n Buffer: menampung sementarai data dari/ke I/O
devices
n Spooling: melakukan scheduling pemakaian I/O sistim supaya lebih efisien (antrian dsb)
n Menyediakan “driver” untuk dapat melakukan operasi “rinci” (detail) untuk hardware I/O tertentu.
File Management
n
File: kumpulan informasi yang berhubungan
(sesuai dengan tujuan pembuat file tsb).
n File dapat mempunya struktur yang bersifat hirarkis
(direktori, volume dll).
n
OS bertanggung jawab:
n File creation and deletion.
n Directory creation and deletion.
n Support of primitives for manipulating files and directories.
n Mapping files onto secondary storage.
OS Structures JM-2000/v1.1/9
Command-Interpreter System
nOS: menunggu instruksi dari user (command
driven)
n
Program yang membaca instruksi dan
mengartikan keinginal user (lebih dari sejenis).
n Contoh:
• control-card interpreter
• command-line interpreter
• shell (in UNIX)
n Sangat bervariasi dari satu OS ke OS yang lain dan
disesuaikan dengan tujuan, teknologi I/O devices yang ada.
• CLI, Windows, Pen-based (touch) etc.
OS: Services (1)
nProgram execution
n Kemampuan sistim untuk “load” program ke memori dan menjalankan program.
n
I/O operations
n User tidak dapat secara langsung mengakses H/W
resources, OS harus menyediakan mekanisme untuk melakukan operasi I/O atas nama user.
n
File-system manipulation
n Kemampuan program untuk operasi pada file (to read,
OS Structures JM-2000/v1.1/11
OS: Services (2)
nCommunications
n Pertukaran data/informasi antar dua atau lebih proses
yang berada pada satu komputer (atau lebih).
n
Error detection
n Menjaga kestabilan sistim dengan mendeteksi “error”: hardware maupun operasi.
n
Efficient use of system
n Protection: menjamin akses ke system resources dikendalikan (user dikontrol akses ke sistim).
n Accounting: merekam kegiatan users, jatah pemakaian resources (fairness atau policy).
System Calls
nSystem call:
n Menyediakan interface antara program (user program yang berjalan) dan bagian OS.
• Bagaimana proses dapat menggunakan I/O resources? n
System call menjadi jembatan antara proses dan
OS.
n System call ditulis dalam assembly language (machine specific) atau bahasa tingkat tinggi yang dapat
mengendalikan mesin (C).
n Contoh: UNIX menyediakan system call: read, write =>
OS Structures JM-2000/v1.1/13
System Calls: passing par.
n
Sering user program harus memberikan data
(parameter) ke rutin OS yang akan dipanggil.
n UNIX: read(buffer, max_size, file_id);
n
Tiga cara memberikan parameter dari program
ke sistim operasi:
n Melalui registers (resources di CPU).
n Menyimpan parameter pada data struktur (table) di
memory, dan alamat table tsb ditunjuk oleh pointer yang disimpan di register.
n Push (store) melalui “stack” pada memori dan OS mengambilnya melalui pop pada stack tsb.
Passing: table
Register parameter: table X load alamat X System call 13 User Program Operating System gunakan para meter dari tabel X rutin dari system call 13OS Structures JM-2000/v1.1/15
MS-DOS Execution
At System Start-up Running a Program
TSR program
OS Structures JM-2000/v1.1/17
System Structure
n
What is OS system structure?
n An organized method in building & management OS
n
Contoh: MS-DOS
n Saat dirancang kemampuan PC sangat minimal
• Prosesor: 8086 (10 MHz), Max. memory: 640 Kb
n MS-DOS – dibuat dengan menyediakan “fungsional” dari OS sebanyak mungkin pada resources yang sangat terbatas (memori)
n 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)
MS-DOS Layer Structure
Application Program
Resident system program MS-DOS kernel
BIOS: hardware device drivers
OS Structures JM-2000/v1.1/19
Monolithic Structure
nTidak terstuktur secara jelas
n Kumpulan program yang menggunakan langsung resources hardware
n Terdapat program-program yang mewakili fungsi OS: processor management, memory management dll.
• 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)
Simple Approach (kernel)
nStruktur terbatas pada dua layer
n Systems programs: bagian OS yang dibangun di atas kernel – extended machine
n 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)
OS Structures JM-2000/v1.1/21
UNIX System Structure
UserUser
Shell, commands, libraries, utility
system call, interface to kernel
Layered Approach
nSusunan berlapis:
n OS dibagi atas sejumlah (lebih dari 2) layer
n Setiap layer melingkupi layer di bawahnya (kendali, akses)
n Layer paling bawah (0) => hardware
n Layer paling atas (N) => user interface
n
Rancangan moduler:
n Layer disusun sehingga setiap fungsi/operasi layer atas akan menggunakan “services” pada layer bawah.
OS Structures JM-2000/v1.1/23
An Operating System Layer
OS Structures JM-2000/v1.1/25
Virtual Machines
n Misalkan terdapat system program => control program yang mengatur pemakaian resources hardware.
n Control program = trap system call + hardware acces. n Control program memberikan fasilitas ke proses user
n Mendapatkan jatah CPU dan memori.
n Menyediakan interface “identik” dengan apa yang disediakan oleh hardware => sharing devices untuk berbagai proses.
n Virtual machine => control program yang minimal
n VM memberikan ilusi multitasking: seolah-olah terdapat prosesor dan memori ekslusif digunakan (virtual machine).
n VM memilah fungsi multitasking dan implementasi extended machine (tergantung user proses) => flexible dan lebih mudah untuk maintained (proteksi).
System Models: VM
Non- virtual Machine Virtual Machine
system call
OS Structures JM-2000/v1.1/27
Virtual Machines (Cont.)
n
Jika setiap user diberikan satu virtual machine =>
user bebas untuk menjalankan OS (kernel) yang
diinginkan pada VM tersebut.
n Potensi lebih dari satu OS dalam satu komputer.
n Contoh:
• IBM VM370: menyediakan VM untuk berbagai OS: CMS (interaktif), MVS, CICS, dll.
n
Problem:
n Sharing disk => setiap OS mempunyai file system yang mungkin berbeda.
n IBM: virtual disk (minidisk) yang dialokasikan untuk user melalui VM.
Client Server Model
n
Implementasi fungsi OS (extended machine)
dapat menjadi bagian dari user proses (client)
n Request service ke server proses (kernel).
n Kernel: terdiri dari server (file, memory, I/O dll) yang
melayani request dari client proses.
n Akses ke hardware harus melalui server proses dari
kernel yang mengontrol hardware tersebut.
n
Pros: partisi dan struktur yang sangat jelas
(interface dan fungsional).
n
Cons: lambat (komunikasi antar client dan
server), tidak efisien dalam menggunakan
resources.
OS Structures JM-2000/v1.1/29
Summary
n
OS dapat dilihat dari berbagai segi (services)
n Lapisan terbawah: system call memberikan interface
ke user program untuk mengakses hardware resources.
n Lapisan teratas: command line intrepeter memberikan kemudahan user menjalankan system program atau utility.
n System services: control program dan extended machine.
Summary
n
Rancangan struktur OS
n Rumit dan besar: struktur moduler, dalam bentuk lapisan.
n Q: seberapa banyak lapisan/modul? fungsi dan interaksi antar modul => pilihan rancangan OS.
n Rancangan moduler/layered sulit diterapkan secara
penuh, contoh DOS dan UNIX.
n VM menerapkan bentuk layered dan memberikan ilusi
pemakaian hardware bersama kepada sekumpulan kernel yang berdiri diatasnya.