Operasi
Operating System Concepts Essentials– 8th Edition 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.2 Silberschatz, Galvin and Gagne ©2011
Layanan Sistem Operasi
Operating System Concepts Essentials – 8th Edition 2.3 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)
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.4 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
Komunikasi dapat dilakukan melalui shared memory atau
message passing (paket yang dipindahkan oleh OS)
Error detection – sistem operasi harus selalu aware terhadap
kemungkinan error
Error dapat terjadi dalam CPU, memory hardware, I/O devices,
dan user program
Untuk setiap error, sistem operasi harus dapat mengambil
tindakan yang tepat untuk memastikan correctness dan
konsistensi dalam komputasi
Fasilitas debugging dapat meningkatkan kemampuan users dan
programmers untuk melakukan efisiensi pada sistem
Operating System Concepts Essentials – 8th Edition 2.5 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
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
Protection memastikan seluruh akses terhadap resources berada
dalam kontrol
Security melindungi sistem dari pihak asing dengan mekanisme user
authentication, yang dapat di-extend untuk menjaga I/O devices dari
invalid access attempts
Mekanisme pencegahan harus dibangun dalam sistem.
Operating System Concepts Essentials – 8th Edition 2.6 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.8 Silberschatz, Galvin and Gagne ©2011
Bourne Shell Command Interpreter
Operating System Concepts Essentials – 8th Edition 2.9 Silberschatz, Galvin and Gagne ©2011
User Interface - GUI
Operating System Concepts Essentials – 8th Edition 2.10 Silberschatz, Galvin and Gagne ©2011
The Mac OS X GUI
Operating System Concepts Essentials – 8th Edition 2.11 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.13 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.14 Silberschatz, Galvin and Gagne ©2011
Contoh API Standar
Fungsi ReadFile() dalam Win32 API — fungsi untuk membaca file
Operating System Concepts Essentials – 8th Edition 2.15 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.16 Silberschatz, Galvin and Gagne ©2011
Hubungan API – System Calls – OS
Operating System Concepts Essentials – 8th Edition 2.17 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.18 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.19 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.20 Silberschatz, Galvin and Gagne ©2011
Perbandingan System Calls
Operating System Concepts Essentials – 8th Edition 2.21 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.23 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.24 Silberschatz, Galvin and Gagne ©2011
System Programs
File modification
Text editors untuk modifkasi file
Perintah khusus untuk melakukan search konten dari file atau
melakukan manipulasi teks
Operating System Concepts Essentials – 8th Edition 2.25 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 mudah diterapkan dan
maintainance; flexible, reliable, error-free, dan efisien
Mekanisme menentukan bagaimana cara untuk melakukan sesuatu,
sedangkan policy menentukan apa yang akan dilakukan
Pemisahan policy dari mekasnisme memaksimalkan fleksibilitas
sistem jika terjadi perubahan policy di kemudian hari
Operating System Concepts Essentials – 8th Edition 2.27 Silberschatz, Galvin and Gagne ©2011
Struktur Sistem UNIX
Operating System Concepts Essentials – 8th Edition 2.28 Silberschatz, Galvin and Gagne ©2011
Struktur Sistem UNIX
Operating System Concepts Essentials – 8th Edition 2.29 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.31 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
“Open Virtual Machine Format”, format standar virtual machines,
memungkinkan VM berjalan pada beberapa platform yang berbeda
Operating System Concepts Essentials – 8th Edition 2.32 Silberschatz, Galvin and Gagne ©2011
Virtual Machines
Operating System Concepts Essentials – 8th Edition 2.33 Silberschatz, Galvin and Gagne ©2011
Arsitektur VMware
Operating System Concepts Essentials – 8th Edition 2.34 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
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.”
Operating System Concepts Essentials – 8th Edition 2.35 Silberschatz, Galvin and Gagne ©2011
Operating System Generation
Sistem operasi didesain untuk dapat berjalan pada setiap jenis mesin;
sistem harus dikonfigurasi untuk setiap lokasi sistem komputer secara
spesifik, sehingga dapat memulai aktivitas
Operating System Concepts Essentials – 8th Edition 2.36 Silberschatz, Galvin and Gagne ©2011
System Boot
Bootstrap program – kode yang disimpan dalam ROM dan dapat
menentukan lokasi kernel, me-load ke dalam memori dan memulai
proses eksekusi
Booting – proses memulai aktivitas komputer dengan me-load kernel
Pada kebanyakan sistem, proses boot berlangsung sebagai berikut:
Bootstrap program menentukan lokasi kernel, me-load ke dalam
memori, dan memulai aktivitas
Kernel menginisialisasi hardware dan sistem file root sudah
terpasang
Saat komputer pertama kali dihidupkan, boot loader yang terletak di
firmware nonvolatile yang dikenal sebagai BIOS dijalankan. Boot
loader awal ini biasanya tidak lebih dari memuat boot loader kedua,
yang terletak di lokasi disk tetap yang disebut blok boot. Program
yang disimpan di blok boot memuat seluruh sistem operasi ke dalam
memori dan memulai eksekusinya
Operating System Concepts Essentials – 8th Edition 2.37 Silberschatz, Galvin and Gagne ©2011