Rabu, 29 Desember 2010

Sistem Memori

Sistem Memori ( Memori ) adalah komponen-komponen elektronik yang menyimpan perintah- perintah yang menunggu untuk di eksekusi oleh prosesor,data yang diperlukan oleh insruksi (perintah) tersebut dan hasil-hasil dari data yang diproses ( informasi ). Memori biasanya terdiri atas satu chip atau beberapa papan sirkuit lainnya dalam prosesor. Memori komputer bisa diibaratkan sebagai papan tulis, dimana setiap orang yang masuk kedalam ruangan bisa membaca dan memanfaatkan data yang ada dengan tanpa merubah susunan yang tersaji. Data yang diproses oleh komputer, sebenarnya masih tersimpan didalam memori, dan dalam hal ini komputer hanya membaca data dan kemudian memprosesnya. Satu kali data tersimpan didalam memori komputer, maka data tersebut akan tetap tinggal disitu selamanya. Setiap kali memori penuh, maka data yang ada bisa dihapus sebagian ataupun seluruhnya untuk diganti dengan data yang baru.
1. Karakteristik sistem-sistem memori secara umum:
a. Lokasi
• CPU
Memori ini built-in berada dalam CPU (mikroprosesor) dan diperlukan untuk semua kegiatan CPU. Memori ini disebut register.
• Internal (main)
Memori ini berada di luar chip processor tetapi bersifat internal terhadap sistem komputer dan diperlukan oleh CPU untuk proses eksekusi (operasi) program, hingga dapat diakses secara langsung oleh prosesor (CPU) tanpa modul perantara. Memori internal sering juga disebut sebagai memori primer atau memori utama. Memori internal biasanya menggunakan media RAM
• External (secondary)
Memori ini bersifat eksternal terhadap sistem komputer dan tentu saja berada di luar CPU dan diperlukan untuk menyimpan data atau instruksi secara permanen. Memori ini, tidak diperlukan di dalam proses eksekusi sehingga tidak dapat diakses secara langsung oleh prosesor (CPU). Untuk akses memori eksternal ini oleh CPU harus melalui pengontrol/modul I/O. Memori eksternal sering juga disebut sebagai memori sekunder. Memori ini terdiri atas perangkat storage peripheral seperti : disk, pita magnetik,dll.
a. Kapasitas
• Ukuran word
Kapasitas memori internal maupun eksternal biasanya dinyatakan dalam bentuk byte (1 byte = 8 bit) atau word.
• Banyaknya word
Panjang word umumnya 8, 16, 32 bit.

b. Satuan Transfer
Satuan transfer sama dengan jumlah saluran data yang masuk ke dan keluar dari modul memori. Konsep satuan transfer adalah :
• Word, merupakan satuan “alami” organisasi memori. Ukuran word biasanya sama dengan jumlah bit yang digunakan untuk representasi bilangan dan panjang instruksi.
• Addressable units, pada sejumlah sistem, adressable units adalah word. Namun terdapat sistem dengan pengalamatan pada tingkatan byte. Pada semua kasus hubungan antara panjang A suatu alamat dan jumlah N adressable unit adalah 2A =N.
• Unit of tranfer, adalah jumlah bit yang dibaca atau dituliskan ke dalam memori pada suatu saat. Pada memori eksternal, tranfer data biasanya lebih besar dari suatu word, yang disebut dengan block.

