Rabu, 13 November 2019

Tugas 4( Pengimplementasikan dari sebuah Direktori dalam Disk dan Keunggukan dari file system UNIX dan Windows)



Pengimplementasikan sebuah Direktori dalam Disk.

1.Struktur Sistem File

  • File             : Kumpulan informasi yang berhubungan dan tersimpan dalam secondary storage
  • Sistem File : Metode penyimpanan dan pengorganisasian file untuk mempermudah proses pencarian dan pengaksesan
Layered Sistem File


Ket:

  • I/O control (driver device dan interrupt handler) : Sebagai pengirim informasi antara memori dan sistem disk
  • Basic file system : memberi perintah device driver untuk membaca dan menulis blok fisik pada disk
  • File-organization module : berisi informasi tentang logical address dan physical address dari file tersebut, mengatur juga sisa disk dengan melacak alamat yang belum dialokasikan dan menyediakan alamat tersebut saat user ingin menulis file ke dalam disk
  • Logical file system : tingkat ini berisi informasi tentang simbol nama file, struktur dari direktori, proteksi dan sekuriti dari file tersebut

File Control Block

  • File Control Block : Informasi mengenai sebuah file yang disimpan pada struktur penyimpan


a) membuka file b) membaca file

Virtual File System(VFS)


VFS digunakan untuk mengimplementasikan berbagai sistem file dengan tipe yang berbeda dalam waktu bersamaan

Skema :



Implementasi Direktori


Implementasi direktori menggunakan daftar nama file linier dengan pointer ke blok data. Hal ini berdampak pada pemrograman yang mudah tetapi memerlukan waktu yang lama untuk eksekusi. Untuk mempercepat waktu eksekusi digunakan Tabel Hash berupa daftar linier dengan struktur data hash. Dengan struktur data hash akan mengurangi waktu pencarian direktori. Tetapi struktur hash mempunyai resiko bertabrakan apabila terjadi situasi dimana dua nama file hash yang berbeda berada pada lokasi yang sama. Struktur hash berukuran tetap.

Metode Alokasi



Metode alokasi berhubungan dengan bagaimana blok-blok pada disk dialokasikan untuk file. Terdapat beberapa metode alokasi antara lain alokasi berurutan (contiguous allocation), alokasi berhubungan (linked allocation) dan alokasi berindeks (indexed allocation).


