Archive for Mei 2016


Pokok masalah keamanan sistem salah satunya disebabkan karena sistem time sharing dan akses jarak jauh, apalagi dengan meningkatnya perkembangan jaringan komputer.

Keamanan sistem komputer adalah untuk menjamin sumber daya sistem tidak digunakan / dimodifikasi,   diinterupsi dan diganggu oleh orang yang tidak diotorisasi. Pengamanan termasuk  masalah teknis, manajerial, legalitas dan politis.

3 macam keamanan sistem, yaitu :
1.     Keamanan eksternal / external security
Berkaitan dengan pengamanan fasilitas komputer dari penyusup dan bencana seperti kebakaran / kebanjiran.
2.     Keamanan interface pemakai / user interface security
Berkaitan dengan indentifikasi pemakai sebelum pemakai diijinkan mengakses program dan data yang disimpan
3.     Keamanan internal / internal security
Berkaitan dengan pengamanan beragam kendali yang dibangun pada perangkat keras dan sistem operasi yang menjamin operasi yang handal dan tak terkorupsi untuk menjaga integritas program dan data.

2 masalah penting keamanan, yaitu :
1.     Kehilangan data / data loss
Yang disebabkan karena :
·         Bencana, contohnya kebakaran, banjir, gempa bumi, perang, kerusuhan, tikus, dll.
·         Kesalahan perangkat keras dan perangkat lunak, contohnya ketidak berfungsinya pemroses, disk / tape yang tidak terbaca, kesalahan komunikasi, kesalahan program / bugs.
·         Kesalahan / kelalaian manusia, contohnya kesalahan pemasukkan data, memasang tape / disk yang salah, kehilangan disk / tape.
2.     Penyusup / intruder
·         Penyusup pasif, yaitu yang membaca data yang tidak terotorisasi
·         Penyusup aktif, yaitu mengubah data yang tidak terotorisasi.
Contohnya penyadapan oleh orang dalam, usaha hacker dalam mencari uang, spionase militer / bisnis, lirikan pada saat pengetikan password.

Sasaran keamanan adalah menghindari, mencegah dan mengatasi ancaman terhadap sistem.

3 aspek kebutuhan keamanan sistem komputer, yaitu :
1.     Kerahasiaan / secrecy, diantaranya privasi
Keterjaminan bahwa informasi di sistem komputer hanya dapat diakses oleh pihak-pihak yang terotorisasi dan modifikasi tetap menjaga konsistensi dan keutuhan data di sistem
2.     Integritas / integrity
Keterjaminan bahwa sumber daya sistem komputer hanya dapat dimodifikasi oleh pihak-pihak yang terotorisasi
3.     Ketersediaan / availability
Keterjaminan bahwa sumber daya sistem komputer tersedia bagi pihak-pihak yang diotorisasi saat diperlukan



Tipe ancaman terhadap keamanan sistem komputer dapat dimodelkan dengan memandang fungsi sistem komputeer sebagai penyedia informasi.

Berdasarkan fungsi ini, ancaman terhadap sistem komputeer dikategorikan menjadi 4 ancaman, yaitu :
1.     Interupsi / interuption
Sumber daya sistem komputer dihancurkan / menjadi tak tersedia  / tak berguna. Merupakan ancaman terhadap ketersediaan. Contohnya penghancuran harddisk, pemotongan kabel komunikasi.


 
2.     Intersepsi / interception
Pihak tak diotorisasi dapat mengakses sumber daya. Merupakan ancaman terhadap kerahasiaan. Pihak tak diotorissasi dapat berupa orang / program komputeer. Contohnya penyadapan, mengcopy file tanpa diotorisasi.



3.     Modifikasi / modification
Pihak tak diotorisasi tidak hanya mengakses tapi juga merusak sumber daya. Merupakan ancaman terhadap integritas. Contohnya mengubah nilai file, mengubah program, memodifikasi pesan


