MAKALAH MANAGEMENT DEVICE
MATA KULIAH SISTEM OPERASI
FAKULTAS TEKNIK
PRODI SISTEM INFORMASI
PENYUSUN
NUR INAYATUL WAFIYA (4116085)
UNIVERSITAS PESANTREN TINGGI DARUL
‘ULUM (UNIPDU)
JOMBANG
2016
KATA PENGANTAR
Puji Syukur kepada Tuhan Yang Maha Esa, karena berkat pertolongan-Nya kami
berhasil menyelesaikan makalah “Manajemen Device (I/O)” ini. Adapun makalah ini
disusun untuk memenuhi tugas mata kuliah Sistem Operasi. Dalam makalah ini
terkandung definisi serta semua pembahasan tentang Manajemen I/O. Makalah ini
di susun supaya para pembaca bisa mengerti dan memahami tentang apa itu
Manajemen I/O.
Dalam penyusunan makalah ini ada banyak pihak yang membantu, untuk itu saya
berterimakasih yang sebesar-besarnya kepada semua pihak yang membantu dalam
penyusunan makalah ini. Makalah ini masih belum bisa di katakan sempurna karena
masih banyak yang masih perlu untuk di perbaiki untuk itu saya harap para
pembaca bisa memahami serta memberi saran yang baik. Semoga makalah ini dapat
berguna bagi para pembaca dan bagi Dosen mata kuliah Sistem Operasi yang akan
memeriksa serta membacanya.
BAB I
PENDAHULUAN
A. Latar Belakang
Sistem Operasi adalah bagian yang sangat penting bagi
semua sistem komputer. Secara umum sistem komputer terbagi atas hardware , sistem operasi, program aplikasi, dan user. hardware terdiri
atas CPU, memori dan I/O device yang
merupakan resource-resource dasar.
Program aplikasi berisi compiler, basis
data, game dan program-program bisnis, yang merupakan suatu cara atau alat yang
mana resource-resource akan di akses untuk menyelesaikan
masalah user.
Pekerjaan utama yang paling sering dilakukan oleh
sistem computer selain melakukankomputasi adalah Device atau sering dikenal dengan Input/Output
(I/O). Dalam kenyataannya, waktu yang digunakan untuk komputasi lebih sedikit
dibandingkan waktu untuk I/O. Ditambah lagi dengan banyaknya variasi perangkat I/O sehingga
membuat manajemen I/O menjadi komponen yang penting bagi sebuah sistem operasi.
B. Rumusan Masalah
1. Apakah Manajemen Device I/O?
2. Apa Struktur Pembentuk Manajemen
Device I/O?
3. Bagaimana Manajemen Device I/O?
C. Tujuan
1. Untuk memenuhi Tugas Pada Mata
Kuliah Sistem Operasi.
2. Menambah pengetahuan
tentang Manajemen Device I/O.
3.
BAB II
PEMBAHASAN
MANAJEMEN
DEVICE I/O
Salah satu tugas sistem operasi adalah mengontrol
operasi-operasi peranti input/output (I/O) atau device pada sistem komputer.
Selama suatu aplikasi sedang di jalankan, umumnya di perlukan operasi I/O
seperti mendapatkan masukkan pengguna dari keyboard ataupun memunculkan hasil
pemrosesan kemonitor, akan di proses lebih lanjut oleh prosesor.
Sistem operasi mengontrol operasi peranti I/O dengan
mengirim intruksi atau memeriksa status peranti I/O yang bersangkutan. Misalnya
operasi pengiriman data keluar ke printer maka sistem operasi harus memeriksa
status kesiapan printer untuk melakukan percetakan, kemudian muncul intruksi
untuk mulai melakukan pencetakan. Sistem operasi harus menyediakan antar muka
yang mudah dan seragam untuk operasi-operasi I/O serta menyembunyikan detail
perbedaan operasi antar piranti I/O.Dengan kata lain, sistem operasi perangkat
keras dan perangkat lunak dari sistem I/O.
Organisasi sistem I/O
Organisasi Fisik atau Perangkat Keras
1. Piranti
I/O (device)
Peranti-peranti
I/O yang terkoneksi ke komputer memiliki karakteristik khas sesuai dengan
fungsi dan teknologi yang digunakannya. Peranti I/O dapat berupa komponen
elektris maupun mekanik. Contoh peranti I/O seperti monitor, keyboard, mouse,
printer, scanner.
2.
Device controller (adapter)
Supaya peranti-peranti I/O dapat
dikontrol dan berkomunikasi dengan sistem komputer maka harus ada Device
controller yang berfungsi sebagai antarmuka antara peranti I/O dengan sistem
internal komputer. Device controller ini merupakan sirkuit digital yang
berfungsi mengontrol kerja komponen mekanik ataupun elektris lainnya dari
peranti I/O.
3.
Bus I/O
Bios
I/O terdiri atas bus data, alamat dan kontrol yang berfungsi menghubungkan
device controller dengan elemen internal komputer seperti processor dan memory.
Selain itu, terjadi bus I/O lanjutan atau ekspansi , seperti bus paralel,
serial, PS2, yang digunakan untuk berkomunikasi dengan peranti I/O yang
bersifat mudah dipindah – pindahkan (moveble) dan umumnya terletak diluar kotak
komputer.
Sistem
perangkat lunak I/O dirancang dalm struktur berlapis dan umumnya terdiri atas
lapisan :
1.
Lapisan
intterupt handler
Lapisan perangkat
lunak ini menangani tejadinya inetrupsi dan pengalihan eksekusi ke rutin
penanganan Interupsi, intterupt handler, yang bersesuaian.
2.
Lapisan
device driver
Lapisan device driver mengimplementasi secara
khusus rincian operasi dari masing – masing jenis pengendali peranti I/O atau
device controller. Lapisan device driver merupakan abstraksi
Terhadap operasi
peranti I/O yang sangat beragam dan menyediakan antar muka yang seragam untuk
peranti I/O yang sejenis.
3.
Lapisan
subsistem I/O atau kernel I/O
Lapisan
ini menyediakan antar muka atau fungsi I/O yang generik bagi komponen lain
sistem operasi maupun aplikasi.
4.
Lapisan
Pustaka I/O aplikasi
Lapisan
ini mengimplementasi pustaka pengaksesan I/O atau API (aplication programming
intervace) bagi aplikasi untuk melakukan operasi I/O.
Organisasi Perangkat Keras
* Piranti I/O*
* Piranti I/O*
Karakteristik yang dapat
digunakan sebagai pembeda antara peranti I/O yang satu sama yang lain :
l Modus
Transfer Data
Berdasaarkan
kategori ini, peranti I/O dapat dibedakan sebagai peranti I/O dengan modus transfer per karakter maupun per blok
l Metode
Akses
l Jadwal
Transfer
l Sharing
l Kecepatan
Akses
l Modus
Operasi
Organisasi Perangkat Keras
* Piranti I/O*
* Piranti I/O*
Berdasarkan fungsionalistas:
l Piranti
antarmuka pengguna
interaksi
langsung dengan pengguna.
misal:
keyboard,mouse, monitor, printer
l Piranti
transmisi
mentransmisikan
data ke perangkat komunikasi lainnya.
misal:
NIC dan modem
l Piranti
penyimpanan data
untuk
penyimpanan data
misal:
hardisk, CD-ROM, flashdisk
Organisasi Perangkat Keras
* Device Controller*
* Device Controller*
l Sebagai
pengendali digital atas piranti I/O
l Bertanggung
jawab atas komunikasi data antara piranti I/O dengan sistem internal komputer
l Dapat
berupa kartu rangkaian digital atau chipset yang biasanya terletak di mainboard
l Graphics
controller, SCSI controller, serial & paralel port controller, dll
Organisasi Perangkat Keras
* Bus I/O*
* Bus I/O*
l Bus
I/O
l Terdiri
atas bus data, alamat dan kontrol
l Berfungsi
menghubungkan device controller dengan elemen internal komputer seperti memori
dan prosesor.
l Terdapat
juga bus I/O lanjutan atau ekspansi yang bersifat mudah dipindah-pindah
(movable) dan umumnya terletak diluar kotak komputer.
l misal: bus parallel, serial, PS2
Pengalamatan Piranti I/O
Setiap
piranti I/O butuh diberi alamat khusus untuk membaca dan menulis data.
l Direct-mapped
I/O addressing
memiliki
ruang alamat terpisah dari alamat memori, sehingga ruang alamat piranti I/O dan
ruang alamat memori berdiri sendiri-sendiri.
Pengalamatan Piranti I/O
l Memory-mapped
I/O addressing
piranti
I/O memiliki alamat yang merupakan bagian dari ruang alamat memori utama.
Metode Transfer Data
- Programmed I/O atau pooling
l prosessor
bertanggung jawab atas pemeriksaan selesainya operasi transfer data yang
dilakukan oleh device controller.
l Jika
data telah siap, maka prosessor juga bertanggung jawab atas pemindahan data
dari atau ke memori utama, karena device controller tidak punya hak akses ke
memori utama.
Metode Transfer Data
2. Interrupt-driven
I/O
l Prosessor
hanya bertanggung jawab atas pemindahan data ke atau dari memori utama (hanya
memberikan instruksi transfer data)
l Device
controller yang akan memberikan sinyal interupsi jika data sudah tersedia untuk
disalinkan ke memori utama.
Metode Transfer Data
3. DMA (Direct Memory Access)
l Prosessor
dibebaskan dari pengontrolan transfer data I/O
l Sebagai
gantinya, diperlukan tambahan perangkat keras DMA controller yang memiliki
kendali atas bus internal dan jalur ke memori utama.
Organisasi perangkat lunak sistem I/O
umumnya
terdiri atas lapisan:
l Lapisan
Interrupt Handler
l Menangani
terjadinya interupsi à
dialihkan ke interupt handler
l Lapisan
device driver
l Mengimplementasikan
operasi dari masing-masing device controller
l Lapisan
subsistem I/O atau kernel I/O
l Menyediakan
antarmuka atau fungsi I/O bagi SO atau aplikasi
l Lapisan
pustaka I/O aplikasi
l Mengimplementasikan
pustaka pengaksesan I/O atau API (Application Programming Interface) bagi
aplikasi untuk melakukan operasi I/O
Tujuan
l Device
Independence
dengan
adanaya lapisan bawah perangkat lunak I/O yaitu interrupt handler dan device
driver, maka lapisan diatasnya tidak membutuhkan informasi tentang rincian
operasi I/O yang sangat beragam.
misal:
pada saat pembuatan program menyimpan file, tidak perlu membuat berbagai versi
program untuk setiap piranti penyimpanan data yang berbeda.
l Uniform
Naming
penamaan
yang seragam untuk file yang disimpan di berbagai jenis media penyimpanan yang
berbeda.
jadi
nama berkas yang digunakan tetap sama meskipun disimpan di harddisk, CD,
flashdisk atau memori stick.
l Error
Handling
l Kesalahan
ditangani pada semua lapisan perangkat lunak sistem I/O
l Sedapat
mungkin kesalahan baca dikoreksi pada tingkat perangkat keras.
l Device
controller akan menangani kesalahan di tingkat perangkat keras
l Device
driver akan menangani kesalahan di tingkat perangkat lunak.
l Transfer
sinkron vs asinkron
l Sinkron
l
Suatu proses dikatakan sinkron apabila suatu operasi
dapat melanjutkan eksekusinya hanya setelah permintaannya terpenuhi.
l
Transfer dataàProsessor
akan berhenti sampai data yang diperlukan tersedia di buffer memori.
l Asinkron
l
Suatu proses dikatakan Asinkron apabila suatu operasi
dapat terus berjalan sekalipun permintaanya belum terpenuhi atau masih sedang
diproses
l
Transfer dataà
Prosessor memulai transfer data sampai mendapat sinyal bahwa proses transfer
data telah selesai.
l Shareable
vs Dedicated device
l Shareable
l
Jika dapat digunakan oleh beberapa pengguna pada saat
bersamaan.
l
Misal: Pembacaan file pada suatu disk oleh sejumlah
komputer secara bersamaan pada jaringan.
l Dedicated
l
Hanya satu pengguna yang dapat menggunakan piranti I/O
pada suatu waktu sampai tugasnya selesai.
l
misal: printer.
Lapisan Interrupt Handler
l Menangani
terjadinya interupsi dan pengalihan eksekusi ke interrupt handler.
l Bertujuan
untuk mencapai operasi yang asinkron
l Dengan
adanya fasilitas interupsi, prosessor tidak pernah idle à
proses akan berstatus blocked dan prosessor dapat dialokasikan ke proses lain.
Lapisan Device Driver
l Membantu
mencapai ketidaktergantungan dengan keragaman piranti I/O
l Mengimplementasi
secara khusus rincian operasi dari masing-masing device controller. Jadi setiap
device controller akan ditangani oleh device driver.
l Misal:
2 graphics card dari vendor yang berbeda, akan memiliki device driver yang
menyediakan fungsi minimal untuk pengaksesan graphic card.
Lapisan subsistem I/O atau kernel I/O
l Mengimplementasi
fungsi-fungsi manajemen
l Menyediakan
keseragaman antarmuka atau fungsi bagi
komponen lain SO atau aplikasi
l Misal
: penamaan piranti I/O, proteksi, pelaporan kesalahan
Lapisan Pustaka I/O
l Mengimplementasikan
pustaka pengaksesan I/O atau API (Application Programming Interface) bagi
aplikasi untuk melakukan operasi I/O
l Memudahkan
programmerà
karena pengaksesan ke berbagai macam piranti I/O dengan menggunakan operasi
yang sama.
l Misal:
pustaka WIN32 sub system yang menyediakan API untuk operasi I/O dan juga
operasi grafis pada SO Windows.
Fungsi Manajemen Device
l Scheduling
l Jika
suatu piranti I/O akan digunakan suatu proses à
I/O request
l Jika
sibuk, I/O request akan masuk antrian.
l Kernel
I/O bertugas melakukan penjadwalan.
l Buffering
l Menampung
sementara data operasi I/O.
l Data
yang hendak ditulis atau dibaca ke piranti I/O disalin terlebih dahulu ke
memori utama sebelum dipindahkan ke tujuan akhir.
l Beberapa
keuntungan:
a. Mengatasi
perbedaan kecepatan antar piranti I/O
b. Mengatasi
perbedaan bandwidth transfer
misal:
penyimpanan data dari input keyboard ke harddisk. Model transfer data antara
keyboard (per character) dan harddisk (per blok) berbeda, sehingga perlu
ditangani.
c.
Menyederhanakan penanganan penyalinan data diantara berbagai macam jenis
piranti I/O
l Caching
l Karena
pengaksesan piranti I/O lebih lambat dibanding pengaksesan memori utama,
sehingga akan memperlambat eksekusi proses secara keseluruhan.
l Pada
mekanisme caching, data yang akan diakses dari piranti I/O akan disalin ke
cache memory
l Kemudian
kernel I/O akan memeriksa apakah data yang hendak diakses sudah ada atau belum.
l Spooling
l Kebanyakan
pemakaian piranti I/O bersifat eksklusif, yaitu hanya dapat melayani satu tugas
pada suatu waktu.
l Mekanisme
spooling pada sistem multiprogramming:
l
Setiap proses akan tetap mengirim data ke piranti I/O
sehingga prosesnya sendiri tidak dalam status blocked. Tapi karena piranti I/O
sibuk, maka kernel I/O akan menampung dulu dan menempatkan dalam antrian.
l
Sekalipun program aplikasi yang mengirim data output
telah selesai, data yang di-spooling oleh kernel I/O tidak akan hilang.
l
Contoh: printer dan alat pencetak lainnya.
l Device
Reservation
l Kernel
I/O harus memastikan selama pengaksesan piranti I/O (yang bersifat eksklusif)
oleh suatu proses, tidak ada intervensi dari proses lainnya,
l Kernel
I/O bertanggung jawab memelihara dan mengaudit status piranti I/O
l Kernel
I/O harus memastikan pemakaian dan reservasi suatu piranti I/O tidak membuat
deadlock.
l Error
Handling
l Data
dapat rusak di piranti I/O ataupun dalam proses pengiriman
l Kernel
I/O bertugas menangani kesalahan yang masih dapat diperbaiki dan minimal
mencatat serta melaporkan kesalahan kepada user.
Tidak ada komentar:
Posting Komentar