Struktur OS
Struktur OS
Operasi
Operating System Concepts Essentials– 8th Edition Silberschatz, Galvin and Gagne ©2011
ENROLLMENT KEY
Sistem-operasi-ra-2019
Sistem-operasi-rb-2019
Sistem-operasi-rc-2019
Sistem-operasi-rd-2019
Operating System Concepts Essentials – 8th Edition 2.2 Silberschatz, Galvin and Gagne ©2011
Tujuan
■ Mendeskripsikan services yang disediakan sistem operasi kepada
users, proses, dan sistem terkait
Operating System Concepts Essentials – 8th Edition 2.3 Silberschatz, Galvin and Gagne ©2011
Layanan Sistem Operasi
Operating System Concepts Essentials – 8th Edition 2.4 Silberschatz, Galvin and Gagne ©2011
Layanan Sistem Operasi
■ Sistem operasi menyediakan environment untuk melakukan eksekusi program
dan services kepada program dan users
■ Satu set layanan sistem operasi menyediakan fungsi – fungsi yang berguna bagi
users:
● User interface – mayoritas sistem operasi memiliki user interface (UI)
4 Command-Line (CLI), Graphics User Interface (GUI), Batch
● Program execution – sistem harus dapat me-load program ke dalam
memori, menjalankan program, dan mengakhiri program baik itu normal
maupun tidak (indikasi error)
● I/O operations – program yang sedang berjalan membutuhkan I/O, yang
melibatkan suatu file atau I/O device
● File-system manipulation – file-system merupakan bagian dari layanan
sistem operasi. Program akan melakukan aktivitas read dan write file dan
direktori, create dan delete, search, list, dan permission management.
Operating System Concepts Essentials – 8th Edition 2.5 Silberschatz, Galvin and Gagne ©2011
Layanan Sistem Operasi
● Communications – setiap proses dapat saling bertukar informasi,
baik itu dalam satu komputer maupun antar komputer yang
terhubung dalam jaringan
4 Komunikasi dapat dilakukan melalui shared memory atau
message passing (paket yang dipindahkan oleh OS)
● Error detection – sistem operasi harus selalu aware terhadap
kemungkinan error
4 Error dapat terjadi dalam CPU, memory hardware, I/O devices,
dan user program
4 Untuk setiap error, sistem operasi harus dapat mengambil
tindakan yang tepat untuk memastikan correctness dan
konsistensi dalam komputasi
4 Fasilitas
debugging dapat meningkatkan kemampuan users dan
programmers untuk melakukan efisiensi pada sistem
Operating System Concepts Essentials – 8th Edition 2.6 Silberschatz, Galvin and Gagne ©2011
Layanan Sistem Operasi
Operating System Concepts Essentials – 8th Edition 2.7 Silberschatz, Galvin and Gagne ©2011
Layanan Sistem Operasi
■ Fungsi lain dari sistem operasi adalah untuk memastikan efisiensi dari setiap
operasi pada sistem melalui resource sharing
● Resource allocation – ketika multiple users atau multiple jobs berjalan
secara konkuren, resources harus dapat dialokasikan dengan proporsional
4 Tipe resources – beberapa (seperti CPU cycles, main memory, dan file
storage) memiliki special allocation code, lainnya (seperti I/O devices)
memiliki mekanisme general request dan release code
● Accounting – untuk melacak penggunaan resources dari users
● Protection and security – pemilik dari informasi yang disimpan dalam
sistem multiusers atau networked computer system dapat mengontrol
penggunaan informasi tersebut, sehingga proses yang berjalan secara
konkuren tidak akan saling mengganggu satu sama lain
4 Protection memastikan seluruh akses terhadap resources berada
dalam kontrol
4 Security melindungi sistem dari pihak asing dengan mekanisme user
authentication, yang dapat di-extend untuk menjaga I/O devices dari
invalid access attempts
4 Mekanisme pencegahan harus dibangun dalam sistem.
4 “A chain is only as strong as its weakest link”
Operating System Concepts Essentials – 8th Edition 2.8 Silberschatz, Galvin and Gagne ©2011
User Interface
Operating System Concepts Essentials– 8th Edition Silberschatz, Galvin and Gagne ©2011
User Interface - CLI
Operating System Concepts Essentials – 8th Edition 2.10 Silberschatz, Galvin and Gagne ©2011
Bourne Shell Command Interpreter
Operating System Concepts Essentials – 8th Edition 2.11 Silberschatz, Galvin and Gagne ©2011
User Interface - GUI
Operating System Concepts Essentials – 8th Edition 2.12 Silberschatz, Galvin and Gagne ©2011
The Mac OS X GUI
Operating System Concepts Essentials – 8th Edition 2.13 Silberschatz, Galvin and Gagne ©2011
System Calls
Operating System Concepts Essentials– 8th Edition Silberschatz, Galvin and Gagne ©2011
System Calls
■ Programming interface untuk services yang disediakan oleh sistem
operasi
Operating System Concepts Essentials – 8th Edition 2.15 Silberschatz, Galvin and Gagne ©2011
Contoh System Calls
■ Urutan system call untuk mengkopi isi dari satu file ke file yang lain
Operating System Concepts Essentials – 8th Edition 2.16 Silberschatz, Galvin and Gagne ©2011
Contoh API Standar
■ Fungsi ReadFile() dalam Win32 API — fungsi untuk membaca file
Operating System Concepts Essentials – 8th Edition 2.17 Silberschatz, Galvin and Gagne ©2011
Implementasi System Calls
■ Setiap system call terasosiasi dengan nomor tertentu
● System-call interface membuat sebuah tabel berisi indeks dari
nomor – nomor tersebut
Operating System Concepts Essentials – 8th Edition 2.18 Silberschatz, Galvin and Gagne ©2011
Hubungan API – System Calls – OS
Operating System Concepts Essentials – 8th Edition 2.19 Silberschatz, Galvin and Gagne ©2011
Contoh C Library Standar
■ Program C memanggil printf() library call, yang kemudian memanggil
write() system call
Operating System Concepts Essentials – 8th Edition 2.20 Silberschatz, Galvin and Gagne ©2011
System Calls Parameter Passing
■ Seringkali lebih banyak informasi yang di-pass lebih dibutuhkan
dibanding identitas sederhana dari system call
● Tipe dan jumlah informasi berbeda tergantung sistem operasi
Operating System Concepts Essentials – 8th Edition 2.21 Silberschatz, Galvin and Gagne ©2011
Parameter Passing dengan Tabel
Operating System Concepts Essentials – 8th Edition 2.22 Silberschatz, Galvin and Gagne ©2011
Tipe System Calls
■ Process control
● end, abort
● load, execute
● create process, terminate process
● get process attributes, set process attributes
● wait for time
● wait event, signal event
● allocate dan free memory
■ Manajemen File
● create, delete file
● open, close file
● read, write, reposition
● get dan set atribut file
Operating System Concepts Essentials – 8th Edition 2.23 Silberschatz, Galvin and Gagne ©2011
Tipe System Calls
■ Manajemen device
● request device, release device
● read, write, reposition
● get device attributes, set device attributes
● logically attach atau detach devices
■ Information maintenance
● get time atau date, set time atau date
● get system data, set system data
● get dan set process, file, atau device attributes
■ Communications
● create, delete communication connection
● send, receive messages
● transfer status information
● attach dan detach remote devices
Operating System Concepts Essentials – 8th Edition 2.24 Silberschatz, Galvin and Gagne ©2011
Perbandingan System Calls
Operating System Concepts Essentials – 8th Edition 2.25 Silberschatz, Galvin and Gagne ©2011
Contoh: MS-DOS
■ Single-tasking
■ Shell dipanggil ketika sistem di-boot
■ Metode sederhana untuk menjalankan program
● Tidak ada proses yang di-create
■ Single memory space
■ Load program ke dalam memori, meng-overwrite seluruh data kecuali
kernel
■ Program exit -> shell reloaded
Operating System Concepts Essentials – 8th Edition 2.26 Silberschatz, Galvin and Gagne ©2011
Eksekusi MS-DOS
Operating System Concepts Essentials – 8th Edition 2.27 Silberschatz, Galvin and Gagne ©2011
System Programs
Operating System Concepts Essentials– 8th Edition Silberschatz, Galvin and Gagne ©2011
System Programs
Operating System Concepts Essentials – 8th Edition 2.29 Silberschatz, Galvin and Gagne ©2011
System Programs
■ Beberapa diantara system programs merupakan user interfaces untuk
system calls; beberapa diantaranya lebih kompleks dari itu
■ File management - create, delete, copy, rename, print, dump, list, dan
operasi dalam manipulasi file dan direktori
■ Status information
● Informasi mengenai - date, time, jumlah memori available, disk
space, jumlah users
● Informasi detail terkait performance, logging, dan debugging
● Program mem-print output ke terminal atau output devices yang
lain
● Implementasi registry – digunakan untuk menyimpan dan
mengambil informasi konfigurasi
Operating System Concepts Essentials – 8th Edition 2.30 Silberschatz, Galvin and Gagne ©2011
System Programs
■ File modification
● Text editors untuk create dan modifkasi file
● Perintah khusus untuk melakukan search konten dari file atau
melakukan manipulasi teks
Operating System Concepts Essentials – 8th Edition 2.31 Silberschatz, Galvin and Gagne ©2011
Desain dan Implementasi
Operating System Concepts Essentials– 8th Edition Silberschatz, Galvin and Gagne ©2011
Desain dan Implementasi
■ Struktur internal sistem operasi memiliki varian yang cukup luas
■ Berawal dari pendefinisian tujuan dan spesifikasi sistem operasi
■ Dipengaruhi oleh pemilihan hardware dan tipe sistem
■ User goals dan system goals
● User goals – sistem operasi harus memberikan kenyamanan
dalam penggunaan, mudah dipelajari, reliable, aman, dan cepat
● System goals – sistem operasi harus dapat memudahkan proses
desain, implementasi, dan maintainance; flexible, reliable, error-
free, dan efisien
■ Mekanisme menentukan bagaimana cara untuk melakukan sesuatu
sementara policy menentukan apa yang akan diselesakan
● Pemisahan memaksimalkan fleksibilitas sistem jika terjadi
perubahan policy di kemudian hari
Operating System Concepts Essentials – 8th Edition 2.33 Silberschatz, Galvin and Gagne ©2011
Struktur Sederhana (MS-DOS)
Operating System Concepts Essentials – 8th Edition 2.34 Silberschatz, Galvin and Gagne ©2011
Struktur Sederhana (MS-DOS)
■ MS-DOS – ditulis untuk menyediakan mayoritas fungsi dalam space
minimum
● Tidak dibagi – bagi ke dalam modul kecil
● Interface dan level of functionality tidak dipisahkan dengan baik
Operating System Concepts Essentials – 8th Edition 2.35 Silberschatz, Galvin and Gagne ©2011
Layered Approach
Operating System Concepts Essentials – 8th Edition 2.36 Silberschatz, Galvin and Gagne ©2011
Layered Approach
■ OS terbagi menjadi beberapa layer (level), dimana OS sendiri
dibangun pada bagian layer atas bagian bawah. Layer paling bawah
(layer 0) merupakan hardware; layer paling atas (layer N) merupakan
user interface.
Operating System Concepts Essentials – 8th Edition 2.37 Silberschatz, Galvin and Gagne ©2011
Struktur Sistem UNIX
Operating System Concepts Essentials – 8th Edition 2.38 Silberschatz, Galvin and Gagne ©2011
Struktur Sistem UNIX
Operating System Concepts Essentials – 8th Edition 2.39 Silberschatz, Galvin and Gagne ©2011
Struktur Mikrokernel
Operating System Concepts Essentials – 8th Edition 2.40 Silberschatz, Galvin and Gagne ©2011
Struktur Mikrokernel
■ Mengimplementasikan fitur – fitur penting saja pada kernel dan
beberapa bagian dari kernel dipindahkan ke users space
■ Keuntungan:
● Mudah untuk meng-extend mikrokernel
● Mudah untuk porting OS ke dalam arsitektur baru
● Reliable (mengurangi program yang berjalan pada kernel mode)
● Lebih aman
■ Kerugian:
● Overhead communications antara user space dan kernel space
Operating System Concepts Essentials – 8th Edition 2.41 Silberschatz, Galvin and Gagne ©2011
Pendekatan Modular
Operating System Concepts Essentials – 8th Edition 2.42 Silberschatz, Galvin and Gagne ©2011
Pendekatan Modular
■ Mayoritas OS moderen menimplementasi kernel modules
● Menggunakan pendekatan object-oriented
● Setiap core component terpisah
● Setiap modul berkomunikasi melalui suatu interfaces
● Setiap modul dapat di-load di dalam kernel
Operating System Concepts Essentials – 8th Edition 2.43 Silberschatz, Galvin and Gagne ©2011
Virtual Machines
Operating System Concepts Essentials– 8th Edition Silberschatz, Galvin and Gagne ©2011
Virtual Machines
■ Sistem operasi dari host menciptakan ilusi seolah – olah proses yang
berjalan memiliki prosesor dan memori (virtual) sendiri.
Operating System Concepts Essentials – 8th Edition 2.45 Silberschatz, Galvin and Gagne ©2011
Virtual Machines
■ Muncul secara komersial dalam IBM mainframes pada 1972
■ Secara prinsip, multiple execution environments (dengan sistem
operasi yang berbeda) dapat men-share hardware yang sama
■ Host diproteksi dari aktivitas virtual machine
■ Sharing file dapat dilakukan dengan kontrol tertentu
■ Berguna untuk proses development dan testing
■ Consolidation beberapa low-resource use systems ke dalam sistem
yang lebih sibuk
■ “Open Virtual Machine Format”, format standar virtual machines,
memungkinkan VM berjalan pada beberapa platform yang berbeda
Operating System Concepts Essentials – 8th Edition 2.46 Silberschatz, Galvin and Gagne ©2011
Virtual Machines
Operating System Concepts Essentials – 8th Edition 2.47 Silberschatz, Galvin and Gagne ©2011
Arsitektur VMware
Operating System Concepts Essentials – 8th Edition 2.48 Silberschatz, Galvin and Gagne ©2011
Java Virtual Machine
Operating System Concepts Essentials – 8th Edition 2.49 Silberschatz, Galvin and Gagne ©2011
Operating System Debugging
■ Debugging adalah proses mencari dan memperbaiki error yang sering
dinamakan bugs
■ Sistem operasi meng-generate log files berisi informasi error
■ Kegagalan running aplikasi program secara otomatis meng-generate
core dump file yang memuat informasi memori dari proses
■ Kegagalan running sistem operasi secara otomatis meng-generate
crash dump file yang memuat kernel memory
■ Performance tuning dapat mengoptimisasi system performance
■ Kernighan’s Law: “Debugging is twice as hard as writing the code in the
first place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.”
■ DTrace tool dalam Solaris, FreeBSD, Mac OS X memungkinkan live
instrumentation pada sistem produksi
● Probes di-launch ketika kode program dieksekusi, meng-capture
status data dan mengirimnya kepada konsumen
Operating System Concepts Essentials – 8th Edition 2.50 Silberschatz, Galvin and Gagne ©2011
Operating System Generation
■ Sistem operasi didesain untuk dapat berjalan pada setiap jenis mesin;
sistem harus dikonfigurasi untuk setiap sistem komputer yang spesifik
Operating System Concepts Essentials – 8th Edition 2.51 Silberschatz, Galvin and Gagne ©2011
System Boot
■ Sistem operasi harus dibuat selalu available untuk hardware,
sehingga hardware dapat memulai aktiviats
● Potongan kecil dari kode – bootstrap loader, menentukan lokasi
kernel, me-load ke dalam memori, dan memulai aktivitas
● dua tahap dari proses dimana boot block berada pada lokasi fix
yang me-load bootstrap loader
● Ketika power menginisialisasi sistem, proses eksekusi pada
lokasi memori yang fix
4 Firmware digunakan untuk menahan initial boot code
Operating System Concepts Essentials – 8th Edition 2.52 Silberschatz, Galvin and Gagne ©2011