Rabu, 24 November 2010

Soal Tanya Jawab

  1. Berdasarkan keberadaan swapping, manajemen memory dibagi menjadi 2 yaitu Manajemen Tanpa Swapping dan Manajemen Dengan Swapping.

  1. Terdapat 2 manajemen memory yaitu Manajemen Memori Statis dan Manajemen Memori Dinamis.

  1. Fragmentasi pada pemartisian tetap terdiri dari Fragmentasi Internal dan Fragmentasi Eksternal.

  1. Tahapan running program ada 3 yaitu Tahapan Kompilasi, Tahapan Link & Load, dan Tahapan Eksekusi.

  1. Pengertian Mutual Exclusion adalah persoalan untuk menjamin hanya satu proses saja yang berjalan dalam suatu critical region / section.

  1. File system yang dikenali oleh Virtual File System Linux terbagi menjadi 3 jenis, yaitu Disk Based Filesystem, Network filesystem, Special Filesystem.

  1. Pada proses – proses konkuren yang berinteraksi mempunyai beberapa masalah yang harus diselesaikan yaitu Mutual Exclusion, Sinkronisasi, Deadlock, Startvation.

  1. Pada system dengan banyak proses (konkuren), terdapat 2 kategori interaksi, yaitu Proses – proses Saling Tidak Peduli (Independen) dan Proses – proses Saling Mempedulikan Secara Tidak Langsung.

  1. Pada dasarnya penyelesaian masalah konkurensi terbagi menjadi 2 yaitu Mengasumsikan adanya memori yang digunakan bersama dan Tidak mengasumsikan adanya memori yang digunakan bersama.

  1. Tujuan utama buffering adalah mendapatkan penyesuaian data sehubungan perbedaan laju transfer data dari perangkat peripheral dengan kecepatan pengolahan pada CPU.

Minggu, 31 Oktober 2010

Keamanan Data

Meskipun sering menyatakan bahwa ancaman keamanan data terbesar bagi suatu organisasi adalah bahwa dari kutu buku, stereotip jenis hacker komputer jahat untuk memecah jaringan yang aman untuk meng-upload virus jahat atau melakukan kejahatan abad ini, ini benar-benar tidak terjadi sama sekali. Ancaman terbesar dan kekhawatiran untuk sebuah organisasi keamanan data, dalam sebagian besar keadaan, berasal dari berbagai sumber-sumber internal. 

Sebagai batas-batas operasional organisasi terus tumbuh dengan peningkatan tingkat adopsi mobile, handheld dan teknologi nirkabel, ancaman keamanan data dari sumber-sumber internal juga meningkat sebagai perangkat ini bergerak masuk dan keluar pintu tanpa mekanisme yang tepat untuk monitoring dan kontrol. Sumber-sumber internal ini dapat mencakup karyawan, mitra, dealer dan Cadbury's assortment dari pengguna lain yang mungkin telah diotorisasi atau tidak sah, baik akses ke sebuah jaringan organisasi dan penyimpanan data. 

Kegagalan untuk mengakui, alamat dan mengelola ancaman-ancaman ini tidak hanya data risiko dan informasi itu sendiri - aset yang paling berharga suatu organisasi memiliki, tapi juga meninggalkan perusahaan terbuka lebar terhadap kemungkinan litigasi, publisitas buruk, mengurangi produktivitas, kerugian finansial dan kerusakan merek, reputasi dan niat baik yang tidak dapat dengan mudah pulih dari. 

Artikel ini membahas sepuluh daerah potensial untuk pelanggaran keamanan data internal yang harus diberi prioritas dan berpikir. 

1. Portable Storage Device 

Perangkat portable seperti solid state media dan eksternal hard disk, digunakan baik oleh seorang karyawan atau pengunjung dengan akses ke workstation atau server dapat dengan mudah dihubungkan melalui USB, Firewire atau eSATA port. Dalam kebanyakan kasus, perangkat ini tidak didokumentasikan atau terdaftar sebagai bagian dari infrastruktur internal dan karena itu tidak didukung dan tidak aman. Akibatnya ada risiko yang tidak diinginkan meng-upload data ke jaringan internal yang tidak dilindungi dan workstation. Selain ini ada juga risiko ekstraksi, transportasi dan penyebarluasan data sensitif di luar organisasi. 

