Anda di halaman 1dari 15

Operating-System Structures

(Ch. 3)
SISTIM OPERASI
(Operating System)
IKI-20230

Fakultas Ilmu Komputer


Universitas Indonesia
Semester 2000/2001

Operating-System Structures
n System Components
n Operating System Services
n System Calls
n System Programs
n System Structure
n Virtual Machines
n System Design and Implementation
n System Generation

OS Structures JM -2000/v1.1/2

1
Common System Components
n Process 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).


OS Structures JM -2000/v1.1/3

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
• Komunikasi antar proses

OS Structures JM -2000/v1.1/4

2
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.

OS Structures JM -2000/v1.1/5

Secondary-Storage Management
n Secondary 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
n 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 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.
OS Structures JM -2000/v1.1/7

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.
n File backup on stable (nonvolatile) storage media.
OS Structures JM -2000/v1.1/8

4
Command-Interpreter System
n OS: 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 Structures JM -2000/v1.1/9

OS: Services (1)


n Program 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,
write, create, and delete files).

OS Structures JM -2000/v1.1/10

5
OS: Services (2)
n Communications
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).

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 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 =>
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 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.

OS Structures JM -2000/v1.1/13

Passing: table

parameter: Register
table X

load alamat X rutin dari


system call
System call 13 13
gunakan
para
meter dari
User Program 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 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)
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 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)

OS Structures JM -2000/v1.1/19

Simple Approach (kernel)


n Struktur 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/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 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/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 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).

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 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.
OS Structures JM -2000/v1.1/27

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/28

14
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.

OS Structures JM -2000/v1.1/29

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.

OS Structures JM -2000/v1.1/30

15

Anda mungkin juga menyukai