Rabu, 14 Oktober 2009

Entry Tugas System Operasi


1.sebagai manager sumber daya daya sistem komputer, sistem operasi berfungsi:
a. mengontrol dan mengkoordinasikan seluruh peralatan sitem komputer
b. penjadwalan dan penjatahan sumber daya
c. menerima dan menarik kembali informasi dari sumberdaya apabila telah di pakai
d. a, b, dan c benar

alasannya : sistem operasi merupakan suatu sistem yang berfungsi mengefisiensikan penggunaan sistem komputer dengan penampilan yang optimal

2. pengaturan informasi menerapkan proses yang boleh mendapatkan informasi dilakukan oleh?
a. memory
b. prosesor
c. alat i/o
d. sistem file

alasannya : system file berfungsi mengawasi, melepaskan, memberi, dan menerima berbagai informasi yang berada pada komputer

3. tahap dimana proses telah siap untuk run karena semua sumber daya yang diperlukan telah dipenuhi akan tetapi karena masih ada proses lain yang belum selesai menggunakan prosesor maka harus antri sampai tiba pada gilirannya adalah tahap?
a. submite state
b. hold state
c. ready state
d. job scheduler

alasannya: karena ready state merupakan sebuah tahapan yang berproses untuk app RUN

4. tahap dimana job telah selesai dibentuk menjadi bentuk yang telah siap diolah mesin komputer(kode-kode binary) tetapi belum ada sumberdaya yang diberikan kepada job kecuali tempat dimana job tersebut berada adalah tahap?
a. submite state
b. hold state
c. ready state
d. job scheduler

alasanya: karena merupakan sebuah tahapan yang berada dalam sistem operasi dimana job telah selesai dibentuk menjadi bentuk yang telah siap diolah mesin komputer

5. sistem operasi sebagai kumpulan prosedur yang dapat saling memanggil adalah struktur dasar sistem operasi?
a. sistem monolitik
b. sistem berlapis
c. sistem dengan mesin maya
d. sistem dengan client-server

alasannya: karena sistem monolitik berfungsi pemanggil semua prosedur yang berhubungan dengan sistem operasinya

Rabu, 03 Juni 2009

Rangkaian Terpadu

Penemuan Rangkaian Terpadu
Jack S. Kilby yang kini berusia 76 tahun adalah pensiunan dari perusahaan elektronik Texas Instruments Inc. di Dallas, Amerika Serikat. Beliau dianugerahi Nobel Fisika 2000 berupa uang sebesar kurang lebih Rp 7,5 milyar karena jasanya dalam merintis rancangan komponen elektronik berupa rangkaian terpadu atau integrated circuits (IC) yang kini lebih dikenal sebagai chip. Komponen elektronik berukuran sangat kecil itu berperan sebagai “otak elektronik” pada setiap komputer.

Inovasi yang dilakukan oleh Kilby memang diakui dan dikagumi oleh banyak pakar yang terlibat dalam riset dasar semikonduktor, bahan utama untuk pembuatan berbagai jenis komponen elektronik, diantaranya IC. Kilby mengembangkan IC generasi pertama pada tahun 1958. Untuk ukuran sekarang, IC hasil inovasi Kilby di Texas Instruments itu memang bisa digolongkan sudah usang, dan kini sudah menjadi penghuni museum. Rangkaian terpadu sederhana yang pertama kali dibikin itu hanya terdiri atas satu transistor dan komponen lain yang dikemas dalam sepotong lembaran germanium (Ge) dengan ukuran 7/16 x 1/16 inchi.

Jack S. Kilby sendiri semula tidak menyangka kalau IC rancangannya bakal menjadi tonggak yang sangat menentukan bagi sejarah perkembangan komputer, elektronika serta perangkat telekomunikasi di kurun waktu berikutnya. Kini kita menyaksikan kemajuan yang amat pesat dalam teknologi komputer, telekomunikasi dan telematika. Kemajuan teknologi ini ternyata telah mengubah berbagai aspek kehidupan umat manusia saat ini.

Komponen elektronik IC dikembangkan pula oleh Robert N. Noyce yang kala itu bekerja di Laboratorium Fairchild. Noyce mengembangkan IC secara terpisah dalam waktu yang hampir bersamaan dengan Kilby. Noyce yang kemudian mendirikan perusahaan elektronik Intel Corporation dan kini termasuk perusahaan raksasa dalam pembuatan chip komputer, telah meninggal dunia sejak 1990 lalu. Banyak ilmuwan mengatakan bahwa seandainya Noyce masih hidup, bisa jadi ia akan bergabung bersama Kilby untuk memperoleh hadiah Nobel.

Nama Jack. S. Kilby kini diabadikan menjadi nama salah satu laboratorium utama Texas Instruments (The Kilby Centre) yang selama ini telah menghasilkan 30 paten. Sebelum meraih Nobel fisika 2000, Kilby pernah dianugerahi National Medal of Science dan National Inventors Hall of Fame oleh Pemerintah AS.

Terpilihnya Kilby sebagai Nobelis Fisika 2000 tentu menambah pamor Texas Instruments, perusahaan tempat di mana ia sebelumnya bekerja dan berkarya. Selama ini, perusahaan itu memang sudah sangat mashur di kalangan industri chip mikroprosesor. Texas Instruments merupakan perusahaan pembuat chip yang menguasai sekitar setengah dari pasar mikroprosesor dunia pada tahun 1999. Berada di peringkat kedua adalah Lucent Technology Inc. yang menguasai sekitar seperempat pasaran chip dunia. Sisanya masing-masing 10 persen pasar dikuasai oleh Motorola Inc. dan Analog.