2. Perangkat Digunakan Off-Site 

Laptop, PDA dan telepon selular mengakses jaringan internal langsung atau melalui koneksi remote. Jika ini koneksi dan didukung dikonfigurasi dengan benar, mereka dapat menjadi sangat aman. Namun, mayoritas pengguna perangkat jenis ini tidak selalu sadar dan jarang keamanan menggunakan kontrol akses yang tersedia dengan perangkat untuk akses yang lebih mudah atau lebih cepat. Jadi sementara perangkat dalam milik pengguna yang benar ada risiko minimal, namun jika perangkat itu jatuh di tangan yang salah akses yang sama yang diberikan kepada pengguna yang dimaksud sekarang tersedia bagi pengguna yang tidak sah. 

3. Tidak memadai atau Out-of-Date Anti-Virus/Security Software 

Mayoritas anti-virus vendor menawarkan update virus dan software patch untuk pengguna mereka melalui Internet setiap hari. Jika hal ini tidak selalu up to date, maka data dapat dikompromikan tidak sadar oleh virus atau bentuk lain dari malware baik dari internet, email atau media luar. 

4. Patch perangkat lunak dan Pembaharuan 

Download patch dan pembaruan perangkat lunak lain yang perlu dicobagunakan tes dalam lingkungan yang terisolasi sebelum penyebaran internal. Ini dapat menjadi ancaman dalam dua cara yang berbeda, yang pertama akan ketidakstabilan atau di kompatibilitas dengan sistem yang sekarang, ini dapat menyebabkan korupsi tidak dapat diaksesnya atau pra-data yang ada dan sistem. Kedua adalah penggunaan saluran ini berbahaya pengguna untuk mendistribusikan virus dan malware lain melalui apa yang diyakini sebagai sumber terpercaya. 

5. Konektivitas Nirkabel 

Kini ada kecenderungan peningkatan ketersediaan hot spot nirkabel di tempat umum seperti hotel, bandara, supermarket, restoran cepat saji dan rumah-rumah kopi. Hal ini memungkinkan bagi pengguna untuk memiliki akses terbuka ke Internet melalui terbuka atau koneksi nirkabel yang tidak terkontrol. Jika tidak dikelola dengan benar, sama dengan kemudahan akses yang diberikan kepada pengguna untuk dunia luar melalui laptop atau PDA mereka, dapat dieksploitasi oleh jahat di luar pengguna. 

6. Email Lampiran 

Kebanyakan pengguna akan menerima email membunuh yang tidak terkait dengan pekerjaan, banyak di antaranya telah lampiran dan dari luar organisasi. Sementara sebagian besar tidak berbahaya, ada sejumlah besar yang dikirim dari pengguna dengan maksud jahat. Ketika lampiran di-download atau diakses, file yang dapat dieksekusi dapat kompromi apa pun untuk satu workstation ke seluruh jaringan. Hal ini bisa dalam bentuk destruktif yang luar virus atau spy ware lebih diskret. Kebijakan internal harus dengan jelas menguraikan parameter penggunaan yang dapat diterima serta pelaksanaan filter dan anti-virus scanning. 

7. Peer-to-Peer File Sharing 

Peer-to-peer file sharing, melibatkan membuka port komunikasi untuk memudahkan download dan upload aliran untuk satu workstation. Port terbuka ini kerentanan yang tidak dijamin atau diawasi oleh personil TI. Ini pada gilirannya dapat membuka pintu ke luar yang tidak sah pengguna untuk mendapatkan akses ke jaringan internal atau leach bandwidth. 

8. Karyawan yang tidak puas 

