Sistem Operasi Komputer
Sistem Operasi Komputer Pertemuan III – Struktur Sistem Operasi
Kuis Kecil II 1. 2. 3.
4. 5. 6.
Sebutkan komponen-komponen utama penyusun sistem operasi modern ! (15 point) Sebutkan layanan-layanan yang diberikan OS untuk menjamin tugas user/programmer menjadi lebih ringan ! (15 point) 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) Apakah kegunaan system program ? Sebutkan hal-hal yang dapat digolongkan sebagai system program ! (20 point) Mengapa struktur sistem dalam OS diperlukan ? Sebutkan struktur sistem yang banyak digunakan ! (10 point) Apa yang dimaksudkan dengan mesin virtual ? Apa kesulitan dalam pembuatannya ? Apa keuntungan adanya mesin virtual ? (15 point)
Universitas Kristen Maranatha -- IT Department
1
Sistem Operasi Komputer
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 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 deadlock
Universitas Kristen Maranatha -- IT Department
2
Sistem Operasi Komputer
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 Pengaturan ruang kosong dalam disk Alokasi penyimpanan (sector(fisik) atau
blok(logik)) Penjadwalan disk
Universitas Kristen Maranatha -- IT Department
3
Sistem Operasi Komputer
Komponen Sistem Manajemen I/O Sistem buffer,caching, spooling Antarmuka device-driver secara umum Driver untuk device hardware tertentu
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 (non volatile)
Universitas Kristen Maranatha -- IT Department
4
Sistem Operasi Komputer
Komponen Sistem Networking Berperan dalam Distributed-system
dan
computer interconnection Akses jaringan untuk sharing informasi Protokol-protokol internet: FTP HTTP
Komponen Sistem Proteksi Mekanisme pengontrolan akses program, proses
atau user ke dalam suatu resource tertentu dalam sistem komputer Meningkatkan reliabilitas (kepercayaan) melalui deteksi error
Universitas Kristen Maranatha -- IT Department
5
Sistem Operasi Komputer
Komponen Sistem Command Interpreter Interface antara user dengan sistem operasi:
User friendly: MS Windows, Macintosh Command line (shell): unix, DOS Interaksi dengan komponen sistem lainnya
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
(network performance), protection
Universitas Kristen Maranatha -- IT Department
6
Sistem Operasi Komputer
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 Source-Destination file Prompting message / menu-based windows Read from keyboard / mouse click Open input file Success
No success Prompting message Terminate abnormally
Create output file No success
Same name: Abort Delete existing file Create a new one (message, read response)
Success Loop until EOF Read from input file, check HW failure Write to destination, check HW failure No success
Prompting message Terminate abnormally
Universitas Kristen Maranatha -- IT Department
Success Close files S-D Write message Close normally
7
Sistem Operasi Komputer
System call – Kontrol Proses
Mengambil (load) dan eksekusi Mengakhiri (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 • Singletasking • Tidak membuat proses baru • Process langsung di-load ke memory, memory command interpreter dipakai juga untuk program • Sisa command interpreter di-load kembali setelah process berhenti
Start up
Universitas Kristen Maranatha -- IT Department
Eksekusi program/proses
8
Sistem Operasi Komputer
Eksekusi Linux • Multitasking system • Foreground – background process • New-process fork() system call • Selected program into memory exec() sys call
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) Menentukan dan mengeset atribut file
Universitas Kristen Maranatha -- IT Department
9
Sistem Operasi Komputer
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 Mengambil atau mengeset waktu atau tanggal Mengambil atau mengeset sistem data Mengambil atau mengeset proses, file
atau
atribut-atribut device
Universitas Kristen Maranatha -- IT Department
10
Sistem Operasi Komputer
System call – Komunikasi Membuat dan menghapus sambungan
komunikasi Mengirim dan menerima pesan Mentransfer status informasi Contoh: autentikasi koneksi ke jaringan
Model komunikasi
Message passing
Universitas Kristen Maranatha -- IT Department
Shared memory
11
Sistem Operasi Komputer
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 sederhana Monolithic system Mikrokernel system Layered approach Mesin virtual Client server model
Universitas Kristen Maranatha -- IT Department
12
Sistem Operasi Komputer
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
Universitas Kristen Maranatha -- IT Department
13
Sistem Operasi Komputer
Monolitihic system (1) Struktur sederhana, dilengkapi dengan operasi dualmode 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) • 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
Universitas Kristen Maranatha -- IT Department
User program 2 User program 1
trap
User mode
Service procedure Monitor mode Dispacth table
14
Sistem Operasi Komputer
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)
Universitas Kristen Maranatha -- IT Department
15
Sistem Operasi Komputer
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)
Universitas Kristen Maranatha -- IT Department
16
Sistem Operasi Komputer
Mikrokernel (3)
Mikrokernel VS. Monilithic Advantages
MICROKERNEL
MONOLITHIC
Fault tolerant, & secure.
Direct implementation of kernel.
Easy to develop extra functionality.
Fast; less overhead.
Less errors in kernel. Clean programming API. Disadvantages
Slower; increased overhead.
Hard to develop extra functionality. Complicated programming API. Not necessarily as secure.
Universitas Kristen Maranatha -- IT Department
17
Sistem Operasi Komputer
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)
Universitas Kristen Maranatha -- IT Department
18
Sistem Operasi Komputer
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)
OS/2 Layers
Universitas Kristen Maranatha -- IT Department
19
Sistem Operasi Komputer
Layered approach (5)
WinNT Win2000 WinXP (hybrid Microkernel & Layers)
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 monitormode 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
Universitas Kristen Maranatha -- IT Department
20
Sistem Operasi Komputer
Mesin virtual (2)
Non-virtual Machine
Virtual Machine
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
Universitas Kristen Maranatha -- IT Department
21
Sistem Operasi Komputer
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 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)
Universitas Kristen Maranatha -- IT Department
22
Sistem Operasi Komputer
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 meloading kernel yang ada Program bootstrap: kode yang tersimpan dalam ROM yang digunakan untuk menunjukkan kernel dan menaruhnya pada RAM, dan mulai eksekusi program
Latihan Soal 1. 2. 3. 4. 5. 6. 7.
Sebutkan aktivitas yang dilakukan pada manajemen proses ! Sebutkan aktivitas yang dilakukan pada manajemen memori ! Sebutkan jenis-jenis layanan yang dilakukan SOK ! Apakah system call itu? Sebutkan keuntungan digunakannya struktur terlapis Sebutkan keuntungan digunakannya mesin virtual Sebutkan keuntungan digunakannya struktur clientserver
Universitas Kristen Maranatha -- IT Department
23