Arsitektur Sistem Komputer
Operasi Sistem Komputer
● CPU dan perangkat I/O dapat dieksekusi secara
bersamaan (concurrent)
● Masing-masing device controller memiliki spesifikasi
yang sesuai dengan tipe device dan memiliki local buffer
● CPU memindahkan data dari main memory ke local
buffer dan sebaliknya
● I/O dieksekusi dari device local buffer controller
● Device controller menginformasikan ke CPU apabila
operasi yang dilakukan telah selesai dengan mekanisme
interrupt
● CPU dan sejumlah device controller yang dihubungkan
melalui bus untuk pemakaian memory secara
bersamaan dengan cara berkompetisi
Instruksi
Siklus Instruksi
Interrupt
Don't Interrupt me!!!
Apa itu interrupt???
Interrupt
● Adalah sinyal dari peralatan luar atau permintaan dari
program untuk melaksanakan suatu tugas khusus
● Interrupt mentransfer control ke interrupt service routine,
melalui interrupt vector(berisialamatservice routine)
● Arsitekturinterrupt harusmenyimpanaddress (alamat)
dariinstruksiinterrupt
● Interrupt yang datangdi-disabledjikaterdapatinterrupt
yang sedangdiproses(menghindarilost interrupt)
● Trap adalahsoftware yang men-generate interrupt,
baikkarenaerrorataukarenarequest dariuser
● Operating System merupakaninterrupt driven
Jenis Interrupt
Penyebab Terjadinya Interrupt
● Program : akibat eksekusi instruksi
(division by zero, invalid memory access,
dsb) –trap
● Timer : timer processor
● I/O controller, operasi I/O sudah selesai /
terjadi error
● Hardware malfunction : kesalahan
hardware (power failure, memory parity
error, dsb)
Interrupt Handling
● OS menjaga kondisi (state) dari CPU
dengan menyimpan register dan program
counter
● Menentukan tipe interrupt :
● Polling
● Vectored interrupt system
● Segmen-segmen kode yang terpisah
menentukan action apa yang dilakukan
untuk masing-masing tipe interrupt
Struktur I/O Interrupt
● Synchronous I/O.
KetikaI/O dijalankan,
control
dikembalikankeuser
prosessetelahprosesI/O
selesai
– Menungguinstruksiidle
sampaiinstruksiberikutn
ya
– Menungguloop
(aksesmemory)
– HanyasatupermintaanI/
O dijalankan,
tidakadapemrosesanI/O
secarasimultan
● Asynchronous I/O.
KetikaI/O dijalankan,
control
dikembalikankeuser
prosestanpamenunggupr
osesI/O selesai
– System call,
permintaankeOS
dariuser
untukmenjalankanI/O
– Device status table,
berisientry I/O device :
tipe, address danstatus
– OS mengindeksI/O
device table
Storage
Storage
● 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
Main Memory
Secondary Memory
Hirarki Storage
● Hirarki sistem storage diorganisasikan
berdasarkan :
– Speed
– Cost
– Volatility
● Caching : copy informasi ke sistem
storage yang lebih cepat; main memory
dapat dipandang sebagai cache terakhir
dari secondary storage
Hirarki Storage
Cache
● Memory dengan kecepatan akses tinggi
● Membutuhkan aturan cache management
● Penggunaan caching mengharuskan data
yang secara simultan tersimpan dalam
lebih dari satu level hirarki storage
konsisten
Operasi Dual Mode
Dual Mode
● Sharing resource sistem membutuhkan
OS untuk memastikan bahwa program
yang error tidak mengakibatkan program
lain dieksekusi juga error
● Hardware mendukung dua mode operasi :
● User mode–eksekusi dilakukan oleh user
● Monitor mode(kernel mode / system
mode) –eksekusi dilakukan oleh OS
Dual Mode
● Mode bit digunakan untuk
mengindikasikan mode yang sedang
dijalankan : monitor (0) atau user (1).
● Ketika interrupt atau kesalahan terjadi
hardware di-switch ke monitor mode
Proteksi I/O
● Semua instruksi I/O menggunakan
privileged instructions
● Harus dipastikan bahwa user program
tidak mendapat control komputer dalam
kondisi monitor mode (dimana user
program, sebagai bagian dari eksekusi,
menyimpan alamat baru dalam interrupt
vector)
Prosedur Request I/O
● Instruksi I/O adalah privileged, bagaimana user program
menjalankan I/O ?
● System call –Metode yang digunakan oleh proses untuk
meminta suatu tindakan (action) oleh OS
– Biasanya memanfaatkan trap pada lokasi spesifik
dalam interrupt vector
– Control dilewatkan melalui interrupt vector ke service
routine OS, dan mode bit di-set menjadi monitor mode
– Monitor memeriksa apakah parameter benar & legal,
kemudian mengeksekusi request, dan
mengembalikan control ke instruksi system call
berikutnya
System Call I/O
Proteksi Memory
● Harus menyediakan proteksi memory
untuk interrupt vectordan interrupt service
routines (ISR)
● Prosedur proteksi memory, tambahkan
dua register yang menentukan range legal
addressakses program :
– Base register –menyimpan alamat memory
fisik terkecil
– Limit register –berisi ukuran range
● Memory diluar range yang didefinisikan
diproteksi
Proteksi Hardware
● Ketika eksekusi pada kondisi monitor
mode, OS memiliki akses bebas (monitor
dan memory user)
● Instruksi yang di-load pada base & limit
register adalah priviliged instruction
Proteksi CPU
● Timer–interrupt komputer setelah periode
tertentu untuk memastikan OS me-
maintain control
– Timer diturunkan setiap clock tick
– SKetika nilai timer = 0, interrupt terjadi
● Timer biasanya digunakan untuk
implementasi time sharing
● Time juga digunakan untuk menghitung
aktu sekarang
● Load-timer adalah privileged instruction.
CPU
RAM
User
Menghidupkan
Komputer
BIOS
Virtual Machine
Virtual Machine
● Gerard J. Popek dan Robert P. Goldberg
pada tahun 1974 sebagai sebuah duplikat
yang efisien dan terisolasi dari suatu
mesin asli.
● implementasi perangkat lunak dari sebuah
mesin komputer yang dapat menjalankan
program sama seperti layaknya sebuah
komputer asli.
Virtual Machine
Client Server
Client Server
● sebuah paradigma dalam teknologi
informasi yang merujuk kepada cara untuk
mendistribusikan aplikasi ke dalam dua
pihak: pihak klien dan pihak server.
● Komponen klien juga sering disebut
sebagai front-end
● komponen server disebut sebagai back-
end
Ada Pertanyaan???

