Manajemen Masukan dan Keluaran pada Private Computer dan Android



1.       Tentukan manajemen masukan dan keluaran pada private computer dan android, Jelaskan keunggulan dan kelemahan masing-masing

Jawab

1.       Menejemen perangkat Masukan / Keluarkan

Pengelolaan petrangkat masukan / keluarkan merupakan aspek perancangan sistem operasi yang terluas di sebabkan sangat  beragamnya perangkat dan begitu banyaknya aplikasi dari perangkat – perangkat itu.

Manajemen perangkat masukan / keluarkan mempunyai beragam fungsi ,diantaranya:

1.mengirim perintah keperangkat masukan / keluarkan agar menyediakan layanan.

2.menangani interuksi perangkat masukan/keluarkan.

3.menangani kesalahan pada perangkat masukan / keluarkan.

4.menyediakan interface ke pemakai.

KLARIFIKASI PERANGKAT MASUKAN / KELUARKAN :

Perangkat masukan/keluarkan merupakan komponen yang paling bnyak jenisnya dan dapat di kelompokan dengan beragam kriteria.antara lain .

1.berdasarkan sifat aliran datanya

2.berdasarkan sasaran komunikasi.

Perangkat masukan/keluarkan berdasarkan sifat aliran data

Aliran data ini dapat terbagi 2 yaitu :

1.Perangkat berorentasi blok (block oriented devices)

Menyimpan informasi dan menukarkan (menerima / mengirim) informasi sebagai blok –blok berukaurn tetap . tiap blok mempunyai alamat tersendiri. ukuran blok dapan beragam bergantung perangkat dari 128byte sampai 1024 byte. Ciri utama prangkat ini adalah memungkinkan membaca atau menulis blok – blok secara independen , yaitu dapat membaca atau menulis sembarang blok tanpa harus melewati blok- blok lain.

Contohnya : disk, tape, CD ROM ,optical disk, dan sebagainya .

2.perangkt berorentasi aliran karakter .(character stream oriented devices ).

Adlah perangkat yg mengantarkan atau menerima aliran karakter  tanpa peduli membentuk aliran suatu aliran blok .

Contohnya : terminal ,line printer , interface jaringan  (perngkat lain yang tidak seperti disk dapat dipandang sebagai perangkat karakter)

Perangkat yang tidak termasuk katagori di atas yaitu : clock , memory mapped screen , sensor , mouse .dsb.

Perangkat masukan / keluarkan berdasarkan sasaran komunikasi .

Klarifikasi :

1.perankat yg terbaca oleh manusia (human readable devices)

Adalah perangkat yang cocok untuk komunikasi dengan manusia.

Contoh : VDT (vidio display terminal ) terdiri dari monitor , keyboard .

2.perangkat yg terbaca oleh mesin ( machine readable devices)

Adlah perangkat yang cocok untuk komunikasi dengan perangkat elektronik.

Contoh: disk tape , sensor controller dan aktuator.

3.untuk komunikasi . adalh perangkat yg cocok untuk komunikasi dengan perangkat jarak jauh.

Contoh : modem

Perbedaan besar antar kelas perangkat .

Terdapat perbedaan besar antar kelas perangkat . perbedaan perbedaan pokok antara lain .

*data rate

*aplikasi

*kompleksitas pengendalian

*unit yg di transfer

*representasi data

*kondisi – kondisi kesalahan.

Kebegaman perangkat masukan /keluarkan yg sangat besar membuat pendekatan yg seragam dan konsisten dalam pandangan sistem maupun proses pemakai sangat sulit diperoleh

Teknik pemrograman perangkat masukan / keluaran .

Terdapan 3 teknik pemrograman m/k berdasarkan mekanisme hbungan pemroses dengan pengendali perangkat m/k yaitu :

1.m/k terprogram (programmed i/o) atau poling sistem

2.m/k dikendalikan interuksi (interupt driven i/o)

3.dengan DMA (direct memory access)

Pengerian :

1.m/k terprogram

Ketika perangkat m/k menangani permintaan , perangkat men-set bit status di register status perangkat . perangkat tidak dapat memberi tahu keproses saat tugas telah selesai dilakukan.pemroses harus selalu memeriksa register status perangkat secara periodik dan melakukan tindakan bedasarkan status yg dibaca .