4.     Fabrikasi / fabrication
Pihak tak diotorisasi menyisipkan / memasukkan objek-objek palsu ke sistem. Merupakan ancaman terhadap integritas. Contohnya memasukkan pesan palsu ke jaringan, menambah record file.


 
Petunjuk prinsip-prinsip pengamanan sistem komputer, yaitu :
1.     Rancangan sistem seharusnya publik
Tidak tergantung pada kerahasiaan rancangan mekanisme pengamanan. Membuat proteksi yang bagus dengan mengasumsikan penyusup mengetahui cara kerja sistem pengamanan.
2.     Dapat diterima
Mekanisme harus mudah diterima, sehingga dapat digunakan secara benar dan mekanisme proteksi tidak mengganggu kerja pemakai dan pemenuhan kebutuhan otorisasi pengaksesan.
3.     Pemeriksaan otoritas saat itu
Banyak sisten memeriksa ijin ketika file dibuka dan setelah itu (opersi lainnya) tidak diperiksa.
4.     Kewenangan serendah mungkin
Program / pemakai sistem harusnya beroperasi dengan kumpulan wewenang serendah mungkin yang diperlukan untuk menyelesaikan tugasnya.
5.     Mekanisme yang ekonomis
Mekanisme proteksi seharusnya sekecil dan sesederhana mungkin dan seragam sehingga mudah untuk verifikasi.

Otentifikasi pemakai / user authentification adalah identifikasi pemakai ketika login.

3 cara otentifikasi :
1.     Sesuatu yang diketahui pemakai, misalnya password, kombinasi kunci, nama kecil ibu mertua, dll
Untuk password, pemakai memilih suatu kata kode, mengingatnya dan menggetikkannya saat akan mengakses sistem komputer, saat diketikkan tidak akan terlihat dilaya kecuali misalnya tanda *. Tetapi banyak kelemahan dan mudah ditembus karena pemakai cenderung memilih password yang mudah diingat, misalnya nama kecil, nama panggilan, tanggal lahir, dll.
Upaya pengamanan proteksi password :
a.     Salting, menambahkan string pendek ke string password yang diberikan pemakai sehingga mencapai panjang password tertentu
b.    one time password, pemakai harus mengganti password secara teratur, misalnya pemakai mendapat 1 buku daftar password. Setiap kali login pemakai menggunakan password berikutnya yang terdapat pada daftar password.
c.     satu daftar panjang pertanyan dan jawaban, sehingga pada saat login, komputer memilih salah satu dari pertanyaan secara acak, menanyakan ke pemakai dan memeriksa jawaban yang diberikan.
d.    tantangan tanggapan / chalenge respone, pemakai diberikan kebebasan memilih suatu algoritma misalnya x3, ketika login komputer menuliskan di layar angka 3, maka pemakai harus mengetik angka 27.
2.     Sesuatu yang dimiliki pemakai, misalnya bagde, kartu identitas, kunci, barcode KTM, ATM.
Kartu pengenal dengan selarik pita magnetik. Kartu ini disisipkan de suatu perangkat pembaca kartu magnetik jika akan mengakses komputer, biasanya dikombinasikan dengan password.
3.     Sesuatu mengenai / merupakan ciri pemakai yang di sebut biometrik, misalnya sidik jari, sidik suara, foto, tanda tangan, dll
Pada tanda tangan, bukan membandingkan bentuk tanda tangannya (karena mudah ditiru) tapi gerakan / arah dan tekanan pena saat menulis (sulit ditiru).

Untuk memperkecil peluang penembusan keamanan sistem komputer harus diberikan pembatasan, misalnya :
1.     Pembatasan login, misalnya pada terminal tertentu, pada waktu dan hari tertentu
2.     Pembatasan dengan call back, yaitu login dapat dilakukan oleh siapapun, bila telah sukses, sistem memutuskan koneksi dan memanggil nomor telepon yang disepakati. Penyusup tidak dapat menghibungu lewat sembarang saluran telepon, tapi hanya pada saluran tetepon tertentu.
3.     Pembatasan jumlah usaha login, misalnya dibatasi sampai 3 kali, dan segera dikunci dan diberitahukan ke administrator.

Objek yang perlu diproteksi :
1.     Objek perangkat keras, misalnya pemroses, segment memori, terminal, diskdrive, printer, dll
2.     Objek perangkat lunak, misalnya proses, file, basis data, semaphore, dll

Masalah proteksi adalah mengenai cara mencegah proses mengakses objek yang tidak diotorisasi. Sehingga dikembangkan konsep domain. Domain adalah himpunan pasangan (objek,hak). Tiap pasangan menspesifikasikan objek dan suatu subset operasi yang dapat dilakukan terhadapnya. Hak dalam konteks ini berarti ijin melakukan suatu operasi.

