Sabtu, 26 Oktober 2019

DATA TRANSFER


DATA TRANSFER DENGAN DMA CONTROLLER

DIRECT MEMORY ACCESS



Direct memory access (DMA) adalah suatu alat pengendali khusus disediakan untuk memungkinkan transfer blok data langsung antara perangkat eksternal dan memori utama,tanpa interversi terus menerus dari prosesor.Selain itu, Direct memory access (DMA) adalah suatu metode dimana beberapa hardware tertentu bisa mengakses memori sistem unruk proses baca/tulis tanpa melibatkan kerja dari CPU.  Beberapa hardware yang dapat menggunakan teknik:       
                    
Fungsi DMA
Adalah untuk membantu CPU fokus penuh untuk mengerjakan proses transfer data. Dengan DMA,   CPU cukup memulai prosesnya dan bisa melakukan kerja lain selama proses transfer itu   berlangsung dan tinggal menunggu informasi dari DMA controller jika proses transfer sudah   selesai.

Cara kerja DMA
Transfer DMA dilakukan oleh sirkuit kontrol yang merupakan bagian dari antar muka perangkat    I/O. Istilah ini yang sering banyak kita ketahui adalah sebagai kontroler DMA. Kontroler DMA    melakukan fungsi yang biasanya dilakukan oleh prosesor pada saat mengakses memori utama (yang   sering disebut : RAM). Untuk setiap word yang ditransfer, kontroler ini menyediakan alamat     memori dan semua sinyal bus yang mengontrol transfer data. Karena harus mentransfer sejumlah    blok data, maka kontroler DMA harus menaikkan alamat memori untuk word yang berurutan dan   mencatat jumlah transfer.
Kerja DMA terkait dengan : DMA controller, Processor, Memory, I/O Device


Berdasarkan gambar diatas, cara kerjanya adalah sebagai berikut : 
  1.  I/O Device terhubung dengan DMA controller memberikan instruksi yang harus di proses
  2. DMA controller mengirimkan pemberitahuan ke processor (CPU) akan ada proses yang dihandle oleh DMA controller
  3. Processor menginformasikan ke memory bahwa DMA akan mengakses memory untuk pemrosesan suatu instruksi 
  4. DMA Controller terhubung dengan memory dan akses alamat, data yang diperlukan
  5. DMA controller mengirimkan hasil proses kembali ke I/O device
  6. Jika proses selesai, DMA controller kembali melaporkan ke processor (CPU) bahwa proses telah beres dilakukan. 
  7.   I/O interface adalah peralatan yang dimana informasi dapat masuk  dan keluar dari perangkat seperti computer. Dalam komputasi input output adalah komunikasi antara system pengolahan informasi dan dunia luar. Input adalah sinyal atau data yang diterima oleh system dan output adalah sinyal atau data yang dikirim dari itu. Contoh alat input yaitu keyboard , mouse , scanner, joystick , camera digital, bar code reader, webcam . dan contoh dari alat output adalah monitor, printer,  proyektor, dan speaker.
  8. kemudian 8237 mengaktifkan sinyal pada bus kendali, yaitu MEMW (memory write), yang akan mengaktifkan memori dengan alamat yang dituju untuk menerima data, dan (I/O read), yang akan mengaktifkan disk controller untuk mengirimkan data. 
  9. data kemudian ditransfer secara langsung dari port I/O ke memori tanpa melalui mikroprosesor maupun DMA controller. 

Dapatdisimpulkanprinsipsederhanya:
DMA controller mengambil alih kerja processor dalam memproses instruksi yang masuk melalui I/O device. Processor cukup mendapatkan laporan saja bahwa akan ada tugas yang dihandle oleh DMA controller, dan setelah beres, tinggal nunggu laporan ” tugas beres”.


sumber :


Senin, 21 Oktober 2019

PENGERTIAN DARI BATCH SYSTEM, CRITICAL SECTION, PROCESS CONTROL BLOCK, DISTRIBUTED PROCESSING, HANDHELD, THREAD


SISTEM OPERASI

1.Batch System
Batch system adalah dimana job-job yang mirip dikumpulkan dan dijalankan secara kelompok kemudian setelah kelompok yang dijalankan tadi selesai maka secara otomatis kelompok lain dijalankan. jadi dengan kata lain adalah teknologi proses komputer dari generasi ke-2. yang jika suatu tugas sedang dikerjakan pada 1 rangkaian, akan di eksekusi secara berurutan. Pada komputer generasi ke-2 sistem komputer nya maasih blum dilengkapi oleh sebuah sistem operasi. But, dalan beberapa fungsi sistem operasi, seperti os yang tengah berkembang pada jaman sekarang ini. Contohnya adlah FMS ( Fortarn Monitoring System ) dan IBSYS.
Jadi bisa disimpulkan, bahwa komputer generasi ke-2 ini merupakan generasi pertama Sistem Operasi.


