modul-2 struktur sistem komputer

35
Struktur Sistem Struktur Sistem Komputer Komputer Dahlan Abdullah Dahlan Abdullah Teknik Informatika Teknik Informatika Universitas Universitas Malikussaleh Malikussaleh

Upload: ojie-almustanir

Post on 07-Dec-2015

249 views

Category:

Documents


7 download

DESCRIPTION

os

TRANSCRIPT

Struktur Sistem Struktur Sistem KomputerKomputer

Dahlan AbdullahDahlan Abdullah

Teknik InformatikaTeknik Informatika

Universitas Universitas MalikussalehMalikussaleh

PembahasanPembahasan

Operasi Sistem KomputerOperasi Sistem Komputer Struktur I/OStruktur I/O Struktur StorageStruktur Storage Hirarki StorageHirarki Storage Proteksi Perangkat KerasProteksi Perangkat Keras Sistem Arsitektur UmumSistem Arsitektur Umum

Arsitektur Sistem Arsitektur Sistem KomputerKomputer

BootingBooting

Bootstrap programBootstrap program Inisialisasi sistem, seperti : CPU register, Inisialisasi sistem, seperti : CPU register,

device controllers, memory, dsbdevice controllers, memory, dsb Load and run the OSLoad and run the OS

Operating system: run Operating system: run init init untuk untuk inisialisasi sistem proses, seperti : inisialisasi sistem proses, seperti : various daemons, login processes, dsb.various daemons, login processes, dsb.

Operasi Sistem Operasi Sistem Komputer Komputer (1)(1)

CPUCPU MemoryMemory DiskDisk PrinterPrinter Tape driveTape drive Device controllerDevice controller System busSystem bus Memory controllerMemory controller

Operasi Sistem Operasi Sistem Komputer Komputer (2)(2)

CPU dan I/O device dapat dieksekusi CPU dan I/O device dapat dieksekusi secara bersamaan (secara bersamaan (concurrentconcurrent))

Masing-masing device controller memiliki Masing-masing device controller memiliki spesifikasi yang sesuai dengan tipe device spesifikasi yang sesuai dengan tipe device dan memiliki dan memiliki local bufferlocal buffer

CPU memindahkan data dari CPU memindahkan data dari main main memorymemory ke ke local buffer local buffer dan sebaliknyadan sebaliknya

I/O dieksekusi dari device local buffer I/O dieksekusi dari device local buffer controllercontroller

Device controller menginformasikan ke Device controller menginformasikan ke CPU apabila operasi yang dilakukan telah CPU apabila operasi yang dilakukan telah selesai dengan mekanisme selesai dengan mekanisme interruptinterrupt

InterruptInterrupt Interrupt mentransfer control ke Interrupt mentransfer control ke interrupt service interrupt service

routineroutine, melalui , melalui interrupt vectorinterrupt vector (berisi alamat (berisi alamat service routine)service routine)

Arsitektur interrupt harus menyimpan Arsitektur interrupt harus menyimpan address address (alamat) dari instruksi interrupt(alamat) dari instruksi interrupt

Interrupt yang datang di-Interrupt yang datang di-disableddisabled jika terdapat jika terdapat interrupt yang sedang diproses (menghindari interrupt yang sedang diproses (menghindari lost lost interruptinterrupt))

Trap Trap adalah software yang men-generate adalah software yang men-generate interrupt, baik karena interrupt, baik karena errorerror atau karena request atau karena request dari userdari user

Operating System merupakan Operating System merupakan interrupt driveninterrupt driven

Penyebab Terjadinya Penyebab Terjadinya InterruptInterrupt

Program : akibat eksekusi instruksi Program : akibat eksekusi instruksi (division by zero, invalid memory (division by zero, invalid memory access, access, dsbdsb) – trap) – trap

Timer : timer processorTimer : timer processor I/O controller, operasi I/O sudah I/O controller, operasi I/O sudah

selesai / terjadi errorselesai / terjadi error Hardware malfunction : kesalahan Hardware malfunction : kesalahan

hardware (hardware (power failurepower failure, , memory memory parity errorparity error, dsb), dsb)

Interrupt HandlingInterrupt Handling

OS menjaga kondisi (OS menjaga kondisi (statestate) dari CPU ) dari CPU dengan menyimpan dengan menyimpan register register dan dan program counterprogram counter

Menentukan tipe interrupt :Menentukan tipe interrupt : PollingPolling Vectored interrupt systemVectored interrupt system

Segmen-segmen kode yang terpisah Segmen-segmen kode yang terpisah menentukan menentukan action action apa yang dilakukan apa yang dilakukan untuk masing-masing tipe interruptuntuk masing-masing tipe interrupt

Contoh Interrupt Vector Contoh Interrupt Vector TableTable

Abstraksi Interrupt I/O Abstraksi Interrupt I/O DeviceDevice

