Materi 1
Materi 1
Operating System Concepts – 9th Edition 2.1 Silberschatz, Galvin and Gagne
Layanan Sistem Operasi
Sistem operasi menyediakan lingkungan untuk eksekusi program
dan layanan bagi program dan pengguna
Satu set layanan sistem operasi menyediakan fungsi yang
berguna bagi pengguna:
Antarmuka pengguna – Hampir semua sistem operasi memiliki
antarmuka pengguna ( UI ).
Bervariasi antara Command-Line ( CLI ) , Graphics User
Interface ( GUI ) , Batch
Eksekusi program - Sistem harus dapat memuat program ke
dalam memori dan untuk menjalankan program tersebut,
mengakhiri eksekusi, baik secara normal atau tidak normal
(menunjukkan kesalahan) - either normally or abnormally
(indicating error)
Operasi I/O - Program yang berjalan mungkin memerlukan I/O,
yang mungkin melibatkan file atau perangkat I/O
Manipulasi sistem file - Sistem file merupakan hal yang
menarik. Program perlu membaca dan menulis file dan
direktori, membuat dan menghapusnya, mencarinya, membuat
daftar informasi file, manajemen izin. - Programs need to read
and write files and directories, create and delete them,
search
Operating System Concepts – 9 them,
th
Edition list file Information,
2.2 permission management.
Silberschatz, Galvin and Gagne
Layanan Sistem Operasi (Lanjutan)
Komunikasi – Proses dapat bertukar informasi, pada
komputer yang sama atau antar komputer melalui
jaringan
Komunikasi mungkin melalui memori bersama atau
melalui penyampaian pesan (paket dipindahkan oleh
OS)- Communications may be via shared memory or
through message passing (packets moved by the
OS)
Deteksi kesalahan – OS harus selalu waspada terhadap
kemungkinan kesalahan
Dapat terjadi pada perangkat keras CPU dan
memori, pada perangkat I/O, pada program
pengguna
Untuk setiap jenis kesalahan, OS harus mengambil
tindakan yang tepat untuk memastikan komputasi
yang benar dan konsisten
Fasilitas debugging dapat sangat meningkatkan
kemampuan pengguna dan pemrogram untuk
menggunakan
Operating System Concepts
th
– 9 Edition sistem2.3secara efisien Silberschatz, Galvin and Gagne
Layanan Sistem Operasi (Lanjutan)
Serangkaian fungsi OS lainnya ada untuk memastikan
pengoperasian sistem itu sendiri secara efisien melalui
pembagian sumber daya
Alokasi sumber daya - Ketika beberapa pengguna atau
beberapa pekerjaan berjalan secara bersamaan, sumber
daya harus dialokasikan ke masing-masing pengguna
Banyak jenis sumber daya - Beberapa (seperti siklus CPU,
memori utama, dan penyimpanan file) mungkin memiliki
kode alokasi khusus, yang lain (seperti perangkat I/O)
mungkin memiliki kode permintaan dan rilis umum
Akuntansi - Untuk melacak pengguna mana yang
menggunakan berapa banyak dan jenis sumber daya
komputer apa
Perlindungan dan keamanan - Pemilik informasi yang
disimpan dalam sistem komputer multipengguna atau
jaringan mungkin ingin mengontrol penggunaan informasi
tersebut, proses yang bersamaan tidak boleh saling
mengganggu satu sama lain
Perlindungan melibatkan memastikan bahwa semua
akses ke sumber daya sistem dikendalikan
Keamanan sistem dari pihak luar memerlukan otentikasi
pengguna, hingga melindungi perangkat I/O eksternal dari
upaya akses yang tidak valid
Jika suatu sistem ingin dilindungi dan diamankan,
tindakan
Operating System Concepts
th
– 9 Edition pencegahan harus
2.4 dilakukan di seluruh sistem
Silberschatz, Galvin and Gagne
Pandangan Layanan Sistem Operasi
Operating System Concepts – 9th Edition 2.5 Silberschatz, Galvin and Gagne
Antarmuka Sistem Operasi Pengguna -
CLI
CLI atau penerjemah perintah memungkinkan entri
perintah langsung
Terkadang diimplementasikan di kernel, terkadang
oleh program sistem
Terkadang beberapa rasa diterapkan (Sometimes
multiple flavors implemented) – shell (kerangka)
Terutama mengambil perintah dari pengguna dan
menjalankannya
– Terkadang perintah sudah ada di dalamnya,
terkadang hanya nama program
» Jika yang terakhir, menambahkan fitur baru
tidak memerlukan modifikasi shell
Operating System Concepts – 9th Edition 2.6 Silberschatz, Galvin and Gagne
Penerjemah Perintah Bourne Shell
Operating System Concepts – 9th Edition 2.7 Silberschatz, Galvin and Gagne
Antarmuka Sistem Operasi Pengguna - GUI
Antarmuka metafora desktop yang ramah pengguna
Biasanya mouse, keyboard, dan monitor
Ikon mewakili file, program, tindakan, dll
Berbagai tombol mouse pada objek di antarmuka
menyebabkan berbagai tindakan (memberikan informasi,
opsi, menjalankan fungsi, membuka direktori (dikenal
sebagai folder )
Diciptakan di Xerox PARC
Operating System Concepts – 9th Edition 2.9 Silberschatz, Galvin and Gagne
GUI Mac OS X
Operating System Concepts – 9th Edition 2.10 Silberschatz, Galvin and Gagne
Panggilan Sistem
Antarmuka pemrograman ke layanan yang disediakan
oleh OS
Biasanya ditulis dalam bahasa tingkat tinggi (C atau C+
+)
Application Programming Interface ( API ) tingkat tinggi
daripada penggunaan panggilan sistem langsung
Tiga API yang paling umum adalah API Win32 untuk
Windows, API POSIX untuk sistem berbasis POSIX
(termasuk hampir semua versi UNIX, Linux, dan Mac OS
X), dan API Java untuk mesin virtual Java (JVM)
Mengapa menggunakan API dibandingkan panggilan
sistem?
Operating System Concepts – 9th Edition 2.11 Silberschatz, Galvin and Gagne
Contoh Panggilan Sistem
Urutan panggilan sistem untuk menyalin konten satu file ke
file lain
Operating System Concepts – 9th Edition 2.12 Silberschatz, Galvin and Gagne
Contoh API Standar
Operating System Concepts – 9th Edition 2.13 Silberschatz, Galvin and Gagne
Implementasi Panggilan Sistem
Biasanya, nomor yang terkait dengan setiap panggilan
sistem
Antarmuka panggilan sistem memelihara tabel yang
diindeks berdasarkan angka-angka ini
Operating System Concepts – 9th Edition 2.15 Silberschatz, Galvin and Gagne
Pengalihan Parameter Panggilan
Sistem
Seringkali, lebih banyak informasi diperlukan daripada
sekadar identitas panggilan sistem yang diinginkan
Jenis dan jumlah informasi yang tepat bervariasi
menurut OS dan panggilan
Tiga metode umum yang digunakan untuk meneruskan
parameter ke OS
Paling sederhana: meneruskan parameter dalam
register
Dalam beberapa kasus, mungkin ada lebih banyak
parameter daripada register
Parameter disimpan dalam blok , atau tabel, di
memori, dan alamat blok diteruskan sebagai
parameter dalam register
Pendekatan ini diambil oleh Linux dan Solaris
Parameter ditempatkan, atau didorong , ke tumpukan
oleh program dan muncul dari tumpukan oleh sistem
operasi
Metode blok dan tumpukan tidak membatasi jumlah
atau panjang parameter
Operating System Concepts – 9 Edition
th 2.16
yang diteruskan Silberschatz, Galvin and Gagne
Parameter Melewati Tabel
Operating System Concepts – 9th Edition 2.17 Silberschatz, Galvin and Gagne
Jenis Panggilan Sistem
Pengendalian proses
berakhir, batalkan
memuat, mengeksekusi
buat proses, hentikan proses
dapatkan atribut proses, atur atribut proses
tunggu waktu
acara tunggu, acara sinyal
mengalokasikan dan mengosongkan memori
Operating System Concepts – 9th Edition 2.18 Silberschatz, Galvin and Gagne
Jenis Panggilan Sistem
Manajemen file
membuat file, menghapus file
buka, tutup file
membaca, menulis, mengubah posisi
dapatkan dan atur atribut file
Manajemen perangkat
perangkat permintaan, perangkat rilis
membaca, menulis, mengubah posisi
dapatkan atribut perangkat, atur atribut perangkat
memasang atau melepaskan perangkat secara logis
Operating System Concepts – 9th Edition 2.19 Silberschatz, Galvin and Gagne
Jenis Panggilan Sistem (Lanjutan)
Pemeliharaan informasi
dapatkan waktu atau tanggal, atur waktu atau tanggal
mendapatkan data sistem, mengatur data sistem
mendapatkan dan mengatur atribut proses, file, atau
perangkat
Komunikasi
membuat, menghapus koneksi komunikasi
kirim, terima pesan jika model meneruskan pesan ke
nama host atau nama proses
Dari klien ke server
Model memori bersama membuat dan mendapatkan akses
ke wilayah memori
mentransfer informasi status
memasang dan melepaskan perangkat jarak jauh
Operating System Concepts – 9th Edition 2.20 Silberschatz, Galvin and Gagne
Jenis Panggilan Sistem (Lanjutan)
Perlindungan
Kontrol akses ke sumber daya
Dapatkan dan atur izin
Izinkan dan tolak akses pengguna
Operating System Concepts – 9th Edition 2.21 Silberschatz, Galvin and Gagne
Contoh
System Call Windows dan Unix
Operating System Concepts – 9th Edition 2.22 Silberschatz, Galvin and Gagne
Contoh Perpustakaan C Standar
Program C memanggil panggilan library printf(), yang
memanggil panggilan sistem write()
Operating System Concepts – 9th Edition 2.23 Silberschatz, Galvin and Gagne
Contoh: MS-DOS
Tugas tunggal
Shell dipanggil ketika
sistem di-boot
Metode sederhana
untuk menjalankan
program
Tidak ada proses
yang dibuat
Ruang memori tunggal
Memuat program ke
dalam memori,
menimpa semua
program kecuali kernel
Keluar dari program -> (a) Saat startup sistem (b)
shell dimuat ulang menjalankan program
Operating System Concepts – 9th Edition 2.24 Silberschatz, Galvin and Gagne
Contoh: FreeBSD
Varian Unix
Multitugas
Login pengguna -> aktifkan shell
pilihan pengguna
Shell mengeksekusi panggilan
sistem fork() untuk membuat
proses
Jalankan exec() untuk memuat
program ke dalam proses
Shell menunggu proses
dihentikan atau melanjutkan
dengan perintah pengguna
Proses keluar dengan kode 0 –
tidak ada kesalahan atau > 0 –
kode kesalahan
Operating System Concepts – 9th Edition 2.25 Silberschatz, Galvin and Gagne
Program Sistem
Program sistem menyediakan lingkungan yang
nyaman untuk pengembangan dan eksekusi program.
Mereka dapat dibagi menjadi:
Manipulasi file
Informasi status terkadang disimpan dalam
modifikasi File
Dukungan bahasa pemrograman
Pemuatan dan eksekusi program
Komunikasi
Layanan latar belakang
Program aplikasi
Operating System Concepts – 9th Edition 2.26 Silberschatz, Galvin and Gagne
Program Sistem
Menyediakan lingkungan yang nyaman untuk
pengembangan dan eksekusi program
Beberapa di antaranya hanyalah antarmuka pengguna
untuk panggilan sistem; yang lain jauh lebih
kompleks
Manajemen file - Membuat, menghapus, menyalin,
mengganti nama, mencetak, membuang, membuat
daftar, dan secara umum memanipulasi file dan direktori
Informasi status
Beberapa meminta informasi sistem - tanggal, waktu,
jumlah memori yang tersedia, ruang disk, jumlah
pengguna
Lainnya memberikan informasi kinerja, logging, dan
debugging yang terperinci
Biasanya, program ini memformat dan mencetak
keluarannya ke terminal atau perangkat keluaran
lainnya
Beberapa sistem menerapkan registri - digunakan
untuk
Operating System Concepts
th menyimpan dan2.27
– 9 Edition mengambil informasi
Silberschatz, Galvin and Gagne
Program Sistem (Lanjutan)
Modifikasi file
Editor teks untuk membuat dan memodifikasi file
Perintah khusus untuk mencari isi file atau
melakukan transformasi teks
Dukungan bahasa pemrograman - Kompiler, assembler,
debugger, dan interpreter terkadang disediakan
Pemuatan dan eksekusi program - Pemuat absolut,
pemuat yang dapat direlokasi, editor linkage, dan
pemuat overlay, sistem debugging untuk tingkat yang
lebih tinggi dan bahasa mesin
Komunikasi - Menyediakan mekanisme untuk membuat
koneksi virtual antara proses, pengguna, dan sistem
komputer
Memungkinkan pengguna untuk mengirim pesan ke
layar satu sama lain , menjelajahi halaman web,
mengirim pesan email, login jarak jauh, mentransfer
file dari satu mesin ke mesin lainnya
Operating System Concepts – 9th Edition 2.28 Silberschatz, Galvin and Gagne
Program Sistem (Lanjutan)
Layanan Latar Belakang
Luncurkan saat boot
Beberapa untuk startup sistem, lalu diakhiri
Beberapa dari boot sistem hingga shutdown
Menyediakan fasilitas seperti pemeriksaan disk,
penjadwalan proses, pencatatan kesalahan,
pencetakan
Jalankan dalam konteks pengguna bukan konteks
kernel
Dikenal sebagai layanan , subsistem , daemon
Program aplikasi
Jangan berhubungan dengan sistem
Dijalankan oleh pengguna
Biasanya tidak dianggap sebagai bagian dari OS
Diluncurkan dengan baris perintah, klik mouse,
sodokan jari
Operating System Concepts – 9th Edition 2.29 Silberschatz, Galvin and Gagne
Desain
dan Implementasi Sistem Operasi
Desain dan Implementasi OS tidak “ dapat dipecahkan ” ,
namun beberapa pendekatan telah terbukti berhasil
Operating System Concepts – 9th Edition 2.30 Silberschatz, Galvin and Gagne
Desain dan
Implementasi Sistem Operasi (Lanjutan)
Prinsip penting untuk dipisahkan
Kebijakan : Apa yang akan dilakukan?
Mekanisme : Bagaimana cara melakukannya?
Operating System Concepts – 9th Edition 2.31 Silberschatz, Galvin and Gagne
Penerapan
Banyak variasi
OS awal dalam bahasa assembly
Kemudian bahasa pemrograman sistem seperti Algol,
PL/1
Sekarang C, C++
Sebenarnya biasanya campuran bahasa
Level terendah dalam perakitan
Bagian utama di C
Program sistem dalam C, C++, bahasa skrip seperti
PERL, Python, skrip shell
Bahasa tingkat tinggi lebih mudah untuk di-porting ke
perangkat keras lain
Tapi lebih lambat
Emulasi dapat memungkinkan OS berjalan pada
perangkat keras non-asli
Operating System Concepts – 9th Edition 2.32 Silberschatz, Galvin and Gagne
Struktur Sistem Operasi
OS tujuan umum adalah program yang sangat besar
Berbagai cara menyusunnya sebagai berikut
Operating System Concepts – 9th Edition 2.33 Silberschatz, Galvin and Gagne
Struktur Sederhana
Yaitu MS-DOS – ditulis
untuk menyediakan
fungsionalitas paling
banyak dalam ruang paling
sedikit
Tidak dibagi menjadi
beberapa modul
Meskipun MS-DOS
memiliki beberapa
struktur, antarmuka dan
tingkat
fungsionalitasnya tidak
terpisah dengan baik
Operating System Concepts – 9th Edition 2.34 Silberschatz, Galvin and Gagne
UNIX
Operating System Concepts – 9th Edition 2.35 Silberschatz, Galvin and Gagne
Struktur Sistem UNIX Tradisional
Lebih dari sederhana tetapi tidak sepenuhnya berlapis
Operating System Concepts – 9th Edition 2.36 Silberschatz, Galvin and Gagne
Pendekatan Berlapis
Sistem operasi dibagi
menjadi beberapa
lapisan (level),
masing-masing
dibangun di atas
lapisan bawah.
Lapisan paling bawah
(lapisan 0), adalah
perangkat keras;
yang tertinggi
(lapisan N) adalah
antarmuka
pengguna.
Dengan modularitas,
lapisan dipilih
sedemikian rupa
sehingga masing-
masing
Operating System Concepts – 9th Edition 2.37 Silberschatz, Galvin and Gagne
Struktur Sistem Mikrokernel
Memindahkan sebanyak mungkin dari kernel ke ruang
pengguna
Contoh Mach dari mikrokernel
Kernel Mac OS X ( Darwin ) sebagian didasarkan
pada Mach
Manfaat:
Lebih mudah untuk memperluas mikrokernel
Lebih mudah untuk mem-porting sistem operasi ke
arsitektur baru
Lebih andal (lebih sedikit kode yang berjalan dalam
mode kernel)
Lebih aman
Kerugian:
Operating System
Concepts – 9th Edition 2.38 Silberschatz, Galvin and Gagne
Struktur Sistem Mikrokernel
Operating System Concepts – 9th Edition 2.39 Silberschatz, Galvin and Gagne
Modul
Sebagian besar sistem operasi modern menerapkan loadable
modul kernel
Menggunakan pendekatan berorientasi objek
Setiap komponen inti terpisah
Masing-masing berbicara satu sama lain melalui
antarmuka yang dikenal
Masing-masing dapat dimuat sesuai kebutuhan di dalam
kernel
Operating System Concepts – 9th Edition 2.40 Silberschatz, Galvin and Gagne
Pendekatan Modular Solaris
Operating System Concepts – 9th Edition 2.41 Silberschatz, Galvin and Gagne
Sistem Hibrid
Kebanyakan sistem operasi modern sebenarnya bukan satu
model murni
Hibrid menggabungkan berbagai pendekatan untuk
memenuhi kebutuhan kinerja, keamanan, dan kegunaan
Kernel Linux dan Solaris dalam ruang alamat kernel,
sangat monolitik, ditambah modular untuk fungsionalitas
pemuatan dinamis
Windows sebagian besar monolitik, ditambah mikrokernel
untuk kepribadian subsistem yang berbeda
Apple Mac OS X hybrid, berlapis, Aqua UI plus lingkungan
pemrograman Cocoa
Di bawah ini adalah kernel yang terdiri dari mikrokernel
Mach dan bagian BSD Unix, ditambah kit I/O dan modul
yang dapat dimuat secara dinamis (disebut ekstensi
kernel )
Operating System Concepts – 9th Edition 2.42 Silberschatz, Galvin and Gagne
Struktur Mac OS X
Operating System Concepts – 9th Edition 2.43 Silberschatz, Galvin and Gagne
iOS
OS seluler Apple untuk iPhone , iPad
Terstruktur pada Mac OS X,
fungsionalitas tambahan
Tidak menjalankan aplikasi OS X
secara asli
Juga berjalan pada arsitektur
CPU yang berbeda (ARM vs. Intel)
Cocoa Touch Objective-C API untuk
mengembangkan aplikasi
layanan media untuk grafik, audio,
video
Layanan inti menyediakan
komputasi awan, database
Sistem operasi inti, berdasarkan
kernel Mac OS X
Operating System Concepts – 9th Edition 2.44 Silberschatz, Galvin and Gagne
Android
Dikembangkan oleh Open Handset Alliance (kebanyakan
Google)
Sumber Terbuka
Tumpukan serupa dengan iOS
Berdasarkan kernel Linux tetapi dimodifikasi
Menyediakan proses, memori, manajemen driver
perangkat
Menambahkan manajemen daya
Lingkungan runtime mencakup kumpulan perpustakaan
inti dan mesin virtual Dalvik
Aplikasi yang dikembangkan di Java plus Android API
File kelas Java dikompilasi ke bytecode Java
kemudian diterjemahkan menjadi dapat dieksekusi
kemudian dijalankan di Dalvik VM
Perpustakaan mencakup kerangka kerja untuk browser
web (webkit), database (SQLite), multimedia, libc yang
lebih kecil
Operating System Concepts – 9th Edition 2.45 Silberschatz, Galvin and Gagne
Arsitektur Android
Operating System Concepts – 9th Edition 2.46 Silberschatz, Galvin and Gagne
Debugging Sistem Operasi
Men-debug adalah menemukan dan memperbaiki
kesalahan, atau bug
OS menghasilkan file log berisi informasi kesalahan
Kegagalan suatu aplikasi dapat menghasilkan core dump
file menangkap memori proses
Kegagalan sistem operasi dapat menghasilkan crash
dump file yang berisi memori kernel
Selain kerusakan, penyesuaian kinerja dapat
mengoptimalkan kinerja sistem
Kadang-kadang menggunakan daftar jejak aktivitas,
dicatat untuk dianalisis
Pembuatan profil adalah pengambilan sampel
penunjuk instruksi secara berkala untuk mencari tren
statistik
Operating System Concepts – 9th Edition 2.48 Silberschatz, Galvin and Gagne
jejak DT
Alat DTrace di Solaris,
FreeBSD, Mac OS X
memungkinkan
instrumentasi
langsung pada sistem
produksi
Probe diaktifkan
ketika kode dijalankan
dalam penyedia ,
menangkap data
status dan
mengirimkannya ke
konsumen probe
tersebut
Contoh perpindahan
panggilan
Operating System sistem
Concepts – 9 Edition
th 2.49 Silberschatz, Galvin and Gagne
jejak DT
Kode DTrace untuk
mencatat jumlah
waktu setiap proses
dengan UserID 101
dalam mode berjalan
(pada CPU) dalam
nanodetik
Operating System Concepts – 9th Edition 2.50 Silberschatz, Galvin and Gagne
Generasi Sistem Operasi
Sistem operasi dirancang untuk dijalankan pada kelas
mesin mana pun; sistem harus dikonfigurasi untuk setiap
situs komputer tertentu
Operating System Concepts – 9th Edition 2.51 Silberschatz, Galvin and Gagne
Boot Sistem
Ketika daya diinisialisasi pada sistem, eksekusi dimulai
pada lokasi memori tetap
ROM firmware digunakan untuk menyimpan kode
boot awal
Sistem operasi harus tersedia untuk perangkat keras
sehingga perangkat keras dapat memulainya
Sepotong kecil kode – bootstrap loader , disimpan
dalam ROM atau EEPROM untuk menemukan lokasi
kernel, memuatnya ke dalam memori, dan
memulainya
Terkadang proses dua langkah di mana blok boot di
lokasi tetap dimuat oleh kode ROM, yang memuat
bootstrap loader dari disk
Pemuat bootstrap umum, GRUB , memungkinkan
pemilihan kernel dari beberapa disk, versi, opsi kernel
Kernel dimuat dan sistem kemudian berjalan
Operating System Concepts – 9th Edition 2.52 Silberschatz, Galvin and Gagne
Akhir Bab 2