Perangkat lunak pengendali perangkat (driver) diproses harus mentransfer data ke atau dari pengendali . driver mengeksekusi perintah yg berkomunikasi dengan pengendali adapter di perangkat dan menunggui sampai operasi yg di lakukan perangkat selesai.

Driver harus berisi kumpulan intruksi di tiga katagori yaitu :

1.pengendalian

Intruksi- intruksi untuk mengendalikan operasi perangkat keras.

Intruksi pengendalian untuk mengaktifkan perangkat eksternal dan memberitahu yg perlu di lakukan perangkat .

Contoh ; unit tape magnetik di instruksikan untuk kembLI KEPOSISI AWAL, berangkat ke rekor berikutnya dan sebagainya.

2.pengujian

Instruksi instruksi untuk memeriksa status perangkat keras

Intruksi ini untuk memeriksa kondisi status berkaitan dengan perangkat masukan / keluaran

3.pembacaan / penulisan

Intruksi – intruksi untuk membaca atau menulis dari atau ke perangkat keras .

Untuk transper data antara antara register proses dan perangkat eksternal.

Kelemahanya ; cara ini sangat tidak evisien karena banyak pemborosan waktu pemroses untuk menungguin kejadian perangakt keras dan atau mnungguin selesainya operasi yg dilakuikan perangkat masukan kluaran .

Masukan / keluaran dituntun interuksi

Masalah utama m/k terprogram adalah pemroses duboroskan untuk menunggu dan menjagai seluruh operasi m/k di perlukan teknik lain untuk meningkatkan efisiensi pemroses.

Teknik m/k dituntun interuksi mempunyai mekanisme kerja perangkat m/k sebagai berikut :

*pemroses memberi intruksi ke perangkat m/k kemudian pemroses melanjutkan melakukan kerja berguna yg lain.

*perangkat m/k akan melakukan interuksi meminta layanan berikutnya saat perintah telah siap bertukaran data dengan pemroses.

*saat menerima interupsi perangkat keras( yg memberi tahu siap melakukan transfer ), pemroses segera mengeksekusi transfer data .

Keunggulan :
Pemroses tidak di sibukan menunggui dan menjagai seluruh operasi perangkat m/k untuk memeriksa ststus perangkat . kinerjanya lebih baik di banding dengan teknik m/k terprogram.

DMA (direct memory access)

Perangkat m/k di kendalikan interupsi lebih efisien di banding m/k terprogram, tapi masih memerlukan intervensi aktif pemroses untuk transfer data antara memori dan buffer perangkat m/k . pemroses masih di sebutkan dengan operasi transfer data .

Pemrograman m/k di kendalikan interupsi mempunyai

dua kelemahan yaitu:

1.rotata tranfer masukan / keluaran dibatasi kecepatan menguji dan melayani operasi perangkat /

2.pemroses terikat erat dalam pengelula transfer m/k . sejjumlah interuksi harus di eksekusi untuk tiap transfer m/k .

Ketika data berukuran besar di pindahkan maka di perlukan teknik lebih efisien agar tidak menyibukan pemroses untuk mengurangi oeparsi transfer masukan / keluaran sehingga pemroses dapat melakukan kerja berguna yg lain

DMA berguna membebaskan pemroses menunggui transfer data yg di lakukan perangkat m/k . saat pemroses ingin membaca atau menulis data pemroses memerintahkan DMA controller dengan mengirim informasi berikut .

-perintah penulisan /pembacaan

-alamat perangkat m/k

-awal lokasi memori yg ditulis / dibaca

DMA mentransfer seluruh data yg di minta ke / dari memori secara langsung tanpa melewati pemroses . ketika transfer data selesai DMA mengirim sinyal interupsi ke pemroses .pemroses  hanya di lebatkan pada awal dan akhir transfer data .

Operasi tranfer antara perangkat dan memori utama di lakikan sepenuhnya oleh DMA bebas dari pemroses dan hanya melakukan interupsi bila operasi telah selesai.

Keunggulan :

1.penghematan waktu pemroses

2.peningkatan kinerja m/k

Evolusi fungsi perangkat m/k

Evolusi sangat tampak pada fungsi-fungsi m/k sebagai berikut :

1.pemroses mengendalikan perangkat m/k secara langsung

Teknik ini masih di lakukan untuk perangkat sederhana yg dikendalikan mikro sensor untuk menjadi perangkat berintelejen (intelegent device)