Komponen Heterostruktur
Dua ilmuwan pemenang Nobel Fisika 2000 selain Kilby adalah Zhores I. Alferov dan Herbert Kroemer. Mereka berdua berbagi hadiah Nobel berupa uang sebesar Rp 7,5 milyar. Alferov dan Kroemer direkomendasikan memenangkan Nobel Fisika 2000 karena secara tepisah mengembangkan komponen elektronik yang disebut heterostruktur. Komponen elektronik padat seukuran panjang gelombang sinar laser ini berfungsi mempercepat penerimaan atau pengiriman sinar dengan kemampuan yang luar biasa.

Herbert Kroemer yang kini berusia 72 tahun adalah fisikawan dari Universitas California di Santa Barbara, Amerika Serikat. Lahir tahun 1928 di Jerman dan memperoleh gelar doktor fisika pada tahun 1952 dari Universitas Gottingen. Sebagai ahli teknik komputer, beliau semula bekerja di RCA Laboratories dan Varian Associates di Polo Alto, California, AS. Profesi terakhirnya adalah sebagai guru besar di Universitas Colorado dan Universitas California.

Zhores I. Alferov telah lama terlibat dalam pengembangan semikonduktor heterostruktur III-V. Beliau terlibat aktif dalam riset pengembangan laser, sel surya, Light Emitting Diode (LED) serta proses perancangan semikonduktor heterostruktur moderen. Lahir di Vitebsk, White Rusia, pada tahun 1930, Alferov yang kini berusia 70 tahun meraih gelar doktor fisika dan matematika tahun 1970 dari AF Ioffe Physico-Technical Institute di St. Petersburg, Leningrad, Rusia. Sejak tahun 1987 beliau menjadi direktur di lembaga riset tersebut.

Perkembangan teknologi informasi melaju semakin kencang berkat penelitian Alferov dan Kroemer. Mereka bersinergi mengembangkan chip heterostruktur berbasis laser semikonduktor. Komponen heterostruktur yang meraka kembangkan itu kini merupakan komponen elektronik yang disisipkan pada hampir semua perangkat yang berbasis sinar laser, seperti Compact Disc (CD), telepon seluler, satelit dan serat optik. Tanpa komponen heterostruktur, tidak akan ada produk elektronik bernama CD-player maupun CD lainnya. Aplikasi lainnya adalah dalam sistim pembacaan bar-code, misal membaca nama barang serta harga pada saat kita berbelanja, dan langsung menampilkan data pada layar monitor serta mencetaknya pada nota daftar belanja secara otomatis.
Bermula Dari Fisika
Revolusi dalam dunia elektronika dipicu oleh kemajuan dalam studi fisika zat padat yang dirintis oleh F. Seitz dan fisika semikonduktor oleh J. Bardeen dan William B. Shockley di Amerika Serikat serta Love di Rusia pada tahun 1940-an. Kemajuan riset dasar fisika tadi telah mengantarkan tiga ilmuwan dari AS, yaitu : W.B. Shockley, W.H. Brattain dan J. Bardeen menemukan transistor sekaligus memenangkan hadiah Nobel Fisika pada tahun 1956. Mereka bertiga dinilai berjasa dalam mempelajari secara mendalam tentang tingkah laku elektron-elektron dalam materi semikonduktor seperti silikon.

Luasnya penggunaan komputer, serta hadirnya berbagai jenis produk telekomunikasi dan barang elektronik lainnya bermula dari hasil jerih payah penelitian yang dilakukan para fisikawan, terutama mereka yang terlibat langsung dalam penelitian dan pengembangan teknologi semikonduktor. Melalui teknologi inilah aliran-aliran elektron dalam chip semikonduktor dapat dimanfaatkan untuk mengolah, menyimpan dan mengantarkan data serta informasi melalui sandi-sandi digital.
Perkembangan Komputer
Secara garis besar komputer yang diperkenalkan sebelum tahun 1958 dikenal sebagai komputer generasi pertama. Ciri-ciri dari komputer ini adalah : menggunakan tabung hampa, memorinya sangat rendah, perlu pemanasan awal yang tinggi, kemampuan mengolah datanya sangat lambat dan ukurannya sangat besar. Masuk dalam kelompok ini adalah UNIVAC 1 (Universal Automatic Computer), SEAD, G-15, SWAC dan ENIAC. Komputer semacam ENIAC menggunakan 18.000 tabung vakum untuk mengolah data. Pada tahun 1950-an, beberapa komputer yang mempekerjakan ribuan tabung hampa masih diproduksi. Komputer IBM 701 yang dibuat tahun 1953 misalnya, mengandung 4.000 tabung di dalamnya.