contoh : sebuah Batch System adalah sebuah e-mail dan transaksi batch processing. Dalam suatu sistem batch processing, transaksi secara individual dientri melalui peralatan terminal, dilakukan validasi tertentu, dan ditambahkan ke transaction file yang berisi transaksi lain, dan kemudian dientri ke dalam sistem secara periodik. Di waktu kemudian, selama siklus pengolahan berikutnya, transaction file dapat divalidasi lebih lanjut dan kemudian digunakan untuk meng-up date master file yang berkaitan.
ada 2 cara dalam Batch System yaitu :
  1. Resident Monitor
  2. Operator bertugas mengatur urutan job
  3. Job-job yg sama cukup dicetak sekali saja, cara inilah yg disebut “Batch system”
Teknik pengurutan job secara manual begini akan menyebabkan tingginya waktu
menganggur CPU. Muncul teknik pengurutan job otomatis yg mampu mentransfer secara otomatis dari suatu proses ke proses lainnya.Program kecil dan bersifat residen dimemori serta berisi urutan2 job yg akan berpindah secara otomatis, inilah “Resident Monitor”
  1. Overlap Operasi antara I/O dg CPU
  •  Off line Processing, data yg dibaca dari card reader disimpan dulu dalam tape driver sebelum dibawa ke CPU, demikian pula informasi yg mau dicetak, disimpan dulu di tape
  •   Spooling  adalah suatu program dapat dikerjakan walaupun I/O masih mengerjakan  proses lainnya dan disk secara bersamaan menggunakan data untuk banyak proses. Pengertian multi programming adalah kegiatan menjalankan beberapa program pada memori pada satu waktu.
2. Masalah Critical Section

Critical Section adalah sebuah segmen kode dari sebuah proses yang mana sumber daya diakses bersamaan.
1. Mutual Exclusion.
Jika suatu proses sedang menjalankan critical section-nya, maka proses-proses lain tidak dapat menjalankan critical section mereka. Dengan kata lain, tidak ada dua proses yang berada di critical section pada saat yang bersamaan.
2. Terjadi kemajuan (progress).
Jika tidak ada proses yang sedang menjalankan critical section-nya dan ada proses-proses lain yang ingin masuk ke critical section, maka hanya proses-proses yang yang sedang berada dalam entry section saja yang dapat berkompetisi untuk mengerjakan critical section.
3. Ada batas waktu tunggu (bounded waiting).
Jika seandainya ada proses yang sedang menjalankan critical section, maka proses lain memiliki waktu tunggu yang ada batasnya untuk menjalankan critical section-nya, sehingga dapat dipastikan bahwa proses tersebut dapat mengakses critical section-nya (tidak mengalami starvation: proses seolah-olah berhenti, menunggu request akses ke critical section diperbolehkan).

Image result for CONTOH DARI CRITICAL SECTION

          Kunci untuk mencegah masalah ini dan di situasi yang lain yang melibatkan shared memori, shared berkas, and shared sumber daya yang lain adalah menemukan beberapa jalan untuk mencegah lebih dari satu proses untuk melakukan proses writing dan reading kepada shared data pada saat yang sama. Dengan kata lain kita memutuhkan mutual exclusion, sebuah jalan yang menjamin jika sebuah proses sedang menggunakan shared berkas, proses lain dikeluarkan dari pekerjaan yang sama. Kesulitan yang terjadi karena proses 2 mulai menggunakan variabel bersama sebelum proses 1 menyelesaikan tugasnya. Masalah menghindari race conditions dapat juga diformulasikan secara abstrak. Bagian dari waktu, sebuah proses sedang sibuk melakukan perhitungan internal dan hal lain yang tidak menggiring ke kondisi race conditions. Bagaimana pun setiap kali sebuah proses 
mengakses shared memory atau shared berkas atau melakukan sesuatu yang kitis akan menggiring kepada race conditions. Bagian dari program dimana shaed memory diakses disebut Critical Section atau Critical Region. Walau pun dapat mencegah race conditions, tapi tidak cukup untuk melakukan kerjasama antar proses secara pararel dengan baik dan efisien dalam menggunakan shared data. Kita butuh 4 kondisi agar menghasilkan solusi yang baik:
  • Tidak ada dua proses secara bersamaan masuk ke dalam citical section.
  • Tidak ada asumsi mengenai kecepatan atau jumlah cpu.
  • Tidak ada proses yang berjalan di luar critical secion yang dapat mengeblok proses lain.
  • Tidak ada proses yang menunggu selamamya untuk masuk critical section.
