Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

MANAJEMEN INPUT / OUTPUT

Presentasi serupa


Presentasi berjudul: "MANAJEMEN INPUT / OUTPUT"— Transcript presentasi:

1 MANAJEMEN INPUT / OUTPUT
DEFIANA ARNALDY, M.Si

2 OVERVIEW Prinsip dasar I/O Klasifikasi I/O Interface Aplikasi I/O
Kernel I/O Subsystem Penanganan Permintaan I/O Kinerja I/O Struktur Disk dan Penjadwalan Disk Managemen Disk Penanganan Swap-Space Keandalan Disk Implementasi Stable-Storage dan Tertiary-Storage Structure

3 PRINSIP DASAR PERANGKAT I/O
Salah satu fungsi utama sistem operasi adalah mengatur operasi Input / Output (I/O) beserta perangkatnya. Sistem operasi harus dapat memberikan perintah ke perangkat-perangkat tersebut, menangkap interupsi, dan menangani error/kesalahan yang terjadi. Selain itu, sistem operasi juga menyediakan fasilitas antarmuka (interface) antara perangkat-perangkat tersebut dengan keseluruhan sistem yang ada

4

5 Saat ini, terdapat berbagai macam perangkat I/O :
perangkat penyimpanan (disk, tape), perangkat transmisi (network card, modem), dan perangkat antarmuka dengan pengguna (screen, mouse, keyboard). Secara umum, perangkat I/O dapat dibagi menjadi dua kategori, yaitu:

6 Perangkat blok. Perangkat karakter.
Perangkat yang menyimpan informasi dalam bentuk blok-blok berukuran tertentu dan setiap blok memiliki alamat masing-masing. (512 byte byte)  Disk Perangkat karakter. Perangkat yang mengirim atau menerima sebarisan karakter, tanpa menghiraukan struktur blok. Printer, network interface, dan perangkat yang bukan disk termasuk di dalamnya. Clock merupakan perangkat yang tidak memiliki blok beralamat, tidak mengirim dan menerima barisan karakter, melainkan perangkat yang hanya menimbulkan interupsi dalam jangka waktu tertentu.

7 Istilah-istilah dalam I/O
Port  Sebuah perangkat berkomunikasi dengan sistem di komputer dengan cara pengiriman sinyal melalui kabel atau udara. Perangkat tersebut berhubungan dengan komputer melalui suatu titik yang dinamakan port Bus  serangkaian penghubung yang berfungsi sebagai perantara saat pengiriman pesan/data berlangsung

8 Port I/O terdiri dari empat register, yaitu:
Status. Register ini berisi bit-bit yang menandakan status apakah perintah I/O sempurna dilaksanakan perangkat, ada bit di register data-in yang tersedia untuk dibaca, ataupun apakah ada perangkat I/O yang error. Semua bit tersebut dibaca oleh CPU. Control. Merupakan register yang ditulis oleh CPU untuk memulai perintah atau untuk mengganti modus perangkat. Sebagai gambaran modus perangkat, terdapat bit dalam register control di sebuah serial port yang berfungsi memilih kecepatan transfer yang didukung serial port tersebut. Data-in. Register ini merupakan register yang dibaca CPU sebagai input data. Data-out. Bit di dalamnya merupakan bit yang ditulis CPU sebagai output data.

9 Unit I/O terdiri dari dua komponen, yaitu:
Komponen Mekanis. Perangkat I/O itu sendiri, seperti mouse, screen, keyboard, dan lain-lain. Komponen elektronis. Pengendali perangkat I/O (device controller). Beberapa pengendali perangkat dapat menangani dua, atau lebih perangkat I/O yang sejenis. Pada komputer desktop, komponen ini biasannya berupa kartu sirkuit yang dapat dimasukkan ke dalam slot pada motherboard

10 Terdapat berbagai macam antarmuka antara perangkat dengan pengendalinya, antara lain
ANSI, IEEE, atau ISO IDE (Integrated Drive Electronics), dan SCSI (Small Computer System Interface). Kedua antarmuka terakhir merupakan antarmuka yang menjadi standar pabrik-pabrik pembuat perangkat I/O ataupun pembuat pengendalinya.

