Struktur Sistem Operasi
description
Transcript of Struktur Sistem Operasi
1
Sistem Operasi
Husnihttp://husni.trunojoyo.ac.id
http://[email protected]
YM, GMail, Facebook, Twitter, Plurk: Lunix96
Struktur Sistem Operasi Pertemuan ke-3
Jurusan Teknik Informatika Universitas Trunojoyo Semester Genap 2009/2010
2
...akan dibahas• Layanan sistem operasi• Antarmuka pengguna sistem operasi• System call• Jenis system call• Program sistem• Rancangan & Implementasi sistem operasi• Struktur sistem operasi• Mesin virtual• Debugging sistem operasi• Memulai sistem operasi
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
3
Tujuan
• Mampu mendeskripsikan layanan yang disediakan sistem operasi kepada pengguna, proses dan sistem lain
• Mengetahui cara menstrukturkan sistem operasi
• Memahami bagaimana sistem operasi diinstal dan dicustom, dan bagaimana sistem tersebut boot (mulai beroperasi).
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
4
Layanan Sistem Operasi• Himpunan layanan sistem operasi (SO) menyediakan fungsi yang
bermanfaat untuk pengguna:– User interface – Hampir semua SO mempunyai user interface
(UI)• Bervariasi: Command-Line (CLI), Graphics User Interface
(GUI), Batch– Eksekusi program – Sistem harus mampu memuat suatu
program ke dalam memory dan menjalankan program tersebut, mengakhiri eksekusi, normal atau tidak normal (error)
– Operasi I/O - Program yang berjalan mungkin memerlukan I/O, dapat mencakup file atau perangkat I/O
– Manipulasi sistem file - Program perlu membaca dan menulis file dan direktori, membuat dan menghapusnya, mencarinya, menampilkan daftar informasi file, manajemen perijinan.
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
5
Layanan Sistem OperasiStruktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
6
Layanan Sistem Operasi• Himpunan layanan sistem operasi menyediakan fungsi
yang bermanfaat bagi penguna:– Komunikasi – Proses bertukar informasi pada komputer
yang sama atau antar komputer dalam jaringan• Komunikasi mungkin melalui shared memory atau message
passing (paket dipindahkan oleh SO)– Deteksi error – SO perlu secara konstan mengetahui
kemungkinan error• Dapat terjadi dalam CPU & memory, perangkat I/O, program
pengguna• Pada setiap jenis error, SO akan mengambil tindakan tepat
untuk memastikan komputasi benar & konsisten• Fasilitas debugging dapat meningkatkan kemampuan
pengguna dan programmer untuk secara efisien memanfaatkan sistem.
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
7
Layanan Sistem Operasi• Himpunan lain dari fungsi SO hadir untuk
memastikan operasi efisien dari sistem melalui resource sharing.– Resource allocation – Ketika banyak pengguna atau
kerja (job) berjalan secara konkuren, resources harus dialokasikan ke setiap yang membutuhkannya.
• Banyak jenis resources - Beberapa (seperti siklus CPU, main memory & penyimpanan file) dapat mempunyai kode alokasi khusus, yang lain (seperti perangkat I/O) dapat mempunyai kode request & release umum.
– Accounting – Menjaga track (jejak) pengguna siapa menggunakan berapa banyak dan jenis apa dari resources komputer
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
8
Layanan Sistem Operasi– Protection & security – Pemilik informasi yang
tersimpan dalam sistem komputer multiuser atau terjaring mungkin ingin mengontrol penggunaan informasi tersebut, proses-proses konkuren sebaiknya tidak mengganggu satu sama lain.
• Protection meliputi memastikan bahwa semua akses ke resources sistem terkendali
• Security dari sistem dari pihak luar (outsider) mengharuskan user authentication, meningkatkan pertahanan perangkat I/O eksternal dari usaha akses tidak sah.
• Jika suatu sistem terlindungi dan aman, tindakan pencegahan harus dimulai melalui ini. Tidak ada rantai yang benar-benar aman.
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
9
Antarmuka SO Pengguna- CLI• Command Line Interface (CLI) atau command
interpreter memungkinkan pengguna memasukkan perintah langsung.
−Diimplementasikan dalam kernel atau pada program sistem.
−Diimplementasikan dengan banyak cara - shell−Terutama mengambil perintah dari pengguna dan
mengeksekusinya• Kadang perintah built-in, kadang hanya nama program
» Jika yang terakhir, penambahan fitur baru tidak mengharuskan modifikasi shell.
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
10
Antar Muka SO - GUI• Desktop yang user-friendly mengubah interface
– Melibatkan mouse, keyboard, dan monitor– Icon-icon mewakili file, program, tindakan,dll– Variasi tombol mouse thd obyek dalam interface
menyebabkan berbagai tindakan (menyediakan informasi, pilihan, fungsi eksekusi, buka direktori)
– Dimulai pada Xerox PARC• Banyak sistem menyertakan antarmuka CLI & GUI
– Microsoft Windows: GUI dengan shell “command” CLI– Apple Mac OS X: GUI “Aqua” dengan kernel UNIX di
bwahnya & tersedia shell– Solaris: CLI dengan GUI opsional (Java Desktop, KDE)
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
11
Interpreter Perintah Bourne ShellStruktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
12
GUI Mac OS XStruktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
13
System Calls• Antarmuka pemrograman ke layanan yang disediakan
oleh SO• Biasanya ditulis dalam bahasa tingkat tinggi (C/C++)• Sebagian besar diakses oleh program melalui suatu
Application Program Interface (API) tingkat tinggi, jarang langsung system call.
• 3 API paling terkenal: Win32 API, POSIX API untuk sistem berbasis POSIX (UNIX, Linux & Mac OS X), dan Java API untuk Java virtual machine (JVM)
• Mengapa menggunakan API, bukan system call?
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
14
Contoh System Calls• Urutan system call untuk menyalin isi dari satu
file ke file lain
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
15
Contoh API Standard• Fungsi ReadFile() dalam Win32 API: membaca file
Deskripsi parameter yang dilewatkan ke ReadFile()– HANDLE file: file yang akan dibaca– LPVOID buffer: buffer dimana data akan dibaca dan ditulis– DWORD bytesToRead: jumlah byte dibaca ke dalam buffer– LPDWORD bytesRead: jumlah byte dibaca selama
pembacaan terakhir– LPOVERLAPPED ovl: menunjukkan jika I/O yang sedang
digunakan overlap.
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
16
Implementasi System Call• Biasanya, suatu nomor diasosiasikan dengan tiap system call
– Antarmuka system-call memelihara suatu tabel yang diindeks sesuai dengan nomor-nomor ini
• Antarmuka system call menjalankan system call yang dimaksud dalam kernel SO dan mengembalikan status dari system call tersebut dan suatu nilai kembalian
• Pemanggil tidak perlu mengetahui apapun mengenai bagaimana system call diimplementasikan– Hanya perlu mentaati API & memahami apa yang OS akan
kerjakan sebagai hasil pemanggilan.– Antarmuka SO yang sangat detail disembunkan dari
programmer dengan API• Dikelola oleh pustaka dukungan run-time (himpunan fungsi
disatukan ke dalam pustaka oleh compiler)
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
17
Hubungan API – System Call – SOStruktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
18
Contoh Pustaka C Standard• Program C
menjalanan library call printf() yang memanggil system call write()
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
19
Pelewatan Parameter System Call• Sering, lebih banyak informasi yang diperlukan daripada
identitas sederhana dari system call yang diinginkan– Jenis pasti dan jumlah informasi sesuai dengan SO dan call
• Tiga metode umum digunakan untuk melewatkan parameter ke SO– Paling sederhana: melewatkan parameter dalam registers
• Beberapa kasus, mungkin lebih banyak parameter daripada register
– Parameter disimpan dalam suatu block atau table, dalam memory, dan alamat dari blok dilewatkan sebagai parameter dalam register
• Pendekatan ini diambil oleh Linux & Solaris– Parameter ditempatkan atau dipush ke stack oleh program dan
dipop oleh SO– Metode blok dan stack tidak membatasi jumlah atau panjang
dari parameter yang akan dilewatkan
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
20
Pelewatan Parameter dengan TabelStruktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
21
Jenis System Call
• Kontrol proses• Manajemen file• Manajemen perangkat• Perawatan Informasi• Komunikasi• Perlindungan
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
22
Contoh System Call Windows & UnixStruktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
23
Eksekusi MS-DOS
(a) At system startup (b) running a program
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
24
FreeBSD Banyak ProgramStruktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
25
Program Sistem• Program sistem menyediakan suatu lingkungan
yang tepat untuk pengembangan dan eksekusi program. Dapat dibagi ke dalam:– Manipulasi file– Informasi status– Dukungan bahasa pemrograman– Pemuatan dan eksekusi program– Komunikasi– Program aplikasi
• Sudut pandang pengguna: SO didefinisikan oleh program sistem, bukan system call sebenarnya.
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
26
Program Sistem• Menyediakan suatu lingkungan yangtepat untuk
pengembangan dan eksekusi program– Beberapa berupa antarmuka sederhana ke system calls; lainnya
lebih kompleks
• Manajemen file – create, delete, copy, rename, print, dump, list. (manipulasi file & direktori)
• Informasi status– Menanyakan sistem info: date, time, jumlah memory yg tersedia,
ruang disk, jumlah pengguna– Menyediakan informasi kinerja, logging & debugging– Pada dasarnya, program ini menformat dan mencetak output ke
terminal atau perangkat output lain– Beberapa sistem mengimplementasikan registry – digunakan
untuk menyimpan dan meretrieve informasi konfigurasi
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
27
Program Sistem• Perubahan file
– Text editor untuk membuat dan mengubah file– Perintah khusus untuk mencari isi file atau mengerjakan
transformasi teks• Dukugan bahasa pemrograman - Compiler, assembler,
debugger & interpreter kadang disediakan• Pemuatan dan eksekusi program - Absolute loader,
relocatable loader, linkage editor & overlay-loader, debugging system bagi bahasa mesindan tingkat tinggi
• Komunikasi – Menyediakan mekanisme untuk pembuatan koneksi virtual antar proses, pengguna & sistem komputer– Memungkinkan pengguna mengirimkan message ke layar
komputer lain, menjelajah halaman web, mengirimkan pesan email, log in jarak jauh, transfer file dari satu mein ke mesin lain
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
28
Desain & Implementasi SO• Rancangan & implementasi SO tidak “solvable”, tetapi
beberapa pendekatan telah terbukti berhasil• Struktur internal dari SO berbeda dapat sangat
bervariasi• Dimulai dengan mendefinisikan goal dan spefisikasi• Dipengaruhi oleh pilihan hardware, jenis sistem• User goals dan System goals
– User goals – SO sebaiknya nyaman digunakan, mudah dipelajari, reliable, aman & cepat
– System goals – SO mudah dirancang, diimplementasikan dan dipelihara, juga fleksibel, reliable, bebas-error & efisien
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
29
Desain & Implementasi SO
• Prinsip penting untuk memisahkanPolicy: Apa yang akan dikerjakan?Mechanism: Bagaimana melakukannya?
• Mekanisme menentukan bagaimana melakukan sesuatu, kebijakan memutuskan apa yang akan dilakukan– Pemilahan kebijakan dari mekanisme sangat
penting, memungkinkan fleksibilitas maksimum jika keputusan kebijakan berubah kemudian
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
30
Struktur Sederhana
• MS-DOS – ditulis untuk menyediakan banyak fungsionalitas dalam ruang sedikit– Tidak dibagi ke dalam modul-modul– Meskipun MS-DOS punya beberapa struktur,
antarmuka & level fungsionalitasnya tidak dipisahkan dengan baik
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
31
Struktur Layer MS-DOSStruktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
32
Pendekatan Ber-Layer• SO dibagi ke dalam sejumlah lapisan (layer,
tingkat), masing-masing dibangun di atas layer yang lebih bawah. Layer paling bawah (layer 0)adalah hardware; layer paling tinggi (N) adalah user interface.
• Dengan modularitas, layer dipilih sehingga setiapnya menggunakan fungsi (operasi) dan layanan (service) hanya dari layer tingkat lebih bawah
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
33
Struktur UNIX TradisionalStruktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
34
UNIX
• UNIX – dibatasi oleh fungsionalitas hardware, SO Unix awal punya penstrukturan terbatas. SO Unix terdiri dari dua bagian (separable):– Program-program sistem– Kernel
• Terdiri dari segala sesuatu di bawah antarmukasystem-call dan di atas hardware fisik
• Menyediakan sistem file, penjadwalan CPU, manajemen memory & fungsi SO lain; jumlah besar dari fungsi untuk level satu
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
35
Sistem Operasi Ber-LayerStruktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
36
Struktur Sistem Microkernel• Memindahkan sebanyak mungkin dari kernel ke
dalam ruang “user”• Komunikasi antar modul pengguna menggunakan
message passing• Keuntungan:
– Lebih mudah mengeksten suatu microkernel– Lebih mudah mem-port SO ke arsitektur baru– Lebih reliable (lebih sedikit code berjalan dalam modus
kernel)– Lebih aman
• Kerugian:– Overhead kinerja dari komunikasi ruang user ke kernel
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
37
Struktur Mac OS XStruktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
38
Modul-modul
• Banyak SO modern mengimplementasikan modul-modul kernel– Menggunakan pendekatan object-oriented– Setiap komponen inti (core) tersendiri– Setiap percakapan ke modul lain melalui interface
tertentu– Bersifat loadable saat diperlukan dalam kernel
• Serupa dengan layer tetapi lebih fleksibel
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
39
Pendekatan Modular Solaris Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
40
Mesin Virtual• Suatu virtual machine mengambil pendekatan
layer untuk kesimpulan logisnya. Memperlakukan hardware & kernel SO sebagai hardware (semuanya)
• Virtual machine menyediakan suatu interface identik untuk hardware ril yang mendasari
• Host SO membuat iluasi bahwa suatu proses mempunyai processornya (dan virtual memory)sendiri
• Setiap guest disediakan suatu salina (virtual) dari komputer yang mendasari
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
41
Mesin Virtual• Pertama dimunculkan komersil dalam mainframe IBM (1972)• Fundamental, banyak lingkungan eksekusi (SO berbeda)
dapat berbagi hardware yang sama• Melindungi dari setiap yang lain• Beberapa sharing file dapat diijinkan, dikontrol• Commutate dengan each other, sistem fisik lain melalui
jaringan• Berguna untuk pengembangan, testing• Konsolidasi dari banyak low-resource menggunakan sistem
di atas sistem yang lebih sibuk yang lebih sedikit• “Open Virtual Machine Format”, format standard dari mesin
virtual, memungkinkan suatu VM berjalan di dalam banyak platform mesin virtual berbeda (host)
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
42
Mesin Virtual
Non-virtual Machine Virtual Machine
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
43
Para-virtualisasi
• Menyajikan guest dengan system serupa tetapi tidak identik terhadap hardware
• Guest harus dimodifikasi untuk berjalan pada hardware paravirtualized
• Guest dapat berupa suatu SO, atau dalam kasus Solaris 10 aplikasi berjalan dalam containers
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
44
Solaris 10 (Dua Container)Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
45
Arsitektur VMwareStruktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
46
Java Virtual MachineStruktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
49
Debugging Sistem Operasi• Debugging: menemukan & membetulkan error atau bugs• OS membangkitkan log files berisi informasi error• Kegagalan dari suatu aplikasi dapat membangkitkan file core dump
yang meng-capture memory dari proses• Kegagalan SO dapat membangkitkan file crash dump yang
mengandung memory kernel• Diluar crash, perbaikan kinerja dapat mengoptimalkan kinerja
sistem• Hukum Kernighan : “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.”
• Tool DTrace di Solaris, FreeBSD, Mac OS X memungkinkan instrumentasi langsung pada sistem produksi– Pemeriksaan kebakaran ketika kode dieksekusi, mengcapture
status & mengirimnya ke pemakai pemeriksaan tersebut .
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
50
Dtrace di Solaris 10 dtraceStruktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
51
Berjalannya Sistem Operasi• SO dirancang untuk berjalan pada suatu kelas
mesin; sistem harus dikonfigurasi untuk setiap komputer spesifik
• Program SYSGEN mendapatkan informasi mengenai konfigurasi spesifik dari sistem hardware
• Booting – memulai suatu komputer dengan memuat kernel
• Bootstrap program – kode yang diletakkan dalam ROM yang mampu untuk menemukan kernel, memuatkan ke dalam memory & memulai eksekusinya
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
52
Boot Sistem
• SO harus dibuat tersedia bagi hardware sehingga hardware dapat memulainya– Potongan kecil kode – bootstrap loader,
menemukan kernel, memuatnya ke dalam memory & memulainya
– Kadang proses dua-langkah dimana boot blockpada lokasi tetap memuat bootstrap loader
– ketika power dihidupkan, eksekusi dimulai pada lokasi memory tetap
• Firmware digunakan untuk memegang kode boot awal
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010
53
Tugas
• Pelajari perintah dtrace atau sejenis di Linux. Buat rangkumannya disertai 3 contoh
• Buat rangkuman perbedaan antara Unix, FreeBSD, Solaris dan Linux!
• Buat program untuk membuka, membaca, menulis dan menutup file menggunakan:– Bahasa C murni– Bahasa C yang memanggil system-call Linux
Struktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010