Anda di halaman 1dari 10

Tugas

Arsitektur Komputer

Nama : Azra demasyahputra


Nim : 312210242
Kelas : TI.22.B1

Teknik Informatika
Universitas Pelita
Bangsa Tahun 20223
1. Apa aitu system I/O
Sistem I/O adalah suatu mekanisme pengiriman data secara bertahap
dan terus menerus melalui suatu aliran data yang diproses dari perangkat
input ke perangkat output. Sistem I/O merupakan suatu sarana
komunikasi antara pengguna dengan unit pemerosesan data (Komputer).
2. Perbedaan I/O Blocking dan non Blocking
Blocking IO adalah sebuah proses akan dijalankan jika proses
sebelum nya telah selesai dijalankan atau istilah lain nya yaitu
synchronous.
Blocking IO diadopsi oleh hampir semua web server dan web
framework seperti apache tomcat, jetty, dan lain sebagai nya. Blocking
IO sendiri mengadopsi teknologi thread pool dan task queue sehingga
proses dijalankan jika terdapat thread yang sedang idle atau tidak
digunakan. Berikut contoh arsitektur blocking IO jika
diimplementasikan ke dalam sebuah web server.
Non Blocking IO

Non Blocking IO adalah sebuah proses akan dijalankan tanpa harus


menunggu proses lain selesai atau istilah lain nya yaitu
asynchronous.Non blocking IO biasa nya menggunakan teknologi event
loop, dimana event loop ini sering disebut sebagai thread bos. Thread
bos ini berfungsi sebagai penerima request, dimana jika request tersebut
memiliki operasi non blocking IO maka akan langsung di execute oleh
thread bos tapi jika memiliki operasi blocking seperti http call, akses ke
database maka thread bos akan meneruskan operasi atau task tersebut ke
thread worker. Di dalam non blocking IO, thread yang akan digunakan
biasa nya sebesar (jumlah virtual processor x 2), dimana thread tersebut
nanti nya akan dijadikan sebagai worker thread. Misal nya jika kita
memiliki 4 thread virtual processor maka total thread yang akan di buat
adalah sebanyak 9 thread terdiri dari 1 thread bos dan 8 thread worker.
Berikut contoh arsitektur Non blocking IO jika diimplementasikan ke
dalam sebuah web server. Berikut arsitektur Non Blocking I/O
3. Perbedaan Polling dan Interrupt
Polling
Polling adalah protokol yang memberi tahu CPU bahwa perangkat
memerlukan perhatiannya. Tidak seperti interrupt, di mana perangkat
memberi tahu CPU bahwa ia membutuhkan pemrosesan CPU, dalam
polling CPU terus menanyakan perangkat I / O apakah ia membutuhkan
pemrosesan CPU.
CPU secara terus-menerus menguji setiap perangkat yang terhubung
dengannya untuk mendeteksi apakah ada perangkat yang membutuhkan
perhatian CPU. Setiap perangkat memiliki bit siap-perintah yang
menunjukkan status perangkat itu yaitu apakah itu memiliki beberapa
perintah untuk dieksekusi oleh CPU atau tidak. Jika bit perintah diatur 1,
maka ada beberapa perintah yang harus dijalankan jika bitnya 0, maka
tidak ada perintah. CPU memiliki bit sibuk yang menunjukkan status
CPU apakah sibuk atau tidak. Jika bit sibuk diatur 1, maka sibuk dalam
mengeksekusi perintah beberapa perangkat, selain itu 0.
Interrupt
Interrupt adalah mekanisme perangkat keras yang memungkinkan CPU
mendeteksi bahwa suatu perangkat membutuhkan perhatiannya. CPU
memiliki jalur permintaan interupsi kawat yang diperiksa oleh CPU
setelah eksekusi setiap instruksi. Ketika CPU merasakan sinyal interupsi
pada baris permintaan-interupsi, CPU menghentikan tugasnya yang
sedang berjalan dan merespons pengiriman interupsi oleh perangkat I /
O dengan melewati kontrol untuk interrupt handler . Penangan interupsi
menyelesaikan interupsi dengan memperbaiki perangkat.
Meskipun CPU tidak mengetahui kapan interupsi akan terjadi karena
dapat terjadi setiap saat, tetapi CPU harus merespons interupsi setiap
kali terjadi.
Ketika pengendali interupsi selesai menjalankan interupsi, maka
CPU melanjutkan eksekusi tugas yang telah dihentikannya untuk
meresponsinterupsi. Perangkatlunak, perangkat
keras, pengguna, beberapa kesalahan dalam program, dll. Juga dapat
menghasilkan interupsi. Interupsi menangani sifat CPU mengarah
ke multitasking, yaitu pengguna dapat melakukan sejumlah tugas yang
berbeda secara bersamaan. Jika lebih dari satu interupsi dikirim ke CPU,
interrupt handler membantu mengelola interupsi yang sedang menunggu
untuk diproses. Ketika interrupt handler dipicu oleh penerimaan interupsi,
ia memprioritaskan interupsi yang menunggu untuk diproses oleh CPU
dan mengaturnya dalam antrian untuk dilayani.
4. Cara kerja DMA dalam sistem I/O
Direct Memory Access memungkinkan proses pembacaan blok data
secara langsung tanpa melalui CPU. Ada tiga cara transfer data melalui
DMA, yaitu melalui mode Burst, mode Stealing Cycle, dan mode
Transparan.
Dalam mode Burst, bus sistem dilepaskan hanya setelah transfer data
selesai. Dalam mode Stealing Cycle, selama transfer data antara saluran
DMA dan perangkat I/O, bus sistem dilepaskan selama beberapa clock
cycle sehingga CPU dapat melakukan tugas lain. Ketika transfer data
selesai, CPU menerima permintaan interupsi dari pengontrol DMA.
Dalam mode transparan, channel DMA dapat mengambil alih bus sistem
hanya jika tidak diperlukan oleh prosesor.
Namun, menggunakan pengontrol DMA dapat menyebabkan masalah
koherensi cache. Data yang disimpan dalam RAM yang diakses oleh
pengontrol DMA mungkin tidak diperbarui dengan data cache yang
benar jika CPU menggunakan memori eksternal.
Solusinya termasuk membilas saluran cache sebelum memulai transfer
DMA keluar, atau melakukan pembatalan cache pada transfer DMA
yang masuk saat penulisan eksternal disinyalkan ke pengontrol cache.

