sistem operasi komputer -...
TRANSCRIPT
Sistem Operasi Komputer
Universitas Kristen Maranatha -- IT Department 1
Sistem Operasi KomputerSistem Operasi Komputer
Pertemuan III – Struktur Sistem Operasi
Kuis Kecil IIKuis 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)
Sistem Operasi Komputer
Universitas Kristen Maranatha -- IT Department 2
Struktur Sistem OperasiStruktur 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 deadlock
Sistem Operasi Komputer
Universitas Kristen Maranatha -- IT Department 3
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))
�Penjadwalan disk
Sistem Operasi Komputer
Universitas Kristen Maranatha -- IT Department 4
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
(non volatile)
Sistem Operasi Komputer
Universitas Kristen Maranatha -- IT Department 5
Komponen Sistem
Networking
Komponen Sistem
Networking
�Berperan dalam Distributed-system dan
computer interconnection
�Akses jaringan untuk sharing informasi
�Protokol-protokol internet:
FTP
HTTP
Komponen Sistem
Proteksi
Komponen Sistem
Proteksi
�Mekanisme pengontrolan akses program, proses
atau user ke dalam suatu resource tertentu
dalam sistem komputer
�Meningkatkan reliabilitas (kepercayaan) melalui
deteksi error
Sistem Operasi Komputer
Universitas Kristen Maranatha -- IT Department 6
Komponen Sistem
Command Interpreter
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 OperasiPelayanan 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
Sistem Operasi Komputer
Universitas Kristen Maranatha -- IT Department 7
System callsSystem 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 fileProgram baca data – copy ke fileSource-Destination file
Prompting message / menu-based windows
Read from keyboard / mouse click
Open input file
SuccessNo 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 successSuccess
Sistem Operasi Komputer
Universitas Kristen Maranatha -- IT Department 8
System call – Kontrol ProsesSystem 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 DOSEksekusi 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
Sistem Operasi Komputer
Universitas Kristen Maranatha -- IT Department 9
Eksekusi LinuxEksekusi Linux
• Multitasking system
• Foreground – background
process
• New-process � fork() system
call
• Selected program into
memory � exec() sys call
System call – Manipulasi FileSystem 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
Sistem Operasi Komputer
Universitas Kristen Maranatha -- IT Department 10
System call – Manipulasi DeviceSystem 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 LingkunganSystem call – Informasi Lingkungan
�Mengambil atau mengeset waktu atau tanggal
�Mengambil atau mengeset sistem data
�Mengambil atau mengeset proses, file atau
atribut-atribut device
Sistem Operasi Komputer
Universitas Kristen Maranatha -- IT Department 11
System call – KomunikasiSystem call – Komunikasi
�Membuat dan menghapus sambungan
komunikasi
�Mengirim dan menerima pesan
�Mentransfer status informasi
�Contoh: autentikasi koneksi ke jaringan
Model komunikasiModel komunikasi
Message passing Shared memory
Sistem Operasi Komputer
Universitas Kristen Maranatha -- IT Department 12
Sistem programSistem 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 sistemStruktur sistem
�Struktur sederhana
�Monolithic system
�Mikrokernel system
�Layered approach
�Mesin virtual
�Client server model
Sistem Operasi Komputer
Universitas Kristen Maranatha -- IT Department 13
Struktur sederhanaStruktur 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 DOSStruktur Sistem DOS
Sistem Operasi Komputer
Universitas Kristen Maranatha -- IT Department 14
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
Sistem Operasi Komputer
Universitas Kristen Maranatha -- IT Department 15
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)
Sistem Operasi Komputer
Universitas Kristen Maranatha -- IT Department 16
Mikrokernel (1)Mikrokernel (1)� Memiliki kernel sebagai “core” yang dapat beradaptasi
dengan perubahan sistem user programMemory 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)
Sistem Operasi Komputer
Universitas Kristen Maranatha -- IT Department 17
Mikrokernel (3)Mikrokernel (3)
Mikrokernel VS. MonilithicMikrokernel 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-
advantagesSlower; increased overhead.
Hard to develop extra
functionality.
Complicated programming API.
Not necessarily as secure.
Sistem Operasi Komputer
Universitas Kristen Maranatha -- IT Department 18
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)
Sistem Operasi Komputer
Universitas Kristen Maranatha -- IT Department 19
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
Sistem Operasi Komputer
Universitas Kristen Maranatha -- IT Department 20
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
Sistem Operasi Komputer
Universitas Kristen Maranatha -- IT Department 21
Mesin virtual (2)Mesin virtual (2)
Non-virtual Machine Virtual Machine
Client-server modelClient-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
Sistem Operasi Komputer
Universitas Kristen Maranatha -- IT Department 22
Rancangan sistemRancangan 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 SOKImplementasi 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 Operasi Komputer
Universitas Kristen Maranatha -- IT Department 23
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-loading kernel yang ada
� Program bootstrap: kode yang tersimpan dalam ROM yang digunakan untuk menunjukkan kernel dan menaruhnya pada RAM, dan mulai eksekusi program
Latihan SoalLatihan Soal1. 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 client-
server