Kemudahan muncul dengan ditemukannya transistor, komponen elektronik berukuran kecil yang bekerjanya memanfaatkan aliran muatan (elektron) di dalam zat padat kristalin. Transistor mempunyai sifat lebih ringan, lebih kuat dan tahan lama dibandingkan teknologi tabung. Komponen elektronik ini mulai dikembangkan pada tahun 1948 Oleh Shockley dan kawan-kawan di Bell Telephone Company, AS, dan mulai digunakan di dalam komputer pada akhir tahun 1950-an. Inilah komputer generasi kedua, diperkenalkan antara tahun 1958 sampai dengan tahun 1963. Ciri-cirinya adalah : sudah menggunakan transistor, memorinya relatif kecil atau rendah, kecepatan mengolah datanya lebih tinggi dibandingkan generasi sebelumnya, kebutuhan untuk pemanasannya tidak terlalu tinggi, serta ukuran fisiknya lebih kecil dibandingkan generasi sebelumnya. Masuk dalam kelompok ini adalah : IBM 1401, IBM 7090 dan ILLIAC-11.
Pada tahun 1960, produk elektronik masih didominasi oleh radio, tape dan televisi yang telah menggunakan transistor. Pada saat itulah Kilby sedang mengembangkan IC. Tidak lama kemudian, IC rancangan Kilby menggusur penggunaan transistor dan menjadi komponen utama dalam komputer. Inilah komputer generasi ketiga yang diperkenalkan antara tahun 1963 sampai dengan tahun 1971. Ciri dari komputer generasi ini adalah : menggunakan Monolitic Integrated Circuit (MIC) dan Large Scale Integration (LSI), mempunyai memori lebih besar, bekerjanya lebih cepat, serta ukuran fisiknya lebih kecil dibandingkan generasi pendahulunya. Masuk dalam generasi ini adalah IBM 390.

Penyempurnaan teknologi IC terus berlanjut. Ide yang semula terlahir dari pemikiran Kilby itu dalam kurun waktu berikutnya terus mengalami penyempurnaan melalui kerja keras ribuan insinyur terbaik dunia, dan hadirlah teknologi chip seperti yang kita saksikan saat ini. Dampak dari perkembangan tersebut adalah hadirnya komputer-komputer dalam bentuk yang lebih cerdas, bekerja lebih cepat dan handal, mempunyai kapasitas memori yang sangat besar serta keunggulan-keunggulan lainnya, meski bentuk maupun volumenya justru semakin kecil. Inilah komputer generasi keempat yang diperkenalkan antara tahun 1971 sampai dengan sekarang. Di dalam komputer ini telah menggunakan Metal Oxide Semiconductor (MOS). Masuk dalam kelompok ini adalah komputer-komputer produksi BMC, IBM dan Apple yang kini beredar di pasaran.

Proses Miniaturisasi
Tanpa perangkat terpadu dan kompak, sebuah komputer PC harus dibuat dengan ukuran yang sangat besar. Rumah mungkin tidak akan cukup untuk menampung sebuah perkakas komputer yang dibuat dari jutaan transistor dan tabung vakum. Namun dengan hadirnya teknologi chip, barang elektronik seperti jam digital, kalkulator, telepon genggam maupun komputer dapat hadir dengan ukuran yang betul-betul kecil. Dengan teknologi chip, bukan hanya terjadi penghematan ruang, namun juga waktu dan biaya produksi. Bahkan untuk kondisi saat ini, chip komputer sudah mencapai seukuran molekul, suatu tingkat yang sangat mustahil untuk dipercayai beberapa dasa warsa lalu.

Komponen IC yang pertama kali lahir 40 tahun lalu memang lebih hebat dibandingkan teknologi tabung vakum maupun transistor, walaupun IC yang pertama kali dibuat itu sangat kasar dan besar. Di dalamnya hanya terdapat beberapa gerbang dan transistor. Kini dengan ukuran yang lebih kecil dan halus, sebuah prosesor bisa memadukan kerja dari jutaan transistor, seperti pada chip komputer terbaru Intel Pentium III atau Athlon dari Advance Micro Devices.

Proses miniaturisasi komputer beserta produk elektronik lainnya tentu tidak dapat terlepas dari peran IC. Dalam komponen ini, sejumlah sirkuit elektronik yang berbeda-beda dapat ditempatkan atau dipasang secara langsung pada potongan lapisan-lapisan tipis bahan semikonduktor seperti silikon. Pembuatan wafer elektronik itu dilakukan secara kimia melalui suatu proses yang mengkombinasikan etsa dan fotografi. Hasilnya adalah sebuah rangkaian sirkuit yang sangat kecil (berukuran mikron) yang tersusun pada lapisan silikon, yang dapat memproses sejumlah besar informasi. Sirkuit pada lapisan silikon dihubungkan satu sama lain, dan siap melakukan tugas dalam komputer sesuai dengan yang diharapkan.

Peran yang Meluas
Komputer yang semula dirancang untuk menghitung dan menulis, dalam perkembangan berikutnya ternyata dapat menembus berbagai aspek kehidupan manusia, serta dapat digunakan untuk berbagai keperluan. Hampir semua informasi dapat ditangani dan diproses dengan berbagai cara oleh komputer. Hal ini karena komputer mampu “mengkode” berbagai macam bentuk data ke dalam bentuk digital biner (1 dan 0 atau on dan off). Banyak penggunaan komputer saat ini jauh dari kegiatan hitung-menghitung sebagaimana komputer pertama kali dibuat.

Dalam penelitian dasar, banyak perhitungan detil dalam fisika yang terlalu rumit untuk dipecahkan. Untuk mengatasi masalah ini, para fisikawan mulai melirik pada simulasi super komputer. Para ahli fisika yang menaruh minat pada kromodinamika kuantum sejak permulaan tahun 1980-an mulai mendisain super komputer paralel untuk menyelesaikan berbagai perhitungan fisika secara cepat. Komputer paralel yang dikembangkan para peneliti serta industri memiliki banyak sekali prosesor sehingga dapat bekerja serentak menyelesaikan perhitungan yang sangat rumit. Dengan komputer ini para peneliti mampu menyelesaikan 6,5 milyar perhitungan per detik atau berkekuatan 6,5 gigaflop.