2.perangkat dilengkapi pengendali m/k (i/o controller)

Pemroses masih mengunakan m/k terprogram tanpa interupsi .

3.perangkat di lengkapi fasilitas interupsi

Teknik ini meningkatkan efisiensi pemroses

4.i/o controller mengendalikan memori secara langsung lewat DMA

Pengendali dapat memindahkan blok data ke / dari memori tanpa melibatkan pemroses kecuali di awal dan di akhir transfer .

5.pengendali m/k menjadi pemroses terpisah

Pemroses m/k mengambil dan mengeksekusi intruksi interuksi ini tanpa intervensi pemroses utama (pusat) dimungkinkan pemroses pusat mensfesifikasikan barisan aktifitas m/k dan hanya di interuksi ketika seluruh barisan interuksi di selesaikan .

6.penegndali m/k mempunyai memori lokal

Perangkat m/k dapat dikendalikan dengan keterlibatan pemroses pusat yg minimum . dan untuk pengendalian komunikasi dengan terminal terminal interaktif.

Prinsip manajemen perangkat masukan / keluarkan .

Terdapat dua sasaran perancangan manajemen perangkat m/k yaitu:

1.efisiensi

Efisiensi merupakan aspek penting karena operasi aspek m/k sering merupakan operasi yg menimbulkan bottleneck.

2.generalisasi  (disebut juga device independence ).

Manajemen perangkat m/k selain berkaitan dengan simplisitas bebas kesalahan , jika menangani perangkat secara seragam baik dipandaang dari caraproses memandang maupun cara sistem operasi mengelola perangkat dan operasi m/k.

Perangkat lunak di organisasikan berlapis . lapisan bawah berurutan menyembunyikan kepelikan perangkat keras untuk lapisan lapisan lebih atas . lapisan lebih atas berurutan memberi antar muka yg bagus , bersih nyaman dan seragam ke pemakai .

Masalah maasalah yg pada perancanagan manajemen m/k adalah :

1.penamaan yg seragam (uniform naming )

Nama file atau perangkat adalah string atau integer , tidak bergantung pada perangkat sama sekali

2.penanganan kesalahan ( error handling )

Umumnya penanganan kesalahan di tangani sedekat mungkin dengan perangkat keras .

3.transfer sinkron vs asinkron

Kebanyakan i/o adalah i/o . pemroses memulai tranfer dan mengabaikan untuk melakukan kerja lain sampai interupsi tiba .setelah perintah read , program mulai di tunda secara otomatis sampai data tersebut di buffer .

4.sharable vs dedicated

Beberapa perangkat dapat dipakai bersama seperti disk. Tapi ada juga perangkat yg hanya satu pemakai yg di bolehkan memakai pada satu saat , perangkat itu di sebut dedicated.  Contohnya yaitu printer .

Hirarki manajemmen perangkat masukan / keluaran

1. Interrupt handler

2. Device driver

3. Perangkat lunak device – independen

4. Perangkat lunak level pemakai

125.1 interrupt handler

Interupsi harus disembunyikan agar tidak terlihat oleh rutin pada lapisan-lapisan berikutnya, Device driver di-block  saat perintah masukan/keluaran diberikan dan menunggu interupsi, ketika interiupsi terjadi,produser penangananinterupsi bekerja agar  device driver  keluar dari state Blocked.

12.5.2 device driver

Semua kode bergantung perangkat ditem patkan di device driver.masing-masing device  driver menangani satu tipe  atau kelas perangkat. Device driver bertugas menerima permintaan abstrak perangkat lunak device-independe nt diatasnya dan melakukan layanan sesui pemintaan itu .

Mekanisme kerja device driver

• Menerjemahkan perintah abstrak menjadi perintah kongkret.

• Begitu telah dapat di tentukan perintah yg harus diberikan ke pengendali .

Device  driver mulai menulis ke register register pengendali perangkat .

*setelah operasi selesai di lakukan perangkat, device driver memeriksa setatus kesalahan yang terjadi.

Jika berjalan baik, device driver melewatkan data ke perangkat lunak device-independent.

Device driver melaporkan setatus operasinya  ke pemanggil.

12.5.3 perangkat lunak  sistem operasi device independent