c. Metode Akses
Terdapat empat jenis pengaksesan satuan data, yaitu sebagai berikut.:
• Sequential access
Memori diorganisasikan menjadi unit-unit data, yang disebut record. Aksesnya dibuat dalam bentuk urutan linier yang spesifik. Informasi pengalamatan dipakai untuk memisahkan record-record dan untuk membantu proses pencarian. Mekanisme baca/tulis digunakan secara bersama (shared read/write mechanism), dengan cara berjalan menuju lokasi yang diinginkan untuk mengeluarkan record. Waktu access record sangat bervariasi. Contoh sequential access adalah akses pada pita magnetik.
• Direct access
Seperti sequential access, direct access juga menggunaka shared read/write mechanism, tetapi setiap blok dan record memiliki alamat yang unik berdasarkan lokasi fisik. Aksesnya dilakukan secara langsung terhadap kisaran umum (general vicinity) untuk mencapai lokasi akhir. Waktu aksesnya pun bervariasi. Contoh direct access adalah akses pada disk.
• Random access
Setiap lokasi dapat dipilih secara random dan diakses serta dialamati secara langsung. Waktu untuk mengakses lokasi tertentu tidak tergantung pada urutan akses sebelumnya dan bersifat konstan. Contoh random access adalah sistem memori utama.
• Associative access
Setiap word dapat dicari berdasarkan pada isinya dan bukan berdasarkan alamatnya. Seperti pada RAM, setiap lokasi memiliki mekanisme pengalamatannya sendiri. Waktu pencariannya pun tidak bergantung secara konstan terhadap lokasi atau pola access sebelumnya. Contoh associative access adalah memori cache.
a. Kinerja
Ada tiga buah parameter untuk kinerja sistem memori, yaitu :
• Access time (Waktu Akses)
Bagi RAM, waktu akses adalah waktu yang dibutuhkan untuk melakukan operasi baca atau tulis. Sedangkan bagi non RAM, waktu akses adalah waktu yang dibutuhkan untuk melakukan mekanisme baca tulis pada lokasi tertentu
• Cycle time (Waktu Siklus)
Waktu siklus adalah waktu akses ditambah dengan waktu transien hingga sinyal hilang dari saluran sinyal atau untuk menghasilkan kembali data bila data ini dibaca secara destruktif.
• Transfer rate (Laju Pemindahan)
Transfer rate adalah kecepatan pemindahan data ke unit memori atau ditransfer dari unit memori. Bagi RAM, transfer rate sama dengan 1/(waktu siklus). Sedangkan, bagi non-RAM, berlaku persamaan sbb.:

TN = Waktu rata-rata untuk membaca / menulis sejumlah N bit.
TA = Waktu akses rata-rata
N = Jumlah bit
R = Kecepatan transfer, dalam bit per detik (bps)
a. Tipe Fisik
Ada dua tipe fisik memori, yaitu :
• Memori semikonduktor
Memori ini memakai teknologi LSI atau VLSI (very large scale integration). Memori ini banyak digunakan untuk memori internal misalnya RAM.
• Memori permukaan magnetik
Memori ini banyak digunakan untuk memori eksternal yaitu untuk disk atau pita magnetik.
b. Karakteristik Fisik
Ada dua kriteria yang mencerminkan karakteristik fisik memori, yaitu:
• Volatile dan Non-volatile
Pada memori volatile, informasi akan rusak secara alami atau hilang bila daya listriknya dimatikan. Selain itu, pada memori non-volatile, sekali informasi direkam akan tetap berada di sana tanpa mengalami kerusakan sebelum dilakukan perubahan. Pada memori ini daya listrik tidak diperlukan untuk mempertahankan informasi tersebut. Memori permukaan magnetik adalah non volatile. Memori semikonduktor dapat berupa volatile atau non volatile.
• Erasable dan Non-erasable
Erasable artinya isi memori dapat dihapus dan diganti dengan informasi lain. Memori semikonduktor yang tidak terhapuskan dan non volatile adalah ROM.
1. Hirarki Memori
Tiga pertanyaan dalam rancangan memori, yaitu : Berapa banyak? Hal ini menyangkut kaspasitas. Berapa cepat? Hal ini menyangkut waktu akses, dan berapa mahal yang menyangkut harga? Setiap spektrum teknologi mempunyai hubungan sbb:
• Semakin kecil waktu access, semakin besar harga per bit.
• Semakin besar kapasitas, semakin kecil harga per bit.
• Semakin besar kapasitas, semakin besar waktu access.
Untuk mendapatkan kinerja terbaik, memori harus mampu mengikuti CPU. Artinya apabila CPU sedang mengeksekusi instruksi, kita tidak perlu menghentikan CPU untuk menunggu datangnya instruksi atau operand. Sedangkan untuk mendapatkan kinerja terbaik, memori menjadi mahal, berkasitas relatif rendah, dan waktu access yang cepat. Untuk memperoleh kinerja yang optimal, perlu kombinasi teknologi komponen memori. Dari kombinasi ini dapat disusun hirarki memori sebagai berikut:
Semakin menurun hirarki, maka hal-hal di bawah ini akan terjadi:
a) Penurunan harga per bit
b) Peningkatan kapasitas
c) Peningkatan waktu akses
d) Penurunan frekuensi akses memori oleh CPU.
Kunci keberhasilan hirarki ini pada penurunan frekuensi aksesnya. Semakin lambat memori maka keperluan CPU untuk mengaksesnya semakin sedikit. Secara keseluruhan sistem komputer akan tetap cepat namun kebutuhan kapasitas memori besar terpenuhi.