(a) Tahapan eksekusi I/O device dan (a) Tahapan eksekusi I/O device dan generate interruptgenerate interrupt

(b) Bagaimana proses CPU di-interrupt(b) Bagaimana proses CPU di-interrupt

(a) (b)

Interrupt Time Line For Interrupt Time Line For a Single Process Doing a Single Process Doing

OutputOutput

Siklus Interrupt I/O Siklus Interrupt I/O (1)(1)

Siklus Interrupt I/O Siklus Interrupt I/O (2)(2)

Struktur I/O - InterruptStruktur I/O - Interrupt Synchronous I/OSynchronous I/O. Ketika I/O dijalankan, control . Ketika I/O dijalankan, control

dikembalikan ke user proses setelah proses I/O dikembalikan ke user proses setelah proses I/O selesaiselesai Menunggu instruksi idle sampai instruksi berikutnyaMenunggu instruksi idle sampai instruksi berikutnya Menunggu loop (akses memory)Menunggu loop (akses memory) Hanya satu permintaan I/O dijalankan, tidak ada Hanya satu permintaan I/O dijalankan, tidak ada

pemrosesan I/O secara simultanpemrosesan I/O secara simultan Asynchronous I/OAsynchronous I/O. Ketika I/O dijalankan, control . Ketika I/O dijalankan, control

dikembalikan ke user proses tanpa menunggu dikembalikan ke user proses tanpa menunggu proses I/O selesaiproses I/O selesai System callSystem call, permintaan ke OS dari user untuk , permintaan ke OS dari user untuk

menjalankan I/Omenjalankan I/O Device status tableDevice status table, berisi entry I/O device : tipe, , berisi entry I/O device : tipe,

address dan statusaddress dan status OS mengindeks I/O device table untuk menentukan OS mengindeks I/O device table untuk menentukan

status device dan memodifikasi table untuk interruptstatus device dan memodifikasi table untuk interrupt

Dua Metode I/ODua Metode I/O

Synchronous Asynchronous

Device-Status TableDevice-Status Table

Struktur I/O - DMAStruktur I/O - DMA

I/O device dengan kecepatan tinggi I/O device dengan kecepatan tinggi tanpa memerlukan CPUtanpa memerlukan CPU

Device controller mentransfer block Device controller mentransfer block data dari data dari buffer storagebuffer storage langsung ke langsung ke memory tanpa intervensi CPUmemory tanpa intervensi CPU

Interrupt di-generate per-block, tidak Interrupt di-generate per-block, tidak per-byteper-byte

Proses DMAProses DMA

Struktur StorageStruktur Storage

Main memory : media storage yang dapat Main memory : media storage yang dapat diakses langsung oleh CPU, kapasitas diakses langsung oleh CPU, kapasitas kecil (kecil (volatilevolatile)) Volatile : isi data hilang jika power dimatikanVolatile : isi data hilang jika power dimatikan

Secondary storage : penyimpanan data Secondary storage : penyimpanan data dengan kapasitas besar (dengan kapasitas besar (non-volatilenon-volatile)) Non-volatile : data masih tersimpan Non-volatile : data masih tersimpan

walaupun power dimatikanwalaupun power dimatikan Magnetic disk : permukaan disk dibagi Magnetic disk : permukaan disk dibagi

dalam dalam track track dan dan sectorsector Magnetic tapeMagnetic tape

Hirarkhi Storage Hirarkhi Storage (1)(1)

Hirarki sistem storage Hirarki sistem storage diorganisasikan berdasarkan :diorganisasikan berdasarkan : SpeedSpeed CostCost VolatilityVolatility

Caching : copy informasi ke sistem Caching : copy informasi ke sistem storage yang lebih cepat; main storage yang lebih cepat; main memory dapat dipandang sebagai memory dapat dipandang sebagai cache cache terakhir dari secondary storageterakhir dari secondary storage

Hirarkhi Storage Hirarkhi Storage (2)(2)

Trade-off : cost & speedTrade-off : cost & speed

CachingCaching

Memory dengan kecepatan akses Memory dengan kecepatan akses tinggitinggi

Membutuhkan aturan Membutuhkan aturan cache cache managementmanagement

Penggunaan caching mengharuskan Penggunaan caching mengharuskan data yang secara simultan tersimpan data yang secara simultan tersimpan dalam lebih dari satu level hirarki dalam lebih dari satu level hirarki storage konsistenstorage konsisten

Abstraksi Migrasi DataAbstraksi Migrasi Data

Proteksi HardwareProteksi Hardware

Dual-mode OperationDual-mode Operation I/O ProtectionI/O Protection Memory ProtectionMemory Protection CPU ProtectionCPU Protection

Operasi Dual-Mode Operasi Dual-Mode (1)(1)