11 Dalam berkomunikasi dengan controller, terdapat dua cara sistem operasi memberikan perintah dan data, yaitu: Instruksi I/O. Merupakan instruksi CPU yang khusus menangani transfer byte atau word ke sebuah port I/O. Cara kerjanya, instruksi tersebut memicu line bus untuk memilih perangkat yang dituju kemudian mentransfer bit-bit dari atau ke register perangkat. I/O Memory-mapped.  Register-register pengendali perangkat dipetakan ke ruang alamat prosesor. Memory-mapped I/O juga bisa digunakan untuk mentransmisikan data dengan cara CPU menulis atau membaca pada alamat tertentu.

12 Polling Busy-waiting/polling ialah ketika host mengalami looping yaitu membaca status register secara terus-menerus sampai status busy di-clear. Pada dasarnya polling dapat dikatakan efisien. Akan tetapi polling menjadi tidak efisien ketika setelah berulang-ulang melakukan looping, hanya menemukan sedikit perangkat yang siap untuk menservis, karena CPU processing yang tersisa belum selesai.

13

14 Interupsi Mekanisme polling yang dijelaskan sebelumnya menjadi tidak efisien ketika prosesor terus-menerus memeriksa status perangkat I/O, padahal perangkat yang bersangkutan belum siap. Terdapat banyak situasi dimana tugas lain dapat dilakukan oleh prosesor saat menunggu perangkat I/O siap. Kita dapat mengatur agar perangkat I/O memperingatkan prosesor saat perangkat tersebut telah siap, hal ini dapat dilakukan dengan mengirim sinyal yang disebut interupsi ke prosesor.

15 Mekanisme Dasar Interupsi
Langkah-langkah mekanisme interupsi yang disebabkan perangkat I/O, yaitu: Perangkat I/O mengirim sinyal interupsi. Prosesor menerima sinyal interupsi. Penyimpanan informasi proses yang sedang dieksekusi. Prosesor mengidentifikasi penyebab interupsi. Prosesor mengeksekusi interupsi routine sampai return. Prosesor melanjutkan proses yang sebelumnya ditunda.

16 Terdapat tiga kemungkinan penyebab perangkat I/O mengirimkan interupsi, yaitu:
Input Ready. Umpamanya ketika buffer keyboard sudah terisi (terjadi pengetikan), kendali keyboard akan mengirim interupsi untuk memberitahu prosesor bahwa input dari keyboard sudah tersedia. Output Complete. Misalnya printer hanya menerima satu baris teks pada satu waktu. Karenanya prosesor harus mengirim satu baris teks, menunggu baris tersebut dicetak, kemudian mengirim baris teks berikutnya. Error. Jika terjadi error pada perangkat I/O saat perangkat tersebut sedang melakukan operasi I/O, kontroler perangkat tersebut akan mengirim interupsi untuk memberitahu prosesor bahwa terjadi error sehingga operasi I/O tidak bisa dilanjutkan.

17 Dalam mekanisme interupsi terdapat beberapa masalah yang perlu ditangani, yaitu:
Interupsi terjadi saat prosesor sedang mengeksekusi critical section dari proses Waktu yang dibutuhkan untuk mencari penyebab interupsi merupakan hal yang tidak efisien, karena prosesor akan memeriksa satu-persatu perangkat I/O yang terhubung ke komputer Beberapa perangkat I/O membutuhkan pelayanan yang secepatnya dan harus didahulukan dari perangkat I/O yang lain (jika pada saat yang sama terdapat lebih dari satu perangkat I/O yang membutuhkan pelayanan oleh prosesor) Jika Interupsi yang terjadi merupakan permintaan untuk melakukan transfer data yang besar (contohnya antara disk dan main memori), dalam hal ini penggunaan mekanisme interupsi adalah cara yang tidak efisien

18 Sistem operasi menggunakan mekanisme interupsi untuk beberapa hal, diantaranya yaitu:
Menangani berbagai macam exception. Mengatur virtual memori paging. Menangani software interupsi. Mengatur alur kontrol kernel.

19 Direct Memory Access (DMA)
DMA ialah sebuah prosesor khusus (special purpose processor) yang berguna untuk menghindari pembebanan CPU utama oleh program I/O. interupsi tidak efisien untuk melakukan transfer data yang besar  context switch (overhead) Alternatif  Suatu unit kontrol khusus disediakan untuk memungkinkan transfer data langsung antar perangkat eksternal dan memori utama, tanpa intervensi terus menerus dari prosesor  DMA

20

21 Tiga langkah dalam transfer DMA:
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. Pengendali DMA memulai operasi (menyiapkan bus, menyediakan alamat, menulis dan membaca data), sampai seluruh blok sudah di transfer. Pengendali DMA meng-interupsi prosesor, dimana selanjutnya akan ditentukan tindakan berikutnya.