Contoh pada algoritma
Cara-cara memecahkan masalah
• Hanya dua proses, Po dan P1
• Struktur umum dari proses adalah Pi (proses lain Pj)
do {                                      
critical section
 remainder section
       } while(1);
3.Sistem Operasi - PCB (process control block)

A.PCB (process control block) dalam Sistem Operasi
Sebagai pendahuluan kita harus mengenal dulu apa itu Sistem Operasi,Sistem operasi adalah seperangkat program yang mengelola sumber daya perangkat keras komputer, dan menyediakan layanan umum untuk aplikasi perangkat lunak. Sistem operasi adalah jenis yang paling penting dari perangkat lunak sistem dalam sistem komputer. Tanpa sistem operasi, pengguna tidak dapat menjalankan program aplikasi pada komputer mereka, kecuali program aplikasi booting.

Sistem operasi mempunyai penjadwalan yang sistematis mencakup perhitungan penggunaan memori, pemrosesan data, penyimpanan data, dan sumber daya lainnya.Untuk fungsi-fungsi perangkat keras seperti sebagai masukan dan keluaran dan alokasi memori, sistem operasi bertindak sebagai perantara antara program aplikasi dan perangkat keras komputer,meskipun kode aplikasi biasanya dieksekusi langsung oleh perangkat keras dan seringkali akan menghubungi OS atau terputus oleh itu. Sistem operasi yang ditemukan pada hampir semua perangkat yang berisi komputer-dari ponsel dan konsol permainan video untuk superkomputer dan server web.
B.Definisi Proses
Proses adalah program yang sedang dieksekusi. Menurut SilberSchatz, suatu proses adalah lebih dari sebuah kode program, yang terkadang disebut text section . Proses juga mencakup program counter , yaitu sebuah stack untuk menyimpan alamat dari instruksi yang akan dieksekusi selanjutnya dan register. Sebuah proses pada umumnya juga memiliki sebuah stack yang berisikan data-data yang dibutuhkan selama proses dieksekusi (seperti parameter method, alamat return dan variabel lokal), dan sebuah data section yang menyimpan variabel global.

