Anda di halaman 1dari 11

I/O

Manajemen I/O
Pekerjaan utama yang paling sering dilakukan oleh sistem komputer selain
melakukan komputasi adalah Masukan/Keluaran (I/O). Dalam kenyataannya, waktu yang
digunakan untuk komputasi lebih sedikit dibandingkan waktu untuk M/K. Ditambah lagi
dengan banyaknya variasi perangkat M/K sehingga membuat manajemen M/K
menjadi komponen yang penting bagi sebuah sistem operasi. Sistem operasi juga sering
disebut device manager, karena sistem operasi mengatur berbagai macam perangkat
( device).

Fungsi-fungsi sistem operasi untuk sistem M/K:
Penyanggaan ( buffering). Menampung data sementara dari/ke perangkat M/K
Penjadwalan ( scheduling). Melakukan penjadualan pemakaian M/K sistem supaya
lebih efisien.
Spooling. Meletakkan suatu pekerjaan program pada penyangga, agar setiap
perangkat dapat mengaksesnya saat perangkat tersebut siap.
Menyediakan driver perangkat yang umum. Driver digunakan agar sistem operasi
dapat memberi perintah untuk melakukan operasi pada perangkat keras M/K yang
umum, seperti optical drive, media penyimpanan sekunder, dan layar monitor.
Menyediakan driver perangkat yang khusus. Driver digunakan agar sistem operasi
dapat memberi perintah untuk melakukan operasi pada perangkat keras M/K tertentu,
seperti kartu suara, kartu grafis, dan motherboard
Kinerja I /O
Implementasi Fungsi I/O
Pada dasarnya kita mengimplementasikan algoritma I/O pada level aplikasi. Hal ini
dikarenakan kode aplikasi sangat fleksible, dan bugs aplikasi tidak mudah menyebabkan
sebuah sistem crash. Lebih lanjut, dengan mengembangkan kode pada level aplikasi, kita
akan menghindari kebutuhan untuk reboot atau reload device driver setiap kali kita
mengubah kode. Implementasi pada level aplikasi juga bisa sangat tidak efisien. Tetapi,
karena overhead dari alih konteks dan karena aplikasi tidak bisa mengambil keuntungan dari
struktur data kernel internal dan fungsionalitas dari kernel (misalnya, efisiensi dari kernel
messaging, threading dan locking.
Pada saat algoritma pada level aplikasi telah membuktikan keuntungannya, kita mungkin
akan mengimplementasikannya di kernel. Langkah ini bisa meningkatkan kinerja tetapi
perkembangannya dari kerja jadi lebih menantang, karena besarnya kernel dari sistem
operasi, dan kompleksnya sistem sebuah perangkat lunak. Lebih lanjut , kita harus men-
debug keseluruhan dari implementasi in-kernel untuk menghindari korupsi sebuah data dan
sistem crash.
Kita mungkin akan mendapatkan kinerja yang optimal dengan menggunakan implementasi
yang special pada perangkat keras, selain dari device atau controller. Kerugian dari
implementasi perangkat keras termasuk kesukaran dan biaya yang ditanggung dalam
membuat kemajuan yang lebih baik dalam mengurangi bugs, perkembangan waktu yang
maju dan fleksibilitas yang meningkat. Contohnya, RAID controller pada perangkat keras
mungkin tidak akan menyediakan sebuah efek pada kernel untuk mempengaruhi urutan atau
lokasi dari individual block reads dan write, meski pun kernel tersebut mempunyai informasi
yang spesial mengenai workload yang dapat mengaktifkan kernel untuk meningkatkan
kinerja dari I/O.
I/O





Struktur I/O
Bagian ini akan membahas struktur I/O, interupsi I/O, dan DMA, serta perbedaan dalam penanganan
interupsi.

Interupsi I/O
Untuk memulai operasi I/O, CPU me-load register yang bersesuaian ke device controller. Sebaliknya
device controller memeriksa isi register untuk kemudian menentukan operasi apa yang harus
dilakukan. Pada saat operasi I/O dijalankan ada dua kemungkinan, yaitu synchronous I/O dan
asynchronous I/O. Pada synchronous I/O, kendali dikembalikan ke proses pengguna setelah proses
I/O selesai dikerjakan. Sedangkan pada asynchronous I/O, kendali dikembalikan ke proses pengguna
tanpa menunggu proses I/O selesai. Sehingga proses I/O dan proses pengguna dapat dijalankan
secara bersamaan.


Proteksi I/O
Pengguna bisa mengacaukan sistem operasi dengan melakukan instruksi I/O ilegal dengan
mengakses lokasi memori untuk sistem operasi atau dengan cara hendak melepaskan diri dari
prosesor. Untuk mencegahnya kita menganggap semua instruksi I/O sebagai privilidge instruction
sehingga mereka tidak bisa mengerjakan instruksi I/O secara langsung ke memori tapi harus lewat
sistem operasi terlebih dahulu. Proteksi I/O dikatakan selesai jika pengguna dapat dipastikan tidak
akan menyentuh mode monitor. Jika hal ini terjadi proteksi I/O dapat dikompromikan.

Managemen Sistem I/O
Sering disebut device manager. Menyediakan "device driver" yang umum sehingga operasi I/O dapat
seragam (membuka, membaca, menulis, menutup). Contoh: pengguna menggunakan operasi yang
sama untuk membaca berkas pada
hard-disk, CD-ROM dan floppy disk.

Komponen Sistem Operasi untuk sistem I/O:
Buffer : menampung sementara data dari/ ke perangkat I/O.
Spooling : melakukan penjadualan pemakaian I/O sistem supaya lebih efisien (antrian dsb.).
Menyediakan driver untuk dapat melakukan operasi "rinci" untuk perangkat keras I/O
tertentu
Peralatan Input.
Keyboard.
Mouse.
Joystick.
Scanner.
Lightpen.
Trackball.
Touch Sreen.
Magnetic Ink Character Reader (MICR).
Optical Character Reader (OCR).
Optical Mark Recognition (OMR) Reader
dll
Perangkat Output.
Monitor.
Printer dan Plotter.
Proyektord.
Microform.
Perangkat Input/Output
Disk Drive
Tape Drive
Modem (Modulator Demudolator)
Ethernet
PCMCIA
Hub
Switch
Print Server
Input / Output Card (I / O Card)
SCII Card
Terminal
CD Room (Compac Disk-Read Only memory)
CD-Read and writer
DVD-Room
DVD-Read and Writer


Sistem I/O pada Komputer Personal
berbasis Mikroprosesor Intel
Meneruskan tentang Sistem Komputer berbasis Mikroprosesor Intel, akan saya jelaskan
tentang Sistem I/O dan pengalamatannya.

Ruang I/O (Input/Output) dalam sistem komputer terentang dari port 0000H FFFFH.
Sistem pengalamatan I/O sama dengan sistem pengalamatan memori. Peranti I/O
memungkinkan mikroprosesor untuk berkomunikasi antar bagian didalamnya atau dengan
perangkat luar. Ruang I/O membantu komputer untuk mengalamati hingga 64 kilobyte
peranti I/O berbeda.


Peta Memori Sistem I/O


Area I/O terdiri atas 2 bagian besar. Area yang terletak di bawah lokasi I/O 0400H digunakan
untuk peranti sistem. I/O port 0400H FFFFH digunakan untuk ekspansi I/O. Beberapa
mainboard pada sistem komputer baru juga bisa menggunakan alamat lain diatas 0400H.

Secara umum, komponen pada mainboard komputer dialamati dengan alamat 0000H
00FFH, sedangkan alamat dari 0100H 03FFH mengalamati peranti kartu plugin. Perlu
diketahui, standar keterbatasan alamat I/O sampai 03FFH berasal dari standar asli PC (merek
dagang IBM untuk komputer personal).

Sampai disini mengerti? Berikutnya akan saya jelaskan mengenai model pemrograman pada
Mikroprosesor Intel.
Untuk sekarang, Auf Wiedersehen und hoffen Sie einige gute Studien haben, meine Freund!!!
By afriansyahdwiputra Posted in Mikroprosesor
Jan 21 2012
Sistem Memori Transient Program Area
(TPA) dan System Area pada Sistem
Komputer Personal berbasis
Mikroprosesor Intel
Wah sudah lama sekali tidak memposting di blog, dikarenakan tugas-tugas yang berat
sebagai seorang mahasiswa.. Baiklah, kali ini saya akan memperdalam lagi penjelasan
mengenai Sistem Mikroprosesor.
Sebuah sistem komputer berbasis Mikroprosesor memiliki diagram blok seperti berikut :

Diagram Blok Sistem Komputer berbasis Mikroprosesor
Kali ini kita akan membahas mengenai sistem memori pada sistem komputer berbasis
Mikroprosesor. Memori adalah tempat kita menyimpan dan mengambil data. Sistem Memori
terbagi menjadi 3 bagian, yaitu TPA (Transient Program Area), System Area dan XMS
(Extended Memory System). Nah, untuk melihat apakah sistem komputer kita memiliki XMS
atau tidak, silakan dilihat dari jenisnya. Komputer zaman dahulu, yang berbasis Intel 8086
dan Intel 8088, hanya memiliki TPA dan area sistem, tanpa XMS. TPA berukuran 640
kilobyte dan area sistem berukuran 384 kilobyte, total 1 MB. Sistem memori berukuran 1 MB
ini disebut juga sistem memori konvensional.

Peta Memori Komputer Personal
Mulai dari sistem komputer berbasis Intel 80286, mereka memiliki XMS dalam sistem
memorinya. Lalu apa guna ketiga bagian ini? Mari kita bahas perlahan!
Pertama, Transient Program Area. Berguna untuk menyimpan sistem program, sistem
operasi, data dan driver. Berikut gambar peta memori untuk bagian TPA :

Peta Memori TPA
Vektor Interupsi mengakses berbagai macam fitur DOS, BIOS dan aplikasi. BIOS biasanya
disimpan dalam ROM atau EEPROM.
Area komunikasi BIOS dan DOS berisikan data-data transien yang digunakan program untuk
mengakses peranti I/O dan fitur internal sistem komputer. Data-data ini disimpan di area
transien agar bisa diubah-ubah sesuai keperluan ketika sistem berjalan.
IO.SYS adalah program yang diambil dari disk dan dijalankan di TPA ketika MS-DOS atau
PCDOS dijalankan. IO.SYS berisikan program yang memungkinkan DOS mengakses
keyboard, printer, tampilan video serta peranti I/O lainnya. Program IO.SYS menghubungkan
DOS dengan program lain yang disimpan dalam BIOS ROM.
DOS melingkupi dua area memori, pertama yaitu area sepanjang 16 byte yang terletak di
bagian atas TPA dan kedua berukuran lebih besar yang terletak di dekat bagian dasar TPA.
Ukuran area DOS tergantung pada versi yang digunakan. Jika DOS diinstall pada bagian atas
memori atau high memory (biasanya menggunakan driver HIMEM.SYS), sebagian besar
TPA menjadi kosong sehingga dapat digunakan untuk program aplikasi.
Area Driver memiliki ukuran yang berbeda-beda antara satu sistem komputer dan yang
lainnya. Driver adalah program yang mengontrol peranti I/O seperti mouse, scanner, DVD
ROM dan lain sebagainya. Biasanya berekstensi .SYS, misalnya MOUSE.SYS pada DOS
versi 3.2 atau diatasnya. Atau bisa juga berekstensi .EXE seperti EMM386.EXE.
Program COMMAND.COM mengontrol operasi komputer dari keyboard. Kita biasa
menyebut cara operasi ini sebagai CLI-based, dimana CLI adalah singkatan dari Command
Line Interface.
Area TPA bebas akan digunakan oleh aplikasi DOS ketika aplikasi tersebut dieksekusi.
Kedua, Area Sistem. Meskipun lebih kecil dari TPA, area sistem tetap mempunyai fungsi
yang sangat penting. Area sistem berisikan ROM dan RAM untuk penyimpanan data. Berikut
peta memori area sistem, tepat dimulai di atas TPA.

Peta Memori Area Sistem
Area pertama sistem berisikan RAM untuk tampilan video dan program untuk mengatur
video yang ada pada ROM. Alamatnya dari A0000H sampai C7FFFH. Ukuran dan jumlah
memori yang digunakan tergantung pada jenis adapter video yang digunakan.
Diatasnya terdapat area untuk menyimpan ROM atau disk BIOS yang ditransfer dari kartu
antarmuka. Area C8000H DFFFFH seringkali kosong. Area ini digunakan untuk EMS
(Expanded Memory System) pada sistem PC atau XT, dan upper memory pada AT. EMS
memungkinkan penggunaan 64K byte page frame dari memori oleh aplikasi. Page frame
berukuran 64K byte ini (biasanya terletak di lokasi D0000H DFFFFH) digunakan untuk
memperluas sistem memori, dengan cara memindahkan page memori dari EMS ke daerah
alamat memori. Cara ini disebut swap.

Proses Swap pada Upper Memory Blocks
Lokasi memori E0000H EFFFFH berisi rekaman bahasa BASIC (hanya pada sistem
komputer yang lama). Pada sistem komputer terbaru, seringkali dibiarkan kosong dan
digunakan sebagai RAM ekstra yang disebut upper memory blocks.
Terakhir, sistem BIOS ROM yang ada pada alamat F0000H FFFFFH. ROM ini mengontrol
operasi dasar peranti I/O, kecuali sistem video karena sudah memiliki alamat ROM tersendiri.
Alamat F0000H F7FFFH berisi program untuk mengatur komputer, sisanya untuk program
yang mengontrol sistem I/O dasar. Jika menggunakan driver EMM386.EXE, lokasi F0000H
F7FFFH menjadi upper memory blocks. Lokasi lain yang bisa digunakan sebagai upper
memory blocks adalah B0000H B7FFFH, yaitu ketika video hitam putih tidak dibutuhkan.
Ketiga, XMS digunakan sebagai memori ekstra untuk membantu kinerja sistem komputer.
Sampai disini bisa dimengerti? Penjelasan saya sampai disini dulu, semoga bermanfaat bagi
kalian semua.
Untuk sekarang, Auf Wiedersehen und hoffen Sie einige gute Studien haben, meine Freund!!!
By afriansyahdwiputra Posted in Mikroprosesor
Nov 15 2011
Pengenalan Mikroprosesor
Mikroprosesor adalah bagian dari sistem komputer yang bertugas melakukan perhitungan-
perhitungan sederhana dan mengeksekusi perintah-perintah yang akan dijalankan.
Singkatnya, mikroprosesor adalah jantung sebuah sistem komputer. Berikut contoh salah satu
mikroprosesor :

Contoh Mikroprosesor
Tugas dari sebuah mikroprosesor ada 3, yaitu :
1. Mengatur transfer data antara dirinya sendiri dan memori atau I/O
2. Mengerjakan sistem perhitungan dan logika sederhana
3. Mengambil keputusan sederhana terhadap suatu tindakan
Kehandalan suatu mikroprosesor dilihat dari kemampuannya untuk mengeksekusi ribuan
bahkan jutaan instruksi per detik dari program atau set instruksi yang ditaruh di memori.
Satuan kecepatan transfer data mikroprosesor disebut bit. Mikroprosesor pertama adalah Intel
4004 yang berkecepatan transfer 4 bit dan berkecepatan eksekusi 50 Kilo Instruction per
Second (KIP). Proses aritmatika dan logika sederhana yang dilakukan mikroprosesor adalah
Penambahan, Pengurangan, Perkalian, Pembagian, operasi OR, AND, NOT , NEG, Shift dan
Rotate.
Di sistem komputer berbasis mikroprosesor, terdapat 3 jalur yang menjadi tempat
mengalirnya proses.
1. Bus Data yang berfungsi mengalirkan data dari/ke mikroprosesor
2. Bus Alamat/Address yang berfungsi mengalamati suatu proses dari/ke memori atau
I/O
3. Bus Kontrol yang berfungsi mengatur proses instruksi yang terjadi dari/ke
mikroprosesor.
Diilustrasikan pada gambar berikut :

Hubungan Bus Data, Bus Address dan Bus Kontrol
Bus Alamat meminta alamat memori dari sebuah memori atau alamat I/O dari suatu peranti
I/O. Jika I/O dialamati, maka bus alamat akan memiliki 16 bit alamat dari 0000H sampai
FFFFH. Alamat ini disebut juga port number. Port number akan memilih 1 dari 64K (65535)
peranti I/O yang berbeda. Jika alamat memori dialamati, maka Bus Alamat akan berisi alamat
memori tersebut. Lebar alamat memori tergantung dari tipe mikroprosesor yang dipakai
(sekali lagi dalam satuan bit).
Bus Data berfungsi mengalirkan data dari/ke mikroprosesor ke/dari alamat memori tujuan
atau alamat I/O tujuan. Besar kecepatan transfer bus data bervariasi sesuai dengan
mikroprosesor yang dipakai.
Bus Kontrol berisikan instruksi yang mengatur operasi apakah itu read atau write. Ada 4 tipe
kontrol yaitu :
MRDC (Memory Read Control) yang menyatakan transfer data dari memori ke
mikroprosesor
MWTC (Memory Write Control) yang menyatakan transfer data dari mikroprosesor
ke memori
IORC (I/O Read Control) yang menyatakan transfer data dari peranti I/O ke
mikroprosesor
IOWC (I/O Write Control) yang menyatakan transfer data dari mikroprosesor ke
peranti I/O.
Hubungan ketiganya adalah, misalnya jika kita ingin mentransfer data dari mikroprosesor ke
memori. Pertama, bus alamat akan mengalamati address tujuan. Lalu bus kontrol akan
memberi sinyal MWTC = 0. Barulah bus data akan mentransfer data ke alamat tujuan.
Sampai disini dulu penjelasan saya tentang pengenalan mikroprosesor. Untuk lebih
kedalamnya akan dibahas pada postingan-postingan berikutnya di kategori Mikroprosesor.
Semoga apa yang saya tulis bermanfaat bagi saya dan para pembaca.