Cara penyimpanan informasi anggota domain beerupa satu matrik besar, dimana :
·           baris menunjukkan domain
·           kolom menunjukkan objek

Keamanan Sistem

Posted by Pangeran1diot
Sabtu, 28 Mei 2016

Resource (Sumber Daya)
Ada 2 tipe resource, yaitu :
1.     Preemptable resource
Resoource yang dapat dibersihkan dari proses yang menggunakannya tanpa efek yang buruk.
Mudah diatasi dengan cara realokasi resource dari satu proses ke yang lainnya.
2.     Nonpreemptable resource
Resoource yang tidak dapat dibersihkan dari proses yang menggunakannya tanpa menyebabkan komputer fail.

Proses disebut deadlock, jika proses menunggu suatu kejadian tertentu yang tak akan pernah terjadi atau kondisi dimana 2 proses atau lebih tidak dapat meneruskan eksekusinya.
Sekumpulan proses berkondisi deadlock, jika setiap proses yang ada dikumpulan itu menunggu sesuatu kejadian yang hanya dapat dilakukan proses lain yang juga berada di kumpulan itu. Proses menunggu kejadian yang tak akan pernah terjadi.

Contoh :
                                        P0                                                         P1
                                    Wait(S)                                                 Wait(Q)
                                    Wait(Q)                                                 Wait(S)
                                        .                                                           .
                                        .                                                           .
                                        .                                                           .
                                    Signal(S)                                               Signal(Q)
                                    Signal(Q)                                              Signal(S)          

Pada langkah pertama, kedua proses masih berjalan dengan baik. Pada langkah kedua, proses P0 meminta Q yang ternyata masih dibawa oleh P1 dan baru akan dilepas setelah signal(Q), demikian pula P1 meminta S yang masih dibawa oleh P0 dan baru akan dilepas setelah signal(S). Sehingga kondisi ini akan menimbulkan deadlock.

Deadlock terjadi ketika proses-proses mengakses secara ekslusif sumber daya. Semua deadlock yang terjadi melibatkan persaingan memperoleh sumber daya ekslusif oleh dua proses atau lebih. Adanya deadlock akan mengakibatkan sistem menjadi kacau.

Startvation terjadi ketika proses-proses menunggu alokasi sumberdaya sampai tak terhingga, karena bisa pada kebijaksanaan / strategi alokasi sumberdaya, sementara proses-proses lain dapat memperoleh alokasi sumberdaya.

Indefinite postponement / indefinite blocking /  starvation :
Penundaan penjadwalan sebuah proses selama tak terhingga sementara sistem mengadakan alokasi sumber daya untuk proses yang lain. Penyebabnya adalah prioritas.
Cara mengatasinya dengan “aging” yaitu prioritaas naik dengan bertambahnya waktu.

Model Deadlock
Urutan kejadian pengoperasian perangkat I/O adalah :
- meminta / request        : meminta palayanan I/O
- memakai / use             : memakai perangkat I/O
- melepaskan / release   : melepaskan pamakaian perangkat I/O

Model deadlock dua proses dan dua sumber daya
Deadlock dapat digambarkan sebagai graph.
Misalnya :
-          dua proses, P0 dan P1
-          dua sumber daya kritis, R0 dan R1
-          proses P0 dan P1 harus mengakses kedua sumber daya tersebut




kondisi berikut dapat terjadi :
-          R0 diberikan ke P0 (P0 meminta sumber daya R0), ditandai busur (edge) berarah dari proses P0 ke sumber daya R0
-          sedangkan sumber daya R1 dialokasikan ke P1, ditandai dengan busur (edge) berarah dari sumber daya R1 ke proses P1.

Skenario yang menimbulkan deadlock
Dapat terjadi skenario sebagai berikut :
-          P0 dialokasikan R0
-          P1 dialokasikan R1



Kemudian,
-          P0 sambil masih menggenggam R0, meminta R1
-          P1 sambil masih menggenggam R1, meminta R0