Para seniman atau designer dapat memanfaatkan komputer karena gambar dapat diubah atau disajikan dalam bentuk digit. Para arsitek dan perancang kota secara luas memanfaatkan kemampuan komputer untuk menggambar dalam bentuk tiga dimensi yang dapat ditampilkan dan dilihat dari berbagai arah. Para musisi juga telah mendapatkan cara dalam memanfaatkan komputer, baik untuk menulis, merekam maupun memainkan musik yang telah dikode secara digit. Semua informasi baik musik (suara) maupun gambar dapat direkam atau disimpan di dalam disk yang dapat dibaca ulang secara optis oleh laser.

Perkembangan teknologi mikroelektronika dan komputer yang sangat pesat beberapa dasawarsa terakhir ini juga telah memacu perkembangan peralatan perang moderen. Perkembangan teknik deteksi dengan radar yang semakin canggih diimbangi pula oleh peningkatan kemampuan mendisain perlengkapan perlindungan elektronik, khususnya bagi jet-jet tempur agar tidak mudah dideteksi oleh radar lawan. Dengan perkembangan teknologi mikroelektronika dimungkinkan membuat pelindung elektronik mini yang ditempatkan di luar pesawat. Dengan rangkaian pengukur frekwensi langsung dapat dilakukan kalkulasi untuk mengetahui ancaman lawan hanya dalam waktu sepersejuta detik.

Teknologi mikroelektronika juga bakal dimanfaatkan dalam kendaraan pribadi dalam sistim navigasi berpemandu satelit. Teknologi multi media ternyata makin merasuk ke dunia otomotif. Diperkirakan di masa mendatang perusahaan-perusahaan mobil di Jepang akan melemparkan produknya sebanyak 1,6 juta mobil yang dilengkapi peralatan navigasi menggunakan sistim GPS (Global Positioning System). Dengan perlengkapan ini pengemudi akan lebih cepat mengakses peta dan petunjuk jalan dengan rinci dan akurat.

Saat ini, internet merupakan sarana komunikasi global yang dapat menghubungkan manusia di berbagai belahan bumi, sehingga seakan-akan jarak antar mereka menjadi sangat pendek. Meluasnya penggunaan internet menjadikan komputer telah menjadi bagian integral dalam kehidupan umat manusia.

Chip pada telepon seluler juga telah mengubah kehidupan sehari-hari umat manusia di seluruh dunia. Bahkan kini teknologi chip yang mengoperasikan suatu pesawat telepon seluler juga dapat mengoperasikan kamera digital terbaru. Satu chip dapat mengatur milyaran data yang mengalir melewati jaringan telepon setiap detiknya. Chip super canggih ini disebut Digital Signal Processor (DSP).

Berbagai kemudahan yang ditawarkan komputer tadi tentu tak dapat lepas dari hasil temuan ketiga pemenang Nobel Fisika 2000, yang oleh Royal Swedish Academy of Science dinilai mempercepat revolusi dalam bidang komunikasi. Mereka bertiga dinilai telah berjasa menemukan dan mengembangkan rangkaian terpadu (IC) serta prosesor semikonduktor heterostruktur yang menjadi komponen dasar dan memegang kunci dalam perkembangan teknologi komputer, informatika serta opto-elektronika (*)

Senin, 12 Januari 2009

DMA and INTERRUPT

Pendahuluan

Pada dasarnya, tugas utama komputer adalah processing dan M/K. Bahkan, sebagian besar waktunya digunakan untuk mengolah M/K sedangkan processing hanya bersifat insidental. Jadi, pada konteks M/K, peranan sistem operasi adalah mengatur dan mengontrol perangkat M/K dan operasi M/K.

Perangkat M/K sangat bervariasi. Oleh karena itu, bagaimana cara mengontrol perangkat-perangkat tersebut mendapat perhatian besar dalam organisasi komputer. Bayangkan, perangkat M/K yang sangat banyak jumlahnya dan setiap perangkat memiliki fungsi dan kecepatan sendiri-sendiri, tentunya memerlukan metode yang berbeda pula. Oleh karena itu, dikenal klasifikasi perangkat M/K menjadi perangkat blok dan perangkat karakter, walaupun ada perangkat yang tidak termasuk ke dalam satupun dari kedua golongan ini.

Perangkat terhubung ke komputer melalui port, diatur oleh device controller dan berkomunikasi dengan prosesor dan perangkat lain melalui bus. Perangkat berkomunikasi dengan prosesor melalui dua pendekatan yaitu memory mapped dan instruksi M/K langsung.

Bila prosesor ingin mengakses suatu perangkat, dia akan terus mengecek perangkat untuk mengetahui statusnya, apakah mengizinkan untuk diakses. Cara ini dilakukan berulang-ulang yang disebut dengan polling. Sedangkan bila perangkat ingin memberitahu prosesor ketika siap diakses, maka perangkat akan menggunakan interupsi. Kedua cara ini mempunyai kelebihan dan kelemahan masing-masing. Adanya Direct Memory Access (DMA) dapat mengurangi beban CPU karena terjadinya transfer data antara perangkat dan memori tanpa melalui CPU.

Perbedaan detil untuk setiap alat akan dienkapsulasi pada modul kernel yang disebut device driver. Sedangkan untuk mengetahui waktu dan lama suatu proses digunakan clock dan timer.

Perangkat Keras M/K

Kategori Perangkat M/K

Pada saat sekarang ini, terdapat berbagai macam perangkat M/K seperti perangkat penyimpanan (disk, tape), perangkat transmisi (network card, modem), dan perangkat antar muka dengan pengguna (layar, keyboard, mouse). Secara umum, perangkat M/K dapat dibagi menjadi dua kategori yaitu:

1. Perangkat blok.