Sumber:

http://www.blackhackevolution.co.cc/2010/05/sistem-memori-dan-cache.html

Senin, 08 November 2010

SISTEM INPUT OUTPUT

Sistem Input – Output (I/O)


1.   Pengantar
Sistem komputer (computer system), terdiri dari perangkat keras (hardware) dan perangkat lunak (software). Perangkat keras dan perangkat lunak harus bekerja bersama-sama membentuk suatu sistem, yaitu sistem komputer. Perangkat keras (H/W), sebagai sub sistem komputer juga mempunyai komponen, yaitu :
  1. Komponen alat masukan (input device)
  2. Komponen alat pemroses (processing device)
  3. komponen alat keluaran (output device)
  4. Komponen alat simpanan luar (storage)

2.   Alat masukan (Input Device)
Alat masukan (input device), adalah alat yang digunakan untuk menerima masukan yangg dapat berupa masukan data ataupun masukan program. Beberapa alat masukan mempunyai fungsi ganda, yaitu, sebagai alat masukan dan sekaligus sebagai alat keluaran (ouput) untuk menampilkan hasil. Alat I/O demikian disebut terminal
Alat masukan dapat digolongkan ke dalam beberapa golongan yaitu :
1.    Keyboard
Merupakan alat input yang paling umum dan banyak digunakan. Beberapa alat input yang menggunakan keyboard untuk memasukkan input adalah :
·         Visual display terminal (VDT) disebut juga dengan nama Visual display unit  terdiri dari keyboard dan visual display (tampilan display)
·         Financial transaction terminal, digunakan untuk transaksi yang berhubungan dengan keuangan. Salah satu aplikasinya yaitu untuk Electronic Fund Transfer (EFT) dengan menggunakan ATM
·         Point of sale terminal (POS), biasanya digunakan di swalayan.
POS terminal merupakan perkembangan dari cash register yang dapat dihubungkan dengan komputer untuk tujuan pengendalian persediaan (inventory control) dan penjadwalan pemesanan kembali barang yang akan dipesan. Alat tambahan pada POS Terminal meliputi OCR Tag Reader atau  Bar code reader

2.    Pointing device. Yang termasuk dalam peralatan pointing device adalah:
·         mouse
·         touch screen, layar monitor yang akan mengaktifkan program bila layarnya disentuh dengan tangan
·         Light Pen, merupakan menyentuh layar monitor dengan pena. Posisi sentuhan di layar akan lebih tepat dan teliti
·         Digitizer Graphic Tablet, digunakan untuk membuat grafik atau gambar dengan cara menghubungkan dua buah titik di graphic tablet dengan alat yang menyerupai pen
  1. Scanner. Alat masukan scanner dapat berupa :
·         magnetic Ink character recognition (MICR), alat pembaca pengenal karakter tinta magnetik, banyak digunakan di bank-bank amerika untuk transaksi cek. Dibutuhkan tinta magnetik yg khusus supaya bisa dibaca oleh alatnya
·         Reader.
·         Optical Data reader, dapat berupa Optical Character Recognition (OCR) Reader, OCR Tag Reader (banyak dipergunakan di toko-toko serba ada untuk membaca label data barang yang dijual yang dicetak dengan bentuk (font) karakter OCR), Bar Code Reader, Optical Mark Recognition (OMR) Reader (banyak digunakan untuk penilaian test (test scoring). Jawaban dari tes yang diberikan dijawab di kertas mark sense form (dengan pensil 2B). OMR juga banyak digunakan untuk membaca hasil dari daftar pertanyaan (Questionarries), registrasi mahasiswa dsb)
  1. Sensor, Merupakan alat yang mampu secara langsung menangkap data kejadian fisik. Data analog dikumpulkan oleh alat sensor dan dimasukan ke pengubah AD/DC yang selanjutnya diproses oleh komputer. Kamera Digital  merupakan salah satu sensor yang dipakai untuk menangkap objek yg selanjutnya diproses dengan komputer. Camera Recorder (Camcorder) merupakan sensor untuk menangkap objek yang bergerak
  2. Voice recognizer, Biasa disebut Speech Recognizer yaitu alat untuk membuat komputer mengerti omongan manusia.