Pertemuan2 struktur sistem operasi

  • 3.
  • 6.
    Operasi Sistem Komputer ●CPU dan perangkat I/O dapat dieksekusi secara bersamaan (concurrent) ● Masing-masing device controller memiliki spesifikasi yang sesuai dengan tipe device dan memiliki local buffer ● CPU memindahkan data dari main memory ke local buffer dan sebaliknya ● I/O dieksekusi dari device local buffer controller ● Device controller menginformasikan ke CPU apabila operasi yang dilakukan telah selesai dengan mekanisme interrupt ● CPU dan sejumlah device controller yang dihubungkan melalui bus untuk pemakaian memory secara bersamaan dengan cara berkompetisi
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
    Interrupt ● Adalah sinyaldari peralatan luar atau permintaan dari program untuk melaksanakan suatu tugas khusus ● Interrupt mentransfer control ke interrupt service routine, melalui interrupt vector(berisialamatservice routine) ● Arsitekturinterrupt harusmenyimpanaddress (alamat) dariinstruksiinterrupt ● Interrupt yang datangdi-disabledjikaterdapatinterrupt yang sedangdiproses(menghindarilost interrupt) ● Trap adalahsoftware yang men-generate interrupt, baikkarenaerrorataukarenarequest dariuser ● Operating System merupakaninterrupt driven
  • 13.
  • 14.
    Penyebab Terjadinya Interrupt ●Program : akibat eksekusi instruksi (division by zero, invalid memory access, dsb) –trap ● Timer : timer processor ● I/O controller, operasi I/O sudah selesai / terjadi error ● Hardware malfunction : kesalahan hardware (power failure, memory parity error, dsb)
  • 15.
    Interrupt Handling ● OSmenjaga kondisi (state) dari CPU dengan menyimpan register dan program counter ● Menentukan tipe interrupt : ● Polling ● Vectored interrupt system ● Segmen-segmen kode yang terpisah menentukan action apa yang dilakukan untuk masing-masing tipe interrupt
  • 20.
    Struktur I/O Interrupt ●Synchronous I/O. KetikaI/O dijalankan, control dikembalikankeuser prosessetelahprosesI/O selesai – Menungguinstruksiidle sampaiinstruksiberikutn ya – Menungguloop (aksesmemory) – HanyasatupermintaanI/ O dijalankan, tidakadapemrosesanI/O secarasimultan ● Asynchronous I/O. KetikaI/O dijalankan, control dikembalikankeuser prosestanpamenunggupr osesI/O selesai – System call, permintaankeOS dariuser untukmenjalankanI/O – Device status table, berisientry I/O device : tipe, address danstatus – OS mengindeksI/O device table
  • 22.
  • 24.
    Storage ● 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
  • 25.
  • 26.
  • 27.
    Hirarki Storage ● Hirarkisistem storage diorganisasikan berdasarkan : – Speed – Cost – Volatility ● Caching : copy informasi ke sistem storage yang lebih cepat; main memory dapat dipandang sebagai cache terakhir dari secondary storage
  • 28.
  • 29.
    Cache ● Memory dengankecepatan akses tinggi ● Membutuhkan aturan cache management ● Penggunaan caching mengharuskan data yang secara simultan tersimpan dalam lebih dari satu level hirarki storage konsisten
  • 31.
  • 32.
    Dual Mode ● Sharingresource sistem membutuhkan OS untuk memastikan bahwa program yang error tidak mengakibatkan program lain dieksekusi juga error ● Hardware mendukung dua mode operasi : ● User mode–eksekusi dilakukan oleh user ● Monitor mode(kernel mode / system mode) –eksekusi dilakukan oleh OS
  • 33.
    Dual Mode ● Modebit digunakan untuk mengindikasikan mode yang sedang dijalankan : monitor (0) atau user (1). ● Ketika interrupt atau kesalahan terjadi hardware di-switch ke monitor mode
  • 34.
    Proteksi I/O ● Semuainstruksi I/O menggunakan privileged instructions ● Harus dipastikan bahwa user program tidak mendapat control komputer dalam kondisi monitor mode (dimana user program, sebagai bagian dari eksekusi, menyimpan alamat baru dalam interrupt vector)
  • 35.
    Prosedur Request I/O ●Instruksi I/O adalah privileged, bagaimana user program menjalankan I/O ? ● System call –Metode yang digunakan oleh proses untuk meminta suatu tindakan (action) oleh OS – Biasanya memanfaatkan trap pada lokasi spesifik dalam interrupt vector – Control dilewatkan melalui interrupt vector ke service routine OS, dan mode bit di-set menjadi monitor mode – Monitor memeriksa apakah parameter benar & legal, kemudian mengeksekusi request, dan mengembalikan control ke instruksi system call berikutnya
  • 36.
  • 37.
    Proteksi Memory ● Harusmenyediakan proteksi memory untuk interrupt vectordan interrupt service routines (ISR) ● Prosedur proteksi memory, tambahkan dua register yang menentukan range legal addressakses program : – Base register –menyimpan alamat memory fisik terkecil – Limit register –berisi ukuran range ● Memory diluar range yang didefinisikan diproteksi
  • 39.
    Proteksi Hardware ● Ketikaeksekusi pada kondisi monitor mode, OS memiliki akses bebas (monitor dan memory user) ● Instruksi yang di-load pada base & limit register adalah priviliged instruction
  • 41.
    Proteksi CPU ● Timer–interruptkomputer setelah periode tertentu untuk memastikan OS me- maintain control – Timer diturunkan setiap clock tick – SKetika nilai timer = 0, interrupt terjadi ● Timer biasanya digunakan untuk implementasi time sharing ● Time juga digunakan untuk menghitung aktu sekarang ● Load-timer adalah privileged instruction.
  • 42.
  • 43.
  • 44.
    Virtual Machine ● GerardJ. Popek dan Robert P. Goldberg pada tahun 1974 sebagai sebuah duplikat yang efisien dan terisolasi dari suatu mesin asli. ● implementasi perangkat lunak dari sebuah mesin komputer yang dapat menjalankan program sama seperti layaknya sebuah komputer asli.
  • 45.
  • 46.
  • 47.
    Client Server ● sebuahparadigma dalam teknologi informasi yang merujuk kepada cara untuk mendistribusikan aplikasi ke dalam dua pihak: pihak klien dan pihak server. ● Komponen klien juga sering disebut sebagai front-end ● komponen server disebut sebagai back- end
  • 48.