Perangkat yang menyimpan informasi dalam blok-blok berukuran tertentu (umumnya 512 sampai 32.768 byte) dan setiap blok memiliki alamat masing-masing. Setiap blok pada perangkat ini bisa diakses dan ditulis secara independen. Contoh perangkat blok adalah disk.

2. Perangkat karakter.

Perangkat yang mengirim dan menerima sebarisan karakter tanpa menghiraukan struktur blok. Contoh perangkat karakter adalah printer , network interface dan perangkat yang bukan disk.

Namun, pembagian ini tidak sepenuhnya benar karena ada perangkat yang tidak memenuhi kedua kriteria tersebut yaitu clock. Clock merupakan perangkat yang tidak memiliki blok beralamat, tidak mengirim dan menerima barisan karakter melainkan hanya menginterupsi dalam jangka waktu tertentu.

Komponen M/K

Unit M/K terdiri dari dua komponen yaitu:

1. Komponen Mekanis. Komponen Mekanis adalah perangkat M/K itu sendiri seperti mouse, monitor, dll.

2. Komponen Elektronis. Komponen Elektronis disebut juga dengan controller perangkat. Perangkat tidak berhubungan langsung dengan prosesor, controller -lah yang berhubungan dengan prosesor.

Cara Perangkat Terhubung Ke Komputer

Perangkat M/K berkomunikasi dengan sistem komputer melalui sinyal yang dikirimkan melalui kabel maupun udara (wireless). Perangkat M/K berhubungan dengan mesin melalui suatu titik yang bernama port. Port M/K terdiri dari 4 register, yaitu:

1. Data-in register . Register ini yang akan dibaca CPU untuk mendapatkan input.

2. Data-out register . CPU menulis bit disini sebagai output data.

3. Status. CPU akan membaca register ini untuk mengetahui status perangkat. Status perangkat bisa menandakan apakah tersedia input di data-in register, perangkat selesai melaksanakan tugasnya dengan baik atau terjadi error di perangkat.

4. Control. Register ini ditulis oleh CPU untuk memulai perintah atau untuk mengganti modus perangkat. Salah satu contoh penggantian modus perangkat adalah terdapat bit di register control di serial port yang berfungsi untuk memilih kecepatan transfer yang didukung oleh serial port tersebut.

Bus adalah kumpulan kabel dan protokol yang menetapkan sekumpulan pesan yang bisa dikirim melalui kabel. Beberapa perangkat bisa terhubung ke bus yang sama. Bila perangkat A terhubung ke perangkat B, perangkat B terhubung ke perangkat C dan seterusnya sampai perangkat yang terakhir terhubung ke komputer, rangkaian perangkat ini disebut daisy chain. Daisy chain juga berfungsi sebagai bus.

Gambar 10.1. Struktur bus pada PC

Struktur bus pada PC

PCI (Peripheral Component Interconnect) bus adalah bus berkecepatan tinggi yang menghubungkan subsistem memori-prosesor ke perangkat berkecepatan tinggi dan ke Expansion bus yang berhubungan dengan perangkat yang lebih lambat seperti keyboard, serial port dan paralell port. SCSI atau Small Computer System Interface (baca: skazi) adalah bus yang menghubungkan beberapa disk ke SCSI controller. Dengan SCSI, kita bisa mendapatkan hingga tujuh perangkat terhubung ke komputer tetapi ini akan memperlambat komputer pada saat start-up.

Kita semua tentu sudah mengenal perangkat penyimpanan seperti floopy drive, hard drive dan CD-ROM drive. Biasanya perangkat-perangkat ini terhubung ke komputer melalui IDE (Integrated Drive Electronics) . Antarmuka ini menyatukan controller ke drive, sehingga dengan instruksi yang lebih sederhana dan rute yang lebih dekat antara drive dan controller, membuatnya lebih cepat dan mudah untuk digunakan.

Bus, port dan perangkat bisa dioperasikan oleh controller yang merupakan sekumpulan perangkat elektronik. Serial-port controller adalah salah satu controller perangkat yang sederhana karena hanya sebuah chip yang mengontrol sinyal dari kabel di port. Di sisi lain, juga ada controller perangkat yang kompleks yaitu SCSI controller yang sedemikian rumitnya sehingga harus diimplementasikan secara khusus sebagai papan sirkuit tersendiri di dalam komputer. Ini disebut dengan host adapter. SCSI controller berisi prosesor, microcode, dan beberapa memori sendiri.

Komunikasi Perangkat Dengan Prosesor

Kita sudah membahas tentang perangkat dan bagaimana mereka tersambung ke komputer, sekarang fokus selanjutnya adalah bagaimana prosesor berkomunikasi dengan perangkat. Ada dua pendekatan:

1. Instruksi M/K langsung.

Setiap perangkat diberi nomor port M/K sepanjang 8/16 bit yang unik. Pada transfer data antara register perangkat dan register CPU digunakan instruksi M/K khusus. Instruksi M/K ini berbeda dari sekedar instruksi memori biasa karena alamat port M/K tidak menggunakan lokasi yang sama dengan alamat memori. Oleh sebab itu, 2 instruksi berikut: –in R3, 0x200, 4,– dan –mov R3, 0x200--- memiliki dua arti yang berbeda. Instruksi pertama merupakan instruksi M/K khusus yang meminta CPU untuk membaca nilai dari register nomor 4 dari alat M/K pada nomor port 0x200 kemudian meletakkannya pada register nomor 3 di CPU. Instruksi kedua merupakan instruksi memori biasa yang hanya menyalin isi alamat memori 0x200 ke register tiga di CPU.

2. Memory mapped .

Pendekatan ini menggunakan pemetaan alamat M/K ke memori. Register data dan buffer data dipetakan ke ruang alamat yang digunakan CPU.