Apakah karena dengki, balas dendam atau dengan maksud untuk mencuri untuk keuntungan diri, risiko bagi keamanan informasi organisasi Anda dapat aset yang sangat perhatian ketika murka karyawan yang tidak puas atau satu dengan agenda atau maksud kriminal ini dibebaskan. Tidak puas atau keluar karyawan memiliki akses ke sistem internal dan tergantung dari tingkat akses mereka dan hak istimewa, pengguna memiliki akses yang tidak terbatas dalam waktu yang tepat dapat menjadi ancaman yang sangat besar untuk setiap organisasi. Ini bisa dalam bentuk kebocoran atau pencurian data rahasia, korupsi atau penghapusan data, atau meng-upload malware jaringan internal. 

9. System Administrator & IT Personnel 

Orang-orang yang bertanggung jawab untuk melaksanakan dan menjaga keamanan data dan kebijakan juga risiko utama. Administrator sistem dan personil TI mampu menciptakan ancaman keamanan secara tidak sengaja karena kurangnya pengetahuan atau kurangnya pengalaman. Di sisi lain, pengetahuan mereka tentang sistem memungkinkan mereka untuk menciptakan ancaman keamanan yang berbahaya atau aktivitas yang tidak sah. 

10. Pesan Instan 

Aplikasi pesan instan cenderung untuk oleh-lulus inspeksi konten keamanan perusahaan penyaring atau perlindungan bagi informasi sensitif. Juga tidak ada catatan tentang isi dari sesi pesan cepat. Hal ini dapat mengakibatkan sejumlah risiko terlibat dengan jahat pengungkapan informasi sensitif, rekayasa sosial dan menguntit.

Konkurensi

Konkurensi adalah proses-proses (lebih dari satu proses) yang terjadi pada saat bersamaan. Konkurensi merupakan landasan umum perancangan sistem operasi. Proses-proses disebut konkuren jika proses-proses berada pada saat yang sama. Pada proses-proses konkuren yang berinteraksi mempunyai beberapa masalah yang harus diselesaikan:

1.    Mutual Exclusion
2.    Sinkronisasi
3.    Deadlock
4.    Startvation

A.    Prinsip-prinsip Konkurensi
Konkurensi meliputi hal-hal sbb:
•    Alokasi waktu pemroses untuk proses-proses
•    Pemakaian bersama dan persaingan untuk mendapatkan   
      sumber daya
•    Komunikasi antarproses
•    Sinkronisasi aktivitas banyak proses.

Konkurensi dapat muncul pada konteks berbeda, antara lain:
1.    Banyak aplikasi (multiple application).
Multiprogramming memungkinkan banyak proses sekaligus dijalankan. Proses-proses dapat berasal dari aplikasi-aplikasi berbeda. Pada sistem multiprogramming bisa terdapat banyak aplikasi sekaligus yang dijalankan di sistem komputer.
2.    Aplikasi terstruktur.
Perluasan prinsip perancangan modular dan pemrograman terstruktur adalah suatu aplikasi dapat secara efektif diimplementasikan sebagai sekumpulan proses. Dengan sekumpulan proses, maka tiap proses menyediakan satu layanan spesifik tertentu.
3.    Struktur sistem operasi.
Keunggulan strukturisasi dapat juga diterapkan ke pemrograman sistem. Beberapa sistem operasi aktual yang dipasarkan dan yang sedang dalam riset telah diimplementasikan sebagai sekumpulan proses. Sistem operasi bermodelkan client/server menggunakan pendekatan ini.
4.    Untuk Strukturisasi Satu Proses.
Saat ini untuk peningkatan kinerja maka satu proses dapat memiliki banyak thread yang independen. Thread-thread tersebut harus dapat bekerjasama untuk mencapai tujuan proses.

B.    Interaksi Antar Proses. 
Pada sistem dengan banyak proses (kongkuren), terdapat 2 katagori interaksi, yaitu:
1.    Proses-proses Saling Tidak Peduli (Independen).
Proses-proses ini tidak dimaksudkan untuk bekerja untukmencapai tujuan tertentu. Pada multiprogramming dengan proses-proses independen, dapat berupa batch atau sesi interaktif, atau campuran keduanya.
2.    Proses-proses Saling Mempedulikan Secara Tidak Langsung.
Proses-proses tidak perlu saling mempedulikan identitas proses-proses lain, tapi sama-sama mengakses objek tertentu, seperti buffer masukan/keluaran. Proses-proses itu perlu bekerja sama (cooperation) dalam memakai bersama objek tertentu.

