Anda di halaman 1dari 14

9/26/2007

IF3191 Sistem Operasi


I/O

Achmad Imam Kistijantoro


Semester I 2007/2008

Intro
I/O hardware beragam dan kompleks
Bagaimana memudahkan akses I/O dengan
cara standar

Keyboard
Disk
Mouse
Display
Printer
Network card

26-Sep-07

9/26/2007

Sistem komputer

26-Sep-07

Hardware: Jenis I/O device


Character oriented device

Block oriented device:

Clock:?
26-Sep-07

9/26/2007

Contoh

26-Sep-07

Device controller
I/O device terdiri atas:
Komponen mekanik
Komponen elektronik (device controller)

device controller:
Dapat mengendalikan beberapa device
Interaksi controller device mungkin menggunakan
interface standard, e.g.: IDE, SCSI
Mengubah stream menjadi block
Error correction
Menyediakan buffer yang dapat diakses via main
memory
26-Sep-07

9/26/2007

Komunikasi controller-CPU
I/O port number:
mengirim perintah
membaca dan menulis data (via data buffer)

Akses ke I/O port menggunakan perintah CPU


khusus:
In ..
Out

26-Sep-07

Memory-mapped I/O

26-Sep-07

9/26/2007

Memory mapped I/O

26-Sep-07

Memory-mapped I/O
Kelebihan
Dapat diakses dari bahasa tingkat tinggi (C/C++)
Proteksi dapat dilakukan dengan mengatur address
space user process
Lebih mudah memeriksa status sebuah device

26-Sep-07

10

9/26/2007

Problems with memory-mapped I/O


Problem dengan caching memory
Mekanisme ekstra untuk arsitektur komputer
dengan multi-bus

26-Sep-07

11

DMA

26-Sep-07

12

9/26/2007

Interrupt handling
Precise interrupt

26-Sep-07

13

I/O software
Goals/issues

Device independent
Efficiency
Uniform naming
Error handling
Synchronous vs. asynchronous
buffering

26-Sep-07

14

9/26/2007

Programmed I/O

26-Sep-07

15

Programmed I/O

26-Sep-07

16

9/26/2007

Interrupt driven I/O

26-Sep-07

17

I/O using DMA

26-Sep-07

18

9/26/2007

I/O software layer

26-Sep-07

19

Interrupt handler
Driver yang memulai operasi I/O di blok hingga
menerima notifikasi dari interrupt handler
Interrupt handler menangani I/O interrupt dan
melakukan unblock pada driver

26-Sep-07

20

10

9/26/2007

Device driver

26-Sep-07

21

Device driver
Device driver umumnya dibuat oleh vendor
pembuat device
Device driver menjadi bagian dari sistem operasi
Mekanisme integrasi:
Kompilasi kernel
Dynamic loading & linking

26-Sep-07

22

11

9/26/2007

Device driver
Tugas driver
Memeriksa input dari program valid atau tidak
Konversi parameter yang diberikan program ke
struktur yang sesuai untuk device
Scheduling akses ke device
Mengontrol device
Menangani error

26-Sep-07

23

Device independent I/O software


Uniform interfacing for device drivers
Buffering
Error reporting
Allocating and releasing dedicate devices
Providing a deice-independent block size

26-Sep-07

24

12

9/26/2007

Uniform interfacing

26-Sep-07

25

buffering

26-Sep-07

26

13

9/26/2007

buffering

26-Sep-07

27

User space I/O software

26-Sep-07

28

14

Anda mungkin juga menyukai