Keunggulan memory mapped adalah:

  1. Prosesor akan memiliki jumlah instruksi yang lebih sedikit karena prosesor tidak perlu menyediakan instruksi M/K khusus.
  2. Akses ke memori dilakukan dengan instruksi memori biasa, sehingga driver untuk peralatan dapat ditulis dalam bahasa C / C++ (untuk instruksi memori biasa) daripada bahasa assembly (untuk instruksi M/K khusus).
  3. Sistem operasi dapat mengontrol akses ke perangkat M/K, yaitu dengan tidak meletakkan ruang alamat perangkat pada ruang alamat virtual proses.

Namun, ada masalah yang cukup signifikan pada pendekatan memory mapped yaitu masalah caching. Pada caching, proses menyimpan isi dari lokasi memori yang baru direferensikan sehingga bila ada instruksi yang mereferensikan ke alamat yang sama tidak perlu mengambil ke memori lagi, dengan demikian caching dapat meningkatkan kinerja sistem. Polling

Bila prosesor ingin mengakses perangkat, salah satu pendekatannya adalah dengan membiarkan prosesor melakukan semua pekerjaan. Prosesor berinteraksi dengan controller melalui protokol yang rumit tetapi dasar handshaking-nya cukup sederhana yaitu:

1. CPU terus menerus membaca bit status sampai bit tersebut menandakan perangkat siap menerima perintah CPU.

2. CPU mengaktifkan bit-write di register perintah sebagai awal pertanda CPU memberikan perintah dan menulis sebuah byte di data-out.

3. CPU mengaktifkan command-ready bit, artinya perintah tersedia untuk dijalankan controller.

4. Controller melihat command ready bit di-set sehingga bit kerja di-set.

5. Controller membaca register perintah dan melihat perintah write maka data-out dibaca dan menyuruh perangkat M/K melakukan apa yang diperintah CPU.

6. Controller menghapus command ready bit, bit error di status dan bit kerja.

Langkah 1 disebut polling atau busy waiting. Prosesor terus-menerus membaca bit status, berharap suatu saat bit tersebut menandakan perangkat siap menerima perintahnya. Pada dasarnya polling dapat dikatakan efisien bila kinerja perangkat dan controller-nya cepat. Kelemahan dari cara ini adalah bila waktu tunggu lama, maka lebih baik prosesor mengerjakan tugas yang lain. Sedangkan untuk mengetahui apakah perangkatnya sudah siap menerima perintah lagi atau belum, digunakanlah interupsi.

Terjadi masalah pada suatu sistem yang berulang-ulang membaca register status pada perangkat untuk melihat apakah perangkat tersebut siap diakses. Pembacaan yang pertama, isi dari register status akan disimpan di cache. Namun, perulangan selanjutnya akan mengambil nilai dari cache bukan pada register status pada peralatan. Akibatnya, tidak akan diketahui kapan perangkat siap digunakan karena nilai yang terus dibaca adalah nilai yang disimpan pertama kali di cache, bukan status ter-update dari perangkat itu sendiri. Untuk mengatasi masalah ini, proses caching tetap dilakukan kecuali untuk lokasi memori dimana register alat M/K dipetakan.

Beberapa sistem menggunakan kedua teknik ini. Contohnya pada penggunaan graphics controller. Graphics controller mempunyai alamat port M/K (untuk pendekatan instruksi M/K langsung), namun dia juga mempunyai wilayah memory-mapped yang besar untuk menampung tampilan layar. Proses mengubah tampilan dengan menulisi wilayah memory-mapped ini dan controller akan menyesuaikan tampilan layar berdasarkan informasi dari memory mapped tersebut. Jauh lebih cepat menulis jutaan Bytes ke memory grafik daripada memuat jutaan instruksi. Namun, kelemahannya, adalah saat pointer menunjuk ke wilayah memori yang salah dan menulisinya.

Interupsi

Interupsi terjadi bila suatu perangkat M/K ingin memberitahu prosesor bahwa ia siap menerima perintah, output sudah dihasilkan, atau terjadi error.

Penanganan Interupsi

Ada beberapa tahapan dalam penanganan interupsi:

1. Controller mengirimkan sinyal interupsi melalui interrupt-request-line

2. Sinyal dideteksi oleh prosesor

3. Prosesor akan terlebih dahulu menyimpan informasi tentang keadaan state-nya (informasi tentang proses yang sedang dikerjakan)

4. Prosesor mengidentifikasi penyebab interupsi dan mengakses tabel vektor interupsi untuk menentukan interrupt handler

5. Transfer kontrol ke interrupt handler

6. Setelah interupsi berhasil diatasi, prosesor akan kembali ke keadaan seperti sebelum terjadinya interupsi dan melanjutkan pekerjaan yang tadi sempat tertunda.

Gambar 10.2. Siklus penanganan interupsi

Siklus penanganan interupsi

Interrupt Request Line

Pada kebanyakan CPU, ada dua interrupt request line. Pertama, interupsi nonmaskable, interupsi ini biasanya berasal dari perangkat keras dan harus segera dilaksanakan, seperti terjadinya error pada memori.

Kedua, interupsi maskable, jenis interupsi ini bisa dilayani oleh prosesor atau bisa tidak dilayani. Kalaupun dilayani, harus dilihat keadaan prosesor saat itu. Ada kemungkinan prosesor langsung menangani bila saat itu, prosesor preemptive, bila nonpreemptive, maka harus menunggu proses yang sedang dikerjakan selesai.

Vektor Interupsi dan Vector Chaining

