Date post: | 07-Dec-2015 |
Category: |
Documents |
Upload: | ojie-almustanir |
View: | 247 times |
Download: | 7 times |
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
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
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
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
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
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
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
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
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
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.