Alokasi Berurutan (Contiguous Allocation)Pada alokasi berurutan, setiap file menempati sekumpulan blok yang berurutan pada disk. Model ini sangat sederhana karena hanya membutuhkan lokasi awal (block #) dan panjang (jumlah blok). Akses pada blok disk dilakukan secara random dan memakan banyak ruang (permasalahan dynamic storage allocation). File yang disimpan secara berurutan tidak dapat berkembang.



  • Alokasi Berurutan
Beberapa sistem file yang baru (misalnya Veritas File System) menggunakan skema alokasi berurutan yang dimodifikasi. File sistem Extent-based mengalokasikan blok pada disk secara berkembang (extent). Extent adalah blok berurutan pada disk. Extent dialokasikan untuk alokasi file. Sebuah file terdiri dari satu atau lebih extent.
  • Alokasi Berhubungan (Linked Allocation)
Pada alokasi berhubungan, setiap file adalah sebuah linked list dari blok-blok terpisah pada disk. Pada setiap blok terdapat satu pointer yang menunjuk ke blok lain.
block =





  • Alokasi Berhubungan

Alokasi berhubungan mempunyai bentuk yang sederhana, hanya memerlukan alamat awal. Sistem manajemen ruang bebas pada alokasi berhubungan tidak memakan banyak ruang. Model ini tidak menggunakan random access. Blok yang diakses adalah blok ke-Q pada rantai link dari blok pada file. Perpindahan ke blok = R + 1. Contoh sistem file yang menggunakan alokasi berhubungan adalah file allocation table (FAT) yang digunakan MS-DOS dan OS/2. Bentuk file allocation tabel

  • File allocation table
Alokasi Berindeks (Indexed Allocation)Pada alokasi berindeks, terdapat satu blok yang berisi pointer ke blok-blok file. Alokasi berindeks berupa bentuk logika.

  • Alokasi berindeks

Pada alokasi berindeks, memerlukan tabel indeks yang membawa pointer ke blok-blok file yang lain. Akses dilakukan secara random. Merupakan akses dinamis tanpa fragmentasi eksternal, tetapi mempunyai blok indeks yang berlebih. Pemetaan dari logika ke fisik dalam file ukuran maksimum 256K word dan ukuran blok 512 word hanya memerlukan 1 blok untuk tabel indeks. Apabila pemetaan dari logika ke fisik dalam sebuah file dari ukuran tak hingga (ukuran blok adalah 512 word) maka digunakan skema menghubungkan blok link dari tabel indeks (ukuran tak terbatas). Untuk ukuran file maksimum 5123 digunakan skema two-level indeks (Gambar 10-8). Pada skema two-level indeks terdapat tabel indeks luar dan dalam. Indeks dipetakan ke tabel indeks luar kemudian dipetakan ke tabel indeks dalam setelah itu mengakses blok file yang dimaksud. Sistem operasi UNIX mengimplementasikan kombinasi alokasi berurutan dan alokasi berindeks


Skema two level indek


Alokasi pada UNIX


Keunggulan dari File System UNIX dan WindowsFile System adalah sebuah metoda untuk memberi nama pada berkas dan meletakkannya pada media penyimpanan. Semua sistem operasi mulai dari DOS, Windows, Macintosh dan turunan UNIX memiliki Sistem berkas sendiri untuk meletakkan file dalam sebuah struktur hirarki. Contoh dari sistem berkas termasuk di dalamnya FAT, NTFS, HFS dan HFS+, EXT2, EXT3, ISO 9660, ODS-5, dan UDF. Beberapa sistem berkas antara lain juga journaling file system atau versioning file system, Sistem berkas juga menentukan konvensi penamaan berkas dan peletakan berkas pada stuktur direktori.


File Sistem Solaris / UNIX

ZFS (ZettaByte File Sistem)

Fitur-fitur didalam file sistem ZFS:

  1.  Memiliki kemampuan pemeriksaan integritas data yang menyeluruh menggunakan mekanisme checksum dan transactional copy-on-write yang canggih, jadi di setiap file yang disimpan dengan ZFS akan dicek integritas nya dengan Checksum, jadi jika suatu saat nilai checksum ini berubah, kita dapat mengetahui kalau file ini corrupt.
  2. Pool-wide striping dinamis yang dimiliki ZFS memungkinkan adanya peningkatkan bandwidth I/O secara otomatis saat terjadi penambahan storage, membuat partisi menjadi semudah membuat folder, belum lagi sensor pre-fetch yang dapat dengan cerdas membaca pola data untuk lebih mendongkrak kinerja.
  3. Merupakan satu-satunya file system 128-bit yang dapat menampung data dengan kapasitas hampir tidak terbatas, mampu menangani skala yang besar, compression built-in, serta fasilitas snapshot dan clone yang canggih.
  4. Proses checking filesystem yang cepat apabila terjadi proses force reboot ataupun power failure.
Hal tersebut membuat file sistem Solaris paling canggih saat ini jika dibandingkan dengan file sistem yang ada sekarang.
  • UFS (Unix File Sistem)
UFS adalah file system yang tergantung pada jumlah ruang kosong disk. Karena file sistem UFS akan lebih cepat menyimpan pada disk yang kosong dari pada disk yang penuh.. Jika cache disk penuh dan kinerja Squid tampak buruk, cobalah mengurangi nilai kapasitas cache_dir sehingga lebih banyak ruang bebas tersedia. Tentu saja pengurangan dalam ukuran cache juga menurunkan hit ratio squid. Jika menggunakan atau membeli komponen Squid baru cache, mempertimbangkan disk yang jauh lebih besar dari yang dibutuhkan dan menggunakan hanya setengah ruang disk. Cara kerja file sistem UFS adalah menangani update. ketika mengubah file dan di simpan ke disk, data baru akan menggantikan data lama. Bila ada penghapusan file, UFS meng-update direktori secara langsung. Di sisi lain, menulis pembaruan kepada jurnal terpisah, atau file log. Pada file sistem ini biasanya dapat memilih apakah akan ada perubahan perubahan file, perubahan meta data, atau keduanya.
  • VxFS (Veritas File Sistem)
Veritas Filesystem (VxFS) adalah sejauh mana berbasis, maksudnya VxFS diarahkan untuk lingkungan Unix yang membutuhkan kinerja tinggi dan ketersediaan dan menangani sejumlah data yang basar.

Fitur-fitur dari VxFS:
· Luas berbasis alokasi
· tingkat atribut
· File sistem pemulihan cepat
· Daftar kontrol akses (ACL)
· Online administrasi
· Online backup
· Enchanced I / O dan opsi untuk mount
· Peningkatan sinkron
· Dukungan untuk sistem berkas yang besar (hingga 2 terabyte)
· Dukungan untuk file besar (hingga 1 terabyte) Veritas quicklog

  • QFS (Quick File Sistem)
QFS adalah file sistem open source dari Sun Microsystems. Hal ini terintegrasi dengan SAM, Storage dan Manajer Arsip, dan karenanya sering disebut sebagai SAM-QFS. SAM menyediakan fungsionalitas dari Storage Manager hirarkis. QFS mendukung kemampuan manajemen volume tertentu, yang memungkinkan banyak disk untuk dikelompokkan bersama ke dalam sistem file. Metadata file sistem dapat disimpan pada satu set yang terpisah dari disk, yang berguna untuk aplikasi streaming dimana disk lama berusaha tidak dapat ditoleransi. SAM memperluas sistem file QFS transparan untuk penyimpanan arsip.


File System Windows

  • FAT16 (File Allocation Table)

FAT16 dikenalkan oleh MS-DOS pada tahun 1981. Awalnya, Sistem ini di design untuk mengatur file di floopy drive dan mengalami beberapa kali perubahan sehingga digunakan untuk mengatur file di harddisk. FAT16 adalah sistem berkas yang menggunakan unit alokasi yang memiliki batas hingga 16-bit, sehingga dapat menyimpan hingga 216 unit alokasi (65536 buah). Sistem berkas ini memiliki batas kapasitas hingga ukuran 4 Gigabyte saja. Ukuran unit alokasi yang digunakan oleh FAT16 bergantung pada kapasitas partisi yang akan hendak diformat.

Kelebihan :

FAT16 adalah sebuah file system yang kompatibel hampir di semua Operating System baik itu Windows 95/98/me, OS/2 , Linux dan bahkan Unix.



  • FAT32

FAT32 mulai di kenal pada tahun 1976 dan digunakan pada sistem operasi Windows 95 SP2, dan merupakan pengembangan lanjutan dari FAT16. Karena menggunakan tabel alokasi berkas yang besar (32-bit), FAT32 secara teoritis mampu mengalamati hingga 232 unit alokasi (4294967296 buah). Meskipun demikian, dalam implementasinya, jumlah unit alokasi yang dapat dialamati oleh FAT32 adalah 228 (268435456 buah).
Kelebihan :
FAT32 menawarkan kemampuan menampung jumlat cluster yang lebih besar dalam partisi. Selain itu juga mengembangkan kemampuan harddisk menjadi lebih baik dibanding FAT16.

  • NTFS (New Technology File System)
NTFS di kenalkan pertama pada Windows NT dan merupakan file system yang sangat berbeda di banding teknologi FAT. NTFS atau New Technology File System1, merupakan sebuah sistem berkas yang dibekalkan oleh Microsoft dalam keluarga sistem operasi Windows NT, yang terdiri dari Windows NT 3.x (NT 3.1, NT 3.50, NT 3.51), Windows NT 4.x (NT 4.0 dengan semua service pack), Windows NT 5.x (Windows 2000, Windows XP
dan Windows Server 2003), serta Windows NT 6.x (Windows Vista, Windows 7). NTFS bekerja berdasarkan prinsip BTree dan menggunakan Full Indexing. Karena itu pula fragmentation dapat ditekan seminimal mungkin. Kemudian, setiap file pada NTFS memiliki checksum, yang memungkinkan file tersebut diperbaiki secara sempurna bila suatu saat NTFS tersebut bermasalah.

Kelebihan :
NTFS menawarkan security yang jauh lebih baik , kompresi file , cluster dan bahkan support enkripsi data. NTFS merupakan file system standar untuk Windows Xp dan apabila anda melakukan upgrade Windows biasa anda akan di tanyakan apakah ingin mengupgrade ke NTFS atau tetap menggunakan FAT. NTFS juga memiliki fitur untuk menampung lebih dari satu buah ruangan data dalam sebuah berkas. Fitur ini disebut dengan Alternate Data Stream.



Perbandingan antara Windows dan UNIX



Sistem berkas UNIX berbeda dengan sistem berkas Windows (DOS) karena sistem berkas UNIX lebih hebat dan mudah diatur daripada Windows (DOS). Penamaan dalam UNIX dan Windows berbeda. Karena sistem Windows ingin memudahkan pengguna maka sistem mereka mengubah nama menjadi nama yang lebih mudah bagi para pengguna. Contohnya adalah nama folder dalam adalah perubahan dari directory yang masih digunakan oleh UNIX. Penggunaan back slash (\) digunakan untuk memisahkan direktori-direktori dalam Windows, tetapi hal ini tidak ada dalam UNIX. Sistem UNIX menggunakan case sensitive, yang artinya nama suatu berkas yang sama jika dibaca, tetapi penulisan namanya berbeda dalam hal ada satu file yang menggunakan huruf kapital dalam penamaan dan satu tidak akan berbeda dalam UNIX. Contohnya ada berkas bernama berkasdaku.txt dan BerkasDaku.txt, jika dibaca nama berkasnya sama tetapi dalam UNIX ini merupakan dua berkas yang jauh berbeda. Jika berkas-berkas ini berada di sistem Windows, mereka menunjuk ke berkas yang sama yang berarti Windows tidak case sensitive.



Hal lain yang membedakan sistem berkas UNIX dengan Windows adalah UNIX tidak menggunakan drive letter seperti C:, D: dalam Windows. Tetapi semua partisi dan drive ekstra di mount didalam sub-direktori di bawah direktori root. Jadi pengguna tidak harus bingung di drive letter mana suatu berkas berada sehingga seluruh sistem seperti satu sistem berkas yang berurutan dari direktori root menurun secara hierarki.


sumber:
http://oahoa.blogspot.com/2015/03/implementasi-direktori.html
http://latiefscoutcs14.blogspot.com/2015/11/macam-macam-file-sistem-kelemahan-dan.html
http://iim6.tripod.com/ibam-os-html/x5515.html

Rabu, 30 Oktober 2019

Tugas 3(ProsesTransferMelalauiDMA)



Proses Transfer Data Melalui DMA

Pengertian DMA

DMA adalah singkatan dari Direct Memory Access adalah kemampuan pada komputer modern yang memungkinkan perangkat periferal untuk mengirim data ke memori motherboard tanpa intervensi dari CPU.

Pengontrol DMA adalah perangkat keras khusus – sekarang tertanam ke dalam chip dalam prosesor terintegrasi modern – yang mengelola transfer data dan menengahi akses ke bus sistem. Kontroler diprogram dengan pointer sumber dan tujuan (tempat membaca / menulis data), penghitung untuk melacak jumlah byte yang ditransfer, dan pengaturan, yang mencakup I / O dan tipe memori, interupsi dan status untuk siklus CPU.

Transfer dimulai ketika pengontrol DMA diberitahu tentang kebutuhan untuk memindahkan data ke memori oleh beberapa peristiwa (tekan keyboard atau klik mouse, misalnya). Pengontrol menegaskan sinyal permintaan DMA ke CPU untuk menggunakan bus sistem. CPU menyelesaikan operasi saat ini dan memberikan kontrol bus ke pengontrol DMA melalui sinyal yang dikenali DMA. Pengontrol kemudian membaca dan menulis data dan mengontrol sinyal seolah-olah itu adalah CPU, yang pada saat itu adalah dinyatakan (idle). Setelah menyelesaikan transfer, pengontrol DMA menegaskan sinyal permintaan DMA dan CPU pada gilirannya menghapus sinyal pengenalan DMA dan melanjutkan kontrol bus.

DMA diimplementasikan dalam arsitektur bus komputer untuk mempercepat operasi komputer dan memungkinkan multitasking. Biasanya, CPU akan terisi penuh dalam operasi baca / tulis apa pun; Mengaktifkan DMA memungkinkan membaca / menulis data dalam memori internal, memori eksternal dan periferal tanpa keterlibatan CPU, sehingga membuat prosesor tersedia untuk tugas-tugas lain. Ini memastikan operasi yang efisien, karena perpindahan data ke / dari memori adalah salah satu operasi komputer yang paling umum dan membebaskan CPU dari overhead ini dapat menyebabkan peningkatan kinerja yang signifikan.

DMA berguna dalam aplikasi komputasi real time di mana operasi kritis harus dilakukan secara bersamaan. Pemrosesan aliran adalah aplikasi DMA lain, di mana transfer dan pemrosesan data dilakukan secara bersamaan. Banyak sistem perangkat keras menggunakan DMA termasuk pengontrol floppy dan disk drive, kartu grafis, kartu jaringan, kartu suara dan unit pemrosesan grafik. 

Kegunaan DMA;

       DMA memiliki kegunaan sebagai berikut :
1. untuk membantu CPU fokus penuh untuk mengerjakan Proses transfer data.
    Dengan DMA CPU cukup memulai prosesnya dan bisa melakukan kerja lain selama proses transfer data itu berlangsung dan tinggal menunggu informasi dari DMA controller jika proses transfer itu telah selesai.

2. Membebaskan pemroses menunggui transfer data yang dilakukan perangkat I/O
 Saat pemroses ingin membaca atau menulis data, pemroses memerintahkan DMA controller dengan mengirim informasi berikut :

•           Perintah penulisan/pembacaan.
•           Alamat perangkat I/O.
•           Awal lokasi memori yang ditulis/dibaca.
•           Jumlah word (byte) yang ditulis/dibaca.

3   3.Supaya CPU dapat  melakukan pekerjaan atau instruksi yang berbeda ketika melakukan operasi baca tulis dari perangkat peripheral.

4  4. Dma digunakan intra-chip untuk transfer data dalam multi-core, terutama dalam sistem multiprocessor-on-chip, di mana elemen-nya adalah proses yang dilengkapi dengan memori lokal (sering disebut alas memori) dalam sebuah elemen pemrosesan multi-core processor dapat mentransfer data ke dan dari memori tanpa menempati prosesor waktu, mesin dan membuat data tumpang tindih.

5  5.DMA digunakan untuk mentransfer data antara lokal memori dan memori utama. Komputer yang ada DMA channel dapat mentransfer data dari dan ke perangkat dengan CPU overhead jauh lebih sedikit daripada komputer tanpa saluran DMA

T
RANSFER DMA (Direct Memory Access)



Jalur Transfer DMA :
Ada 3 langkah dalam transfer DMA :
  1. Prosesor menyiapkan DMA prosesor Transfer dengan menyediakan data-data dari perangkat, operasi yang akan ditampilkan, alamat memori yang akan menjadi sumber, tujuan data, dan banyaknya byte yang akan ditransfer.
  2. Pengendali DMA memulai operasi dengan menyiapkan bus,menyediakan alamat, menulis, dan membaca data sampai seluruh blok sudah ditransfer.
  3. Pengendali DMA menginterupsi prosesor, dimana selanjutnya akan ditentukan tindakan berikutnya.
Pada Dasarnya DMA mempunyai 2 metode transfer data;
  1. HALT atau Burst Mode DMA ialah DMA yang memegang kontroldari sistem bus dan menstransfer semua blok data dari memori ke single burst atau sebaliknya,
  2. CYCLE STEALING DMA pada metode ini mengikutsertakan pengendali DMA untuk memegang kontrol dari sistem bus untuk jangka waktu yang lebih pendek pada periode dimana mikroprosesor sibuk dengan operasi internal dan tidak membutuhkan akses ke sistem bus.



Data Transfer With DMA


Penjelasan :


Selama transfer byte masukan blok, urutan berikut terjadi saat byte data dikirim dari antarmuka ke memori:

  • Antarmuka mengirimkan DMA controller permintaan untuk layanan DMA.

  • Permintaan bus dibuat ke pin HOLD (aktif Tinggi) pada mikroprosesor tebhe 8086 dan pengendali mendapatkan kontrol bus.

  • Isi bus dikembalikan ke kontroler DMA dari pin HOLD Acknowledge (HLDA) (aktve High) pada mikroprosesor 8086.

  • Pengontrol DMA menempatkan isi register alamat ke alamat bus
  • Pengontrol mengirimkan antarmuka pengakuan DMA, yang memberi tahu antarmuka untuk menempatkan bus data (untuk keluarannya memberi sinyal antarmuka untuk mengunci data berikutnya yang ditempatkan di bus)
  • Data dalam bentuk byte ditransfer ke lokasi memori yang ditunjukkan oleh alamat bus.
  • Interface mengaitkan data / memasang datanya.
  • Permintaan bus dijatuhkan, pin HOLD menjadi rendah, dan pengendali melepaskan bus.
  • Isi bus dari mikroprosesor 8086 menurun dan pin HLDA menjadi turun..Register alamat bertambah 1,Hitungan byte dikurangi 1.Jika jumlah byte tidak nol, kembali ke langkah 1, jika tidak hentikan.



Cara kerja DMA adalah sebagai berikut, disajikan dalam 4 langkah seringkas mungkin.


1.   CPU memberikan sinyal pada DMA module bahwa ada I/O interrupt.
2.   DMA module mengambil alih process I/O, mengambil memory yang berkaitan dari CPU dan memasukkannya dalam address register di DMA.
3.   Sementara CPU melakukan process lain, DMA mengatur I/O process hingga selesai dengan mengikuti pointer yang ada di register.
4.   Register dan memory yang berubah dikembalikan pada CPU setelah I/O process selesai.

Dalam I/O Management di Sistem Operasi, DMA sangat berpengaruh untuk menghindari CPU yang terlalu lama menangani I/O request. Secara kecepatan akses dan respon serta data rate, I/O device umumnya membutuhkan waktu jauh lebih lama dari pemrosesan process pada umumnya. Sehingga daripada CPU disia-siakan untuk menunggu, dibuatlah DMA module yang mendukung DMA.



JENIS-JENIS DMA (Direct Memory Access)


Ada 2 jenis DMA, yaitu:

  1. Third−party DMA, untuk melakukan operasi transfer data menggunakan DMA controller yang ada pada motherboard.
  2. First−party DMA (busmastering DMA). Untuk melakukan operasi transfer data dikerjakan oleh bagian logic di interface card
STRUKTUR DMA (Direct Memory Access)

  • Transfer data dari buffer ke memori atau sebaliknya dilakukan perkarakter
  • Dimana setiap kali transfer selalu ada interrup dari CPU sebelum dan sesudah transfer. 
  • Jika waktu untuk mentranfer satu karakter sebesar 2 us dan sekali interrupt butuh 1ms , maka untuk mentransfer data dari memori ke buffer butuh 4 us per karakter
  • Dengan menggunakan DMA transfer data dapat dilakukan secara langsung oleh device controller per-blok tanpa ada campur tangan dari CPU.
  • CPU hanya memberikan interrupt sebelum dan sesudah transfer setiap blok


Fungsi dari DMA sendiri adalah agar CPU dapat melakukan pekerjaan atau instruksi yang berbeda ketika melakukan operasi baca tulis dari perangkat peripheral. Tanpa adanya DMA CPU akan terus sibuk melakukan operasi baca tulis (transfer data) dan tidak dapat melakukan atau menyelesaikan instruksi yang lain. Dengan adanya DMA, CPU cukup mempersiapkan DMA chip dengan cara memberikan beberapa informasi seperti jumlah data bit yang ditransfer, alamat dari device dan memory yang diperlukan dan arah dari aliran data tersebut, setelah itu DMA chip sendiri yang akan menyelesaikannya. DMA chip akan melakukan interupt, ketika pekerjaannya sudah selesai. Selama DMA chip melakukan tugasnya hingga munculnya interupt, CPU dapat menyelesaikan instruksi yang lainnya.

DMA juga digunakan intra-chip untuk transfer data dalam multi-core, terutama dalam sistem multiprocessor-on-chip, di mana elemen-nya adalah proses yang dilengkapi dengan memori lokal (sering disebut alas memori) dan DMA digunakan untuk mentransfer data antara lokal memori dan memori utama. Komputer yang ada DMA channel dapat mentransfer data dari dan ke perangkat dengan CPU overhead jauh lebih sedikit daripada komputer tanpa saluran DMA . Demikian pula di dalam sebuah elemen pemrosesan multi-core processor dapat mentransfer data dari memori tanpa menempati prosesor waktu, mesin dan membuat data tumpang tindih.



Hubungan DMA dengan Input dan Output :

Hubungan antara CPU dengan main memory ataupun dengan alat-alat input atau output dilakukan dengan suatu jalur yang di sebut dengan bus. Hubungan antara CPU dengan main memory melalui jalur bus yang dilekatkan pada memory data register, memory address register dan control unit di CPU. Sedangkan bus yang menghubungkan CPU dengan alat-alat input/output tidak dilekatkan langsung ke alat-alat input/output tersebut, tapi dapat melalui suatu alat port atau DMA controller atau channel.
Kesimpulan Komputer tersusun atas beberapa komponen penting, seperti CPU, memory, perangkat I/O. Sistem bus adalah penghubung bagi keseluruhan komponen dalam menjalankan tugasnya. Kumpulan lintasan atau saluran berbagai modul disebut interkoneksi. Direct memory access (DMA) adalah suatu alat pengendali khusus disediakan untuk memungkinkan transfes blok data langsung antar perangkat eksternal dan memori utama, tanpa intervensi terus menerus dari prosesor. Tanpa adanya DMA, maka proses input/output akan selalu membuat CPU fokus penuh untuk mengerjakan proses transfer data dan menyebabkan proses menjadi lambat. Dengan adanya 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 sehingga alur pemrosesan menjadi jauh lebih efisien



  Kelebihan DMA
  1. Dapat menirukan sebagian fungsi processor.
  2. Dapat mengambil alih fungsi processor yang berhubungan dengan transfer data.
  3. CPU dapat melakukan menejemen operasi baca tulis (transfer data) dengan baik dan juga dapat menyelesaikan instruksi yang lain.
  4. Mendapat informasi tentang jumlah data bit yang ditransfer, alamat dari device dan memory yang diperlukan dan arah dari aliran data.
Kelemahan DMA
  1. Transfer rate data terbatas.
  2. Masih memerlukan keterlibatan CPU, sehingga CPU menjadi lebih sibuk.


Tanpa DMA, diprogram menggunakan Input/ Output (I/O) mode untuk berkomunikasi dengan perangkat pinggiran, atau menggunakan/ menyimpan instruksi dalam kasus multicore chips, CPU biasanya penuh diduduki untuk seluruh durasi dari operasi membaca atau menulis, dan dengandemikian tidak tersedia untuk melakukan pekerjaan lain. Dengan DMA, CPU akan melakukan transfer, lakukan operasi lainnya sementara transfer yang sedang berlangsung, dan menerima mengganggu dari DMA controller setelah operasi telah selesai. Hal ini sangat berguna dalam real-time komputasi di mana aplikasi tidak stalling belakang yang berbarengan operasi adalah penting. Dan aplikasi lain yang berhubungan dengan berbagai daerah adalah bentuk streaming pemrosesan dimana perlu ada pengolahan data dan transfer paralel, untuk mencapai throughput memadai.





Rabu, 23 Oktober 2019

Tugas 2(BatchSystem,CriticalSection,dst)



Assalamualaikum wr.wb




Pada blog ini saya akan membagikan definisi serta contoh dari Bacth System, Critical Section, Process Control Block, Disyribated Processing, Handheld dan Thread.



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. Tapi, dalam beberapa fungsi sistem operasi, seperti os yang tengah berkembang pada jaman sekarang ini. Contohnya adlah FMS ( Fortarn Monitoring System ) dan IBSYS.

Contoh dari Batch system ;

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.

BENTUK DARI BATCH SYSTEM

ada 2 cara dalam Batch System yaitu :
  1. Multi-programming adalah salah satu teknik penjadwalan dimana tugas (task) yang sedang berjalan tetap berjalan sampai ia melakukan operasi yang membutuhkan waktu untuk menunggu respon dari luar (external event), misalnya membaca data dari disket/CD/dsb, atau sampai komputer memaksa untuk menukar tugas yang sedang berjalan dengan tugas lainnya. Sistem operasi yang yang menggunakan multi-program sebagai scheduler-nya bertujuan untuk memaksimalkan penggunaan CPU.
  2. Multiprocessing adalah istilah teknologi informasi dalam bahasa Inggris yang merujuk kepada kemampuan pemrosesan komputer yang dilakukan secara serentak. Hal ini dimungkinkan dengan menggunakan dua CPU atau lebih dalam sebuah sistem komputer. Istilah ini juga dapat merujuk kepada dukungan sebuah sistem untuk mendukung lebih dari satu prosesor dan mengalokasikan tugas kepada prosesor-prosesor tersebut.

2.  CRITICAL SECTION 




Critical section adalah sebuah protokol yang di disain supaya proses-proses dapat menggunakannya secara bersama-sama. Setiap proses harus memesan waktu untuk memasuki critical section-nya. Yang disebut entry section. dan Akhir dari critical section itu disebut exit section. Dan setelah itu ada remainder section.

Solusi dari masalah critical section harus memenuhi tiga syarat berikut:

*Mutual Exclusion.
Jika suatu proses sedang menjalankan critical section-nya, maka proses-proses lain tidak dapat menjalankan critical section mereka. Tidak ada dua proses yang berada di critical section pada saat yang bersamaan.

*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.

*Ada batas waktu tunggu (bounded waiting).
Jika ada suatu 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).