Bila ada sebuah sinyal interupsi pada interrupt request line, bagaimana sebuah interrupt handler mengetahui sumber dari interupsi itu? Apakah harus menelusuri semua sumber interupsi satu-persatu? Tidak perlu, karena setiap interrupt handler mempunyai alamat memori masing-masing. Alamat ini adalah offset pada sebuah tabel yang disebut dengan vektor interupsi.

Tabel 10.1. Tabel Vector-Even pada Intel Pentium

Vector number

Description

0

Divide error

1

Debug Exception

2

Null Interrupt

3

Breakpoint

4

INTO-detected overflow

5

Bound range exception

6

Invalid opcode

7

Device not available

8

Double fault

9

Compressor segment overrun (reserved)

10

Invalid task state segment

11

Segment not present

12

Stack fault

13

General protection

14

Page fault

15

(Intel reserved, do not use)

16

Floating point error

17

Alignment check

18

Machine check

19-31

(Intel reserved, do not use)

32-255

Maskable interrupt

Sesuai dengan perkembangan zaman, komputer mempunyai lebih banyak perangkat (dan lebih banyak interrupt handlers) daripada elemen alamat di vektor. Hal ini bisa diatasi dengan teknik vector chaining. Setiap elemen di vektor interupsi menunjuk ke kepala dari sebuah daftar interrupt handlers, sehingga bila ada interupsi, handler yang terdapat pada daftar yang ditunjuk akan dipanggil satu persatu sampai didapatkan handler yang bisa menangani interupsi yang bersangkutan.

Prioritas Interupsi

Mekanisme interupsi juga menerapkan sistem level prioritas interupsi. Sistem ini memungkinkan interupsi berprioritas tinggi menyela eksekusi interupsi berprioritas rendah. Sistem ini juga memungkinkan perangkat M/K yang membutuhkan pelayanan secepatnya didahulukan daripada perangkat lainnya yang prioritasnya lebih rendah. Pengaturan prioritas dan penanganan perangkat berdasarkan prioritasnya diatur oleh prosesor dan controller interupsi.

Penyebab Interupsi

Mekanisme interupsi tidak hanya digunakan untuk menangani operasi yang berhubungan dengan perangkat M/K. Sistem operasi menggunakan mekanisme interupsi untuk beberapa hal, di antaranya:

1. Menangani exception

Exception adalah suatu kondisi dimana terjadi sesuatu, atau dari sebuah operasi didapatkan hasil tertentu yang dianggap khusus sehingga harus mendapat perhatian lebih, contohnya, pembagian dengan nol, pengaksesan alamat memori yang restricted atau tidak valid, dll.

2. Mengatur virtual memory paging.

3. Menangani perangkat lunak interupsi.

4. Menangani alur kontrol kernel.

Jika interupsi yang terjadi merupakan permintaan untuk transfer data yang besar, maka penggunaan interupsi menjadi tidak efisien, untuk mengatasinya digunakanlah DMA.


DMA

Seperti yang telah dijelaskan sebelumnya bahwa mekanisme interupsi tidak efisien untuk melakukan transfer data yang besar. Transfer data dilakukan per word. Pada mekanisme interupsi, untuk tiap word data yang ditransfer, prosesor tidak akan menunggu data tersedia pada perangkat yang mengirim data maupun data selesai ditulis oleh perangkat yang menerima data. Dalam situasi tersebut prosesor akan mengganti proses yang sedang dieksekusinya (yang melakukan transfer data) dengan proses lain (context switch). Jika ukuran data yang ditransfer cukup besar, prosesor akan berulang kali melakukan context switch, padahal context switch akan menimbulkan overhead. Oleh karena itu kelemahan mekanisme interupsi untuk menangani transfer data yang besar disebabkan oleh context switch. Untuk menangani kelemahan tersebut, digunakan suatu unit kontrol khusus yang disediakan untuk mentrasfer data langsung antar perangkat eksternal dan memori utama tanpa intervensi terus menerus dari prosesor. Unit kontrol khusus tersebut adalah DMA.

Sistem modern dapat mengurangi beban CPU untuk melakukan operasi M/K, yaitu dengan menggunakan pengendali DMA. Dengan demikian CPU dapat melakukan tugas lain sementara operasi M/K dilakukan. Setiap pengendali peralatan dapat saja memiliki perangkat keras DMA tersendiri. Alternatif lain adalah dengan memiliki sebuah pengendali DMA pada motherboard yang mengatur transfer ke berbagai peralatan.

Untuk memulai transfer data secara DMA, driver peralatan akan menulis blok perintah DMA memori yang menunjuk sumber data, tujuan, dan jumlah byte yang akan ditransfer. CPU kemudian akan mengirimkan alamat blok perintah ini pada pengendali DMA. pengendali DMA akan memproses informasi ini untuk kemudian mengoperasikan bus memori.

Transfer sebanyak 1 byte/word per satuan waktu oleh pengendali DMA disebut sebagai cycle stealing karena pengendali menggunakan bus cycle milik CPU. Dengan cycle stealing penggunaan bus oleh CPU akan tertunda beberapa waktu karena bus digunakan untuk proses DMA.

Tiga langkah dalam transfer DMA:

1. prosesor menyiapkan DMA transfer dengan menyediakan data-data dari perangkat, operasi yang akan ditampilkan, alamat memori yang menjadi sumber dan tujuan data, dan banyaknya byte yang ditransfer.

2. Pengendali DMA memulai operasi (menyiapkan bus, menyediakan alamat,menulis dan membaca data) samapai seluruh blok sudah ditransfer.

