Sistem Operasi Komputer
Sistem Operasi Komputer Pertemuan II – Struktur Sistem Komputer
Kuis Kecil 1 Gambarkan arsitektur sistem komputer modern 2. Jelaskan perbedaan antara interrupt dengan trap 3. Jelaskan perbedaan interupsi I/O dengan menggunakan metode synchronous dan asynchronous 4. Mengapa diperlukan dibutuhkan caching pada sistem komputer modern ? 5. Apa yang dimaksud dengan operasi dual-mode pada proteksi hardware ? Masing-masing soal berbobot 20 point. 1.
Operating System Concepts
2.2
Universitas Kristen Maranatha -- IT Department
Silberschatz, Galvin and Gagne 2002
1
Sistem Operasi Komputer
Pembahasan Operasi sistem komputer Device dan Memory controller Siklus instruksi Struktur I/O Interrupt dan trap Synchronous dan Asynchronous I/O Completion Struktur DMA Struktur penyimpanan (storage) Storage hierarchy Caching strategy Memory utama Disk technology Proteksi hardware Dual mode Proteksi memori Proteksi CPU Struktur jaringan komputer: WAN dan LAN Operating System Concepts
2.3
Silberschatz, Galvin and Gagne 2002
Arsitektur sistem komputer
Operating System Concepts
2.4
Universitas Kristen Maranatha -- IT Department
Silberschatz, Galvin and Gagne 2002
2
Sistem Operasi Komputer
Operasi sistem komputer (1)
Sistem komputer modern berisi suatu CPU Sejumlah device controller Dihubungkan melalui sistem bus Pemakaian memori bersama-sama CPU dan device controller bekerja bersamasama dan berkompetisi untuk menggunakan memori Memory controller memastikan akses alamat memori tertentu, sehingga CPU dan device tidak saling berebut “wilayah” dalam memori utama
Operating System Concepts
2.5
Silberschatz, Galvin and Gagne 2002
Operasi sistem komputer (2)
Setiap device controller bertanggung jawab
untuk suatu jenis device tertentu Setiap device controller memiliki buffer lokal CPU memindahkan data dari/ke memori utama atau ke/dari buffer lokal I/O terjadi dari device ke buffer lokal controller Device controller menginformasikan CPU bahwa ia telah selesai, dengan mengirimkan interrupt
Operating System Concepts
2.6
Universitas Kristen Maranatha -- IT Department
Silberschatz, Galvin and Gagne 2002
3
Sistem Operasi Komputer
Siklus instruksi (1)
Instruction fetch dari memori Instruction execution Program counter (PC) menyimpan alamat
instruksi yang akan diambil Instruksi yang diambil, disimpan pada Instruction Register (IR)
Operating System Concepts
2.7
Silberschatz, Galvin and Gagne 2002
Siklus instruksi (2) Contoh: 16 bit word instruksi pada memori, PC (Program Counter) pertama kali bernilai 300. CPU akan mengambil instruksi pada alamat 300, yang dilanjutkan dengan 301,302, dst. 1. PC berisi 300. Isi dari lokasi 300 akan ditulis dalam IR, dgn bantuan Memory Address Register dan Memory Buffer Register 2. Empat bit pertama menunjukkan variabel accumulator (AC) yang akan diambil serta opcode-nya (LOAD), dan 12 bit selanjutnya adalah alamat data khusus, yaitu 940 3. PC dinaikkan dan opcode instruksi selanjutnya diambil (ADD) 4. Isi AC yang lama ditambah dengan isi alamat 941, hasilnya ditaruh di AC kembali 5. PC dinaikkan dan opcode instruksi berikutnya (STO)diambil 6. Isi AC disimpan pada lokasi 941
Operating System Concepts
2.8
Universitas Kristen Maranatha -- IT Department
Silberschatz, Galvin and Gagne 2002
4
Sistem Operasi Komputer
Siklus instruksi (3)
0
0
0
1
1
0
OPCODE LOAD ADD STO
0
1
0
9
1
0
0
4 Data
1 9 4 0
301
5 9 4 1
302
2 9 4 1
940 0 0 0 3
940
0 0 0 3
941 0 0 0 2
941
0 0 0 5
1 9 4 0
301 5 9 4 1 302 2 9 4 1
Operating System Concepts
0
0
0
0
AC, [940] AC, [941] 941, AC 300
300
0
PC = 300 IR = 1940 AC = ----
2.9
PC = 300 IR = 1940 AC = 0005
Silberschatz, Galvin and Gagne 2002
Interrupt Interrupt adalah sinyal dari peralatan luar atau permintaan
dari program untuk melaksanakan tugas khusus Jenis interrupt Software: disebut juga system call, misalnya suatu program ingin mencetak hasil dengan printer, atau kesalahan program (trap). Hardware: terjadi karena adanya aksi pada perangkat keras, seperti penekanan tombol keyboard atau penggerakan mouse Terbagi menjadi dua Maskable interrupt: terjadi karena aksi dari luar / hardware , seperti keyboard, timer, serial port, disk Non maskable interrupt: terjadi karena memori atau kesalahan parity pada I/O Operating System Concepts
2.10
Universitas Kristen Maranatha -- IT Department
Silberschatz, Galvin and Gagne 2002
5
Sistem Operasi Komputer
Fungsi utama interrupt Interrupt memberikan kontrol kepada interrupt service
routine, melalui interrupt vector, yang berisi alamat seluruh service yang dimiliki dalam routine. Alamat interrupt instructions harus disimpan, dan akan digunakan lagi pada siklus instruksi berikutnya. Interrupt yang baru masuk akan di-disable, untuk menghindari lost interrupt Trap adalah suatu interrupt yang ditimbulkan oleh software disebabkan oleh suatu error atau adanya request tertentu dari user program Suatu sistem operasi merupakan suatu sistem yang tugasnya mengendalikan interrupts yang terjadi untuk menjamin kepuasan penggunan komputer
Operating System Concepts
2.11
Silberschatz, Galvin and Gagne 2002
Interrupt handling Sistem operasi menyimpan keadaan CPU pada saat
interrupt terjadi, dengan menyimpan register dan program counter Menentukan jenis interrupt apa yang terjadi Polling: busy waiting antara port (host) dengan controller) Vectored interrupt system Memisahkan segmen kode yang akan dijalankan untuk setiap jenis interrupt yang terjadi, melalui interrupt vector (event vector table)
Operating System Concepts
2.12
Universitas Kristen Maranatha -- IT Department
Silberschatz, Galvin and Gagne 2002
6
Sistem Operasi Komputer
Gambaran Garis Waktu Interrupt Proses tunggal dengan I/O
Interrupt service routine
Operating System Concepts
2.13
Silberschatz, Galvin and Gagne 2002
Interrupt pada I/O Pada operasi I/O, CPU memanggil register-register
tertentu yang dialokasikan untuk device controller Device controller menyiapkan buffer lokal pada device
aau register tertentu untuk transfer data
Device controller mengisi register-register tsb
dengan data-data yang dibutuhkan Komunikasi ini menyebabkan terjadinya interrupt Contoh: jika ada permintaan transfer data dari device ke buffer lokal, dan transfer sudah selesai dilakukan, maka device controller akan menginformasikan kepada CPU bahwa pekerjaan tersebut sudah selesai
Operating System Concepts
2.14
Universitas Kristen Maranatha -- IT Department
Silberschatz, Galvin and Gagne 2002
7
Sistem Operasi Komputer
Synchronous dan Asynchronous I/O (1)
Synchronous
Operating System Concepts
Asynchronous
2.15
Silberschatz, Galvin and Gagne 2002
Synchronous dan Asynchronous I/O (2)
Synchronous: I/O dijalankan, I/O selesai digunakan, kontrol
menginformasikan kembali ke user proses. Untuk menunggu selesai digunakannya I/O biasanya digunakan perintah Hanya ada satu I/O yang sedang bekerja pada suatu waktu CPU tahu pasti, I/O device mana yang menginterrupt Proses I/O tidak dapat berjalan simultan
Operating System Concepts
2.16
Universitas Kristen Maranatha -- IT Department
Silberschatz, Galvin and Gagne 2002
8
Sistem Operasi Komputer
Synchronous dan Asynchronous I/O (3)
Asynchronous: Kembali ke user program tanpa harus
menunggu I/O selesai digunakan Efisiensi sistem bertambah CPU dapat digunakan untuk menjalankan proses atau menjadwal kerja I/O yang lain Memerlukan Device Status Table, untuk mengetahui status dan isi setiap request pada setiap device yang ada
Operating System Concepts
2.17
Silberschatz, Galvin and Gagne 2002
Device-Status Table (1)
Operating System Concepts
2.18
Universitas Kristen Maranatha -- IT Department
Silberschatz, Galvin and Gagne 2002
9
Sistem Operasi Komputer
Device status table (2) Untuk menunggu hingga I/O selesai digunakan, dapat
juga digunakan system call (user program menunggu hingga I/O selesai, kemudian melakukan interrupt ke OS) Dibutuhkan device status table yang berisi Tipe device Alamat Status (idle, busy atau tidak berfungsi) Jika device sibuk, maka permintaan akan disimpan dalam tabel Jika permintaan pada device yang sama, maka akan dibuat daftar pada tabel
Operating System Concepts
2.19
Silberschatz, Galvin and Gagne 2002
Struktur DMA (Direct Memory Address) Transfer data dari buffer I/O ke memori atau sebaliknya
dilakukan per karakter (byte), dengan adanya interrupt pada sebelum dan sesudah transfer Dengan DMA, transfer data dapat dilakukan secara langsung oleh device controller per blok tanpa campur tangan CPU CPU hanya memberi interrupt sebelum dan sesudah transfer setiap blok Menghemat resource CPU, sehingga CPU dapat mengerjakan proses lain (multitasking) Jenis DMA Third party DMA: menggunakan DMA controller yang ada pada motherboard untuk melakukan transfer data First party DMA (bus-mastering): untuk melakukan operasi transfer data dikerjakan oleh bagian logic di interface card
Operating System Concepts
2.20
Universitas Kristen Maranatha -- IT Department
Silberschatz, Galvin and Gagne 2002
10
Sistem Operasi Komputer
Struktur penyimpanan Memori utama (volatile): hanya media penyimpanan
yang besar, yang dapat diakses langsung oleh CPU
Secondary storage (nonvolatile): perluasan dari memori
utama yang menyediakan media penyimpanan nonvolatile dengan kapasitas besar Magnetic disks: Permukaan disk, secara logikal dibagi ke dalam tracks, yang kemudian dibagi kembali ke dalam sectors Disk controller menyatakan interaksi logikal antara komputer dengan disk tersebut
Operating System Concepts
2.21
Silberschatz, Galvin and Gagne 2002
Memori Cache Karena perpindahan data / instruksi dari memori ke CPU seringkali
dilakukan, digunakan bantuan cache sebagai perantara CPU dengan memori Pengiriman data dari / ke cache ke / dari CPU dilakukan per karakter (word), sedangkan pengiriman data dari / ke cache ke / dari memori dilakukan per blok Software cache (caching disk controller): akan mempercepat akses data pada disk dengan menyimpan data yang baru digunakan dalam memori Hardware cache (on the board cache): akan mempercepat akses memori itu sendiri dengan menyimpan data yang baru saja digunakan ke dalam memori yang lebih cepat lagi (biasanya sebagai alamat yang lebih rendah dalam memori, sebagai cache) Hubungan antara blok-blok yang ada pada cache dengan blok yang ada pada memori utama dijabarkan dengan fungsi pemetaan (mapping function) Memori Direct-mapped cache CPU cache utama Associative-mapped cache word blok Set associative-mapped cache
Operating System Concepts
2.22
Universitas Kristen Maranatha -- IT Department
Silberschatz, Galvin and Gagne 2002
11
Sistem Operasi Komputer
Direct-mapped cache (1)
Blok-j dari memori utama dipetakan ke blok-j
(mod 128) di cache. Memori utama blok 0, 128, 256, dst… diambil, akan ditempatkan pada blok 0 di cache. Blok 1, 129, 257, dst … menempati blok 1 di cache, dst
Operating System Concepts
Silberschatz, Galvin and Gagne 2002
2.23
Direct-mapped cache (2) Memori utama 5
4
7
cache Blok 0 tag tag
Blok 1
Blok 0 tag
blok
word
• Empat bit terendah menyeleksi salah satu dari 16 word dalam suatu blok
Blok 127 Blok 128
• Tujuh bit tengah menunjukkan blok yang berada dalam cache tag Blok 127
Blok 1
• Lima bit tertinggi akan dibandingkan dengan tag yang ada pada lokasi cache
Blok 129
Blok 255
Blok 4095
16 bit main memori address 2^16= 65536 word : 2^4 word / blok = 4095 blok 2^7 = 128 blok cache Mudah diimplementasikan namun tidak fleksibel Operating System Concepts
2.24
Universitas Kristen Maranatha -- IT Department
Silberschatz, Galvin and Gagne 2002
12
Sistem Operasi Komputer
Associative-mapped cache Memori utama 12
4
cache Blok 0
word
• Dua belas bit tag digunakan untuk identifikasi suatu blok memori, jika blok tersebut ada pada cache
tag tag
Blok 0 tag
Blok 1
tag Blok 127
• Tag bit dari suatu alamat dibandingkan dengan tag bit tiap blok cache
Blok 1
Blok 127 Blok 128 Blok 129
Blok 255
Blok 4095
Blok pada memori utama ditempatkan pada sembarang posisi cache Cache harus mencocokkan 128 pola Operating System Concepts
Silberschatz, Galvin and Gagne 2002
2.25
Set-Associative-mapped cache Memori utama 6
6
4
cache Blok 0 tag Set 0 Blok 1 tag
tag Blok 126 Set 63
Blok 0 tag set word • Blok-blok cache dikelompokkan sebagai suatu set
Blok 1
Blok 127
• Suatu blok pada Blok 128 memori utama dipetakan Blok 129 ke sembarang blok di set tertentu pada cache • Tiap set diindentifikasi dengan 6 bit di tengah
Blok 255
Blok 127
• Blok yang ditempati Blok 4095 pada suatu set, dibandingkan dengan tag yang ada pada cache Keputusan penggantian blok yang ada pada cache replacement algorithm tag
Operating System Concepts
2.26
Universitas Kristen Maranatha -- IT Department
Silberschatz, Galvin and Gagne 2002
13
Sistem Operasi Komputer
Memori utama Berisi jutaan sel penyimpanan, dengan tiap sel menyimpan bit yang
bernilai 0 atau 1 Bit-bit dikelompokkan dengan ukuran tertentu (word length antara 16 – 64 bit) Alamat tiap-tiap word dari 0 – (2^k)-1 Memori statis (ROM) dan memori dinamis (DRAM) n bit word length
alamat 0
Word 0
1 i
Word 1 bn-1
b1
b0
Word 2^k-1
2^k -1 Operating System Concepts
Word i
2.27
Silberschatz, Galvin and Gagne 2002
Magnetic disk Piranti penyimpanan sekunder Informasi disimpan dengan cara merekam secara magnetis di
bawah Read write head Teknologi hard disk, antara lain: Shock protection system Self-monitoring analysis and reporting Solid state disk (DRAM) MR Head Partial response maximum likelihood Hot swap Plug and play ATA Environmental protection agency (EPA) Error correction code Auto transfer
Operating System Concepts
2.28
Universitas Kristen Maranatha -- IT Department
Silberschatz, Galvin and Gagne 2002
14
Sistem Operasi Komputer
Moving-Head Disk Mechanism Transfer rate = data flow antara disk dengan komputer Positioning time / random access time = waktu untuk menempatkan arm pada silinder (seek time) Rotational latency = waktu menempatkan sektor di bawah read-write head
Operating System Concepts
2.29
Silberschatz, Galvin and Gagne 2002
RAM Disk (1) Suatu blok penyimpanan dengan perintah membaca dan
menulisi blok Blok-blok pada keadaan normal disimpan pada memori sekunder (disk) RAM disk menggunakan satu porsi ‘preallocated’ memori utama untuk menyimpan blok-blok data Tidak ada seek dan rotasi Tiap blok memiliki ukuran yang sama dengan ukuran pada disk Driver menentukan dimana blok ditempatkan
Operating System Concepts
2.30
Universitas Kristen Maranatha -- IT Department
Silberschatz, Galvin and Gagne 2002
15
Sistem Operasi Komputer
RAM Disk (2) Memori utama (RAM)
User program
RAM disk
RAM disk blok i
Membaca dan menulis RAM Blok i-1 dengan memori ini Sistem operasi
Operating System Concepts
2.31
Silberschatz, Galvin and Gagne 2002
Storage-Device Hierarchy
Speed, cost dan volatility: makin ke atas makin cepat, makin mahal dan non volatile Operating System Concepts
2.32
Universitas Kristen Maranatha -- IT Department
Silberschatz, Galvin and Gagne 2002
16
Sistem Operasi Komputer
Proteksi Hardware dan SOK Operasi dual mode Proteksi I/O Proteksi memori Proteksi CPU
Operating System Concepts
2.33
Silberschatz, Galvin and Gagne 2002
Proteksi hardware
Latar belakang: Pada saat beraksi pada monitor mode, SOK
memiliki akses yang tidak terbatas pada memori kernel maupun user User program tidak boleh mengakses hardware secara langsung Instruksi untuk loading base dan limit merupakan privileged instructions
Operating System Concepts
2.34
Universitas Kristen Maranatha -- IT Department
Silberschatz, Galvin and Gagne 2002
17
Sistem Operasi Komputer
Dual mode (1) User mode: kepentingan user Monitor mode (kernel mode, supervisor mode, system
mode atau privileged mode): kepentingan SOK Mode bit: monitor (0), user (1) Membedakan eksekusi oleh SOK dan user program Pada saat boot time, hardware mulai dengan monitor mode sistem operasi diambil dari master boot record oleh Bootstrap
Program memulai user mode
Jika ada interrupt, maka akan terjadi perubahan dari
user mode ke monitor mode
Operating System Concepts
2.35
Silberschatz, Galvin and Gagne 2002
Dual mode (2) Interrupt / Trap
monitor
user
set user mode
Operating System Concepts
2.36
Universitas Kristen Maranatha -- IT Department
Silberschatz, Galvin and Gagne 2002
18
Sistem Operasi Komputer
Proteksi I/O (Dual Mode) Semua instruksi I/O dibuat dalam monitor mode
(privileged instructions) Hanya sistem operasi yang dapat mengakses I/O devices Jika akan mengakses instruksi privileged, user program harus mengaktifkan interrupt vector dengan menyimpan alamat dimana program dihentikan
Operating System Concepts
2.37
Silberschatz, Galvin and Gagne 2002
Use of A System Call to Perform I/O
Operating System Concepts
2.38
Universitas Kristen Maranatha -- IT Department
Silberschatz, Galvin and Gagne 2002
19
Sistem Operasi Komputer
Proteksi memori
Menggunakan 2 register: base dan limit Base alamat terkecil pada memori secara
fisik Limit besarnya jangkauan pada memori yang diijinkan Memori yang berada di luar nilai register base dan limit terproteksi
Operating System Concepts
2.39
Silberschatz, Galvin and Gagne 2002
Use of A Base and Limit Register
Operating System Concepts
2.40
Universitas Kristen Maranatha -- IT Department
Silberschatz, Galvin and Gagne 2002
20
Sistem Operasi Komputer
Proteksi CPU Menggunakan timer, untuk membatasi
kemungkinan loop yang tak terbatas dari user program Menjamin SOK melakukan kontrol (melalui interrupt) terhadap CPU Counter-clock menurut setiap periode (tetap ataupun variabel) Ketika counter mencapai 0, interupsi terjadi Misalnya digunakan: membatasi shareware software (evaluation version), membatasi lama waktu penggunaan komputer oleh user
Operating System Concepts
2.41
Silberschatz, Galvin and Gagne 2002
Clock / Timer Penting untuk sistem timesharing Memelihara waktu Melindungi suatu proses dari proses yang lainnya
dalam hal monopoli penggunaan CPU Clock hardware: one shot mode (menurunkan nilai counter lakukan
interrupt jika timer nol) square wave mode (looping interrupt secara periodik / ’detak’ clock)
Clock software: memelihara time of day (real time) Mencegah proses memonopoli CPU Menghitung penggunaan CPU Mengendalikan alarm system call Profiling, monitoring dan statistik Operating System Concepts
2.42
Universitas Kristen Maranatha -- IT Department
Silberschatz, Galvin and Gagne 2002
21
Sistem Operasi Komputer
Struktur jaringan komputer WAN (Wide Area Network) LAN (Local Area Network)
Operating System Concepts
2.43
Silberschatz, Galvin and Gagne 2002
Kesimpulan Pertemuan Komputer modern melakukan sharing memory antara CPU dan
device controller Memory controller memastikan akses alamat memori tertentu, sehingga
CPU dan device tidak saling berebut “wilayah” dalam memori utama Multiprogramming dan multitasking meningkatkan performa dengan kemampuan overlapping siklus CPU dan I/O Dilakukan interrupt dari I/O port atau DMA driver Untuk mengeksekusi suatu program, prosesor hanya dapat
mengakses memori utama Array dari satuan instruksi dan data (word), setiap word memiliki alamat Diperlukan siklus instruksi (fetch execution instruction cycle) Extensi dari memori utama secondary memory (disks)
SOK harus memastikan setiap program secara benar dieksekusi User program tidak boleh mengakses hardware secara langsung Dual mode, privileged instructions, memory protection, timer interrupt)
Operating System Concepts
2.44
Universitas Kristen Maranatha -- IT Department
Silberschatz, Galvin and Gagne 2002
22
Sistem Operasi Komputer
Latihan Soal 1.
Gambarkan arsitektur sistem komputer modern
2.
Tuliskan secara singkat dan tepat, bagaimana siklus instruksi terjadi ! Apakah perbedaan antara interrupt dengan trap ? Apa kegunaan tiap-tiap fungsi tersebut ?
3.
4.
Jelaskan perbedaan interupsi I/O dengan menggunakan metode synchronous dan asynchronous !
5.
Berikan alasan mengapa hardware perlu diproteksi ? Apa yang dimaksud dengan operasi dual-mode pada sistem operasi ? Apabila suatu sistem komputer tidak dilengkapi dengan dual-mode protection pada hardwarenya, mungkinkah dibuat suatu sistem operasi yang aman untuk komputer tersebut? Kapan cache menjadi sangat berguna ?
6. 7.
8.
Operating System Concepts
2.45
Universitas Kristen Maranatha -- IT Department
Silberschatz, Galvin and Gagne 2002
23