Komponen Critical Section 
  • Entry Section : kode yang digunakan untuk masuk ke dalam critical section. 
  • Critical Section : kode dimana hanya satu proses yang dapat dieksekusi dalam satu waktu. 
  • Exit Section : Akhir dari critical section, mengijinkan proses lainnya. 
  • Remainder Section : kode istirahat setelah masuk ke critical section. 
Solusi Untuk Dua Proses
Ada dua jenis solusi masalah critical section, yaitu:

1. Solusi perangkat lunak.
Dengan menggunakan algoritma-alogoritma yang nilai kebenarannya tidak tergantung pada asumsi-asumsi lain, selain bahwa setiap proses berjalan pada kecepatan yang bukan nol.


2. Solusi perangkat keras.
Tergantung pada beberapa instruksi mesin tertentu, misalnya dengan me-non-aktifkan interupsi atau dengan mengunci suatu variabel tertentu


3. PCB 

Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori.

Process Control Block adalah informasi-informasi lain yang diperlukan SO untuk mengendalikan dan koordinasi beragam proses aktif, termasuk ini: 
  • Keadaan proses: Keadaan mungkin, new ,ready ,running, waiting, halted, dan juga banyak lagi. 
  • Program counter: Counter mengindikasikan address dari perintah selanjutnya untuk dijalankan untuk ditambah code information pada kondisi apapun. Besertaan dengan program counter, keadaan/ status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya. 
  • Informasi manajemen memori: Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasardan batas register. tabel page/ halaman, atau tabel segmen tergantung pada sistem memori yangdigunakan oleh sistem operasi (ch 9). 
  • Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan bataswaktu, jumlah akun, jumlah job atau proses, dan banyak lagi. 
  • Informasi status I/O: Informasi termasuk daftar dari perangkat I/O yang di gunakan pada proses ini,suatu daftar open file dan banyak lagi. 
  • PCB hanya berfungsi sebagai tempat menyimpan/gudang untuk informasi apapun yang dapatbervariasi dari prose ke proses.proses ini. 
  • CPU register: Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer.Register tersebut termasuk accumulator, index register, stack pointer, general-puposes register. 