3. Pengendali DMA menginterupsi prosesor, dimana selanjutnya akan ditentukan tindakan berikutnya.

Gambar 10.3. DMA

DMA

Aplikasi Antarmuka M/K

Perbedaan dari alat-alat M/K dapat dipisahkan dengan mengelompokkan alat-alat yang serupa ke beberapa kelas generik. Untuk setiap kelas generik terdapat beberapa fungsi yang diberikan melalui antar muka standar yang diberikan. Perbedaan detil untuk setiap alat akan dienkapsulasi pada modul kernel yang disebut device driver. Driver ini dibuat oleh pembuat perangkat untuk memenuhi kebutuhan setiap peralatan dengan menggunakan salah satu antarmuka standar. Penggunaan layer untuk driver peralatan ini menyembunyikan perbedaan setiap pengendali peralatan dari subsistem M/K pada kernel, sama seperti bagaimana system call M/K menyembunyikan perbedaan perangkat keras dari aplikasi melalui abstraksi yang berisi kelas-kelas peralatan generik.

Peralatan dapat berupa:

1. Character stream .

atau block Sebuah peralatan character stream (contoh: terminal) untuk mentransfer byte satu persatu sedangkan block device akan mentransfer sekumpulan byte sebagai unit contohnya adalah disk.

2. Sequensial atau random-access .

Sebuah perangkat yang sekuensial memindahkan data yang sudah pasti seperti yang ditentukan oleh perangkat, contohnya modem, sedangkan pengguna akses random dapat meminta perangkat untuk mencari keseluruh lokasi penyimpanan data yang tersedia, contohnya CD-ROM.

3. Synchronous atau asyinchronous .

Perangkat synchronous menampilkan data-data transfer dengan reaksi yang dapat diduga, contohnya tape, sedangkan perangkat asyinchronous menampilkan waktu reaksi yang tidak dapat diduga, contohnya keyboard.

4. Sharable atau dedicated .

Perangkat yang dapat dibagi digunakan secara bersamaan oleh beberapa prosesor atau sharable, contohnya keyboard, sedangkan perangkat yang dedicated tidak dapat digunakan secara bersamaan oleh beberapa prosesor, contohnya tape.

5. Speed of operation .

Rentangan kecepatan perangkat dari beberapa bytes per detik sampai beberapa gigabytes per detik.

6. Read-write,read only, write only.

Beberapa perangkat memungkinkan baik input-output dua arah, contohnya CD-ROM, tapi beberapa lainnya hanya menunjang data satu arah saja, contohnya disk.

Clock dan Timer

Adanya clock dan timer pada perangkat keras komputer, setidaknya memiliki tiga fungsi yang sering digunakan oleh sistem operasi yaitu:

1. Memberi informasi waktu saat ini.

2. Memberi informasi waktu lamanya sebuah proses.

3. Sebagai trigger untuk suatu operasi pada suatu waktu.

Perangkat keras yang mengukur waktu dan melakukan operasi trigger dinamakan programmable interval timer. Perangkat keras ini dapat diatur untuk menunggu waktu tertentu dan kemudian melakukan interupsi. Contoh penerapan adalah pada scheduler dimana dia melakukan interupsi yang akan memberhentikan suatu proses pada akhir dari bagian waktunya.

Blocking/Nonblocking

Ketika suatu aplikasi menggunakan sebuah blocking system call, eksekusi aplikasi itu akan dihentikan sementara, lalu dipindahkan ke wait queue. Setelah system call tersebut selesai, aplikasi tersebut dikembalikan ke run queue, sehingga pengeksekusian dilanjutkan. Banyak sistem operasi yang bersifat blocking karena lebih mudah dimengerti daripada nonblocking. Sedangkan nonblocking M/K saat aplikasi tersebut meminta data dari M/K maka pada saat menunggu diterimanya data dari M/K akan dikerjakan proses lain.

Rangkuman

Port adalah titik koneksi antara perangkat M/K dengan komputer. Data mengalir keluar masuk peralatan melalui bus. Komputer berkomunikasi dengan peralatan melalui device controller. Dua pendekatan dasar komunikasi perangkat dengan komputer: instruksi M/K langsung dan memory-mapped. Status suatu perangkat terlihat dari bit memory-mapped-nya, 1 berarti sibuk, 0 berarti siap. CPU akan memeriksa keadaan bit ini berulang kali untuk melihat apakah perangkat siap, hal ini dinamakan polling. Interupsi bisa terjadi karena input di perangkat telah siap, output komplit atau terjadi error. Sinyal Interupsi akan disampaikan melalui interrupt request line (IRQ) yang akan diterima CPU dan mengalihkannya ke interrupt handler. Dua jenis interupsi yaitu maskable (bisa ditunda/diabaikan) dan nonmaskable interrupt. Interrupt vector berisi alamat awal dari interrupt handler.

DMA adalah suatu unit kontrol khusus yang disediakan untuk mentransfer data langsung antar perangkat eksternal dan memori utama, tanpa intervensi terus menerus dari prosesor. Perbedaan detil untuk setiap alat akan dienkapsulasi pada modul kernel yang disebut device driver. Driver ini dibuat oleh pembuat perangkat untuk memenuhi kebutuhan setiap peralatan dengan menggunakan salah satu antarmuka standar (aplikasi M/K).

Adanya clock dan timer pada perangkat keras komputer, setidaknya memiliki tiga fungsi, yaitu: memberi informasi waktu saat ini, memberi informasi waktu lamanya sebuah proses, sebagai trigger untuk suatu operasi pada suatu waktu. Suatu aplikasi dapat menggunakan blocking dan nonblocking I/O.