Kejadian ini mengakibatkan deadlock karena sama-sama akan saling menunggu. Graph deadlock ini akan digambarkan sebagai graph melingkar. Terjadinya deadlock ditandai munculnya / terjadinya graph melingkar.



Karena untuk melanjutkan eksekusi memerlukan kedua sumber daya sekaligus, maka kedua proses akan saling menunggu sumber daya lain selamanya. Tak ada proses yang dapat melepaskan sumber daya yang telah dipegangnya karena menunggu sumber daya lain yang tak pernah diperolehnya. Kedua proses dalam kondisi deadlock, tidak dapat membuat kemajuan apapun.

Deadlock tidak hanya terjadi pada dua proses dan dua sumber daya, deadlock dapat terjadi dengan melibatkan lebih dari dua proses dan dua sumber daya.
Syarat-syarat terjadinya deadlock :
1.     Mutual exclution condition
Tiap sumber daya saat itu diberikan pada tepat satu proses / proses meng-klaim kontrol eksklusif terhadap sumber daya yang dibutuhkannya.
2.     Hold and wait condition / kondisi genggam dan tunggu
Proses-proses yang sedang menggenggam sumber daya yang telah dialokasikan untuknya sementara menunggu sumber daya – sumber daya tambahan yang baru.
3.     Non-preemption condition / kondisi non-preemption
Sumber daya – sumber daya yang sebelumnya diberikan tidak dapat diambil paksa dari proses sampai sumber daya tersebut digunakan sampai selesai. Sumber daya – sumber daya harus secara eksplisit dilepaskan dari proses yang menggenggamnya.
4.     Circular wait condition / kondisi menunggu secara sirkular
Harus terdapat rantai sirkuler / satu lingkaran proses dari dua proses atau lebih dimana setiap proses memegang satu atau lebih sumber daya yang diminta oleh proses berikutnya pada lingkaran tersebut, masing-masing menunggu sumber daya yang digenggam oleh anggota berikutnya pada rantai itu.

Ketiga syarat pertama merupakan syarat perlu bagi terjadinya deadlock.  Keberadaan deadlock selalu berarti terpenuhi kondisi-kondisi diatas, tidak mungkin terjadi deadlock bila tidak ada ketiga kondisi itu. Deadlock terjadi berarti terdapat ketiga kondisi itu, tetapi adanya ketiga kondisi itu belum berarti terjadi deadlock.

Deadlock baru benar-benar terjadi bila syarat keempat terpenuhi. Kondisi keempat merupakan keharusan bagi terjadinya peristiwa deadlock. Bila salah satu dari kondisi tidak terpenuhi maka deadlock tidak terjadi.


Metode-metode mengatasi deadlock :
1.     deadlock prevention / metode pencegahan terjadinya deadlock
pengkondisian sistem agar menghilangkan kemungkinan terjadinya deadlock. Pencegahan merupakan solusi yang bersih dipandang dari sudut tercegahnya deadlock. Jika mulainya satu atau lebih proses akan menyebabkan terjadinya deadlock, proses tersebut tidak akan dimulai sama sekali.
-        tiap proses harus meminta resource yang dibutuhkan sekaligus dan tidak bisa berjalan sampai semua di dapat (untuk “wait for”)
-        jika ada resourcce yang tidak terpenuhi, yang lainnya harus dilepas (untuk “no preemption”)
-        urutkan tipe-tipe resource secara linier / linier ordering (untuk “circular wait”)
2.     deadlock avoidance / metode penghindaran terjadinya deadlock
menghindarkan kondisi yang paling mungkin menimbulkan deadlock agar memperoleh sumber daya lebih baik. Penghindaran bukan berarti menghilangkan semua kemungkinan terjadinya deadlock. Jika sistem operasi mengetahui bahwa alokasi sumber daya menimbulkan resiko deadlock, sistem menolak / menghindari pengaksesan itu. Dengan demikian menghindari terjadinya deadlock. Contohnya dengan menggunakan algoritma Banker yang diciptakan oleh Dijkstra.
3.     deadlock detection and recovery / metode deteksi dan pemulihan dari deadlock
deteksi digunakan pada sistem yang mengijinkan terjadinya deadlock, dengan memeriksa apakah terjadi deadlock dan menentukan proses dan sumber daya yang terlibat deadlock secara presisi. Begitu telah dapat ditentukan, sistem dipulihkan dari deadlock dengan metode pemulihan. Metode pemulihan dari deadlock sistem sehingga beroperasi kembali, bebas dari deadlock. Proses yang terlibat deadlock mungkin dapat menyelesaikan eksekusi dan membebaskan sumber dayanya.