22 DMA mempunyai dua metode yang berbeda dalam mentransfer data
HALT, atau Burst Mode DMA  pengendali DMA memegang kontrol dari sistem bus dan mentransfer semua blok data ke atau dari memori pada single burst. cycle stealing mode  mengikut-sertakan pengendali DMA untuk memegang kontrol dari sistem bus untuk jangka waktu yang lebih pendek pada periode dimana mikroprosessor sibuk dengan operasi internal dan tidak membutuhkan akses ke sistem bus

23 Handshaking Proses handshaking antara pengendali DMA dan pengendali perangkat dilakukan melalui sepasang kabel yang disebut DMA-request dan DMA-acknowledge. Pengendali perangkat mengirimkan sinyal melalui DMA-request ketika akan mentransfer data sebanyak satu word. Hal ini kemudian akan mengakibatkan pengendali DMA memasukkan alamat-alamat yang dinginkan ke kabel alamat memori, dan mengirimkan sinyal melalui kabel DMA-acknowledge. Setelah sinyal melalui kabel DMA-acknowledge diterima, pengendali perangkat mengirimkan data yang dimaksud dan mematikan sinyal pada DMA-request

24 Subsistem I/O Kernel Pada sistem operasi modern 32-bit seperti Windows dan Linux, aplikasi tidak dapat mengakses I/O ke perangkat keras secara langsung, karena Windows dan Linux menggunakan operasi protected mode yang dimiliki oleh prosesor

25 Jika begitu bagaimana sebuah program dapat berkomunikasi dengan perangkat keras?
Jawabannya adalah sistem operasi mengkoordinasikan semua operasi I/O ke perangkat keras melalui penggunaan device driver

26 Device Driver adalah sejenis program khusus yang berfungsi sebagai jembatan antara perangkat keras I/O dengan sistem operasi Device driver harus mematuhi beberapa protokol khusus dan harus memanggil beberapa system call ke sistem operasi yang tidak bisa diakses oleh aplikasi standar

27

28 Aplikasi Antarmuka I/O
Bagaimana teknik dan struktur antarmuka yang memungkinkan I/O diperlakukan secara seragam  Aplikasi Antarmuka I/O aplikasi antarmuka I/O melibatkan abstraksi, enkapsulasi, dan software layering

29 Masing-masing sistem operasi memiliki standarnya sendiri untuk device driver antarmukanya. Karakteristik dari perangkat-perangkat tersebut sangat bervariasi, beberapa yang dapat membedakannya adalah dari segi: Character-stream atau block. Sebuah stream karakter memindahkan per satu bytes, sedangkan blok memindahkan sekumpulan bytes dalam 1 unit. Sequential atau Random-access. Sebuah perangkat yang sekuensial memindahkan data dalam susunan yang sudah pasti seperti yang ditentukan oleh perangkat, sedangkan pengguna akses random dapat meminta perangkat untuk mencari ke seluruh lokasi penyimpanan data yang tersedia.

30 Synchronous atau asynchronous
Synchronous atau asynchronous. Perangkat yang synchronous menampilkan data-data transfer dengan waktu reaksi yang dapat diduga, sedangkan perangkat yang asynchronous menampilkan waktu reaksi yang tidak dapat diduga. Sharable atau dedicated. perangkat yang dapat dibagi dapat digunakan secara bersamaan oleh beberapa prosesor atau thread, sedangkan perangkat yang dedicatedtidak dapat. Speed of operation. Rentangan kecepatan perangkat dari beberapa bytes per detik sampai beberapa gigabytes per detik. Read-write, read only, atau write only. Beberapa perangkat memungkinkan baik input-output dua arah, tapi beberapa lainnya hanya menunjang data satu arah.

31 Peralatan Blok dan Karakter
Peralatan blok diharapkan dapat memenuhi kebutuhan akses pada berbagai macam disk drive dan juga peralatan blok lainnya, memenuhi/mengerti perintah baca, tulis dan juga perintah pencarian data pada peralatan yang memiliki sifat random-access.

32 Keyboard adalah salah satu contoh alat yang dapat mengakses stream-karakter.
System call dasar dari antarmuka ini dapat membuat sebuah aplikasi mengerti tentang bagaimana cara untuk mengambil dan menuliskan sebuah karakter. Kemudian pada pengembangan lanjutannya, kita dapat membuat library yang dapat mengakses data/pesan baris demi baris.