C.    Kesulitan-kesulitan yang ditimbulkan konkurensi
Masalah yang dihadapi proses-proses kongkurensi pada multiprogramming dan multiprocessing serupa, yaitu: kecepatan eksekusi proses-proses di sistem tidak dapat diprediksi. Beberapa kemungkinan yang terjadi tidak dapat diprediksi seperti:
1.    Kecepatan proses pada sistem tergantung pada beberapa hal, antara lain:
a)    Aktivitas proses-proses lain
b)    Cara sistem operasi menangani interupsi
c)    Kebijaksanaan penjadwalan yang dilakukan oleh sistem
       operasi.
2.    Beberapa kesulitan yang dapat muncul, di antaranya adalah:
a)    Pemakaian bersama sumber daya global.
Jika dua proses menggunakan variabel global yang sama, serta keduanya membaca dan menulis variabel itu maka urutan terjadinya pembacaan dan penulisan terhadap variabel itu menjadi kritis.
b)    Pengelolaan alokasi sumber daya agar optimal
Jika proses A meminta suatu kanal masukan/keluaran tertentu dan dapat terjadi kemudian proses A di suspend sebelum menggunakan kanal itu. Jika sistem operasi mengunci kanal tersebut dan orang lain tidak dapat menggunakannya, maka akan terjadi inefisiensi.
c)    Pencarian kesalahan pemrograman.
Pencarian kesalahan pada pemrograman kongkuren lebih sulit dibanding pencarian kesalahan pada program-program sekuen.
3.    Proses-proses konkuren mengharuskan beberapa hal yang harus ditangani, antara lain:
a)    Sistem operasi harus mengetahui proses-proses yang aktif
b)    Sistem operasi harus mengalokasikan dan mendealokasikan beragam sumber daya untuk tiap proses aktif. Sumber daya yang harus dikelola, antara lain:
(1)    Waktu pemroses.
(2)    Memori
(3)    Berkas-berkas
(4)    Perangkat I/O
c)    Sistem operasi harus memproteksi data dan sumber daya
       fisik masing-masing proses dari gangguan proses-proses    
       lain.
d)    Hasil-hasil proses harus independen terhadap kecepatan
        relatif proses-proses lain dimana eksekusi dilakukan.

D.    Pokok Penyelesaian Masalah Kongkurensi
Pada dasarnya penyelesaian masalah kongkurensi terbagi menjadi 2, yaitu:
1. Mengasumsikan adanya memori yang digunakan bersama
2. Tidak mengasumsikan adanya memori yang digunakan bersama.
Adanya memori bersama lebih memudahkan penyelesaian masalah kongkurensi. Metode memori bersama dapat dipakai untuk singleprocessor ataupun multiprocessor yang mempunyai memori bersama. Penyelesaian ini tidak dapat digunakan untuk multiprocessor tanpa memori bersama atau untuk sistem tersebar.


Jumat, 29 Oktober 2010

Mutual Exclusion

MUTUAL EXCLUSION


Penjelasan tema Mutual Exclusion
Pada system computer terdapat sumber daya yang tidak dapat dipakai bersama pada saat yang bersamaan seperti pada penggunaan printer, Sumber daya seperti hanya dapat menjalankan satu proses pada suatu saat, sumber daya ini disebut sumber daya kritis. Program yang menggunakan sumber daya kritis disebut sedang memasuki critical region / section .
Sistem operasi memberikan fasilitas untuk pemrogram dapat memberikan indikasi keberadaan critical region. Sistem operasi menyediakan layanan ( berupa system call ) untuk mencagah suatu proses masuk kedalam critical region akan tetapi di dalam critical region terdapat proses lain yang sedang berjalan. Mutual exclusion merupakan solusi bagi masalah pada critical region / section, mutual exclusion adalah persoalan untu menjamin hanya satu proses saja yang berjalan dalam suatu critical region / section.

