• Tidak ada hasil yang ditemukan

Sistem Operasi Komputer Pertemuan II Struktur Sistem Komputer

N/A
N/A
Protected

Academic year: 2021

Membagikan "Sistem Operasi Komputer Pertemuan II Struktur Sistem Komputer"

Copied!
23
0
0

Teks penuh

(1)

Sistem Operasi Komputer

Pertemuan II –

Struktur Sistem Komputer

Kuis Kecil 1

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 ?

(2)

Silberschatz, Galvin and Gagne 2002 2.3

Operating System Concepts

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

(3)

Silberschatz, Galvin and Gagne 2002 2.5

Operating System Concepts

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 bersama-sama dan berkompetisi untuk menggunakan memori

 Memory controller memastikan akses alamat memori tertentu, sehingga CPU dan device tidak saling berebut “wilayah” dalam memori utama

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

(4)

Silberschatz, Galvin and Gagne 2002 2.7

Operating System Concepts

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)

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

(5)

Silberschatz, Galvin and Gagne 2002 2.9

Operating System Concepts

Siklus instruksi (3)

0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 LOAD AC, [940] ADD AC, [941] STO 941, AC PC = 300 IR = 1940 AC = ----O P C ----O D E D a t a 9 4 0 1 9 4 0 5 9 4 1 2 9 4 1 0 0 0 3 0 0 0 2 300 301 302 940 941 1 9 4 0 5 9 4 1 2 9 4 1 0 0 0 3 0 0 0 5 300 301 302 940 941 PC = 300 IR = 1940 AC = 0005

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

(6)

Silberschatz, Galvin and Gagne 2002 2.11

Operating System Concepts

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 Suatu sistem operasi merupakan suatu Suatu sistem operasi merupakan suatu Suatu sistem operasi merupakan suatu sistem yang tugasnya

sistem yang tugasnya sistem yang tugasnya

sistem yang tugasnya mengendalikan mengendalikan mengendalikan mengendalikan interrupts

interrupts interrupts

interrupts yang terjadi untuk menjamin yang terjadi untuk menjamin yang terjadi untuk menjamin yang terjadi untuk menjamin kepuasan penggunan komputer

kepuasan penggunan komputer kepuasan penggunan komputer kepuasan penggunan komputer

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)

(7)

Silberschatz, Galvin and Gagne 2002 2.13

Operating System Concepts

Gambaran Garis Waktu Interrupt

Proses tunggal dengan I/O

Interrupt service routine

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

(8)

Silberschatz, Galvin and Gagne 2002 2.15

Operating System Concepts

Synchronous dan Asynchronous I/O (1)

Synchronous Asynchronous

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

(9)

Silberschatz, Galvin and Gagne 2002 2.17

Operating System Concepts

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

(10)

Silberschatz, Galvin and Gagne 2002 2.19

Operating System Concepts

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

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

(11)

Silberschatz, Galvin and Gagne 2002 2.21

Operating System Concepts

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

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)

Direct-mapped cache

Associative-mapped cache

Set associative-mapped cache

CPU cache Memori

utama

(12)

Silberschatz, Galvin and Gagne 2002 2.23

Operating System Concepts

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 Direct-mapped cache (2) Blok 0 Blok 1 Blok 127 cache Blok 0 Blok 1 Blok 127 Blok 128 Blok 129 Blok 255 Blok 4095 Memori utama

16 bit main memori address  2^16= 65536 word : 2^4 word / blok = 4095 blok

2^7 = 128 blok cache

7

5 4

tag blok word • Empat bit terendah

menyeleksi salah satu dari 16 word dalam suatu blok

• Tujuh bit tengah

menunjukkan blok yang berada dalam cache

• Lima bit tertinggi akan

dibandingkan dengan tag yang ada pada lokasi cache

tag

tag

(13)

Silberschatz, Galvin and Gagne 2002 2.25

Operating System Concepts

Associative-mapped cache Blok 0 Blok 1 Blok 127 cache Blok 0 Blok 1 Blok 127 Blok 128 Blok 129 Blok 255 Blok 4095 Memori utama

Blok pada memori utama

ditempatkan pada sembarang posisi cache

Cache harus mencocokkan 128 pola

12 4

tag word • Dua belas bit tag

digunakan untuk identifikasi suatu blok memori, jika blok tersebut ada pada cache

• Tag bit dari suatu

alamat dibandingkan dengan tag bit tiap blok cache tag tag tag Set-Associative-mapped cache Blok 0 Blok 1 Blok 126 Blok 127 cache Blok 0 Blok 1 Blok 127 Blok 128 Blok 129 Blok 255 Blok 4095 Memori utama 6 4 tag word • Blok-blok cache dikelompokkan sebagai suatu set

