• Tidak ada hasil yang ditemukan

Struktur Sistem Operasi Sistem Operasi akan dibahas

N/A
N/A
Protected

Academic year: 2021

Membagikan "Struktur Sistem Operasi Sistem Operasi akan dibahas"

Copied!
53
0
0

Teks penuh

(1)

1

Sistem Operasi

Husni http://husni.trunojoyo.ac.id http://komputasi.wordpress.com [email protected] YM, GMail, Facebook, Twitter, Plurk: Lunix96

(2)

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

(3)

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).

(4)

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.

(5)

5

(6)

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

(7)

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

(8)

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.

(9)

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

(10)

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

(11)

11

(12)

12

(13)

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)

(14)

14

Contoh System Calls

• Urutan system call untuk menyalin isi dari satu

file ke file lain

(15)

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.

(16)

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)

(17)

17

(18)

18

Contoh Pustaka C Standard

• Program C

menjalanan library

call printf() yang

memanggil system

call write()

(19)

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

(20)

20

(21)

21

Jenis System Call

• Kontrol proses

• Manajemen file

• Manajemen perangkat

• Perawatan Informasi

• Komunikasi

• Perlindungan

(22)

22

Contoh System Call Windows & Unix

(23)

23

Eksekusi MS-DOS

(24)

24

(25)

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

.

(26)

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

(27)

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

(28)

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 &

(29)

29

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

kemudian

(30)

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

(31)

31

(32)

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

(33)

33

(34)

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 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

(35)

35

(36)

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:

(37)

37

(38)

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

(39)

39

(40)

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

(41)

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)

(42)

42

Mesin Virtual

(43)

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

(44)

44

(45)

45

(46)

46

(47)

47

(48)

48

(49)

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

(50)

50

Dtrace di Solaris 10 dtrace

(51)

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

(52)

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 block

pada lokasi tetap memuat bootstrap loader

– ketika power dihidupkan, eksekusi dimulai pada

lokasi memory tetap

• Firmware digunakan untuk memegang kode boot awal

(53)

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

Referensi

Dokumen terkait

NAMA SCEDULE BANYAKNYA TENDANGAN POIN YANG DIHASILKAN PARTAI RONDE DOLYO CHAGI IDAN DOLYO CHAGI DOLYO CHAGI IDAN DOLYO CHAGI 1 Uswatun Hasanah PENYISIHAN.

hasil jagung yang baik, unsur hara N dalam tanah harus cukup tersedia pada fase. pertumbuhan tersebut (Komalasari dan

digunakan untuk menganalisis kualitas produk baut mereka adalah siklus perbaikan..

PLPBK ini pada dasarnya adalah kelanjutan dari tahapan tranformasi masyarakat mandiri menuju madani dilakukan untuk meningkatkan kemampuan masyarakat dalam

Sesuai dengan pendidikan formal yang diberikan kepada anak asuh yayasan yatim piatu dan fakir miskin An Najah yaitu mereka diberikan bantuan biaya sekolah sesuai

(3) Untuk Mengetahui progam-progam apa saja yang telah diberikan Lembaga Amil Zakat Al- Ihsan Jawa Tengah (LAZIS JATENG) Cabang Solo kepada masyarakat kota

Salah satu hikmah Ramadhan adalah merasakan lapar, haus dan menahan segala cobaan untuk menjadikan kita pribadi yang dapat berbagi dan memberi kepada sesama

Biaya kepemilikan kendaraan harus dipertanggung jawabkan dalam dana shadaqah karena sulit untuk membenarkan kendaraan untuk dipertanggung jawabkan dana zakat karena tidak