Pencegahan deadlock :
1.     tiap proses harus meminta semua sumber daya yang diperlukan sekaligus dan tidak berlanjut sampai semuanya diberikan.
2.     Jika proses telah sedang memegang sumber daya tertentu, untuk permintaan berikutnya proses harus melepas dulu sumber daya yang dipegangnya. Jika diperlukan, proses meminta kembali sekaligus dengan sumber daya yang baru.
3.     Beri pengurutan linier terhadap tipe-tipe sumber daya pada semua proses, yaitu jika proses telah dialokasikan suatu tipe sumber daya, proses hanya boleh berikutnya meminta sumber daya tipe pada urutan yang berikutnya.

Saran pencegahan deadlock diatas merupakan cara meniadakan salah satu dari syarat perlu. Syarat perlu pertama jelas tidak bisa ditiadakan, kalau tidak menghendaki kekacauan hasil.
Strategi Burung Onta
Strategi ini mengasumsikan kejadian deadlock jarang terjadi jika dibandingkan dengan kejadian komputer crash. Strategi ini disebut strategi burung onta karena kabar yang telah tersebar (yang sebenarnya tidak benar) bahwa burung onta akan menyembunyikan kepalanya ke tanah bila mengetahui adanya bahaya yang mengancamnya. Sehingga solusi yang dilakukan justru sebenarnya tak memperdulikan adanya masalah.
Stategi ini sebenarnya berarta adalah sama sekali tidak berusaha mengatasideadlock / tak ada metoda sama sekali untuk mengatasi masalah deadlock.

Penghindaran deadlock
Adalah hanya memberi akses ke permintaan sumber daya yang tidak mungkin menimbulkan deadlock.



Deadlock

Posted by Pangeran1diot

1.   Prinsip Perangkat Keras I/O
Batasan : bagaimana hardware tersebut di program

Manajemen perangkat I/O mempunyai beragam fungsi, diantaranya :
-   mengirimkan perintah ke perangkat I/O agar menyediakan layanan
-   menangani interupsi perangkat I/O
-   menangani kesalahan pada perangkat I/O
-   menyediakan interface ke pemakai

1.1.  I/O Device
Perangkat I/O dapat dibedakan berdasarkan :
1.   Sifat aliran data
Berdasarkan aliran data dibedakan menjadi :
a.   Perangkat berorientasi blok (block-oriented devices)
Menyimpan informasi dan menukarkan (menerima / mengirim) informasi sebagai blok-blok berukuran tetap. Tiap blok mempunyai alamat tersendiri. Ukuran blok dapat beragam antara 128 s/d 1024 byte.
Ciri utamanya adalah : dimungkinkan membaca / menulis blok-blok secara independent, yaitu dapat membaca atau menulis sembarang blok tanpa harus melewati blok-blok lain.
Contohnya : disk, tape, CD ROM, Optical disk
b.   Perangkat berorientasi karakter (character-oriented devices)
Mengirim atau menerima karakter dan tanpa peduli membentuk suatu struktur blok, not addresable dan tidak mempunyai operasi seek.
Contohnya : terminals, line printer, punch card, network interfaces, pita kertas, mouse
Klasifikasi diatas tidak mutlak, karena ada beberapa perangkat yang tidak termasuk kategori diatas, misalnya :
-        clock yang tidak teramati secara blok dan juga tidak menghasilkan / menerima aliran karakter. Clock menyebabkan interupsi pada interval-interval yang didefinisikan.
-        Memory mapped screen,
-        sensor
2.   Sasaran komunikasi
Berdasarkan sasaran komunikasi dibedakan menjadi :
a.   Perangkat yang terbaca oleh manusia (human readable device)
Perangkat yang cocok untuk komunikasi dengan manusia.
Contohnya :  VDT (Video Display Terminal) terdiri dari monitor, keyboard (+mouse)
b.   Perangkat yang terbaca oleh mesin (machine readable device)
Perangkat yang cocok untuk komunikasi dengan perangkat elektronik.
Contohnya : disk, tape, sensor, controller, aktuator
c.   Untuk komunikasi
Perangkat yang cocok untuk komunikasi dengan perangkat jarak jauh.
Contohnya : modem