• Suatu blok pada

memori utama dipetakan ke sembarang blok di set tertentu pada cache

• Tiap set diindentifikasi

dengan 6 bit di tengah

• Blok yang ditempati

pada suatu set, dibandingkan dengan tag yang ada pada cache

tag tag tag 6 set Set 0 tag Set 63

Keputusan penggantian blok yang ada pada cache  replacement algorithm

(14)

Silberschatz, Galvin and Gagne 2002 2.27

Operating System Concepts

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)

alamat 0 i 1 2^k -1 Word 0 Word 1 Word i Word 2^k-1 b0 b1 bn-1

n bit word length

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

(15)

Silberschatz, Galvin and Gagne 2002 2.29

Operating System Concepts

Moving-Head Disk Mechanism

Transfer rate = data flow antara

disk dengan komputer

Positioning time / random access time = waktu untuk

me-nempatkan arm pada silinder (seek time)

Rotational latency = waktu

me-nempatkan sektor di bawah read-write head

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

(16)

Silberschatz, Galvin and Gagne 2002 2.31

Operating System Concepts

RAM Disk (2)

Memori utama (RAM)

User program

RAM disk

Sistem operasi

RAM disk blok i

Membaca dan menulis RAM Blok i-1 dengan memori ini

Storage-Device Hierarchy

(17)

Silberschatz, Galvin and Gagne 2002 2.33

Operating System Concepts

Proteksi Hardware dan SOK

 Operasi dual mode  Proteksi I/O

 Proteksi memori  Proteksi CPU

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

(18)

Silberschatz, Galvin and Gagne 2002 2.35

Operating System Concepts

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

Dual mode (2)

monitor user

Interrupt / Trap

(19)

Silberschatz, Galvin and Gagne 2002 2.37

Operating System Concepts

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

(20)

Silberschatz, Galvin and Gagne 2002 2.39

Operating System Concepts

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

(21)

Silberschatz, Galvin and Gagne 2002 2.41

Operating System Concepts

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

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

(22)

Silberschatz, Galvin and Gagne 2002 2.43

Operating System Concepts

Struktur jaringan komputer

LAN (Local Area Network)

WAN (Wide Area Network)

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

(23)

Silberschatz, Galvin and Gagne 2002 2.45

Operating System Concepts

Latihan Soal

1. Gambarkan arsitektur sistem komputer modern

2. Tuliskan secara singkat dan tepat, bagaimana siklus instruksi terjadi !

3. Apakah perbedaan antara interrupt dengan trap ? Apa kegunaan tiap-tiap fungsi tersebut ?

4. Jelaskan perbedaan interupsi I/O dengan menggunakan metode synchronous dan asynchronous !

5. Berikan alasan mengapa hardware perlu diproteksi ?

6. Apa yang dimaksud dengan operasi dual-mode pada sistem operasi ?

7. Apabila suatu sistem komputer tidak dilengkapi dengan dual-mode protection pada hardwarenya, mungkinkah dibuat suatu sistem operasi yang aman untuk komputer tersebut?

Referensi

Dokumen terkait

Tujuan penelitian ini adalah untuk mengetahui apakah peningkatan hasil belajar Matematika dapat diupayakan melalui model pembelajaran TGT pada siswa kelas 5 SDN Sidorejo

Adapun Permasalah yang akan diungkap dalam penelitian ini adalah bagaimana proses pendekatan Open-Ended pada pembelajaran matematika untuk siswa kelas VII A SMP N 3 Temanggung

Jadi Berdasarkan hasil penelitian dan pembahasan penelitian, maka dapat disimpulkan bahwa persepsi petani terhadap pentingnya pendidikan berbeda beda yaitu sebagian

 Algoritma kriptografi modern umumnya beroperasi dalam mode bit ketimbang mode karakter (seperti yang dilakukan pada cipher substitusi atau cipher transposisi

Selain itu manajer perlu menciptakan inovasi-inovasi baru seperti handphone dual card yaitu dalam satu handphone dapat mengaktifkan dua buah sim card hal ini sesuai dengan

website adalah 0, maka cita Pemerintah Kabupaten Tangerang bernilai positif yaitu 0,249. Hal ini dapat diartikan setiap peningkatan nilai kualitas website.. sebesar

Pada sistem penilaian kinerja pegawai Puskesmas Rowosari seharusnya menginput sasaran kerja hariannya pada sistem e-kinerja, namun pelatihan terkait dengan