Elemen-elemen dari PCB itu sendiri adalah :

Identifikasi Proses yaitu Identifier numerik yang meliputi ;
  • Identifier proses 
  • Identifier proses yang menciptakan 
  • Identifier pemakai 
Informasi Status Pemroses yang meliputi 

  • Register-register yang terlihat pemakai yaitu Register-register yang dapat ditunjuk instruksi bahasa assembly untuk diproses pemroses 
  • Register-register kendali dan status yaitu Register-register yang digunakan untuk mengendalikan operasi pemroses, a.l.: 
  1. Program counter 
  2. PSW, dsb. 

  • Pointer stack yaitu Tiap proses mempunyai satu stack atau lebih. Stack digunakan untuk parameter atau alamat prosedur pemanggil dan system call. Pointer stack menunjuk posisi paling atas dari stack 


Informasi Kendali Pemroses meliputi 
  • Informasi penjadwalan dan status yaitu Informasi-informasi yang dipakai untuk menjalankan fungsi penjadwalan a.l : 
  1. Status proses. Mendefinisikan status proses (running,ready,block, dsb) 
  2. Prioritas. Menjelaskan prioritas proses 
  3. Informasi berkaitan penjadwalan. Informasi ini seperti lama menunggu, lama proses terakhir dieksekusi dsb. 
  4. Kejadian (Event). Identitas kejadian yang ditunggu proses 
  • Penstrukturan data yaitu Suatu proses dapat dikaitkan dengan proses lain dalam satu antrian atau ring, atau struktur lainnya. PCB harus memiliki pointer untuk mendukung struktur ini. 
  • Komunikasi antar proses yaitu Beragam flag, sinyal dan pesan dapat diasosiasikan dengan komunikasi antara dua proses yang terpisah. Informasi ini disimpan dalam PCB 
  • Kewenangan proses yaitu Proses dapat mempunyai kewenangan berkaitan dengan memori dan tipe instruksi yang dapat dijalankan 
  • Manajemen memori Bagian ini berisi pointer ke tabel segmen atau page yang menyatakan memori virtual proses 