Ilustrasi aplikasi tabungan


Seluruh sistem yang melibatkan banyak proses mengakses satu sumber daya bersama selalu menimbulkan persoalan mutual-exclusion.
Contohnya adalah sebagai berikut.
· Pada aplikasi tabungan, misalnya rekening A berisi Rp 1.000.000,- yang terdaftar di kantor cabang bandung.
· Kemudian pada suatu saat program aplikasi kantor cabang di Jakarta melayani penyetoran Rp 3.000.000,- ke rekening A. lalu program aplikasi membaca saldo akhir rekening A

Persoalan di atas dapat tidak terjamin mutual-exclusion jika:
1. Program aplikasi bandung menulis ke rekening A secara cepat sehingga di hasilkan saldo Rp 6.000.000. Setelah itu, program aplikasi kantor cabang Jakarta menimpa hasil itu dengan saldo Rp 4.000.000,- . Dalam kasus ini saldo akhir yang diperoleh adalah Rp 4.000.000,- bukan Rp 10.000.000,- (yang seharusnya).
2. Program aplikasi Jakarta dilakukan menulis ke rekening A secara cepat sehingga dihasilkan saldo Rp 4.000.000,-. Setelah itu program aplikasi di kantor bandung menimpa hasil itu dengan saldo Rp 6.000.000,-. Hasil yang lebih baik dibanding skenario pertama tetapi masih di bawah yang seharusnya yaitu Rp 10.000.000,-.

Kriteria Penyelesaian Mutual-Exclusion


Kemampuan menjamin mutual-exclusion harus memenuhi kriteria-kriteria berikut:
1. Mutual-exclusion harus dijamin.
2. Hanya satu proses pada satu saat yang diizinkan masuk critical section yang sama pada saat telah ada proses yang masuk critical section itu.
3. Proses yang berada di noncritical section, dilarang mem-block proses-proses lain yang ingin masuk critical section.
4. Harus dijamin proses yang ingin masuk critical section tidak menunggu selama waktu yang tak berhingga atau tidak boleh terjadi deadlock maupun startvation.
5. Ketika tidak ada proses di critical section, maka proses yang ingin masuk critical section harus diizinkan segera masuk tanpa ada waktu tunda.
6. Tidak ada asumsi mengenai kecepatan relatif proses atau jumlah proses yang ada. kriteria pada nomor satu merupakan kriteria pokok yang harus dipenuhi. Metode yang melanggar kriteria nomor satu sama sekali tidak dapat di gunakan. Pelanggaran kriteria-kriteria lain berarti metode masih bisa digunakan pada situasi-situasi tertentu tapi harus dilakukan secara hati-hati.

Rabu, 20 Oktober 2010

Manajemen I/O

Manajemen Unit Masukan dan Keluaran

Sistem Komputer

Tiga komponen utama :
- CPU,
- Memori (primer dan sekunder)
- Peralatan masukan/keluaran (I/O devices) seperti printer, monitor,    
  keyboard, mouse, dan modem
Modul I/O
vMerupakan peralatan antarmuka (interface) bagi sistem bus atau switch
   sentral dan mengontrol satu atau lebih perangkat peripheral.
vTidak hanya sekedar modul penghubung, tetapi sebuah piranti yang berisi logika
  dalam melakukan fungsi komunikasi antara peripheral dan bus computer 
   Piranti tidak tidak langsung dihubungkan dengan bus sistem komputer , Mengapa ?
vBervariasinya metode operasi piranti peripheral, sehingga tidak praktis apabila sistem komputer
    harus menangani berbagai macam sisem operasi piranti peripheral tersebut.
vKecepatan transfer data piranti peripheral umumnya lebih lambat dari pada laju transfer
   data pada CPU maupun memori.
vFormat data dan panjang data pada piranti peripheral seringkali berbeda dengan CPU,
   sehingga perlu modul untuk menselaraskannya.