Fungsi utama perangkat lunak lapisan ini adalah membentuk fungsi-fungsi masukan/keluaran yang berlaku untuk semua perangkat  dan menyediakan  antarmuka yang seragam ke perangkat  lunak tingkat pemakai.

Fungsi-fungsi yang biasa dilakukan antara lain:

Interface seragam untuk seluruh device-driver

Penamaan perangkat

Proteksi perangkat

Memberi ukuran blok perangkat agar bersifat device-independent

Melakukan buffering

Alokasi penyimpanan pada block-devices

Alokasi dan pelepasan dedicated-devices

Pelaporan kesalahan

12.5.4 perangkat lunak level pemakai

Kebanyakan perangkat lunak masukan/keluaran terdapat disistem operasi. Saty bagian kecil berisi pustaka yang ditautkan di program pemakai dan berjalan di luar kernel. System  call masukan/keluaran umunya dibuat sebagai prosedur pustaka. Kumpulan prosedur pustaka masukan/keluaran merupakan bagian sistem masukan/keluaran.

Tidak semua perangkat lunak masukan/keluaran level pemakai berupa prosedur pustaka. Kategori penting adalah spooling. Spooling adalah cara khusus berurusan dengan perangkat masukan/keluaran dedicated (dedicated i/o devices) pada sistem  multiprogramming.

12.6 bufferring masukan/keluaran

Buffering adalah melembutkan lonjakan-lonjakan kebutuhan pengaksesan masukan/keluaran. Buffering meningkatkan efisien sistem operasi dan kinerja proses.

• Single buferring

• Double buferring

• Circular buferring

Single buffering

Single buffering merupakan teknik paling sederhana. Ketika proses  memberi perintah  untuk perangkat masukan/keluaran,sistem operasi menyediakan buffer memori utama milik sistem operasi untuk operasi.

Untuk perangkat berorientasi blok

Transfer masukan dibuat oleh buffer sistem. Ketika transfer selesai, proses memindahkan blok ruang memori sistem  operasi ke ruang memori milik pemakai  dan segera meminta blok lain. Teknik ini disebut reading ahead atau anticipated input.

Teknik ini dilakukan denga harapan blok yang dibaca akan segera dilperlukan . untuik banyak tipe komputasi, asumsi ini berlaku, hanya di akhir pemrosesan maka blok yang dibaca tidak diperlukan.

Keunggulan

Pendekatan ini umunya meningkatkan kecepatan dibanding tanpa buffering. Proses  pemakai dapat mengolah blok data sementara blok berikutnya sedang dibaca. Sistem operasi dapat men-swap keluar proses suspendedblocked atau suspendedready karena operasi masukan berada di memori sistem bukan memori proses pemakai.

kelemahan

teknik ini merumitkan sistem operasi karena harus mencatat pemberian buffering-buffering sistem ke masing-masing proses pemakai.

Logika  swapping juga dipengaruhi. Jika operasi masukan/keluaran melibatkan   disk untuk swapping maka membuat  antrian penulisan  ke disk yang sama yang digunakan  untuk swap-out  proses. Usaha men-swap proses dan melepas memori utama tidak dapat dimulai sampai operasi masukan/keluar selesai dimana waktu swapping ke disk tidak bagus untuk dilaksanakan.

Buffering untuk keluaran serupa buffering untuk masukan. Ketikan data transmisi data lebih dulu dikopi dari ruang pemakai kebuffer sistem. Proses pengirim menjadi bebas untuk melanjutkan eksekusi berikutnya atau di-swap ke disk  jika perlu.

Untuk perangkat berorintasi aliran karakter

Single buffering dapat  diterpakan dengan dua mode, yaitu;

• Mode line-at-a-time

• Mode byte-at-a-time

Operasi line-at-a-time cocok untuk terminal dengan mode gulung (scroll terminal atau dumb terminal).  Masukan pemakai adalah satu baris perwaktu dengan carriage return menandai akhir baris. Keluaran terminal juga serupa yaitu satu baris

Prioritas aplikasi dan Proses

Urutan proses apa yang dibunuh untuk merebut kembali sumber daya ditentukan oleh prioritas host aplikasi. Aplikasi prioritas adalah sama dengan komponen-prioritas tertinggi.