5. Buffering dalam sistem I/O


Buffering merupakan teknik untuk melembutkan lonjakan lonjakan
kebutuhan pengaksesan I/O secara langsung. Buffering adalah cara untuk
meningkatkan efisiensi sistem operasi dan kinerja proses-proses.
Buffering dilakukan untuk tiga alasan :
1. Untuk mengatasi perbedaan kecepataan antara produsen dan
konsumen dari sebuah aliran data.
2. untuk menyesuaikan device-device yang mempunyai perbedaan
dalam ukuran transfer data.
3. untuk mendukung copy semantics untuk aplikasi I/O.
6. Cara sistem I/O mempengaruhi performa aplikasi.
Programmed IO
Pada metode ini pengendalian I/O dilakukan oleh program. Saat
CPU mengeksekusi sebuah program yang memberikan perintah
kepada I/O, maka secara otomatis CPU akan melakukan perintah
tersebut sampai selesai. Namun, pada metode ini jika kecepatan
transfer data pada CPU lebih cepat daripada perangkat peripheral,
maka saat CPU menerima perintah lain, CPU harus menunggu
sampai proses transfer data sebelumnya selesai.
Dalam menjalankan perintah I/O, CPU harus memberi alamat,
menentukan modul I/O dan perangkat peripheralnya, dan kemudian
CPU akan memberi perintah sesuai instruksi dari program tersebut.
Ada empat perintah yang akan ditangani oleh CPU,
yaitu Control, Test, Read, dan Write.
a.Control
Control berfungsi untuk mengaktivasi perangkat peripheral dan
memberitahukan tugas yang diperintahkan kepadanya.
b.Test
Test berfungsi untuk melakukan pengujian kondisi terhadap
modul I/O dan perangkat peripheral. Seperti melakukan
pengujian aktif tidaknya perangkat peripheral yang digunakan.
c.Read
Read berfungsi sebagai perintah pada modul I/O untuk
mengambil paket data yang kemudian akan ditaruh di buffer
internal. Proses
selanjutnya adalah mengirim paket data melalui bus data setelah
sinkronisasi.
d.Write
Write berfungsi sebagai perintah pada modul I/O untuk
mengambil paket data dari bus data untuk diberikan kepada
perangkat peripheral tujuan.
Interrupt-Driven I/O
Metode ini memungkinkan CPU untuk melakukan multitasking,
sehingga tidak ada waktu tunggu saat transfer data. Cara kerjanya,
yaitu CPU mengeluarkan perintah pada modul I/O, kemudian
perintah tersebut dijalankan, apabila perintah tersebut memerlukan
interupsi maka CPU akan memberi layanan interupsi, setelah itu
CPU akan menjalankan perintah selanjutnya.
Direct Memory Access (DMA)
Metode ini melibatkan CPU dan DMA. Prosesnya, yaitu CPU akan
menyerahkan kerja I/O kepada DMA, CPU hanya terlibat pada awal
proses berupa memberi perintah lengkap pada DMA dan pada akhir
proesesnya saja. Dengan demikian kinerja CPU tidak akan banyak
terganggu.
7. Bottleneck dan cara mengatasinya
Bottleneck merupakan salah satu hal yang tidak diinginkan dalam
pengoperasian komputer. Pasalnya, ini merupakan sebuah kondisi saat
suatu sistem bekerja tidak optimal akibat adanya faktor penghambat
misalnya komponen yang kurang sesuai.
Cara mengatasinya.
Bahwa terjadinya bottleneck biasanya dikarenakan prosesor yang ada
pada sebuah komputer tidak sebanding dengan VGA ataupun GPU yang
digunakan. Oleh karena itu, salah satu langkah yang paling mudah yang
dapat kita lakukan untuk mengatasi terjadinya bottleneck itu sendiri
adalah dengan memastikan bahwa prosesor yang kalian gunakan
memiliki rasio harga yang mendekati hingga lebih mahal jika
dibandingkan dengan harga VGA maupun GPU.