Dua fungsi utama :
vSebagai piranti antarmuka ke CPU dan memori melalui bus sistem.
vSebagai piranti antarmuka dengan peralatan peripheral lainnya
  dengan menggunakan link data tertentu Sistem Masukan & Keluaran Komputer.
vBagaimana modul I/O dapat menjalankan tugasnya ?
vInti mempelajari sistem I/O suatu komputer ?
  Menjembatani CPU dan memori dengan vdunia luar merupakan hal yang terpenting
  untuk kita ketahui.
vMengetahui fungsi dan struktur modul I/O.
Model generik dari suatu modul I/O
 Modul I/O adalah suatu komponen dalam vsistem komputer.
 §Bertanggung jawab atas pengontrolan sebuah perangkat
    luar atau lebih.
§ Bertanggung jawab pula dalam pertukaran data antara perangkat luar tersebut
   dengan memori utama ataupun dengan register –register CPU.
   Antarmuka internal dengan komputer v(CPU dan memori utama)
   Antarmuka dengan perangkat veksternalnya untuk menjalankan fungsi – fungsi
   pengontrolan.

Fungsi Modul I/O
vKontrol dan pewaktuan.
vKomunikasi CPU.
vKomunikasi perangkat eksternal.
vPem-buffer-an data.
vDeteksi kesalahan
Kontrol dan Pewaktuan
v Fungsi kontrol dan pewaktuan (control & timing) merupakan hal yang penting untuk
   mensinkronkan kerja masing – masing komponen penyusun komputer.
v Dalam sekali waktu CPU berkomunikasi dengan satu atau lebih
  perangkat dengan pola tidak menentu dan kecepatan transfer
  komunikasi data yang beragam, baik dengan
  perangkat internal seperti register – register, memori utama, memori sekunder,
  perangkat peripheral.
v Proses tersebut bisa berjalan apabila ada fungsi kontrol dan
   pewaktuan yang mengatur sistem secara keseluruhan.
v Transfer data tidak akan lepas dari penggunaan sistem bus,
  maka interaksi CPU dan modul I/O akan melibatkan kontrol dan
   pewaktuan sebuah arbitrasi bus atau lebih.

Langkah-langkah pemindahan data dari peripheral ke CPU melalui sebuah modul I/O
vPermintaan dan pemeriksaan status perangkat dari CPU ke modul I/O.
vModul I/O memberi jawaban atas permintaan CPU.
vApabila perangkat eksternal telah siap untuk transfer data,
  maka CPU akan mengirimkan perintah ke modul I/O.
vModul I/O akan menerima paket data dengan panjang tertentu dari peripheral.
vSelanjutnya data dikirim ke CPU setelah diadakan
  sinkronisasi panjang data dan kecepatan transfer oleh modul I/O
  sehingga paket – paket data dapat diterima CPU dengan baik.

Buffering
vTujuan utama adalah mendapatkan penyesuaian data sehubungan perbedaan
   laju transfer data dari perangkat peripheral dengan kecepatan pengolahan
   pada CPU.
vLaju transfer data dari perangkat peripheral lebih lambat dari kecepatan
  CPU maupun media penyimpan.
Deteksi Kesalahan
vBila perangkat peripheral terdapat masalah sehingga proses tidak dapat
   dijalankan, maka modul I/O akan melaporkan kesalahan tersebut.
§ Misal informasi kesalahan pada peripheral printer seperti:
   kertas tergulung, pinta habis, kertas habis.
vTeknik yang umum untuk deteksi kesalahan adalah penggunaan bit paritas.

Struktur Modul I/O
vBerbagai macam modul I/O seiring perkembangan komputer.
§ Intel 8255A yang sering disebut PPI (Programmable Peripheral Interface).
vBagaimanapun kompleksitas suatu modul I/O, terdapat kemiripan struktur.
    Antarmuka modul I/O ke CPU melalui bus vsistem komputer terdapat tiga saluran
§ Saluran data
§ Saluran alamat
§ Saluran kontrol.
   Bagian terpenting adalah blok logika I/O vyang berhubungan dengan semua
   peralatan antarmuka peripheral, terdapat fungsi pengaturan dan switching pada
   blok ini.