1.2.  Device Controller
Unit I/O berupa :
a.   Komponen elektronik
Device controller / adapter adalah untuk mengaktifkan perangkat eksternal dan memberitahukan yang perlu dilakukan oleh perangkat / driver.
Contoh : unit tape megnetik diinstruksikan untuk kembali ke posisi awal, bergerak ke record berikutnya dan sebagainya.
 


a.   Komponen mekanik
Contohnya : head, motor stepper, printer

1.1.  Direct Memory Access (DMA)
DMA berfungsi membebaskan pemroses menunggui transfer data yang dilakukan I/O device. Saat pemroses ingin membaca atau menulis data, pemroses memerintahkan DMA Controller dengan mengirimkan informasi berikut :
-        perintah penulisan / pembacaan
-        alamat I/O device
-        awal lokasi memori yang ditulis / dibaca
-        jumlah word / byte yang ditulis / dibaca
setelah mengirimkan informasi itu ke DMA Controller, pemroses dapat melanjutkan kerja lain. Pemroses mendelegasikan operasi I/O ke DMA. DMA mentransfer seluruh data yang diminta ke / dari memori secara langsung tanpa melewati pemroses. Ketika transfer data selesai, DMA mengirimkan sinyal interupsi ke pemroses. Pemroses hanya dilibatkan pada awal dan akhir transfer data.
Operasi transfer antara perangkat dan memori utama dilakukan sepenuhnya oleh DMA, lepas dari pemroses dan hanya melakukan interupsi bila operasi telah selesai.
Keuntungan DMA :
-        peningkatan kinerja prosesor atau I/O
-        meminimasikan over head



 
Pada waktu data di tranfer dari controller ke memori, sektor berikut akan lewat dibawah head dan bits sampai ke controller. Controller sederhana tidak dapat melakukan I/O dalam waktu yang bersamaan, maka dilakukan interleaving (skip blok), memberi waktu untuk tranfer data ke memori. Interleaving ini terjadi pada disk bukan pada memori, seperti terlihat pada gambar di bawah ini.




 
2.   Prinsip Software I/O
Ide Dasar : mengorganisasikan software dalam beberapa layer dimana level bawah menyembunyikan akses / kepelikan hardware untuk level diatasnya. Level atas membuat interface yang baik ke user.

Tujuan Software I/O

a.   Konsep dalam desain software I/O
Device independence / tidak bergantung pada device yang digunakan
b.   Penamaan yang seragam / Uniform Naming
Penamaan file berkas atau perangkat adalah string atau integer dan harus sederhana, tidak bergantung pada device
Contoh :  seluruh disks dapat dibuat dengan hirarki sistem file (menggunakan NPS)
c.   Penanganan kesalahan / Error Handling
Error harus ditangani sedekat mungkin dengan hardware
Contoh : pertama controller, device driver, dst. Dan jika tidak bisa ditangani beri pesan
d.   Synchronous (blocking) vs Asynchronous (Interrupt Driver) transfer
Kebanyakan I/O adalah asinkron. Pemroses mulai transfer dan mengabaikan untuk melakukan kerja lain sampai interupsi tiba.
Program pemakai sangat lebih mudah ditulis jika operasi I/O berorientasi blok. Setelah perintah read, pemrogram kemudian ditunda secara otomatis sampai data tersedia di buffer. Terserah sistem operasi untuk menangani operasi yang sesungguhnya interrupt driver.
e.   Sharable vs Dedicated Device
Beberapa perangkat dapat dipakai bersama seperti disk, tapi ada juga perangkat yang hanya satu pemakai yang dibolehkan memakai pada satu saat.
Misal : disk untuk sharable dan printer untuk dedicated

Tujuan  diatas dapat dicapai dengan memisahkan software I/O menjadi 4 layers, yaitu :
1.   Interrupt Handler
Interrupt harus disembunyikan agar tidak terlihat rutin berikutnya. Device driver di blok saat perintah I/O diberikan dan menunggu interupsi. Ketika interupsi terjadi, prosedur penanganan interupsi bekerja agar device driver keluar dari state blocked.
2.   Device Drivers
Seluruh kode device dependent terletak di device driver. Tiap device driver menangani satu tipe / satu kelas device. Tugas dari device driver untuk menerima permintaan abstrak dari software device independent diatasnya dan melakukan layanan sesuai permintaan / mengeksekusinya.


