Sistem Operasi Komputer
Sistem Operasi Komputer
Pertemuan III – Struktur Sistem Operasi
Kuis Kecil II
Kuis Kecil II
1. Sebutkan komponen-komponen utama penyusun sistem operasi
modern ! (15 point)
2. Sebutkan layanan-layanan yang diberikan OS untuk menjamin
tugas user/programmer menjadi lebih ringan ! (15 point)
3. Ceritakan system call yang mungkin dibutuhkan pada suatu
program untuk melakukan pembacaan data dari suatu file dan meng-copy-kannya ke file lain. (25 point)
4. Apakah kegunaan system program ? Sebutkan hal-hal yang
dapat digolongkan sebagai system program ! (20 point)
5. Mengapa struktur sistem dalam OS diperlukan ? Sebutkan
struktur sistem yang banyak digunakan ! (10 point)
6. Apa yang dimaksudkan dengan mesin virtual ? Apa kesulitan
dalam pembuatannya ? Apa keuntungan adanya mesin virtual ? (15 point)
Struktur Sistem Operasi
Struktur Sistem Operasi
Komponen-komponen sistem Pelayanan sistem operasi System call
Sistem program Struktur sistem Virtual mesin
Rancangan sistem dan implementasi Sistem generasi
Komponen Sistem
Manajemen Proses
Komponen Sistem
Manajemen Proses
Pembuatan atau penghapusan proses yang dibuat
oleh user atau sistem
Penghentian sementara dan memulai kembali
suatu proses
Kelengkapan mekanisme untuk sinkronisasi
proses
Kelengkapan mekanisme untuk komunikasi proses
Kelengkapan mekanisme untuk pengendalian
Komponen Sistem
Manajemen Memori Utama
Komponen Sistem
Manajemen Memori Utama
Menjaga dan memelihara bagian-bagian memori
yang sedang digunakan dan dari yang
menggunakan
Memutuskan proses mana saja yang harus
dipanggil ke memori jika masih ada ruang di
memori utama
Mengalokasikan dan mendealokasikan ruang
memori jika diperlukan
Komponen Sistem
Manajemen Memori Sekunder
Komponen Sistem
Manajemen Memori Sekunder
Pengaturan ruang kosong dalam disk
Alokasi penyimpanan (sector(fisik) atau
blok(logik))
Komponen Sistem
Manajemen I/O
Komponen Sistem
Manajemen I/O
Sistem buffer,caching, spooling
Antarmuka device-driver secara umum
Driver untuk device hardware tertentu
Komponen Sistem
Manajemen File
Komponen Sistem
Manajemen File
Pembuatan dan penghapusan file
Pembuatan dan penghapusan direktori
Primitif-primitif yang mendukung untuk
manipulasi file dan direktori
Pemetaan file ke memori sekunder
Backup file ke media penyimpanan yang stabil
Komponen Sistem
Networking
Komponen Sistem
Networking
Berperan dalam
Distributed-system
dan
computer interconnection
Akses jaringan untuk sharing informasi
Protokol-protokol internet:
FTP HTTPKomponen Sistem
Proteksi
Komponen Sistem
Proteksi
Mekanisme pengontrolan akses program, proses
atau user ke dalam suatu resource tertentu
dalam sistem komputer
Meningkatkan reliabilitas (kepercayaan) melalui
Komponen Sistem
Command Interpreter
Komponen Sistem
Command Interpreter
Interface antara user dengan sistem operasi:
User friendly: MS Windows, MacintoshCommand line (shell): unix, DOS
Interaksi dengan komponen sistem lainnya
Pelayanan Sistem Operasi
Pelayanan Sistem Operasi
Eksekusi program
Operasi-operasi I/O
Manipulasi sistem file
Komunikasi: proses dalam satu komputer, beberapa
proses dalam jaringan.
Teknik: shared-memory, message passing
Mendeteksi error
Efisiensi sistem: resource allocation, accounting
System calls
System calls
Interrupt yang ditimbulkan SW dengan mengeksekusi kode program (operasi) tertentu sebagai interface antara proses dengan sistem operasi.
Implementasi
Bahasa assembly (low level – machine code) C, C++, Perl (high level – programmer oriented)
Metode passing parameter antara SOK dan program
Parameter dalam register
Tabel dalam memori dan tabel alamat (register) Stack (pop and push) operasi
Program baca data – copy ke file
Program baca data – copy ke file
Source-Destination file
Prompting message / menu-based windows Read from keyboard / mouse click
Open input file
Success No success
Same name:
Abort
Delete existing file
Create a new one (message, read response) Prompting message
Terminate abnormally
Create output file No success
Success
Loop until EOF
Read from input file, check HW failure Write to destination, check HW failure Close files S-D Write message Close normally Prompting message Terminate abnormally No success Success
System call – Kontrol Proses
System call – Kontrol Proses
Mengambil (load) dan eksekusiMengakhiri (end) dan membatalkan (abort)
Membuat dan mengakhiri proses
Menentukan dan mengeset atribut proses Waiting event
Signal event
Mengalokasikan dan membebaskan memori
Contoh: ms-dos dengan command interpreternya (prompt) yang
singletasking
Contoh: linux dengan x-console yang multitasking
Eksekusi MS DOS
Eksekusi MS DOS
Start up Eksekusi program/proses
• Singletasking
• Tidak membuat proses baru • Process langsung di-load ke memory, memory command inter-preter dipakai juga untuk program • Sisa command interpreter di-load kembali setelah process berhenti
Eksekusi Linux
Eksekusi Linux
• Multitasking system • Foreground – background process
• New-process fork() system call
• Selected program into memory exec() sys call
System call – Manipulasi File
System call – Manipulasi File
Membuat dan menghapus file, contoh: directory
temp pada zip program
Membukan dan menutup file
Membaca, menulis dan mereposisi file, contoh:
install program (setup.exe)
System call – Manipulasi Device
System call – Manipulasi Device
Meminta dan membebaskan device
Membaca, menulis dan mereposisi file
Menentukan dan mengeset atribut device
Contoh: alokasi printer untuk sebuah file yang
akan dicetak
System call – Informasi Lingkungan
System call – Informasi Lingkungan
Mengambil atau mengeset waktu atau tanggal
Mengambil atau mengeset sistem data
Mengambil atau mengeset proses, file atau
System call – Komunikasi
System call – Komunikasi
Membuat dan menghapus sambungan
komunikasi
Mengirim dan menerima pesan
Mentransfer status informasi
Contoh: autentikasi koneksi ke jaringan
Model komunikasi
Model komunikasi
Sistem program
Sistem program
Lingkungan dalam pengembangan dan eksekusi program. Dapat dibagi:
Manipulasi file Status informasi Modifikasi file
Bahasa pemrograman (kompiler, assembler, atau interpreter) Pemanggilan dan eksekusi program
Komunikasi
Program aplikasi: text editor, database, games, dll
Menyediakan interface ke system call
Sebagian besar tampilan yang “dilihat” user, berasal dari sistem program dan bukan dari system call
Struktur sistem
Struktur sistem
Struktur sederhana
Monolithic system
Mikrokernel system
Layered approach
Mesin virtual
Struktur sederhana
Struktur sederhana
Kecil, sederhana, terbatas
Tidak terbagi dalam modul-modul
Interface dan tingkat fungsionalitas tunggal
(tidak dual mode dan tidak memiliki proteksi
hardware)
Contoh: MS DOS dan Unix (Original Design)
Struktur Sistem DOS
Struktur Sistem DOS
Monolitihic system (1)
Monolitihic system (1)
Struktur sederhana, dilengkapi dengan operasi dual-mode
Fungsionalitas (networking, file systems, memory management, process control, etc.) dilakukan oleh kernel sendiri.
Pelayanan (system call) dengan cara mengambil parameter pada tempat yang telah ditentukan (register atau stack) kemudian mengeksekusi trap tertentu pada monitor mode.
Co: Linux, Unix Modern
Monolitihic system (2)
Monolitihic system (2)
User program 2 User program 1 trap Dispacth table Service procedure• Program utama meminta service procedure
• Kumpulan service procedure yang dibawa oleh system call
• Kumpulan utility procedure yang membantu service procedure
• Tiap system call (trap) memiliki satu service procedure
• Utility procedure mengerjakan segala sesuatu yang dibutuhkan oleh beberapa service
procedure, contoh: pengambilan data dari user program
User mode
Monitor mode
Monolitihic system (3)
Monolitihic system (3)
Kernel (maintaining important abstraksi: VM and processes) System Libraries(standard set of functions kernel interactions) System Utilities (specialized management tasks)
Monolitihic system (4)
Monolitihic system (4)
Mikrokernel (1)
Mikrokernel (1)
Memiliki kernel sebagai “core” yang dapat beradaptasi dengan perubahan sistem user program
Memory management Communication facility Process management
Komunikasi antar modul program dengan message passing Keuntungan:
Perluasan fungsionalitas dan interface
Porting ke dalam arsitektur komputer yang baru lebih mudah Reliabilitas (kode dalam kernelnya lebih sederhana)
Sekuritas
Co: BeOS, OS/2, POSIX, DOS
Mikrokernel (2)
Mikrokernel (2)
Mikrokernel (3)
Mikrokernel (3)
Mikrokernel VS. Monilithic
Mikrokernel VS. Monilithic
MICROKERNEL MONOLITHIC AdvantagesFault tolerant, & secure. Direct implementation of kernel.
Easy to develop extra
functionality. Fast; less overhead.
Less errors in kernel.
Clean programming API.
Dis-advantages Slower; increased overhead.
Hard to develop extra functionality.
Complicated programming API.
Layered approach (1)
Layered approach (1)
Sistem modular
Lapisan terendah (0) adalah hardware, lapisan teratas (N) adalah user interface
Lapisan lebih atas diimplementasikan dengan
menggunakan operasi yang tersedia oleh lapisan yang lebih rendah
Baik untuk error deteksi, debugging dan verifikasi sistem
Contoh: unix termodifikasi, OS/2, THE, WinNT (hybrid)
Layered approach (2)
Layered approach (2)
Layered approach (3)
Layered approach (3)
User Interface Sistem program
Kernel
Menyediakan: sistem file, CPU scheduling, manajemen memori, dll Menggunakan sistem satu tingkat (one level layer)
Layered approach (4)
Layered approach (4)
OS/2 Layers
Layered approach (5)
Layered approach (5)
WinNT Win2000 WinXP (hybrid Microkernel & Layers)Mesin virtual (1)
Mesin virtual (1)
Interface hardware dengan kernel untuk tiap-tiap proses
Tiap proses memiliki (virtual) memori dan “menganggap” prosesor dimiliki oleh proses itu sendiri
Sumberdaya komputer (fisik) “disharing” ke dalam tiap proses Teknik ilusi: CPU Scheduling, Threads, Virtual Memory
Kesulitan: implementasi transfer user-mode ke monitor-mode pada mesin nyata, yang juga menyebabkan transfer dari virtual user-mode ke virtual monitor-mode pada mesin virtual
Keuntungan: proteksi resource Contoh: IBM VM, Java OS
Mesin virtual (2)
Mesin virtual (2)
Non-virtual Machine Virtual Machine
Client-server model
Client-server model
Memindahkan kode ke lapisan yang lebih tinggi, kernel minimal
Fungsi-fungsi pada SOK menjadi user proses (client proses)
Pengendalian komunikasi C/S
Server tidak mengakses hardware langsung Sistem terdistribusi
Rancangan sistem
Rancangan sistem
User: SOK harus dapat digunakan secara efektif,
efisien, mudah dipelajari, reliabel, aman dan cepat
Sistem: SOK harus mudah dirancang,
diimplementasikan, dan di-maintain, serta harus
fleksibel, reliabel, bebas dari error dan efisien
Mekanisme
: bagaimana melakukan sesuatu.
Policy
: memutuskan apa yang harus dilakukan
Implementasi SOK
Implementasi SOK
Secara tradisional dituliskan dalam bahasa assembly, namun berkembang terus dan dituliskan juga pada bahasa tingkat tinggi: C, C++ dan java
Penulisan pada bahasa tingkat tinggi:
Lebih cepat dituliskan
Lebih mudah melacak kesalahan Lebih kompak
SOK yang dituliskan dengan bahasa tingkat tinggi, lebih mudah untuk dipindah antar sistem komputer (porting)
Sistem generasi (SYSGEN)
Sistem generasi (SYSGEN)
SOK dirancang untuk dapat dijalankan pada setiap tipe mesin
SYSGEN memberikan informasi yang mengacu pada konfigurasi hardware tertentu
Booting: mulai menjalankan komputer dengan
me-loadingkernel yang ada
Program bootstrap: kode yang tersimpan dalam ROM yang digunakan untuk menunjukkan kernel dan menaruhnya pada RAM, dan mulai eksekusi program
Latihan Soal
Latihan Soal
1. Sebutkan aktivitas yang dilakukan pada manajemen
proses !
2. Sebutkan aktivitas yang dilakukan pada manajemen
memori !
3. Sebutkan jenis-jenis layanan yang dilakukan SOK ! 4. Apakah system call itu?
5. Sebutkan keuntungan digunakannya struktur terlapis 6. Sebutkan keuntungan digunakannya mesin virtual 7. Sebutkan keuntungan digunakannya struktur