Kepemilikan dan utilisasi sumber daya yaitu Sumber daya yang dikendalikan proses harus diberi tanda, misalnya : 
  1. Berkas yang dibuka 
  2. Pemakaian pemroses 
  3. Pemakaian sumberdaya lainnya 

4. DISTRIBUTED DATA PROCESSING 

Distributed data processing (DDP) system merupakan bentuk yang sering digunakan sekarang sebagai perkembangan dari time sharing system. Bila beberapa sistem komputer yang bebas tersebar yang masing-masing dapat memproses data sendiri dan dihubungkan dengan jaringan telekomunikasi, maka istilah time sharing sudah tidak tepat lagi. DDP system dapat didefinisikan sebagai suatu sistem komputer interaktif yang terpencar secara geografis dan dihubungkan dengan jalur telekomunikasi dan seitap komputer mampu memproses data secara mandiri dan mempunyai kemampuan berhubungan dengan komputer lain dalam suatu sistem.


Contoh Sistem Pengolahan Data terdistribusi

1. Internet
  • Jaringan komputer dan aplikasi yang heterogen. 
  • Mengimplementasikan protokol internet. 
2. IntrErnet
  • Jaringan yang teradminitrasi secara lokal. 
  • Terhubung ke internet melalui firewall. 
  • Menyediakan layanan internet dan eksternal. 