I/O Terpogram
vData saling dipertukarkan antara CPU dan modul I/O.
vCPU mengeksekusi program yang memberikan operasi I/O kepada CPU
   secara langsung.
§ Pemindahan data
§ Pengiriman perintah baca maupun tulis
§ Monitoring perangkat Implementasi perintah dalam instruksi I/O.
v Memory-mapped I/O
v Isolated I/O
Klasifikasi Perintah I/O
1. Perintah control.
    Perintah ini digunkan untuk mengaktivasi perangkat peripheral dan
    memberitahukan tugas yang diperintahkan padanya.
2. Perintah test.
    Perintah ini digunakan CPU untuk menguji berbagai kondisi status   
    modul I/O dan peripheralnya. CPU perlu mengetahui perangkat   
    peripheralnya dalam keadaan aktif dan siap digunakan, juga untuk    
    mengetahui operasi operasi I/O yang dijalankan serta mendeteksi  
    kesalahannya.
3. Perintah read.
    Perintah pada modul I/O untuk mengambil suatu paket data kemudian
    Menaruh dalam buffer internal. Proses selanjutnya paket data dikirim    
    melalui bus data setelah terjadi sinkronisasi data maupun kecepatan    
    transfernya.
4. Perintah write.
    Perintah ini kebalikan dari read. CPU memerintahkan modul I/O
    untuk mengambil data dari bus data untuk diberikan pada perangkat
    peripheral tujuan data tersebut.
Memory-mapped I/O
vTerdapat ruang tunggal untuk lokasi memori dan perangkat I/O.
vCPU memperlakukan register status dan register data modul I/O sebagai
   Lokasi memori dan menggunakan instruksi mesin yang sama untuk 
   mengakses baik memori maupun perangkat I/O.
vKonskuensinya adalah diperlukan saluran tunggal untuk pembacaan dan   
   Saluran tunggal untuk penulisan.
vKeuntungan memory-mapped I/O adalahefisien dalam pemrograman,   
   Namun memakan banyak ruang memori alamat.
Isolated I/O
vDilakukan pemisahan ruang pengalamatan bagi memori dan ruang
   pengalamatan bagi I/O.
vDengan teknik ini diperlukan bus yang dilengkapi dengan saluran    
   pembacaan dan penulisan memori ditambah saluran perintah output.
vKeuntungan isolated I/O adalah sedikitnya instruksi I/O.

Interrupt – Driven I/O
 vProses tidak membuang – buang waktu
§ CPU mengeluarkan perintah I/O pada modul I/O, bersamaan perintah
    I/O dijalankan modul I/O maka CPU akan melakukan eksekusi
    perintah – perintah lainnya.
§ Apabila modul I/O telah selesai menjalankan instruksi yang diberikan
    padanya akan melakukan interupsi pada CPU bahwa tugasnya telah    
    selesai.
 v Kendali perintah masih menjadi tanggung jawab CPU, baik pengambilan
    Perintah dari memori maupun pelaksanaan isi perintah tersebut.
 v Terdapat selangkah kemajuan dari teknik sebelumnya
§ CPU melakukan multitasking beberapa perintah sekaligus
§ Tidak ada waktu tunggu bagi CPU = Proses Cepat
    Cara kerja teknik interupsi di sisi modul vI/O
§ Modul I/O menerima perintah, misal read.
§ Modul I/O melaksanakan perintah pembacaan dari peripheral dan 
    meletakkan paket data ke register data modul I/O
§ Modul mengeluarkan sinyal interupsi ke CPU melalui saluran kontrol.
§ Modul menunggu datanya diminta CPU Saat permintaan terjadi
§ Modul meletakkan data pada bus data
§ Modul siap menerima perintah selanjutnya
Interrupt
v Pengolahan interupsi saat perangkat I/O telah menyelesaikan sebuah operasi    
    .I/O 
§ Perangkat I/O akan mengirimkan sinyal interupsi ke CPU.
§ CPU menyelesaikan operasi yang sedang dijalankannya kemudian merespon
    interupsi.