3.   Device Independent Operating System Software
I/O device-independent adalah : software I/O yang tak bergantung pada perangkat keras.
Fungsi dasar dari software device-independent :
-        membentuk fungsi I/O yang berlaku untuk semua device
-        menyediakan interface uniform / seragam ke user level software

Fungsi dari software I/O device-independent yang biasa dilakukan :
a.   Interface seragam untuk seluruh device-driver
b.   Penamaan device
c.   Proteksi device
d.   Memberi ukuran blok device agar bersifat device-independent
e.   Melakukan Buffering
f.    Alokasi penyimpanan pada blok devices
g.   Alokasi dan pelepasan dedicated devices
h.   Pelaporan kesalahan
4.   User Space I/OSoftware
Sebagian besar software I/O berada di dalam sistem operasi yang di link dengan user program.
System call termasuk I/O, biasanya dalam bentuk prosedur (library procedures).
Contoh : count = write(fd,buffer,nbytes)
I/O prosedur dengan level lebih tinggi.
Contoh : printf (memformat output terlebih dahulu kemudian panggil write)

Yang tidak mempunyai library procedure, contohnya : spooling directory dan daemon (proses khusus) pada proses mencetak, transfer file, USENET



3.   Disk
Tiga kelebihan disk dari main memory untuk penyimpanan :
1.   kapasitas penyimpanan yang tersedia lebih besar
2.   harga per-bit-nya lebih rendah
3.   informasi tidak hilang meskipun power off

3.1.  Perangkat Keras Disk
Disk diorganisasikan menjadi silinder-silinder dengan tiap permukaan terdapat head yang ditumpuk secara vertikal. Track terbagi menjadi sektor-sektor.


Tiga faktor yang mempengaruhi waktu read/write block disk :
1.   seek time (waktu menggerakkan lengan ke silinder)
2.   rotational delay (waktu sector berputar ke head)
3.   transfer time
yang sangat dominan adalah seek time, jadi performance dapat ditingkatkan dengan mengurangi waktu rata-rata seek



Proses seek pada disk driver : seek ke lebih dari satu disk secara bersamaan, read/write bersama dengan seek, read/write dalam waktu yang bersamaan dari dua drive

3.2.  Algoritma Penjadwalan Akses Lintas Disk
Pada sistem multiprogramming, banyak proses yang melakukan permintaan read/write record disk. Proses membuat permintaan lebih cepat dibandingkan yang dapat dilayani disk, membentuk antrian permintaan layanan disk. Diperlukan penjadwalan disk agar memperoleh kerja optimal.
Terdapat dua tipe penjadwalan disk, yaitu :
1.   Penjadwalan untuk optimasi seek, karena waktu seek lebih tinggi satu orde dibandingkan waktu rotasi, maka kebanyakan algoritma penjadwalan berkonsentrasi meminimumkan seek kumpulan atau antrian permintaan layanan disk.
2.   Penjadwalan untuk optimasi rotasi, penjadwalan disk melibatkan pemeriksaan terhadap permintaan yang belum dilayani untuk menentukan cara paling efisien melayani permintaan-perminataan, dan memeriksa hubungan posisi di antrian permintaan. Antrian disusun kembali sehingga permintaan akan dilayani dengan pergerakan mekanis minimum.
Adapun beberapa metode yang digunakan :
a.   Algoritma Pertama Tiba Pertama Dilayani (PTPD) / First Come, First Served (FCFS) Algorithm 
Disk drive melayani satu permintaan pada sauatu saat dan melayaninya sesuai urutan kedatangannya. Permintaan yang duluan tiba, dilayani duluan.

Contoh : 40 silinder dengan urutan 11, 1, 36, 1, 16, 34, 9, 12

 
 
b.   Algoritma Pungut / Pick Up Algorithm



c.   Algoritma Waktu Cari Terpendek Dipertamakan (WCTD) / Shortest Seek Time First (SSTF) Algorithm