33 Peralatan Jaringan Socket berfungsi untuk menghubungkan komputer ke jaringan. System call pada socket interface dapat memudahkan suatu aplikasi untuk membuat local socket, dan menghubungkannya ke remote socket. Dengan menghubungkan komputer ke socket, maka komunikasi antar komputer dapat dilakukan

34 Clock dan Timer Adanya clock dan timer pada perangkat keras komputer, setidaknya memiliki tiga fungsi, memberi informasi waktu saat ini, memberi informasi lamanya waktu sebuah proses, sebagai trigger untuk suatu operasi pada suatu waktu. Fungsi-fungsi ini sering digunakan oleh sistem operasi. Sayangnya, system call untuk pemanggilan fungsi ini tidak distandarisasi antar sistem operasi.

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

36 Sistem operasi dapat mendukung lebih dari banyak timer request daripada banyaknya jumlah timer hardware. Dengan kondisi seperti ini, maka kernel atau device driver mengatur daftar dari interupsi dengan urutan yang pertama kali datang akan dilayani terlebih dahulu

37 I/O Blok dan Nonblok 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 pengeksekusiannya akan dilanjutkan. Physical action dari peralatan M/K biasanya bersifat asynchronous. Akan tetapi, banyak sistem operasi yang bersifat blocking, hal ini terjadi karena blocking application lebih mudah dimengerti dari pada nonblocking application.

38 Manajemen Disk Merupakan salah satu piranti I/O
Berfungsi sebagai media penyimpan utama Saat ini, disk yang umum adalah disk cakram magnetis (harddisk)

39 Struktur Disk Secara fisik, disk cakram magnetis terdiri atas cakram yang tersusun secara vertikal. Kedua sisi atas bawah pada masing-masing cakram dapat ditulis data kecuali pada permukaan cakram paling atas dan paling bawah. Memiliki struktur 3 dimensi: Silinder Track Sector

40 Struktur Disk Setiap sisi cakram terdiri atas alur melingkar atau track. makin ke dalam sisi cakram , alurnya makin kecil Setiap track terbagi lebih lanjut atas sector. Setiap sector terdiri atas sejumlah byte yang sama besarnya Pada setiap sisi cakram terdapat head pembaca. head-head pembaca ini bergerak secara radial secara bersamaan Cakram-cakram berputar pada sumbu pusatnya

41

42

43 Pengalamatan Disk Disk dialamati secara logika sebagai array satu dimensi. Unit terkecilnya adalah blok, baik untuk operasi read atau write. Ukuran blok dilakukan atau disusun pada saat pengformatan disk.

44 Pengalamatan Disk Urutan penomoran alamat logika disk mengikuti aturan : Alamat paling awal, yaitu sektor 0 adalah sektor pertama dari track pertama pada silinder paling luar. Proses pemetaan dilakukan secara berurut dari Sektor 0, lalu ke seluruh track dari silinder tersebut, lalu ke seluruh silinder mulai dari silinder terluar sampai silinder terdalam. Urutan yang mendahulukan silinder yang sama sebelum pindah ke track berikutnya bertujuan mengurangi perpindahan head pembacaan pada setiap sisi cakram

45 Penanganan Disk Request
Operasi disk merupakan operasi khusus yang hanya dapat dilakukan oleh rutin SO Mekanisme penanganan disk request adalah sebagai berikut: Suatu proses yang membutuhkan transfer data dari dan ke disk, maka proses akan memanggil system call SO System call akan memicu SO memblok proses bersangkutan karena operasi I/O disk akan memakan waktu. Disk request akan ditangani oleh device driver yang sesuai dengan piranti I/O yang hendak diakses. Device driver akan memeriksa status disk. Jika sedang sibuk, maka akan dimasukkan pada antrian disk bersangkutan

46 Penanganan Disk Request
Jika disk tidak sedang digunakan, maka disk request tersebut akan dilayani dan alamat disk dikirimkan ke disk controller. Operasi write data akan disalinkan oleh DMA controller atau prosessor dari memori utama ke buffer disk controller untuk selanjutnya disalin ke piringan disk operasi read data yang akan dibaca, akan disalin ke buffer disk controller lebih dulu, baru disalin ke memori utama.

47 Waktu Penanganan Disk Request
Disk request oleh suatu proses akan menimbulkan waktu tunda. proses akan berstatus blocked sampai data yang diminta telah dipindah ke memori utama. Waktu yang dibutuhkan untuk memproses disk request terdiri atas: Overhead time  total waktu yang dihabiskan SO untuk menangani disk request. Queuing time  waktu yang dihabiskan di antrian disk.