8. Pengertian Spooling dan cara mengatasinya.


Spooling adalah suatu program yang dapat dikerjakan walaupun
input/output masih mengerjakan proses lainya dan disk secara
bersamaan menggunakan data untuk banyak proses.
Cara mengatasinya :

- Restart computer

- Reset printer spooler

9. Cara mengoptimalkan sistem I/O pada OS linux


- Preload dan Prelink

Preload adalah aplikasi terminal itu menganalisis aplikasi mana


yang paling sering digunakan, dan memuatnya terlebih dahulu ke
dalam memori RAM perangkat sehingga mengurangi waktu
startup Anda saat menjalankannya.

Prelink itu juga merupakan aplikasi terminal tapi itu itu


bertanggung jawab untuk mempercepat pemuatan dinamis pustaka
OS dan aplikasi penting.Dengan 2 aplikasi ini bersama-sama,
mengoptimalkan Sistem GNU / Linux menjadi sangat mudah.

- Deborphan dan Localpurge


Deborphan adalah utilitas yang menemukan paket "orphaned" di
Sistem Operasi.
Localpurge
Localpurge adalah utilitas yang menghapus semua manual dan
bantuan dalam bahasa selain yang dikonfigurasi melaluinya dalam
Sistem Operasi .
Bleachbit
Bleachbit adalah sebuah utilitas multiplatform yang fungsi
utamanya adalah untuk mengosongkan ruang pada hard disk kita,
sangat mirip dengan gaya "pembersih" yang terkenal dan praktis di
Windows.
Baobab
Baobab adalah utilitas grafis yang memfasilitasi penyajian informasi
secara visual tentang konsumsi ruang pada hard drive, seperti
persentase penggunaan, ruang kosong, ukuran direktori dan file
OS.
FSlint

FSlint adalah seperangkat alat yang memungkinkan pemeliharaan


(pembersihan) file yang tidak perlu atau kelebihan di dalam Sistem
Operasi.
10. Sistem I/O Virtual
Adalah sistem yang secara fisik (hardware) berada ditempat lain dan
diakses melalui remote sistem jarak jauh maupun dekat. Dan
teknologi ini disebut Virtualiasasi.
Virtualisasi adalah proses dimana kita menggunakan satu perangkat
komputer seperti PC (personal computer) sebagai mesin utama untuk
membuat sebuah versi virtual dari sesuatu seperti komputasi,
penyimpanan, jaringan komunikasi, server, atau aplikasi lainnya.
Layaknya sebuah komputer yang memiliki komputer berbeda di
dalamnya.
Mengapa ini penting alasannya sebagai berikut :
1. Kemudahan untuk pemulihan data.
2. Mengurangi kebutuhan sistem perangkat fisik.
3. Memisahkan desktop bisnis dan desktop pribadi.
4. Dapat mengoperasikan perangkat lunak yang tidak bisa digunakan
pada sistem hardware.
5. Membuat lebih banyak cadangan penyimpanan.
6. Dapat menggandakan sebuah sistem ke mesin lainnya

Anda mungkin juga menyukai