Mana dua aplikasi memiliki prioritas yang sama, proses yang telah di prioritas yang lebih rendah terpanjang akan dibunuh terlebih dahulu. Proses prioritas juga dipengaruhi oleh ketergantungan interprocess, jika aplikasi memiliki ketergantungan pada Service Provider atau Konten yang disediakan oleh aplikasi kedua, aplikasi sekunder akan memiliki setidaknya setinggi prioritas sebagai aplikasi mendukung.

Semua aplikasi Android akan tetap berjalan dan dalam memori sampai sistem kebutuhan sumber daya untuk aplikasi lain.

Sangat penting untuk struktur aplikasi anda dengan benar untuk memastikan bahwa prioritas adalah sesuai untuk melakukan pekerjaan itu. Jika Anda tidak, aplikasi Anda bisa dibunuh sementara itu di tengah-tengah sesuatu yang penting.

Daftar berikut rincian masing-masing negara aplikasi yang ditunjukkan pada Gambar, menjelaskan bagaimana negara ditentukan oleh komponen aplikasi itu terdiri dari:

Active Processes active  (foreground) proses adalah mereka aplikasi hosting dengan komponen saat berinteraksi dengan pengguna. Ini adalah proses Android sedang mencoba untuk tetap responsif dengan reclaiming sumber daya. Ada umumnya sangat sedikit proses tersebut, dan mereka akan dibunuh hanya sebagai pilihan terakhir.

Proses Aktif meliputi:

* Aktivitas di sebuah negara “aktif”, yaitu, mereka berada di latar depan dan menanggapi peristiwa pengguna. Anda akan menjelajahi negara Aktivitas secara lebih rinci nanti dalam bab ini.

* Kegiatan, Jasa, atau Receivers Broadcast yang sedang melaksanakan event handler onReceive.

* Layanan yang melaksanakan suatu onStart, OnCreate, atau event handler onDestroy.

Visible Processes Visible,  tetapi tidak aktif adalah mereka Aktivitas hosting “terlihat”. Seperti namanya, Kegiatan terlihat terlihat, tetapi mereka tidak di latar depan atau menanggapi peristiwa pengguna. Hal ini terjadi ketika sebuah Aktivitas hanya sebagian tertutup (dengan layar non-penuh atau Kegiatan transparan). Ada proses terlihat umumnya sangat sedikit, dan mereka hanya akan tewas dalam keadaan ekstrim untuk memungkinkan proses yang aktif untuk melanjutkan.

Started Service Processes, Proses Layanan Layanan hosting yang telah dimulai. Layanan mendukung proses berkelanjutan yang harus melanjutkan tanpa antarmuka terlihat. Karena Jasa tidak berinteraksi langsung dengan pengguna, mereka menerima prioritas yang sedikit lebih rendah daripada Aktivitas terlihat. Mereka masih dianggap sebagai proses latar depan dan tidak akan dibunuh kecuali sumber daya yang diperlukan untuk proses aktif atau terlihat.

Background Processes, Proses hosting Aktivitas yang tidak terlihat dan yang tidak memiliki Pelayanan yang telah mulai dianggap proses background. Ada umumnya akan sejumlah besar proses background yang Android akan membunuh menggunakan terakhir terlihat-pertama-membunuh tepuk-tiga barang untuk mendapatkan sumber daya untuk proses latar depan.

Empty Processes Untuk meningkatkan kinerja sistem secara keseluruhan, Android sering mempertahankan aplikasi dalam memori setelah mereka telah mencapai akhir hidup mereka. Android mempertahankan ini cache untuk meningkatkan waktu start-up aplikasi ketika mereka kembali diluncurkan. Proses ini Rou-tinely dibunuh sesuai kebutuhan.

Cara menggunakan memori dengan efisien

Android mengelola membuka aplikasi yang berjalan di latar belakang, sehingga secara resmi Anda seharusnya tidak peduli tentang hal itu. Ini berarti bahwa menutup aplikasi bila sistem membutuhkan lebih banyak memori. Namun, kebanyakan pengguna android tidak sangat puas dengan cara melakukan hal-hal karena kadang-kadang daun terlalu banyak proses yang berjalan yang menyebabkan kelesuan ‘dalam kinerja sehari-hari. Kita dapat menggunakan pembunuh tugas maju / task manager dan melakukan pekerjaan yang sangat baik.

0 Response to "Manajemen Masukan dan Keluaran pada Private Computer dan Android"

Post a Comment