3.   Alat Keluaran (Output Device)
Ouput  yang dihasilkan dari pengolahan data dapat digolongkan ke dalam 3 bentuk tulisan (huruf, kata, angka, karakter dan  simbol- simbol khusus), image (grafik atau gambar) maupun suara (musik atau omongan)
Alat keluaran juga dapat berbentuk
·         Hard copy device
Merupakan alat keluaran yg digunakan untuk mencetak tulisan, grafik atau gambar pada media pencetak. Alat hard copy device yang umum dipergunakan adalah  printer. Jenis-jenis printer meliputi dot matrix,  inkjet printer dan laser. Selain itu juga dikenal  Plotter, alat cetak yang mempunyai kemampuan mencetak grafik atau gambar dengan baik, biasanya menggunakan pen plotter
·         Soft Copy Device
Merupakan alat yg digunakan untuk menampilkan tulisan, image dan suara pada media soft (lunak) yg berupa sinyal elektronik. Contoh soft copy device adalah video display (monitor), flat panel display (Liquid Crystal Dispaly), dan speaker.
·         Alat Simpanan Luar
Main memory di dalam alat pemroses merupakan simpanan yg kapasitasnya tidak begitu besar dan umumnya bersifat Volatile (Volatile : informasi yg dikandungnya akan hilang bila aliran listrik terputus).
Selain itu terdapat juga Direct Access Storage Device (DASD) (Merupakan alat penyimpan pengaksesan langsung), contohnya floppy disk, harddisk, dan removable disk.

4.  Jenis-jenis Perangkat I/O
 Secara umum, terdapat beberapa jenis perangkat I/O, seperti perangkat penyimpanan (disk, tape), perangkat transmisi (network card, modem), dan perangkat antarmuka dengan pengguna (screen, keyboard, mouse). Perangkat tersebut dikendalikan oleh instruksi I/O. Alamat-alamat yang dimiliki oleh perangkat akan digunakan oleh direct I/O instruction dan memory-mapped I/O. Beberapa konsep yang umum digunakan ialah port, bus (daisy chain/shared direct access), dan pengendali (host adapter). Port ialah koneksi yang digunakan oleh perangkat untuk berkomunikasi dengan mesin. Bus ialah koneksi yang menghubungkan beberapa perangkat menggunakan kabel-kabel. Pengendali ialah alat-alat elektronik yang berfungsi untuk mengoperasikan port, bus, dan perangkat.
Langkah yang ditentukan untuk perangkat ialah command-ready, busy, dan error. Host mengeset command-ready ketika perintah telah siap untuk dieksekusi oleh pengendali. Pengendali mengeset busy ketika sedang mengerjakan sesuatu, dan men-clear busy ketika telah siap untuk menerima perintah selanjutnya. Error diset ketika terjadi kesalahan.


5.   Klasifikasi Umum Perangkat I/O
Pendapat orang-orang mengenai I/O berbeda-beda. Seorang insinyur mungkin akan memandang perangkat keras I/O sebagai kumpulan chip-chip, kabel-kabel, catu daya, dan komponen fisik lainnya yang membangun perangkat keras ini. Seorang programmer akan memandangnya sebagai antarmuka yang disediakan oleh perangkat lunak atau perintah yang diterima perangkat keras, fungsi yang dikerjakannya, dan error yang ditimbulkan.
Perangkat I/O dapat dibagi secara umum menjadi dua kategori, yaitu: perangkat blok (block devices), dan perangkat karakter (character devices). Perangkat blok menyimpan informasi dalam sebuah blok yang ukurannya tertentu, dan memiliki alamat masing-masing. Umumnya blok berukuran antara 512 bytes sampai 32.768 bytes. Keuntungan dari perangkat blok ini ialah mampu membaca atau menulis setiap blok secara independen. Disk merupakan contoh perangkat blok yang paling banyak digunakan.
Tipe lain perangkat I/O ialah perangkat karakter. Perangkat karakter mengirim atau menerima sebarisan karakter, tanpa menghiraukan struktur blok. Tipe ini tidak memiliki alamat, dan tidak memiliki kemampuan mencari (seek). Printer dan antarmuka jaringan merupakan contoh perangkat jenis ini. Pembagian ini tidaklah sempurna. Beberapa perangkat tidak memenuhi kriteria tersebut. Contohnya: clock yang tidak memiliki alamat dan juga tidak mengirim dan menerima barisan karakter. Yang ia lakukan hanya menimbulkan interupsi dalam jangka waktu tertentu.