48 Waktu Penanganan Disk Request
Latency (Random Access Time)  waktu yang dibutuhkan untuk menempatkan head ke lokasi yang hendak diakses. Latency terdiri atas 2 komponen: Seek time : waktu yang dibutuhkan untuk memindahkan head ke silinder yang berisi sektor yang dituju. Rotational latency : waktu tambahan yang dibutuhkan untuk menunggu putaran disk sehingga head beradatepat dibawah sektor yang hendak diakses. Transfer time  waktu untuk mentransfer data dari atau ke lokasi disk.

49

50 Penjadwalan Disk Request
Terjadi pada sistem multitasking. Berbeda dengan penjadwalan prosessor, penjadwalan disk request ditujukan untuk meminimalkan total latency (access time) dan seek time pada operasi transfer data. Contoh algoritma penjadwalan disk antara lain: FCFS (First Come First Serve) berdasarkan urutan masuknya di antrian. Umumnya menghasilkan total access time yang buruk dan terlalu tinggi

51 Contoh antrian FCFS: (posisi awal head =50)
10, 45, 37, 56, 60, 25, 78, 48, 88, 70, 5, 20

52 Penjadwalan Disk Request
SSTF (Shortest Seek Time First) disk request yang memiliki seek distance yang paling dekat dengan posisi head terkini, akan dilayani lebih dahulu algoritma ini meminimalkan pergerakan head. Elevator / SCAN mengasumsikan head bergerak satu arah. Jika head sudah mencapai bagian terluar atau terdalam dari cakram, maka arah gerak head dibalik.

53 Contoh antrian SSTF: (posisi awal head =50)
10, 45, 37, 56, 60, 25, 78, 48, 88, 70, 5, 20

54 Contoh antrian SCAN: (posisi awal head =50)

55 Penjadwalan Disk Request
One-way elevator /C-SCAN mirip dengan elevator/SCAN. Bedanya head tidak melakukan pembalikan arah. Misal: pada saat head bergerak dari arah luar kedalam, jika head sudah berada didalam, maka arah pergerakan head akan dikembalikan ke luar lagi, baru gerak head dilanjutkan lagi. Selama pengembalian posisi, tidak ada operasi baca/tulis. LOOK mirip dengan SCAN. Bedanya head tidak perlu melakukan perjalanan penuh dari bagian terluar sampai terdalam bila sudah tidak ada disk request lagi. pergerakan head bisa langsung dilakukan sebelum sampai track terdalam.

56 Contoh antrian C- SCAN: (posisi awal head =50)
Contoh antrian C- SCAN: (posisi awal head =50) 10, 45, 37A, 56, 60, 25, 78, 48, 88, 70, 5, 20

57 Contoh antrian LOOK: (posisi awal head =50)
Contoh antrian LOOK: (posisi awal head =50) 10, 45, 37A, 56, 60, 25, 78, 48, 88, 70, 5, 20

58 Organisasi Disk Pemformatan fisik (Low-level Formatting)
membagi disk kedalam sektor-sektor, sehingga disk controller dapat membaca/menulis operasi ini umumnya dilakukan dari pabrik pembuat disk Pemartisian membagi disk menjadi satu atau lebih partisi dimana dapat dipandang secara logika sebagai disk yang terpisah. suatu partisi belum dapat ditulis sebelum di format secara logika.

59 Organisasi Disk Pengformatan secara logika
membangun struktur pengelolaan berkas sebelum data atau berkas dapat disimpan ke suatu partisi disk. menentukan unit alokasi berkas atau blok terkecil untuk alokasi berkas. Pada SO Windows cluster Alokasi blok Booting membangun struktur untuk malakukan operasi booting yang biasanya terletak diawal disk  bootstrap yaitu program kecil untuk inisialisasi booting SO. biasa tersimpan di ROM BIOS pada motherboard.

60 Organisasi Disk Manajemen Bad Sector.
mengelola, mencatat dan mengalihkan bad block, yaitu satu atau lebih sektor yang rusak pada disk ke tempat lain agar tidak ditulisi data.

61 Tugas !!! Buat Makalah tentang manajemen input / output yang belum dijelaskan di dalam perkuliahan ini


Download ppt "MANAJEMEN INPUT / OUTPUT"

Presentasi serupa


Iklan oleh Google