Sistem Operasi – TIKB1023 Munengsih Sari Bunga Politeknik Indramayu
TIKB1023/Minggu 2/SO/MSB
1
1. Operasi Sistem Komputer
Sistem komputer modern berisi CPU dan sejumlah device controller yg dihubungkan melalui bus yg menyediakan adanya pemakaian memori secara bersama-sama.
Gambar 1. Sistem komputer modern TIKB1023/Minggu 2/SO/MSB
2
1.1. Siklus Instruksi Dilakukan melalui 2 tahap: 1. Mengambil instruksi (instruction fetch) dari memori. 2. Instruction execution. Program counter (PC) menyimpan alamat instruksi yg akan diambil. Nilai PC akan berubah ke instruksi berikutnya yg akan diambil.
Mulai
Mengambil instruksi berikutnya
fetch cycle
Eksekusi instruksi tersebut
instruction cycle
Selesai
Gambar 2. Siklus Instruksi
TIKB1023/Minggu 2/SO/MSB
3
Contoh Instruksi
suatu komputer mengandung 16 bit word memori, dan PC pertama kali bernilai 300. prosesor akan mengambil instruksi di memoi pada alamat 300, yg kemudian dilanjutkan dg 301, 302, 303, dst.. Instruksi yg diambil akan diletakkan pada Instruction Register (IR). TIKB1023/Minggu 2/SO/MSB
4
TIKB1023/Minggu 2/SO/MSB
5
1.2. Interrupt
Merupakan sinyal dari peralatan luar atau permintaan dari program untuk melaksanakan suatu tugas khusus. Jika interrupt terjadi, maka program dihentikan terlebih dahulu untuk menjalankan rutin interrupt. Ketika program yg sedang berjalan dihentikan, prosesor menyimpan nilai register yg berisi alamat program (CS dan IP) ke stack, dan mulai menjalankan rutin interrupt. Alamat setiap rutin disimpan dalam tabel (Interrupt Services Table). Sesudah rutin selesai dijalankan, program akan mengambil kembali nilai register dari stack dan program dijalankan kembali.
TIKB1023/Minggu 2/SO/MSB
6
Jenis2 interrupt : Software. Interrupt yg sering disebabkan oleh software (system call). Ex: suatu program ingin mencetak hasil dg printer. 2. Hardware. Terjadi karena aksi pada perangkat keras. Ex: penekanan tombol keyboard, menggerakkan mouse. dibagi 2: maskable interrupt (terjadi karena aksi dari luar, ex: timer, keyboard, serial port, fixed disk, diskette drive); dan Non Maskable interrupt (terjadi karena memori atau kesalahan parity pada I/O). 1.
TIKB1023/Minggu 2/SO/MSB
7
Penyebab terjadinya interrupt : Program. Terjadi sebagai akibat dari eksekusi suatu instruksi. Contoh: arithmatik overflow, devision by zero, dll. b. Timer. Disebabkan oleh timer prosesor. c. I/O. Disebabkan oleh I/O controller (sebagai tanda operasi telah selesai/tanda adanya error). d. Kegagalan hardware. Disebabkan oleh kesalahan hardware, seperti power failure atau memory parity error. a.
TIKB1023/Minggu 2/SO/MSB
8
Siklus proses dg Interrupt Mulai
Ambil instruksi berikutnya
fetch cycle
HALT Eksekusi instruksi
Execute cycle
Interrupt Disabled Interrupt Enabled Cek interrupt; Proses interrupt
instruction cycle
Gambar 4. Siklus proses dg Interrupt TIKB1023/Minggu 2/SO/MSB
9
Bootstrap program program inisial untuk menjalankan komputer pada saat powered up atau rebooted. Bootstrap program untuk memanggil sistem operasi dan mengeksekusinya, mengalokasikan sistem operasi dan meletakkannya di memory. Suatu event yg akan terjadi selalu ditandai dg adanya interrupt atau trap. Trap software yg memberikan interrupt yg disebabkan oleh suatu error (misalnya divided by zero atau invalid memory access), atau permintaan khusus dari user program yg menyebabkan dibutuhkannya sistem operasi.
TIKB1023/Minggu 2/SO/MSB
10
2. Struktur I/O 2.1. I/O Interrupt •
Pada saat operasi I/O dijalankan ada dua kemungkinan, yaitu : 1. Synchronous – menunggu sampai proses I/O
selesai •
Sebuah thread memulai operasi I/O kemudian akan masuk ke state wait (tunggu) sampai operasi I/O selesai • Ketika dalam state wait, CPU idle
2. Asynchronous – proses lain dapat berjalan
walaupun operasi I/O belum selesai •
Sebuah thread mengirim permintaan I/O ke kernel dengan memanggil fungsi yang cocok, jika diterima oleh kernel, thread akan melanjutkan proses yang lain sampai kernel memberitahu bahwa operasi I/O sudah selesai. Kemudian thread tersebut akan melakukan interupsi terhadap proses yang sedang dikerjakannya dan memproses data operasi I/O
TIKB1023/Minggu 2/SO/MSB
11
Metode I/O
TIKB1023/Minggu 2/SO/MSB
12
TIKB1023/Minggu 2/SO/MSB
13
System Call
Digunakan untuk menunggu hingga I/O selesai digunakan. OS harus dilengkapi dg Device-Status Table, yg berisi tipe device, alamat, dan statusnya (tidak berfungsi, idle, atau busy).
TIKB1023/Minggu 2/SO/MSB
14
2.2. Struktur DMA (Direct Memory Access) •
Perangkat pengendali memindahkan data dalam blok-blok dari buffer langsung ke memory utama atau sebaliknya tanpa campur tangan prosesor. • Interupsi hanya terjadi tiap blok bukan tiap word atau byte data. • Seluruh proses DMA dikendalikan oleh sebuah controller bernama DMA Controller (DMAC). TIKB1023/Minggu 2/SO/MSB
15
Direct Memory Access (DMA) •
DMA Controller mengirimkan atau menerima signal dari memori dan I/O device. • Prosesor hanya mengirimkan alamat awal data, tujuan data, panjang data ke pengendali DMA. • Interupsi pada prosesor hanya terjadi saat proses transfer selesai.
TIKB1023/Minggu 2/SO/MSB
16
Proses DMA
TIKB1023/Minggu 2/SO/MSB
17
3. Struktur Penyimpanan •
Main memory : media storage yang dapat diakses langsung oleh CPU, kapasitas kecil, volatile – Volatile : isi data hilang jika power dimatikan
•
Secondary storage : penyimpanan data dengan kapasitas besar, non-volatile – Non-volatile : data masih tersimpan
walaupun power dimatikan
TIKB1023/Minggu 2/SO/MSB
18
3.1. Cache Memory •
Proses transfer data dari/ke memori utama ke/dari register CPU dilakukan per karakter. • Cache sebagai perantara CPU dg memori. • Pengiriman data dari/ke cache ke/dari CPU dilakukan per karakter. • Pengiriman dari dari/ke cache ke/dari memori dilakukan per blok.
CPU
Word transfer Cache Blok transfer
Memori Utama Gambar 9. Transfer data antara CPU-cache-memori
TIKB1023/Minggu 2/SO/MSB
19
Jenis Cache 1.
2.
Software cache (caching disk conttroller); akan mempercepat akses data pada disk dg menyimpan data yg baru saja digunakan dalam memory. Hardware cache (on-the-board cache); akan mempercepat akses memori itu sendiri dg menyimpan data yg baru saja digunakan dalam memori yg lebih cepat lagi. TIKB1023/Minggu 2/SO/MSB
20
3.2. Memori Utama
Berisi juataan sel penyimpanan, masing2 dapat menyimpan binary digit. Satu bit diatur secara individu karena satu bit hanya menyimpan sejumlah kecil informasi saja. Terdiri dari: Static memory: terbuat dari rangkaian yg mampu
bertahan selama ada daya listrik, kecepatan tinggi, harga mahal. Dynamic memory: informasi disimpan dalam bentuk isian kapasitor, hanya mampu menyimpan informasi untuk beberapa milidetik saja.
TIKB1023/Minggu 2/SO/MSB
21
3.3. Magnetic disks Metal keras atau piringan yang terbungkus material magnetik Permukaan disk terbagi secara logikal dalam track, yang masing-masing terbagi lagi dalam sector. Disk controller menentukan interaksi logikal antara device dan komputer
TIKB1023/Minggu 2/SO/MSB
22
Mekanisme Pergerakan HeadDisk
TIKB1023/Minggu 2/SO/MSB
23
Teknologi Hard disk
Shock protection System (SPS) Self-Monitoring Analysis and Reporting (SMART) Solid State Disk (SSD) MR Head Partial Response Maximum Likelihood (PRML) Hot Swap Plug n Play ATA Environmental Protection Agency (EPA) Error Correction Code (ECC) Auto Transfer
TIKB1023/Minggu 2/SO/MSB
24
3.4. RAM Disk Merupakan suatu blok penyimpanan dg 2 perintah (membaca dan menulis blok). Keadaan normal, blok2 disimpan pada memori sekunder (floopy disk/ hard disk). Metode sederhana “preallocated” memori utama untuk menyimpan blok2 data. (+) kecepatan pengaksesan data
TIKB1023/Minggu 2/SO/MSB
25
4. Clock Timer sangat penting untuk sistem yg menggunakan timesharing. Clock akan memelihara waktu setiap harinya dan akan melindungi suatu proses dari proses yg lainnya dalam hal monopoli penggunaan CPU. Dibagi 2:
Clock hardware
Clock software TIKB1023/Minggu 2/SO/MSB
26
Clock Hardware Dibangun dari 3 komponen: oscilator kristal, counter, dan holding register(mengambil counter). Jika ada tekanan pada kuarsa kristal, maka akan menyebabkan adanya sinyal secara periodis dg ketelitian yg sangat tinggi (5100Hz). Sinyal akan menyebabkan counter berkurang terus-menerus hingga nilai nol. Jika nilai counter nol, maka akan menyebabkan CPU interrupt. (+) frekuensi interrupt dapat dikontrol oleh software.
TIKB1023/Minggu 2/SO/MSB
27
Clock Software
Kegunaan: Memelihara “Time of day”(real time) Mencegah proses supaya tidak berjalan lebih
lama dari yg diperbolehkan Menghitung penggunaan CPU Mengendalikan ALARM system call yg dibuat oleh user proses Sebagai ‘anjing penjaga’ untuk bagian2 sistem itu sendiri Mengerjakan profiling, monitoring, dan pengumpulan statistik.
TIKB1023/Minggu 2/SO/MSB
28
5. Proteksi Hardware Dual-Mode Operation Proteksi I/O Proteksi Memory Proteksi CPU
TIKB1023/Minggu 2/SO/MSB
29
Dual-Mode Operation Penggunaan resource sharing membutuhkan sistem operasi yang menjamin suatu program yang salah tidak menyebabkan program lain tidak terpengaruh. Menyediakan dukungan hardware yang dibedakan ke dalam dua mode operasi : 1. User mode – eksekusi dilakukan untuk kepentingan user. 2. Monitor mode (disebut juga kernel mode atau system mode) – eksekusi dilakukan untuk kepentingan sistem operasi.
TIKB1023/Minggu 2/SO/MSB
30
Dual-Mode Operation (Cont’) Mode bit ditambahkan pada computer hardware (CPU) untuk indikasi mode sekarang: monitor (0) atau user (1). Jika terjadi interrupt/fault/error => hardware mengubah mode ke monitor
TIKB1023/Minggu 2/SO/MSB
31
Proteksi I/O
Semua instruksi I/O adalah instruksi privileged: Hanya dapat dilakukan melalui OS OS dapat mencegah “request” ke I/O dengan
melihat mode saat ini.
OS menjaga supaya program user tidak dapat menjadi “monitor mode” untuk mencegah user program melakukan: Menangani interrupt: dengan mengubah alamat
interrupt vector. Mengubah status dan data pada “device table” TIKB1023/Minggu 2/SO/MSB
32
Penggunaan System Call untuk Pengoperasian I/O
TIKB1023/Minggu 2/SO/MSB
33
Proteksi Memory
Melindungi memori terutama untuk isi: interrupt vector dan interrupt service routines.
Cara umum adalah setiap user program hanya dapat mengakses lokasi memori yang telah dibatasi (disediakan untuk program tsb). Range address – alamat yang valid Base register – menyimpan alamat terkecil
memori secara fisik Limit register – besarnya jangkauan memori yang diijinkan
Memori diluar range tersebut tidak dapat diakses oleh user program tsb. TIKB1023/Minggu 2/SO/MSB
34
Penggunaan Base dan Limit Register
TIKB1023/Minggu 2/SO/MSB
35
Proteksi Alamat Hardware
Ketika eksekusi pada mode monitor, OS dapat mengakses semua lokasi memori. Pemuatan instruksi ke base dan limit register tergantung instruksi privileged.
TIKB1023/Minggu 2/SO/MSB
36
Proteksi CPU
Timer Interupsi secara berkala oleh hardware: =>
transfer control ke OS. Nilai timer akan berkurang sesuai “clock tick” dari hardware komputer. Saat nilai timer menjadi 0, interrupt terjadi. Housekeeping: melakukan CPU scheduling (jatah CPU), status device table dll.
Timer digunakan untuk system time. TIKB1023/Minggu 2/SO/MSB
37
..:: The End ::..
Thanks
4 U’r Attention
TIKB1023/Minggu 2/SO/MSB
38