3. Mobile Computing ( Sistem Komunikasi telepon seluler) 
  • Menggunakan frekuensi radio sebagai media transmis 
  • Perangkat dapat bergerak kemanapun asal masih terjangkau dengan frekuensinya 
  • Dapat menghandle/dihububngkan dengan perangkat lain 
4. Sistem Telepon 
  • ISDN atau yang biasa disebut jaringan telpon tetap (dengan kabel). 
  • PSTN jaringan telepon/telekomunikasi yang semuanya digital. 
5. Network File System (NTFS) 
  • WWW 
Contoh Impementasi Distributed Data Processing System;

Aplikasi facebook.Com yang biasa anda gunakan untuk bersosialisai dengan saudara, kawan dan orang di seluruh dunia melalui internet. Bila kita lihat aplikasi tersebut, database tidak didistribusikan, tetapi proses sistem dan penggunaan fungsi-fungsi atau feature pada sistem terpisah-pisah prosesnya tidak satu proses saja dalam satu waktu. Pada waktu tertentu ada orang yang sedang isi status, dan mungkin di waktu yang sama ada sedang mencari teman, ada yang mengupload foto dan sebagainya. Tampak disini beberapa proses pada sistem terdistribusi pada setiap client yang berbeda.







5. HANDLED 


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