Sharing resource sistem membutuhkan Sharing resource sistem membutuhkan OS untuk memastikan bahwa program OS untuk memastikan bahwa program yang error tidak mengakibatkan yang error tidak mengakibatkan program lain dieksekusi juga errorprogram lain dieksekusi juga error

Hardware mendukung dua mode Hardware mendukung dua mode operasi :operasi : User modeUser mode – eksekusi dilakukan oleh user – eksekusi dilakukan oleh user Monitor modeMonitor mode (kernel mode / system (kernel mode / system

mode) – eksekusi dilakukan oleh OS mode) – eksekusi dilakukan oleh OS

Operasi Dual-Mode Operasi Dual-Mode (2)(2)

Mode bit Mode bit digunakan untuk mengindikasikan digunakan untuk mengindikasikan mode yang sedang dijalankan : monitor (0) atau mode yang sedang dijalankan : monitor (0) atau user (1).user (1).

Ketika interrupt atau kesalahan terjadi Ketika interrupt atau kesalahan terjadi hardware di-switch ke monitor modehardware di-switch ke monitor mode

Interrupt/faultInterrupt/fault

monitormonitor useruser

set user modeset user mode

Privileged instructions Privileged instructions hanya dapat dilakukan oleh monitor modehanya dapat dilakukan oleh monitor mode

Proteksi I/OProteksi I/O

Semua instruksi I/O menggunakan Semua instruksi I/O menggunakan privileged instructionsprivileged instructions

Harus dipastikan bahwa user Harus dipastikan bahwa user program tidak mendapat control program tidak mendapat control komputer dalam kondisi monitor komputer dalam kondisi monitor mode (dimana user program, mode (dimana user program, sebagai bagian dari eksekusi, sebagai bagian dari eksekusi, menyimpan alamat baru dalam menyimpan alamat baru dalam interrupt vectorinterrupt vector))

Prosedur Request I/OProsedur Request I/O

Instruksi I/O adalah privileged, bagaimana user Instruksi I/O adalah privileged, bagaimana user program menjalankan I/O ?program menjalankan I/O ?

System call – Metode yang digunakan oleh System call – Metode yang digunakan oleh proses untuk meminta suatu tindakan (proses untuk meminta suatu tindakan (actionaction) ) oleh OSoleh OS Biasanya memanfaatkan trap pada lokasi spesifik Biasanya memanfaatkan trap pada lokasi spesifik

dalam interrupt vectordalam interrupt vector Control dilewatkan melalui interrupt vector ke Control dilewatkan melalui interrupt vector ke

service routine OS, dan mode bit di-set menjadi service routine OS, dan mode bit di-set menjadi monitor modemonitor mode

Monitor memeriksa apakah parameter benar & legal, Monitor memeriksa apakah parameter benar & legal, kemudian mengeksekusi request, dan kemudian mengeksekusi request, dan mengembalikan control ke instruksi system call mengembalikan control ke instruksi system call berikutnyaberikutnya

System Call untuk System Call untuk Menjalankan I/OMenjalankan I/O

Proteksi MemoryProteksi Memory

Harus menyediakan proteksi memory untuk Harus menyediakan proteksi memory untuk interrupt vectorinterrupt vector dan dan interrupt service interrupt service routines routines (ISR)(ISR)

Prosedur proteksi memory, tambahkan dua Prosedur proteksi memory, tambahkan dua register yang menentukan range register yang menentukan range legal legal addressaddress akses program : akses program : Base register – menyimpan alamat memory fisik Base register – menyimpan alamat memory fisik

terkecilterkecil Limit register – berisi ukuran rangeLimit register – berisi ukuran range

Memory diluar range yang didefinisikan Memory diluar range yang didefinisikan diproteksidiproteksi

Penggunaan Base and Penggunaan Base and Limit RegisterLimit Register

Proteksi Hardware AddressProteksi Hardware Address

Proteksi HardwareProteksi Hardware

Ketika eksekusi pada kondisi monitor Ketika eksekusi pada kondisi monitor mode, OS memiliki akses bebas (monitor mode, OS memiliki akses bebas (monitor dan memory user)dan memory user)

Instruksi yang di-load pada base & limit Instruksi yang di-load pada base & limit register adalah priviliged instructionregister adalah priviliged instruction

Proteksi CPUProteksi CPU

TimerTimer – interrupt komputer setelah – interrupt komputer setelah periode tertentu untuk memastikan OS periode tertentu untuk memastikan OS me-maintain controlme-maintain control Timer diturunkan setiap Timer diturunkan setiap clock tickclock tick Ketika nilai timer = 0, interrupt terjadiKetika nilai timer = 0, interrupt terjadi

Timer biasanya digunakan untuk Timer biasanya digunakan untuk implementasi implementasi time sharingtime sharing

Time juga digunakan untuk menghitung Time juga digunakan untuk menghitung waktu sekarangwaktu sekarang

Load-timer adalah privileged instruction.Load-timer adalah privileged instruction.