Sistem Operasi TIKB1023 Munengsih Sari Bunga Politeknik Indramayu 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 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 Eksekusi instruksi tersebut Selesai Gambar 2. Siklus Instruksi fetch cycle instruction cycle 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). 4
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. 6
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). 7
Penyebab terjadinya interrupt : a. 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. 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 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. 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 11
Metode I/O 12
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). 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). 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. 16
Proses DMA 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 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 Cache Memori Utama Word transfer Blok transfer Gambar 9. Transfer data antara CPU-cache-memori 19
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 saja digunakan dalam memori yg lebih cepat lagi. 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. 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 22
Mekanisme Pergerakan Head- Disk 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 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 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 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 (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. 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. 28
5. Proteksi Hardware Dual-Mode Operation Proteksi I/O Proteksi Memory Proteksi CPU 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. 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 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 32
Penggunaan System Call untuk Pengoperasian I/O 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. 34
Penggunaan Base dan Limit Register 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. 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. 37
..:: The End ::.. Thanks 4 U r Attention 38