Struktur Sistem Operasi
Pertemuan ke-3
Sistem Operasi Husni http://husni.trunojoyo.ac.id http://komputasi.wordpress.com
[email protected] YM, GMail, Facebook, Twitter, Plurk: Lunix96
1
Jurusan Teknik Informatika Universitas Trunojoyo
Semester Genap 2009/2010
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
...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
2
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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). 3
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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. 4
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
Layanan Sistem Operasi
5
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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 6 memanfaatkan sistem.
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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 7
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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. 8
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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. 9
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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) 10
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
Interpreter Perintah Bourne Shell
11
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
GUI Mac OS X
12
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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? 13
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
Contoh System Calls • Urutan system call untuk menyalin isi dari satu file ke file lain
14
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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 15 digunakan overlap.
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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)
16
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
Hubungan API – System Call – SO
17
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
Contoh Pustaka C Standard • Program C menjalanan library call printf() yang memanggil system call write()
18
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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 19 dari parameter yang akan dilewatkan
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
Pelewatan Parameter dengan Tabel
20
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
Jenis System Call • • • • • •
Kontrol proses Manajemen file Manajemen perangkat Perawatan Informasi Komunikasi Perlindungan
21
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
Contoh System Call Windows & Unix
22
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
Eksekusi MS-DOS
(a) At system startup (b) running a program
23
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
FreeBSD Banyak Program
24
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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. 25
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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 26
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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 lain27
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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 28
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
Desain & Implementasi SO • Prinsip penting untuk memisahkan Policy: 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 29 kemudian
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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
30
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
Struktur Layer MS-DOS
31
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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 32
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
Struktur UNIX Tradisional
33
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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 antarmuka system-call dan di atas hardware fisik • Menyediakan sistem file, penjadwalan CPU, manajemen memory & fungsi SO lain; jumlah besar dari fungsi untuk level satu 34
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
Sistem Operasi Ber-Layer
35
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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: 36
– Overhead kinerja dari komunikasi ruang user ke kernel
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
Struktur Mac OS X
37
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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
38
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
Pendekatan Modular Solaris
39
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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 40
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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 41 platform mesin virtual berbeda (host)
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
Mesin Virtual
Non-virtual Machine
Virtual Machine
42
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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
43
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
Solaris 10 (Dua Container)
44
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
Arsitektur VMware
45
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
Java Virtual Machine
46
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
VirtualBOX
47
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
VirtualBOX
48
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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 49 status & mengirimnya ke pemakai pemeriksaan tersebut .
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
Dtrace di Solaris 10 dtrace
50
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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 51
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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 block pada lokasi tetap memuat bootstrap loader – ketika power dihidupkan, eksekusi dimulai pada lokasi memory tetap • Firmware digunakan untuk memegang kode boot awal 52
Struktur Struktur Sistem Sistem Operasi Operasi
Sistem Sistem Operasi Operasi 2010 2010
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
53