Sistem Operasi – TIKB1023 Munengsih Sari Bunga Politeknik Indramayu
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.
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 Eksekusi instruksi tersebut Selesai fetch cycle instruction cycle
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
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
Jenis2 interrupt :
1. 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).
Penyebab terjadinya interrupt :
a. Program. Terjadi sebagai akibat darieksekusi 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.
Siklus proses dg Interrupt
Mulai Ambil instruksi berikutnya Eksekusi instruksi HALT fetch cycle instruction cycleGambar 4. Siklus proses dg Interrupt Cek interrupt; Proses
interrupt
Execute cycle Interrupt Disabled
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
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
System Call
Digunakan untuk menunggu hingga I/O selesai digunakan.
OS harus dilengkapi dg Device-Status Table, yg berisi tipe
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
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.
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
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 Cache Memori Utama Word transfer Blok transfer
Gambar 9. Transfer data antara CPU-cache-memori
Jenis Cache
1. Software cache (caching disk
conttroller); akan mempercepat akses data pada disk dg menyimpan data yg baru saja digunakan dalam memory. 2. Hardware cache (on-the-board cache);
akan mempercepat akses memori itu sendiri dg menyimpan data yg baru
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.
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
Mekanisme Pergerakan
Head-Disk
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)
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.
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
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 (5-100Hz).
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.
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.
5. Proteksi Hardware
Dual-Mode Operation Proteksi I/O
Proteksi Memory Proteksi CPU
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
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 =>
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.
Penggunaan System Call untuk
Pengoperasian I/O
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
Penggunaan Base dan Limit
Register
Proteksi Alamat Hardware
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.
Thanks 4 U’r Attention