Struktur Sistem Operasi

53
1 Sistem Operasi Husni http://husni.trunojoyo.ac.id http://komputasi.wordpress.com [email protected] YM, GMail, Facebook, Twitter, Plurk: Lunix96 Struktur Sistem Operasi Pertemuan ke-3 Jurusan Teknik Informatika Universitas Trunojoyo Semester Genap 2009/2010

description

Sistem Operasi

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

47

VirtualBOXStruktur Sistem OperasiStruktur Sistem Operasi Sistem Operasi 2010Sistem Operasi 2010

48

VirtualBOXStruktur 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