Anda di halaman 1dari 44

Sistem Operasi

Komputer
Pertemuan II
Struktur Sistem
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
Interrupt adalah suatu kejadian atau
Memory utama
peristiwa yang menyebabkan
Disk technology
mikrokontroler berhenti sejenak untuk
Proteksi hardware
melayani interrupt tersebut.
Dual mode
Trap adalah interupsi karena
Proteksi memori
terjadinya kesalahan atau kondisi
Proteksi CPU
kekecualian (exception conditions)
Struktur jaringan komputer yang dihasilkan proses yang running
WAN dan LAN
pada Diagram State Proses, seperti
usaha illegal dalam mengakses file.

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

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

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 opcodenya (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 kembali

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

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

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)

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 tersebut
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

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
Proses I/O tidak dapat berjalan simultan

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

Device-Status Table (1)

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.

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

Direct-mapped cache (1)


Blok-j dari memori utama dipetakan ke blok-j (mod
128) di cache.
Memori utama blok 0, 128, 256, dan seterusnya
diambil, akan ditempatkan pada blok 0 di cache.
Blok 1, 129, 257, dan seterusnya... menempati blok
1 di cache, dan seterusnya.

Direct-mapped cache (2)

Associative-mapped cache

Set-Associative-mapped cache

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)

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

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.

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.

RAM Disk (2)


Memori utama (RAM)

Storage-Device Hierarchy

Speed, cost dan volatility: makin ke atas makin cepat, makin

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.

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)

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

Use of A System Call to Perform I/O

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

Use of A Base and Limit Register

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

Struktur jaringan komputer


LAN (Local Area Network)

WAN (Wide Area Network)


H
Network
Host

User
Processes
host
operating
system

Communicat
ion
subsystem

C
P
H

C
P

H
C
P
H

C
P
Network
Host

User
Processes
host
operating
system
H

Communicat
ion
processor

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)

Tugas Pertama
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

Anda mungkin juga menyukai