§ CPU memeriksa interupsi tersebut, kalau valid maka CPU akan mengirimkan
    sinyal acknowledgment ke perangkat I/O untuk menghentikan interupsinya.
§ CPU mempersiapkan pengontrolan transfer ke routine interupsi. Hal yang
    dilakukan adalah menyimpan informasi yang diperlukan untuk melanjutkan
    operasi yang tadi dijalankan sebelum adanya interupsi. Informasi yang
    diperlukan berupa:
• Status prosesor, berisi register yang dipanggil PSW (program status word).
• Lokasi intruksi berikutnya yang akan dieksekusi. Informasi tersebut kemudian 
  disimpan dalam stack pengontrol sistem.
    Teknik yang digunakan CPU dalam vmenangani program interupsi
§ Multiple Interrupt Lines.
§ Software poll.
§ Daisy Chain.
§ Arbitrasi bus
    Pengolahan interupsi saat perangkat I/O vtelah menyelesaikan sebuah      
    operasi I/O 
§ CPU akan menyimpan PC (program counter) eksekusi sebelum 
    interupsi ke stack pengontrol bersama informasi PSW.
§ Mempersiapkan PC untuk penanganan interupsi.
§ CPU memproses interupsi sampai selesai
§ Bila pengolahan interupsi selasai, CPU akan memanggil 
  kembali informasi yang telah disimpan pada stack 
  pengontrol untuk meneruskan operasi sebelum interupsi .

Multiple Interrupt Lines
v Teknik yang paling sederhana.
v Menggunakan saluran interupsi berjumlah banyak.
v Tidak praktis untuk menggunakan sejumlah saluran bus atau pin CPU    
    keseluruh saluran interupsi modul – modul I/O.
Software poll
 v CPU mengetahui adanya sebuah interupsi, maka CPU akan menuju ke routine   
    Layanan interupsi yang tugasnya melakukan poll seluruh modul I/O untuk   
    Menentukan modul yang melakukan interupsi.
 v Kerugian software poll.
§ memerlukan waktu yang lama karena harus mengidentifikasi seluruh modul
    Untuk mengetahui modul I/O yang melakukan interupsi.

Daisy chain
v Teknik yang lebih efisien
v Menggunakan hardware poll
v Seluruh modul I/O tersambung dalam saluran interupsi CPU secara   
    melingkar (chain).
v Apabila ada permintaan interupsi, maka CPU akan menjalankan sinyal
   acknowledge yang berjalan pada saluran interupsi sampai menjumpai   
   modul I/O yang mengirimkan interupsi.

Arbitrasi bus
v Modul I/O memperoleh kontrol bus sebelum modul ini menggunakan   
    saluran permintaan interupsi.
v Hanya akan terdapat sebuah modul I/O yang dapat melakukan   
    interupsi.

Pengontrol Interrupt Intel 8259A
v Intel mengeluarkan chips 8259A
v Sebagai interrupt arbiter pada mikroprosesor Intel 8086
v Manajemen interupsi modul - modul I/O
v Chips ini dapat diprogram untuk menentukan prioritas modul I/O yang
   lebih dulu ditangani CPU apabila ada permintaan interupsi yang
bersamaan.
vMode – mode interupsi.
Mode pada Interrupt Intel 8259A
Fully Nested.
§ Permintaan interupsi dengan prioritas mulai 0 (IR0) hingga 7(IR7).
Rotating.
§ Bila sebuah modul telah dilayani interupsinya akan menempati prioritas terendah.
Special Mask.
§ Prioritas diprogram untuk modul I/O tertentu secara spesial.

Kesimpulan
v Modul I/O merupakan peralatan antarmuka (interface) bagi sistem bus
    atau switch sentral dan mengontrol satu atau lebih perangkat peripheral.
Modul I/O adalah suatu komponen dalam sistem komputer yang 
    bertanggung jawab atas   pengontrolan sebuah perangkat luar atau 
    lebih dan bertanggung jawab pula dalam pertukaran data 
    antara perangkat luar tersebut dengan memori utama ataupun 
    dengan register –register CPU.