d.   Agoritma Lift Singkat / C-LOOK Algorithm


e.   Agoritma Lift Singkat Searah / C-LOOK Algorithm

f.   Algoritma Lift Lengkap / SCAN Algorithm

g.   Algoritma Lift Lengkap Searah / C-Scan Algorithm


3.3.  I/O Error Handling / Penanganan Kesalahan I/O
Error yang umum terjadi adalah :
1.   Error pemrograman
Kesalahan disebabkan pemrograman. Misalnya : request sektor yang tidak ada. Penanganannya : pembetulan program untuk komersial software, batalkan operasi dan berharap tidak akan terjadi lagi
2.   Error checksum transient
Kesalahan disebabkan adanya debu diantara head dengan permukaan disk. Penanganannya : lakukan operasi berulang-ulang dan menandai sector yang rusak.
3.   Error checksum permanent
Kesalahan disebabkan kerusakan disk. Misalnya harus dibuat daftar blok-blok buruk agar data tidak ditulisi di blok-blok buruk.
4.   Error seek
Kesalahan ini ditanggulangi dengan mengkalibrasi disk supaya berfungsi kembali. Misalnya lengan harusnya ke silinder 6 ternyata ke 7. Penanganannya : kalibrasi ulang.
5.   Error controller
Kesalahan ini ditanggulangi dengan menukar pengendali yang salah dengan pengendali yang baru. Misalnya controller menolak perintah akses. Penanganannya : reset.
6.   Track at time caching
Kontroller mempunyai memori untuk menyimpan informasi track dimana ia berada, permintaan pembacaan blok track tersebut dilakukan tanpa pergerakan mekanik.

3.4.  RAM Disk
RAM disk adalah disk driver yang disimulasikan pada memori akses acak (RAM). RAM disk sepenuhnya mengeliminasi waktu tunda yang disebabkan pergerakan mekanis dalam seek dan rotasi. RAM disk berguna untuk aplikasi yang memerlukan kinerja disk yang tinggi.
Devices block adalah media penyimpanan dengan 2 perintah :  R (read) dan W (write). Normalnya blok-blok disimpan di disk berputar yang memerlukan mekanisme fisik.
Idenya adalah meniru driver dengan mengalokasikan terlebih dahulu satu bagian memori utama untuk menyimpan blok-blok data.
Keuntungannya : berkecepatan tinggi karena pengaksesan sesaat / instant, tidak ada waktu tunda seek dan waktu tunda rotasi. Sangat cocok untuk menyimpan program atau data yang sering diakses.




4.   Terminal
Semua komputer memerlukan terminal untuk komunikasi antar peralatan.
4.1.  Terminal Hardware
Terminal hardware terbagi atas 2 kategori dasar, yaitu : 


1.   terminal interface melalui RS-232
RS-232 menghubungkan keyboard, monitor menggunakan serial interface, 1 bit dalam 1 waktu, dan menggunakan 25 pin konektor, dimana 1 pin untuk transmisi data, 1 pin untuk receive data dan 1 pin untuk ground, 22 pin yang lain digunakan untuk fungsi control atau ada pin yang tidak digunakan.
RS-232 dapat dikategorikan lagi menjadi :
a.   hardcopy / printer, dimana tipe karakter dari keyboard ditransmisikan ke komputer, dan kemudian di cetak di kertas / printer.
b.   Dumb CRT terminal / glass tty (teletype = terminal)
c.   Intelligent CRT terminals, terdiri dari CPU dan memory, dan untuk program yang kompek digunakan EPROM atau ROM.
d.    Blit, adalah terminal dengan powerful microprocessor
2.   terminal memory-mapped
adalah interface melalui video RAM / video controller yang digunakan untuk monitor.
4.2.  Terminal Software
Terminal Software terdiri dari :
1.   Input Software
2.   Output Software

Manajemen Input Output (I/O)

Posted by Pangeran1diot

Jam

Diberdayakan oleh Blogger.

Sosial Media

Pet

Bantu saya dalam pemeliharan Hamster
- Beri makan dengan cara mengklik layar disekitar pet
- Klik lingkaran kuning

- Copyright © 2016 -STMIK Profesional Makassar- Tugas :   - Edited by :Ilham Surianto (05134171) -