Referensi :
  1. http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/2004/51/produk/c7/c71.sgml
  2. http://ikc.depsos.go.id/umum/ibam/ibam-os-html/x6554.html

SISTEM INPUT OUTPUT

Kernel menyediakan banyak service yang berhubungan dengan I/O. Pada bagian ini, kita akan mendeskripsikan beberapa service yang disediakan oleh kernel I/O subsystem, dan kita akan membahas bagaimana caranya membuat infrastruktur hardware dan device-driver. Service yang akan kita bahas adalah I/O scheduling, buffering, caching, spooling, reservasi device, error handling.
Untuk menjadualkan sebuah set permintaan I/O, kita harus menetukan urutan yang bagus untuk mengeksekusi permintaan tersebut. Scheduling dapat meningkatkan kemampuan sistem secara keseluruhan, dapat membagi device secara rata di antara proses-proses, dan dapat mengurangi waktu tunggu rata-rata untuk menyelesaikan I/O. Ini adalah contoh sederhana untuk menggambarkan definisi di atas. Jika sebuah arm disk terletak di dekat permulaan disk, dan ada tiga aplikasi yang memblokir panggilan untuk membaca untuk disk tersebut. Aplikasi 1 meminta sebuah blok dekat akhir disk, aplikasi 2 meminta blok yang dekat dengan awal, dan aplikasi 3 meminta bagian tengah dari disk. Sistem operasi dapat mengurangi jarak yang harus ditempuh oleh arm disk dengan melayani aplikasi tersebut dengan urutan 2, 3, 1. Pengaturan urutan pekerjaan kembali dengan cara ini merupakan inti dari I/O scheduling. Sistem operasi mengembangkan implementasi scheduling dengan menetapkan antrian permintaan untuk tiap device. Ketika sebuah aplikasi meminta sebuah blocking sistem I/O, permintaan tersebut dimasukkan ke dalam antrian untuk device tersebut. Scheduler I/O mengatur urutan antrian untuk meningkatkan efisiensi dari sistem dan waktu respon rata-rata yang harus dialami oleh aplikasi. Sistem operasi juga mencoba untuk bertindak secara adil, seperti tidak ada aplikasi yang menerima service yang buruk, atau dapat seperti memberi prioritas service untuk permintaan penting yang ditunda. Contohnya, pemintaan dari subsistem mungkin akan mendapatkan prioritas lebih tinggi daripada permintaan dari aplikasi. Beberapa algoritma scheduling untuk disk I/O akan dijelaskan ada bagian Disk Scheduling.
Satu cara untuk meningkatkan efisiensi I/O subsistem dari sebuah komputer adalah dengan mengatur operasi I/O. Cara lain adalah dengan menggunakan tempat penyimpanan pada memori utama atau pada disk, melalui teknik yang disebut buffering, caching, dan spooling.
Buffer adalah area memori yang menyimpan data ketika mereka sedang dipindahkan antara dua device atau antara device dan aplikasi. Buffering dilakukan untuk tiga buah alasan. Alasan pertama adalah untuk men-cope dengan kesalahan yang terjadi karena perbedaan kecepatan antara produsen dengan konsumen dari sebuah stream data. Sebagai contoh, sebuah file sedang diterima melalui modem dan ditujukan ke media penyimpanan di hard disk. Kecepatan modem tersebut kira-kira hanyalah 1/1000 daripada hard disk. Jadi buffer dibuat di dalam memori utama untuk mengumpulkan jumlah byte yang diterima dari modem. Ketika keseluruhan data di buffer sudah sampai, buffer tersebut dapat ditulis ke disk dengan operasi tunggal. Karena penulisan disk tidak terjadi dengan instan dan modem masih memerlukan tempat untuk menyimpan data yang berdatangan, maka dipakai 2 buah buffer. Setelah modem memenuhi buffer pertama, akan terjadi request untuk menulis di disk. Modem kemudian mulai memenuhi buffer kedua sementara buffer pertama dipakai untuk penulisan ke disk. Pada saat modem sudah memenuhi buffer kedua, penulisan ke disk dari buffer pertama seharusnya sudah selesai, jadi modem akan berganti kembali memenuhi buffer pertama dan buffer kedua dipakai untuk menulis. Metode double buffering ini membuat pasangan ganda antara produsen dan konsumen sekaligus mengurangi kebutuhan waktu di antara mereka.
Alasan kedua dari buffering adalah untuk menyesuaikan device-device yang mempunyai perbedaan dalam ukuran transfer data. Hal ini sangat umum terjadi pada jaringan komputer, dimana buffer dipakai secara luas untuk fragmentasi dan pengaturan kembali pesan-pesan yang diterima. Pada bagian pengirim, sebuah pesan yang besar akan dipecah ke paket-paket kecil. Paket-paket tersebut dikirim melalui jaringan, dan penerima akan meletakkan mereka di dalam buffer untuk disusun kembali.
Alasan ketiga untuk buffering adalah untuk mendukung copy semantics untuk aplikasi I/O. Sebuah contoh akan menjelaskan apa arti dari copy semantics. Jika ada sebuah aplikasi yang mempunyai buffer data yang ingin dituliskan ke disk. Aplikasi tersebut akan memanggil sistem penulisan, menyediakan pointer ke buffer, dan sebuah integer untuk menunjukkan ukuran bytes yang ingin ditulis. Setelah pemanggilan tersebut, apakah yang akan terjadi jika aplikasi tersebut merubah isi dari buffer, dengan copy semantics, keutuhan data yang ingin ditulis sama dengan data waktu aplikasi ini memanggil sistem untuk menulis, tidak tergantung dengan perubahan yang terjadi pada buffer. Sebuah cara sederhana untuk sistem operasi untuk menjamin copy semantics adalah membiarkan sistem penulisan untuk mengkopi data aplikasi ke dalam buffer kernel sebelum mengembalikan kontrol kepada aplikasi. Jadi penulisan ke disk dilakukan pada buffer kernel, sehingga perubahan yang terjadi pada buffer aplikasi tidak akan membawa dampak apa-apa. Mengcopy data antara buffer kernel data aplikasi merupakan sesuatu yang umum pada sistem operasi, kecuali overhead yang terjadi karena operasi ini karena clean semantics. Kita dapat memperoleh efek yang sama yang lebih efisien dengan memanfaatkan virtual-memori mapping dan proteksi copy-on-wire dengan pintar.
Sebuah cache adalah daerah memori yang cepat yang berisikan data kopian. Akses ke sebuah kopian yang di-cached lebih efisien daripada akses ke data asli. Sebagai contoh, instruksi-instruksi dari proses yang sedang dijalankan disimpan ke dalam disk, dan ter-cached di dalam memori physical, dan kemudian dicopy lagi ke dalam cache secondary and primary dari CPU. Perbedaan antara sebuah buffer dan ache adalah buffer dapat menyimpan satu-satunya informasi datanya sedangkan sebuah cache secara definisi hanya menyimpan sebuah data dari sebuah tempat untuk dapat diakses lebih cepat.
Caching dan buffering adalah dua fungsi yang berbeda, tetapi terkadang sebuah daerah memori dapat digunakan untuk keduanya. sebagai contoh, untuk menghemat copy semantics dan membuat scheduling I/O menjadi efisien, sistem operasi menggunakan buffer pada memori utama untuk menyimpan data. Buffer ini juga digunakan sebagai cache, untuk meningkatkan efisiensi I/O untuk file yang digunakan secara bersama-sama oleh beberapa aplikasi, atau yang sedang dibaca dan ditulis secara berulang-ulang. Ketika kernel menerima sebuah permintaan file I/O, kernel tersebut mengakses buffer cacheuntuk melihat apakah daerah memori tersebut sudah tersedia dalam memori utama. Jika iya, sebuah physical disk I/O dapat dihindari atau tidak dipakai. penulisan disk juga terakumulasi ke dalam buffer cache selama beberapa detik, jadi transfer yang besar akan dikumpulkan untuk mengefisiensikan schedule penulisan. Cara ini akan menunda penulisan untuk meningkatkan efisiensi I/O akan dibahas pada bagian Remote File Access.
Spooling dan Reservasi Device
Sebuah spool adalah sebuah buffer yang menyimpan output untuk sebuah device, seperti printer, yang tidak dapat menerima interleaved data streams. Walau pun printer hanya dapat melayani satu pekerjaan pada waktu yang sama, beberapa aplikasi dapat meminta printer untuk mencetak, tanpa harus mendapatkan hasil output mereka tercetak secara bercampur. Sistem operasi akan menyelesaikan masalah ini dengan meng-intercept semua output kepada printer. Tiap output aplikasi sudah di-spooled ke disk file yang berbeda. Ketika sebuah aplikasi selesai mengeprint, sistem spooling akan melanjutkan ke antrian berikutnya. Di dalam beberapa sistem operasi, spooling ditangani oleh sebuah sistem proses daemon. Pada sistem operasi yang lain, sistem ini ditangani oleh in-kernel thread. Pada kedua kasus, sistem operasi menyediakan interfacekontrol yang membuat users and system administrator dapat menampilkan antrian tersebut, untuk mengenyahkan antrian-antrian yang tidak diinginkan sebelum mulai di-print.
Untuk beberapa device, seperti drive tapedan printer tidak dapat me-multiplex permintaan I/O dari beberapa aplikasi. Spooling merupakan salah satu cara untuk mengatasi masalah ini. Cara lain adalah dengan membagi koordinasi untuk multiple concurrent ini. Beberapa sistem operasi menyediakan dukungan untuk akses device secara eksklusif, dengan mengalokasikan proses ke device idledan membuang device yang sudah tidak diperlukan lagi. Sistem operasi lainnya memaksakan limit suatu file untuk menangani device ini. Banyak sistem operasi menyediakan fungsi yang membuat proses untuk menangani koordinat exclusive akses diantara mereka sendiri.
Sebuah sistem operasi yang menggunakan protected memory dapat menjaga banyak kemungkinan error akibat hardware mau pun aplikasi. Devices dan transfer I/O dapat gagal dalam banyak cara, bisa karena alasan transient, seperti overloaded pada network, mau pun alasan permanen yang seperti kerusakan yang terjadi pada disk controller. Sistem operasi seringkali dapat mengkompensasikan untuk kesalahan transient. Seperti, sebuah kesalahan baca pada disk akan mengakibatkan pembacaan ulang kembali dan sebuah kesalahan pengiriman pada network akan mengakibatkan pengiriman ulang apabila protokolnya diketahui. Akan tetapi untuk kesalahan permanent, sistem operasi pada umumnya tidak akan bisa mengembalikan situasi seperti semula.
Sebuah ketentuan umum, yaitu sebuah sistem I/O akan mengembalikan satu bit informasi tentang status panggilan tersebut, yang akan menandakan apakah proses tersebut berhasil atau gagal. Sistem operasi pada UNIX menggunakan integer tambahan yang dinamakan errno untuk mengembalikan kode kesalahan sekitar 1 dari 100 nilai yang mengindikasikan sebab dari kesalahan tersebut. Akan tetapi, beberapa perangkat keras dapat menyediakan informasi kesalahan yang detail, walau pun banyak sistem operasi yang tidak mendukung fasilitas ini.
Kernel membutuhkan informasi state tentang penggunakan komponen I/O. Kernel menggunakan banyak struktur yang mirip untuk melacak koneksi jaringan, komunikasi karakter-device, dan aktivitas I/O lainnya.
UNIX menyediakan akses sistem file untuk beberapa entiti, seperti file user, raw devices, dan alamat tempat proses. Walau pun tiap entiti ini didukung sebuah operasi baca, semantics-nya berbeda untuk tiap entiti. Seperti untuk membaca file user, kernel perlu memeriksa buffer cache sebelum memutuskan apakah akan melaksanakan I/O disk. Untuk membaca sebuah raw disk, kernel perlu untuk memastikan bahwa ukuran permintaan adalah kelipatan dari ukuran sektor disk, dan masih terdapat di dalam batas sektor. Untuk memproses citra, cukup perlu untuk mengkopi data ke dalam memori. UNIX mengkapsulasikan perbedaan-perbedaan ini di dalam struktur yang uniform dengan menggunakan teknik object oriented.
Beberapa sistem operasi bahkan menggunakan metode object oriented secara lebih extensif. Sebagai contoh, Windows NT menggunakan implementasi message-passing untuk I/O. Sebuah permintaan I/O akan dikonversikan ke sebuah pesan yang dikirim melalui kernel kepada I/O manager dan kemudian ke device driver, yang masing-masing bisa mengubah isi pesan. Untuk output, isi message adalah data yang akan ditulis. Untuk input, message berisikan buffer untuk menerima data. Pendekatan message-passing ini dapat menambah overhead, dengan perbandingan dengan teknik prosedural yang men-share struktur data, tetapi akan mensederhanakan struktur dan design dari sistem I/O tersebut dan menambah fleksibilitas.
Kesimpulannya, subsistem I/O mengkoordinasi kumpulan-kumpulan service yang banyak sekali, yang tersedia dari aplikasi mau pun bagian lain dari kernel. Subsistem I/O mengawasi:
1.      Manajemen nama untuk file dan device.
2.      Kontrol akses untuk file dan device.
3.      Kontrol operasi, contoh: model yang tidak dapat dikenali.
4.      Alokasi tempat sistem file.
5.      Alokasi device.
6.      Buffering, caching, spooling.
7.      I/O scheduling
8.      Mengawasi status device, error handling, dan kesalahan dalam recovery.
9.      Konfigurasi dan utilisasi driver device.