contoh; Android ,symbian.

6. THREAD 

Ulir, utas atau thread (singkatan dari "thread of execution") dalam ilmu komputer, diartikan sebagai sekumpulan perintah (instruksi) yang dapat dilaksanakan (dieksekusi) secara sejajar dengan ulir lainnya, dengan menggunakan cara time slice (ketika satu CPU melakukan perpindahan antara satu ulir ke ulir lainnya) atau multiprocess (ketika ulir-ulir tersebut dilaksanakan oleh CPU yang berbeda dalam satu sistem). Ulir sebenarnya mirip dengan proses, tetapi cara berbagi sumber daya antara proses dengan ulir sangat berbeda. Multiplethread dapat dilaksanakan secara sejajar pada sistem komputer. Secara umum multithreading melakukan time-slicing (sama dengan time-division multipleks), di mana sebuah CPU bekerja pada ulir yang berbeda, di mana suatu kasus ditangani tidak sepenuhnya secara serempak, untuk CPU tunggal pada dasarnya benar-benar melakukan sebuah pekerjaan pada satu waktu. Teknik penggantian (switching) ini memungkinkan CPU seolah-olah bekerja secara serempak.

Contoh thread oada windows.
Thread pada OS Windows dengan task manager:

-Bagian Proses yang sedang berjalan.


-Bagian Performa


-Bagian Histori pada aplikasi

-Bagian pada Startup

-Bagian Users


-Bagian Details






http://muhammadmiftahpratama.blogspot.com/p/pengertian-sistem-operasi-handheld.html
http://willygunawanlim.blogspot.com/2018/11/pengertian-distributed-processing.html
http://ranggafebriansyah69.blogspot.com/2012/10/apa-yang-dimaksud-dengan-pcb-process.html
https://mediekaputra.wordpress.com/2011/03/26/critical-section/
https://ahmadnurihsan059.wordpress.com/2018/10/28/apa-itu-batch-system-pengertian
https://id.m.wikipedia.org/wiki/Utas_(komputer)
http://rikocaplew.blogspot.com/2017/10/contoh-thread.html?m=1






Tugas 4( Pengimplementasikan dari sebuah Direktori dalam Disk dan Keunggukan dari file system UNIX dan Windows)

Pengimplementasikan sebuah Direktori dalam Disk. 1.Struktur Sistem File File             : Kumpulan informasi yang berhubungan dan tersim...