Kami tekankan bahwa program itu sendiri bukanlah sebuah proses; suatu program adalah satu entitas pasif; seperti isi dari sebuah berkas yang disimpan didalam disket. Sedangkan sebuah proses dalam suatu entitas aktif, dengan sebuah program counter yang menyimpan alamat instruksi selanjut yang akan dieksekusi dan seperangkat sumber daya ( resource yang dibutuhkan agar sebuah proses dapat dieksekusi.
Contoh : Pada sistem operasi modern adalah:
1. Linux
2. Android
3. iOS
4. Mac OS X,


4.Pengertian Distributed Processing


    Pengertian Distributed Processing

Image result for PENGERTIAN DISTRIBUTED PROCESSING beserta contohnya

Distributed Processing adalah kemampuan menjalankan semua proses pengolahan data secara bersama antara komputer yang berfungsi sebagai pusat dengan beberapa komputer yang lebih kecil dan saling dihubungkan melalui jalur komunikasi. Setiap komputer tersebut memiliki prosesor mandiri sehingga mampu mengolah sebagian data secara terpisah, kemudian hasil pengolahan tadi digabungkan menjadi satu penyelesaian total. Jika salah satu prosesor mengalami kegagalan atau masalah maka prosesor yang lain akan mengambil alih tugasnya. Dalam proses distribusi sudah mutlak diperlukan perpaduan yang mendalam antara teknologi komputer dan telekomunikasi, karena selain proses yang harus didistribusikan, semua host komputer wajib melayani terminal-terminalnya dalam satu perintah dari komputer pusat.

Contoh : system terdistribusi lainnya adalah situs berita detik. System ini memanfaatkan layanan internet dalam mendistribusikan informasi kepada penggunanya.
Pengguna harus memasukkan alamat web http://www.detik.com/ pada browser. Melalui koneksi internet, input tersebut akan diproses kemudian memanggil dan memunculkan tampilan web server www.detik.com pada browser. Pada browser apapun dan dimanapun, akan memunculkan tampilan dengan isi yang sama. Pada halaman tampilan tersebut pengguna dapat mengakses informasi yang dibutuhkan. Informasi tersebut berasal dari database detik di web server. Dengan adanya sistem terdistribusi inilah informasi dapat didistribusikan dan disebarkan melalui koneksi internet sehingga pengguna dapat mengaksesnya.




5.Pengertian Sistem HandHeld

         Handheld computer adalah komputer yang cukup kecil sehingga dapat digenggam. Komputer genggam ini dapat bekerja dengan fungsi yang hampir sama dengan komputer biasa. Meskipun sangat mudah untuk dibawa, komputer genggam tidak dapat menggantikan komputer biasa (PC) karena hanya memiliki keyboard dan layar yang kecil. Beberapa produsen mencoba untuk memecahkan masalah keyboard yang terlalu kecil. Keyboard tersebut diganti dengan electronic pen. Bagaimanapun,electronic pen ini masih bergantung pada teknologi pengenalan tulisan tangan yang masih dalam tahap pengembangan.
Image result for pengertian handheld pada sistem operasi dan contohnya
Kelebihan dari komputer genggam ini adalah pengguna dapat menyimpan serta mengatur data dengan lebih efisien dan akurat. Biasanya komputer genggam dilengkapi dengan teknologi Bluetooth. Bluetooth memang tepat untuk mencetak secara nirkabel, menghubungkan antara komputer genggam dengan mobile printer. Tidak hanya dengan printer tetapi komputer genggam juga dapat dihubungkan dengan alat-alat lain melalui koneksi Bluetooth.

Komputer genggam dapat meningkatkan produktivitas pengguna dan memudahkan mereka untuk bekerja lebih efisien. Komputer genggam yang paling banyak digunakan adalah komputer yang khusus dirancang untuk menyediakan fungsi PIM (Personal Information Manager), seperti kalender, agenda, dan buku alamat.
Contoh : system handheld adalah
1.Android,
2.Symbian.

6.Thread Sistem Operasi

1.Thread
  • Thread adalah unit terkecil dalam suatu proses yang bisa dijadwalkan oleh sistem operasi.
  • Merupakan sebuah status eksekusi (ready, running, suspend, block, queue, dll)
  • Kadang disebut sebagai proses ringan (lightweight).
  • Unit dasar dari dari sistem utilisasi pada processor (CPU).
  • Dalam thread terdapat: ID Thread, Program Counter, Register dan Stack.
  • Sebuah thread berbagi code section, data section dan resource sistem operasi dengan thread yang lain yang memiliki proses yang sama.
                                            
2.Single-Threading dan Multi-Threading Single

Threading adalah sebuah lightweight process (proses sederhana) yang mempunyai thread tunggal yang berfungsi sebagai pengendali/ controller. Multi-Threading adalah proses dengan thread yang banyak dan mengerjakan lebih dari satu tugas dalam satu waktu.

3. Keuntungan Multi-Threading

  1. Responsive; tanggap: Multi-Threading mengizinkan program untuk berjalan terus walau-pun pada bagian program tersebut di block atau sedang dalam keadaan menjalankan operasi yang lama/ panjang. Sebagai contoh, multithread web browser dapat mengizinkan pengguna berinteraksi dengan suatu thread ketika suatu gambar sedang diload oleh thread yang lain.
  2. Pembagian sumber daya: Secara default, thread membagi memori dan sumber daya dari proses.Ketika thread berjalan pada data yang sama, thread tersebut bisa berbagi cache memory.
  3. Ekonomis: Mengalokasikan memori dan sumber daya untuk membuat proses adalah sangat mahal. Alternatifnya, karena thread membagi sumber daya dari proses, ini lebih ekonomis untuk membuat threads.
  4. Pemberdayaan arsitektur multiprosesor: Keuntungan dari multi-threading dapat ditingkatkan dengan arsitektur multiprosesor, dimana setiap thread dapat jalan secara paralel pada prosesor yang berbeda. Pada arsitektur prosesor tunggal, CPU biasanya berpindah-pindah antara setiap thread dengan cepat, sehingga terdapat ilusi paralelisme, tetapi pada kenyataannya hanya satu thread yang berjalan di setiap waktu.
4. Kerugian Multi-Threading


  1. Multiple thread bisa mengganggu satu sama lain saat berbagi hardware resource, misalnya chace memory.
  2. Execution time (waktu proses) dari sebuah single-thread tidak dapat diimprove (ditambah), tapi malah bisa diturunkan. Ini terjadi karena penurunan frequensi yang dibutuhkan ketika terjadi pergantian thread yang berjalan.
  3. Harus ada dukungan dari hardware ataupun software untuk melakukan multi-Threading.

 

CONTOH WINDOW PADA THREAD :

One-to-one mapping
Berisi:
identitas
register, stack (user & kernel), data khusus 1
Struktur data utama:
Executive thread block (ETHREAD)
Kernel thread block (KTHREAD)

Thread environment block (TEB)]


REFERENSI LINK