Selasa, 12 Oktober 2010

Arsitektur Komputer

Dalam bidang teknik komputer, arsitektur komputer adalah konsep perencanaan dan struktur pengoperasian dasar dari suatu sistem komputer. Arsitektur komputer ini merupakan rencana cetak-biru dan deskripsi fungsional dari kebutuhan bagian perangkat keras yang didesain (kecepatan proses dan sistem interkoneksinya). Dalam hal ini, implementasi perencanaan dari masing–masing bagian akan lebih difokuskan terutama, mengenai bagaimana CPU akan bekerja, dan mengenai cara pengaksesan data dan alamat dari dan ke memori cache, RAM, ROM, cakram keras, dll). Beberapa contoh dari arsitektur komputer ini adalah arsitektur von Neumann, CISC, RISC, blue Gene, dll.

Arsitektur komputer juga dapat didefinisikan dan dikategorikan sebagai ilmu dan sekaligus seni mengenai cara interkoneksi komponen-komponen perangkat keras untuk dapat menciptakan sebuah komputer yang memenuhi kebutuhan fungsional, kinerja, dan target biayanya.

Arsitektur komputer ini paling tidak mengandung 3 sub-kategori:

    * Set instruksi (ISA)
    * Arsitektur mikro dari ISA, dan
    * Sistem desain dari seluruh komponen dalam perangkat keras komputer ini.

Perubahan Definisi Arsitektur Komputer
• 1950 -1960 : Arsitektur komputer adalah suatu komputer aritmatik
• 1970 – pertengahan 1980 : Arsitektur komputer adalah suatu desain instruksi untuk suatu kompiler
• 1990 : Arsitektur komputer adalah suatu bentuk desain CPU, sistem memori, sistem I/O, multiprosesor dan network komputer
• 2010 : Arsitektur komputer : suatu sistem yang dapat beradaptasi sendiri, struktur yang dapat mengorganisasikan sendiri, sistem DNA

Ada 2 bagian pokok arsitektur komputer
1. Instructure Set Architecture
Spesifikasi yang menentukan bagaimana programmer bahasa mesin berinteraksi dengan komputer
2. Hardware System Architacture
Meliputi subsistem hardware dasar yaitu CPU, Memori dan I/O system

Cara untuk melakukan perubahan pada arsitektur
1. Membangun array prosesor
2. Menerapkan proses pipelining
3. Membangun komputer multiprosesor
4. Membangun komputer dengan arsitektur lain.


Sumber:
1. http://arsitektur-komputer.blogspot.com/2008/09/arsitektur-komputer.html
2. http://id.wikipedia.org/wiki/Arsitektur_komputer