Bab 2: Struktur Sistem Operasi Komponen sistem Layanan sistem operasi System Call System Program Struktur sistem Virtual Machine Desain dan implementasi sistem System Generation
3.1
Silberschatz, Galvin and Gagne 2002
Komponen Sistem Secara Umum Manajemen Proses Manajemen Main Memory Manajemen j File Manajemen sistem I/O Manajemen Secondary storage Networking Sistem Proteksi Sistem Command-Interpreter
3.2
Silberschatz, Galvin and Gagne 2002
1
Manajemen Proses Proses adalah program yang sedang dieksekusi. Proses
memerlukan resource tertentu, seperti waktu CPU, memori, file dan perangkat I/O, untuk menyelesaikan tugasnya Sistem operasi bertanggung jawab pada aktifitas manajemen proses berikut Membuat dan menghapus proses Menghentikan sementara (suspend) dan melanjutkan
kembali (resume) proses. Menyediakan mekanisme untuk process synchronization process communication
3.3
Silberschatz, Galvin and Gagne 2002
Manajemen Main-Memory Memory adalah array besar ukuran word atau byte,
masing-masing mempunyai alamat sendiri. Merupakan repositori yang dapat mengakses data dengan cepat yang digunakan di k CPU d dan perangkat k t I/O bersama-sama. b Main memory adalah perangkat penyimpan volatile, dimana jika sistem gagal maka isinya akan hilang Sistem operasi bertanggung jawal terhadap aktifitas manajemen memory berikut: Menyimpan bagian memori yang sedang digunakan dan
oleh proses apa Memutuskan M t k proses mana yang diletakkan dil t kk (l (load) d) jik jika
tersedia ruang memory Mengalokasikan dan men-dealokasikan ruang memory
yang diperlukan
3.4
Silberschatz, Galvin and Gagne 2002
2
Manajemen File
File adalah kumpulan informasi yang saling berhubungan
yang didefinisikan oleh pembuatnya pembuatnya. Biasanya Biasanya, file berupa program (baik dalam bentuk source atau object) dan data. Sistem operasi bertanggung jawab untuk aktifitas manajemen file berikut : Membuat dan menghapus File Membuat dan menghapus Directory Mendukung primitif untuk manipulasi file dan direktori Pemetaan file ke penyimpan sekunder Backup file pada media penyimpan stable (nonvolatile)
3.5
Silberschatz, Galvin and Gagne 2002
Manajemen Sistem I/O
Sistem I/O terdiri dari : Sistem buffer-caching system Antar muka general device-driver Driver untuk perangkat hardware khusus
3.6
Silberschatz, Galvin and Gagne 2002
3
Manajemen Penyimpan Sekunder Karena main memory (primary storage) adalah volatile
dan terlalu kecil untuk mengakomodasi semua data dan program secara permanen, sistem komputer menyediakan secondary storage untuk back up main memory. Kebanyakan sistem komputer modern menggunakan disk (cakram) untuk media penyimpan baik program dan data Sistem operasi bertanggung jawab pada aktifitas yang berhubungan dengan manajemen disk berikut : Manajemen ruang bebas Alokasi penyimpanan Penjadwalan disk
3.7
Silberschatz, Galvin and Gagne 2002
Networking (Sistem Terdistribusi)
Sistem terdistribusi adalah kumpulan prosessor yang
tidak menggunakan memory dan clock bersama-sama bersama sama. Setiap prosessor mempunyai lokal memori sendiri Prosessor dalam sistem terhubung jaringan komunikasi Komunikasi menggunakan protocol. Sistem terdistribusi menyediakan akses user untuk berbagai resource sistem Akses ke resource yang digunakan bersama-sama mempunyai keuntungan : Meningkatkan kecepatan komputasi Meningkatkan ketersediaan data Meningkatkan kehandalan sistem
3.8
Silberschatz, Galvin and Gagne 2002
4
Sistem Proteksi
Proteksi mengacu pada mekanisme untuk mengontrol
akses oleh program program, proses proses, atau pengguna untuk kedua sumber daya sistem dan user. Mekanisme proteksi harus : Membedakan antara penggunaan resmi (authorized) dan
tidak resmi (unauthorized). menentukan kontrol yang akan dilakukan. menyediakan sarana penegakan hukum (means of
enforcement). )
3.9
Silberschatz, Galvin and Gagne 2002
Sistem Command-Interpreter Beberapa perintah diberikan oleh sistem operasi dengan
pernyataan kontrol yang berhubungan dengan : Pembuatan dan manajemen proses Penanganan I/O Manajemen M j penyimpan i sekunder k d Manajemen main-memory Akses file-system Proteksi Networking
Program yang membaca dan menterjemahkan perangkat
kontrol yang sering disebut command-line interpreter shell (in UNIX)
Fungsinya untuk mendapatkan dan mengeksekusi perintah berikutnya
3.10
Silberschatz, Galvin and Gagne 2002
5
Eksekusi MS-DOS
Saat System Start-up
3.11
Saat Running Program
Silberschatz, Galvin and Gagne 2002
UNIX Menjalankan Multiple Program
3.12
Silberschatz, Galvin and Gagne 2002
6
Layanan Sistem Operasi Eksekusi Program – kapabilitas sistem untuk meletakkan (load)
program ke memori dan menjalankannya. Operasi I/O – karena program user tidak dapat mengeksekusi
operasi p I/O secara langsung, g g, sistem operasi p harus menyediakan beberapa ketentuan mengakses I/O. Manipulasi sistem file – program mempunyai kapabilitas untuk membaca, menulis, membuat dan menghapus file. Komunikasi – pertukaran informasi antara proses yang dieksekusi baik pada komputer yang sama maupun pada komputer yang berbeda melalui jaringan. Implementasi melalui shared memory atau message passing. Deteksi Error – menjamin komputasi yang benar dengan mendeteksi error pada hardware CPU dan memory memory, perangkat I/O atau program user.
3.13
Silberschatz, Galvin and Gagne 2002
Model Komunikasi Komunikasi antar proses melalui message passing atau
shared memory.
Msg Passing
Shared Memory
3.14
Silberschatz, Galvin and Gagne 2002
7
Fungsi Tambahan Sistem Operasi
Fungsi tambahan digunakan untuk membantu user lebih ke menjamin operasi sistem yang efisien
• • •
Alokasi Resource – alokasi resource untuk banyak user atau banyak job yang berjalan pada waktu yang sama Accounting – menyimpan data user yang menggunakan resource dan resorce apa saja yang digunakan untuk account billing atau untuk akumulasi statistik. Proteksi – menjamin semua akses ke resource sistem terkontrol.
3.15
Silberschatz, Galvin and Gagne 2002
System Call System call merupakan antar muka antara program yang
sedang berjalan dan sistem operasi Pada umumnya tersedia dalam instruksi bahasa assembly Bahasa B h pemrograman yang d dapatt di digunakan k untuk t k
menggantikan bahasa assembly untuk pemrograman sistem memungkinkan sistem call dapat dibuat secara langsung (contohnya C dan C++). Tiga metode umum yang digunakan untuk melewatkan
parameter antara program yang berjalan dan sistem operasi. Melewatkan parameter dalam register. Menyimpan parameter dalam tabel di memori dan alamat
table dilewatkan sebagai parameter dalam register. Push (menyimpan) parameter dalam stack oleh program
dan pop stack oleh sistem operasi.
3.16
Silberschatz, Galvin and Gagne 2002
8
Melewatkan parameter melalui Table
3.17
Silberschatz, Galvin and Gagne 2002
Jenis System Call
Process control Manajemen File Manajemen Perangkat Pemeliharaan informasi Komunikasi
3.18
Silberschatz, Galvin and Gagne 2002
9
System Program System program merupakan lingkungan yang nyaman
untuk pengembangan dan eksekusi. Terdiri dari: Manipulasi File Informasi status Modifikasi file Mendukung bahasa pemrograman Eksekusi dan loading program Komunikasi Program aplikasi
User memandang g sistem operasi p seperti p yyang g terlihat
pada system programs, bukan sistem call.
3.19
Silberschatz, Galvin and Gagne 2002
Struktur Sistem MS-DOS
MS-DOS – menyediakan banyak fungsi pada ruang yang
kecil Tidak dibagi dalam modul-modul Meskipun MS-DOS mempunyai beberapa struktur, antar
muka dan level fungsional nya tidak terbagi dengan baik.
3.20
Silberschatz, Galvin and Gagne 2002
10
Struktur Layer MS-DOS
3.21
Silberschatz, Galvin and Gagne 2002
Struktur Sistem UNIX UNIX – karena dibatasi oleh fungsionalitas hardware,
sistem operasi UNIX awalnya mempunyai struktur yang terbatas. SO UNIX terdiri dari 2 bagian terpisah System program Kernel Terdiri dari segala sesuatu dibawah antar muka system-
call dan diatas hardware fisik Menyediakan sistem file, penjadwalan CPU,
manajemen memory dan fungsi sistem operasi yang lain; fungsi dalam jumlah yang banyak untuk satu level
3.22
Silberschatz, Galvin and Gagne 2002
11
UNIX System Structure
3.23
Silberschatz, Galvin and Gagne 2002
Pendekatan Sistem Layer
Sistem operasi dibagi ke dalam sejumlah layer (level),
masing-masing masing masing dibangun dari layer tertinggi sampai terendah. Layer tertinggi (layer 0) adalah hardware, layer tertinggi (layer N) adalah antar muka user Dengan sistem modular, layer mempunyai fungsi (operasi) masing-masing dan layanan untuk layer level yang lebih rendah.
3.24
Silberschatz, Galvin and Gagne 2002
12
Sistem Operasi Layer
3.25
Silberschatz, Galvin and Gagne 2002
Struktur Layer OS/2
3.26
Silberschatz, Galvin and Gagne 2002
13
Struktur Windows NT Client-Server
3.27
Silberschatz, Galvin and Gagne 2002
Virtual Machine
Virtual machine menggunakan pendekatan berlapis untuk
penyelesaian logika. logika Memperlakukan hardware dan kernel sistem operasi seolah-olah mereka semua perangkat keras.. Virtual machine menyediakan antar muka yang identik untuk hardware yang ada. Sistem operasi membuat ilusi dari beberapa proses, masing-masing mengeksekusi prosessor masing masing dengan memory (virtual) sendiri.
3.28
Silberschatz, Galvin and Gagne 2002
14
Virtual Machine (Cont.)
Resource dari komputer fisik digunakan bersama untuk
membuat virtual machine Penjadwalan CPU dapat membuat tampilan seolah-olah
user mempunyai prosessor masing-masing Proses spooling dan sistem file menyediakan virtual card
reader dan virtual line printer Terminal user menyediakan consol operator dari virtual machine
3.29
Silberschatz, Galvin and Gagne 2002
Model Sistem
Non-virtual Machine
Virtual Machine
3.30
Silberschatz, Galvin and Gagne 2002
15
Kelebihan/Kekurangan Virtual Machine Konsep virtual machine menyediakan proteksi yang
lengkap pada resource sistem, karena setiap virtual machine di-isolasi dari virtual machine yang lain. Isolasi i i The ini, Th virtual-machine it l hi conceptt provides id complete l t protection of system resources since each virtual machine is isolated from all other virtual machines. Isolasi ini tidak memungkinkan untuk berbagi dengan resource lain. Sistem virtual machine adalah perangkat riset dan pengembangan sistem operasi. Pengembangan sistem dilakukan pada virtual machine, machine bukan pada mesin fisik dan sehingga tidak mengganggu pengoperasian sistem normal. Konsep virtual machine sulit untuk diimplementasikan karena harus menyediakan duplikat mesin yang tepat.
3.31
Silberschatz, Galvin and Gagne 2002
Java Virtual Machine
Program Java yang dikompilasi merupakan platform-
netral bytecode yang dieksekusi oleh Java Virtual Machine (JVM). JVM terdiri dari - class loader - class verifier - runtime interpreter Just-In-Time (JIT) compiler meningkatkan kinerja
3.32
Silberschatz, Galvin and Gagne 2002
16
Java Virtual Machine
3.33
Silberschatz, Galvin and Gagne 2002
Tujuan Desain Sistem
Sisi User – sistem operasi harus nyaman digunakan,
dipelajari handal dipelajari, handal, aman dan cepat Sisi sistem – sistem operasi harus mudah di-desain,
diimplementasikan dan dipelihara, juga fleksibel, handal, bebas error dan efisien
3.34
Silberschatz, Galvin and Gagne 2002
17
Implementasi Sistem
Secara tradisional ditulis dalam bahasa assembly, sistem
operasi sekarang dapat ditulis dalam bahasa tingkat tinggi. Kode ditulis dalam bahasa tingkat tinggi : Dapat ditulis dengan cepat Lebih padat Lebih mudah dimengerti dan di-debug
Sistem operasi lebih mudah untuk port (berpindah ke
hardware lain) jika ditulis dalam bahasa tingkat tinggi
3.35
Silberschatz, Galvin and Gagne 2002
System Generation (SYSGEN)
Sistem operasi dirancang untuk berjalan pada berbagai
mesin; sistem harus dikonfigurasi untuk setiap komputer tertentu. Program SYSGEN memperoleh informasi mengenai konfigurasi dari sistem hardware Booting – memulai komputer dengan load kernel Bootstrap program – kode yang disimpan dalam ROM yang dapat menempatkan kernel, meletakkannya ke dalam memory dan memulai eksekusi. eksekusi
3.36
Silberschatz, Galvin and Gagne 2002
18