Operating-System Structures (Ch. 3) SISTIM OPERASI (Operating System) IKI-20230
Fakultas Ilmu Komputer Universitas Indonesia Semester 2000/2001
Operating-System Structures n n n n n n n n
System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation
OS Structures JM -2000/v1.1/2
1
Common System Components n n n n n n
Process Management Main Memory Management Secondary-Storage Management I/O System Management File Management Support services: Protection System n Networking n Command-Interpreter System (Baca: Ch. 3 untuk keterangan lebih rinci). n
OS Structures JM -2000/v1.1/3
Process Management n
Proses adalah sebuah program yang sedang dijalankan (eksekusi). n
n
Suatu proses memerlukan resources pada saat ekesekusi: CPU time, memory, files dan I/O devices
Sistim operasi bertanggung jawab terhadap aktifitas yang berhubungan dengan manajemen proses: n n n
Process creation & deletion. Process suspension (block) & resumption. Mekanisme: • Sinkronisasi antar proses • Komunikasi antar proses OS Structures JM -2000/v1.1/4
2
Main-Memory Management n
Memori sebagai tempat penyimpanan instruksi/data dari program n
n n
n n
Storage yang cepat sehingga dapat mengimbangi kecepatan eksekusi instruksi CPU Terdiri dari “array of words/bytes” yang besar Address digunakan untuk mengakses data (shared oleh CPU dan I/O devices)
Umumnya main memory bersifat “volatile” – tidak permanent. Isinya akan hilang jika komputer di matikan. Manajement memori: n n n
Melacak pemakaian memori (siapa dan berapa besar?). Memilih program mana yang akan diload ke memori. Alokasi dan De-alokasi memori fisik untuk program. OS Structures JM -2000/v1.1/5
Secondary-Storage Management n
Secondary Storage: penyimpanan permanent n
n
n
n
Kapasitas harus besar untuk menyimpan semua program dan data. Secondary storage dapat dijadikan “backup” storage main memory supaya dapat menjalankan banyak program. Umumnya menggunakan “magnetic disks” (hard disk).
OS bertanggung jawab untuk manajemen disk: n n n
Free space management Storage allocation Disk scheduling OS Structures JM -2000/v1.1/6
3
I/O System Management n
Sering 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
n
n
Buffer: menampung sementarai data dari/ke I/O devices Spooling: melakukan scheduling pemakaian I/O sistim supaya lebih efisien (antrian dsb) Menyediakan “driver” untuk dapat melakukan operasi “rinci” (detail) untuk hardware I/O tertentu. OS Structures JM -2000/v1.1/7
File Management n
File: kumpulan informasi yang berhubungan (sesuai dengan tujuan pembuat file tsb). n
n
File dapat mempunya struktur yang bersifat hirarkis (direktori, volume dll).
OS bertanggung jawab: n n n
n n
File creation and deletion. Directory creation and deletion. Support of primitives for manipulating files and directories. Mapping files onto secondary storage. File backup on stable (nonvolatile) storage media. OS Structures JM -2000/v1.1/8
4
Command-Interpreter System n n
OS: menunggu instruksi dari user (command driven) 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 Structures JM -2000/v1.1/9
OS: Services (1) n
Program execution n
n
I/O operations n
n
Kemampuan sistim untuk “load” program ke memori dan menjalankan program. User tidak dapat secara langsung mengakses H/W resources, OS harus menyediakan mekanisme untuk melakukan operasi I/O atas nama user.
File-system manipulation n
Kemampuan program untuk operasi pada file (to read, write, create, and delete files).
OS Structures JM -2000/v1.1/10
5
OS: Services (2) n
Communications n
n
Error detection n
n
Pertukaran data/informasi antar dua atau lebih proses yang berada pada satu komputer (atau lebih). Menjaga kestabilan sistim dengan mendeteksi “error”: hardware maupun operasi.
Efficient use of system n
n
Protection: menjamin akses ke system resources dikendalikan (user dikontrol akses ke sistim). Accounting: merekam kegiatan users, jatah pemakaian resources (fairness atau policy). OS Structures JM -2000/v1.1/11
System Calls n
System 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
n
System call ditulis dalam assembly language (machine specific) atau bahasa tingkat tinggi yang dapat mengendalikan mesin (C). Contoh: UNIX menyediakan system call: read, write => operasi I/O untuk file. OS Structures JM -2000/v1.1/12
6
System Calls: passing par. n
Sering user program harus memberikan data (parameter) ke rutin OS yang akan dipanggil. n
n
UNIX: read(buffer, max_size, file_id);
Tiga cara memberikan parameter dari program ke sistim operasi: n n
n
Melalui registers (resources di CPU). Menyimpan parameter pada data struktur (table) di memory, dan alamat table tsb ditunjuk oleh pointer yang disimpan di register. Push (store) melalui “stack” pada memori dan OS mengambilnya melalui pop pada stack tsb. OS Structures JM -2000/v1.1/13
Passing: table
parameter: table X load alamat X System call 13
User Program
Register rutin dari system call 13
gunakan para meter dari tabel X Operating System
OS Structures JM -2000/v1.1/14
7
MS-DOS Execution At System Start-up
Running a Program
TSR program
OS Structures JM -2000/v1.1/15
UNIX Running Multiple Programs
OS Structures JM -2000/v1.1/16
8
System Structure n
What is OS system structure? n
n
An organized method in building & management OS
Contoh: MS-DOS n
Saat dirancang kemampuan PC sangat minimal • Prosesor: 8086 (10 MHz), Max. memory: 640 Kb
n
n
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) OS Structures JM -2000/v1.1/17
MS-DOS Layer Structure Application Program
Resident system program MS-DOS kernel
BIOS: hardware device drivers BIOS: Basic I/O system, kontrol hardware I/O devices OS Structures JM -2000/v1.1/18
9
Monolithic Structure n
Tidak terstuktur secara jelas n n
Kumpulan program yang menggunakan langsung resources hardware 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) OS Structures JM -2000/v1.1/19
Simple Approach (kernel) n
Struktur terbatas pada dua layer n
n
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) OS Structures JM -2000/v1.1/20
10
UNIX System Structure User User Shell, commands, libraries, utility system call, interface to kernel
OS Structures JM -2000/v1.1/21
Layered Approach n
Susunan berlapis: n n
n n
n
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: n
Layer disusun sehingga setiap fungsi/operasi layer atas akan menggunakan “services” pada layer bawah.
OS Structures JM -2000/v1.1/22
11
An Operating System Layer
OS Structures JM -2000/v1.1/23
OS/2 Layer Structure
OS Structures JM -2000/v1.1/24
12
Virtual Machines n n n
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 n n
n
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 n
n
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). OS Structures JM -2000/v1.1/25
System Models: VM Non- virtual Machine
Virtual Machine
system call
trap VM
OS Structures JM -2000/v1.1/26
13
Virtual Machines (Cont.) n
Jika setiap user diberikan satu virtual machine => user bebas untuk menjalankan OS (kernel) yang diinginkan pada VM tersebut. n n
Potensi lebih dari satu OS dalam satu komputer. Contoh: • IBM VM370: menyediakan VM untuk berbagai OS: CMS (interaktif), MVS, CICS, dll.
n
Problem: n
n
Sharing disk => setiap OS mempunyai file system yang mungkin berbeda. IBM: virtual disk (minidisk) yang dialokasikan untuk user melalui VM. OS Structures JM -2000/v1.1/27
Client Server Model n
Implementasi fungsi OS (extended machine) dapat menjadi bagian dari user proses (client) n n n
n n
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.
Pros: partisi dan struktur yang sangat jelas (interface dan fungsional). Cons: lambat (komunikasi antar client dan server), tidak efisien dalam menggunakan resources. OS Structures JM -2000/v1.1/28
14
Summary n
OS dapat dilihat dari berbagai segi (services) n
n
n
Lapisan terbawah: system call memberikan interface ke user program untuk mengakses hardware resources. Lapisan teratas: command line intrepeter memberikan kemudahan user menjalankan system program atau utility. System services: control program dan extended machine.
OS Structures JM -2000/v1.1/29
Summary n
Rancangan struktur OS n
n
n
n
Rumit dan besar: struktur moduler, dalam bentuk lapisan. Q: seberapa banyak lapisan/modul? fungsi dan interaksi antar modul => pilihan rancangan OS. Rancangan moduler/layered sulit diterapkan secara penuh, contoh DOS dan UNIX. VM menerapkan bentuk layered dan memberikan ilusi pemakaian hardware bersama kepada sekumpulan kernel yang berdiri diatasnya.
OS Structures JM -2000/v1.1/30
15