Rabu, 04 Oktober 2017

tugas sistem operasi

1. Mengapa terjadi buffering?
Buffer adalah sebuah daerah memori yang menyimpan data ketika data tersebut ditransfer antara dua perangkat atau antara sebuah perangkat dan sebuah aplikasi. Buffering digunakan karena tiga alasan, antara lain:
Untuk mengatasi perbedaan kecepataan antara produsen dan konsumen dari sebuah aliran data .� Sebagai contoh, sebuah berkas diterima melalui sebuah modem dan disimpan ke harddisk. Kita tahu bahwa modem itu ribuan kali lebih lambat daripada harddisk. Sehingga sebuah buffer dibuat pada memori utama untuk menampung jumlah byte yang diterima dari modem. Ketika semua data sudah sampai di buffer, buffer dapat ditulis ke disk dengan operasi tunggal. Karena penulisan ke disk tidak terjadi seketika dan modem masih membutuhkan ruang untuk menyimpan data tambahan yang masuk maka digunakanlah dua buffer. Setelah modem mengisi buffer pertama, penulisan ke disk dilakukan. Modem kemudian mulai mengisi buffer kedua sementara buffer pertama ditulis ke disk. Pada saat modem sudah mengisi buffer kedua, penulisan disk dari buffer pertama seharusnya sudah selesai sehingga modem dapat menggunakan kembali buffer pertama ketika buffer kedua melakukan penulisan ke disk. Metode ini disebut double buffering.

Untuk menyesuaikan antara perangkat-perangkat yang mempunyai perbedaan ukuran transfer data .� Perbedaan ukuran transfer data ini sangat umum terjadi pada jaringan komputer dimana buffer digunakan secara luas untuk fragmentasi dan pengaturan kembali pesan-pesan. Pada bagian pengiriman, pesan yang ukurannya besar akan dipecah-pecah menjadi paket-paket kecil (fragmentasi). Paket-paket ini dikirim melalui jaringan, di ruang penerimaan, paket-paket kecil tadi diletakkan dalam buffer untuk disatukan kembali.

Untuk mendukung copy semantic pada aplikasi M/K .� Sebuah contoh akan menjelaskan arti dari copy semantic. Misalkan sebuah aplikasi mempunyai buffer data yang ingin dituliskan ke disk. Aplikasi tersebut akan memanggil system call write, lalu menyediakan sebuah pointer ke buffer dan sebuah bilangan bulat (integer) yang menspesifikasikan jumlah byte yang ditulis. Setelah system call tersebut selesai, apa yang terjadi jika aplikasi mengubah isi buffer? Dengan copy semantic, versi data yang ditulis ke disk sama dengan versi data pada saat aplikasi memanggil system call write , tidak tergantung dengan perubahan apapun yang ada pada buffer. Cara sederhana sistem operasi dapat menjamin copy semantic adalah untuk system call write dengan menyalin data aplikasi ke buffer kernel sebelum mengembalikan kontrol ke aplikasi. Penulisan ke disk dilakukan dari buffer kernel sehingga perubahan yang terjadi pada buffer aplikasi tidak mempunyai efek apapun. Menyalin data antara buffer kernel dan buffer aplikasi adalah hal yang umum dalam sistem operasi, kecuali overhead yang ada pada clean semantic. Efek yang sama dapat diperoleh dengan hasil yang lebih efisien dengan penggunaan yang cermat pada pemetaan memori virtual dan perlindungan halaman copy-on-write.

2. Dmn peran sist. Oprasi pd proses buffer?
Buffering terjadi karena untuk mendukung copy semantics untuk aplikasi I/O. aplikasi tersebut mengubah isi dari buffer, dengan copy semantics, keutuhan data yang ingin ditulis sama dengan data waktu aplikasi ini memanggil sistem untuk menulis, tidak tergantung dengan perubahan yang terjadi pada buffer. Sebuah cara sederhana untuk sistem operasi untuk menjamin copy semantics adalah membiarkan sistem penulisan untuk mengkopi data aplikasi ke dalam buffer kernel sebelum mengembalikan kontrol kepada aplikasi yang ingin ditulis sama dengan data waktu aplikasi ini memanggil sistem untuk menulis, tidak tergantung dengan perubahan yang terjadi pada buffer. Sebuah cara sederhana untuk sistem operasi untuk menjamin copy semantics adalah membiarkan sistem penulisan untuk mengkopi data aplikasi ke dalam buffer kernel sebelum mengembalikan kontrol kepada aplikasi.  Jadi penulisan ke disk dilakukan pada buffer kernel, sehingga perubahan yang terjadi pada buffer aplikasi tidak akan membawa dampak apa-apa. Mengcopy data antara buffer kernel data aplikasi merupakan sesuatu yang umum pada sistem operasi, kecuali overhead yang terjadi karena operasi ini karena clean semantics. Kita dapat memperoleh efek yang sama yang lebih fisien dengan memanfaatkan virtual-memori mapping dan proteksi copy-on-wire dengan pintar.

3. Adakah kaitan antara proses buffer dgn penjadwalan pd sist oprasi?

4. Tuliskan 3 alasan terjadi nya buffer?
-Alasan pertama adalah untuk menanggulangi kesalahan yang terjadi karena perbedaan kecepatan antara produsen dengan konsumen dari sebuah stream data. 
-Alasan kedua dari buffering adalah untuk menyesuaikan device-device yang mempunyai perbedaan dalam ukuran transfer data
-Alasan ketiga untuk buffering adalah untuk mendukung copy semantics untuk aplikasi I/O

-Untuk mengatasi perbedaan kecepataan antara produsen dan konsumen dari sebuah aliran data 
-Untuk menyesuaikan antara perangkat-perangkat yang mempunyai perbedaan ukuran transfer data
-Untuk mendukung copy semantic pada aplikasi M/K

5. Apakah sama Spooling dgn buffer
Buffer adalah area memori yang menyimpan data ketika mereka sedang dipindahkan antara dua perangkat atau antara perangkat dan aplikasi sedangkan Spool adalah sebuah buffer yang berisi keluaran untuk sebuah perangkat, seperti sebuah printer dimana aliran data tidak dapat mengalir bersamaan

6. Adakah kaitan proses spooling dgn proses antre an pd sist oprasi

7. Gambarkan proses buffer
a. singgel buffering
Model single-buffered menulis pixels secara langsung ke dalam memori framebuffer yang aktif hasil parsial kemudian terlihat ini adalah terutama nyata ketika berusaha untuk membuat animasimerupakan teknik paling sederhana. Ketika proses memberi perintah untuk perangkat I/O, sistem operasi menyediakan buffer memori utama sistem untuk operasi.Untuk perangkat berorientasi blok.Transfer masukan dibuat ke buffer sistem. Ketika transfer selesai, proses memindahkan blok ke ruang pemakai dan segera meminta blok lain. Teknik ini disebut reading ahead atau anticipated input. Teknik ini dilakukan dengan harapan blok akan segera diperlukan. Untuk banyak tipe komputasi, asumsi ini berlaku. Hanya di akhir pemrosesan maka blok yang dibaca tidak diperlukan.

b. doublle buffering
Teknik untuk menggambar grafik yang menunjukkan tidak ada (atau kurang) merobek ,meliuk dan artefak lainnya. Peningkatan dapat dibuat dengan dua buffer sistem.Proses dapat ditransfer ke/dari satu buffer sementara sistem operasi mengosongkan (atau mengisi) buffer lain. Teknik ini disebut double buffering atau buffer swapping. Double buffering menjamin proses tidak menunggu operasi I/O.Peningkatanini harus dibayar dengan peningkatan kompleksitas.

c. circular buffering
Seharusnya melembutkan aliran data antara perangkat I/O dan proses. Jika kinerja proses tertentu menjadi fokus kita, maka kita ingin agar operasi I/O mengikuti proses. Double buffering tidak mencukupi jika proses melakukan operasi I/O yang berturutan dengan cepat. Masalah sering dapat dihindari denga menggunakan lebih dari dua buffer. Ketika lebih dari dua buffer yang digunakan, kumpulan buffer itu sendiri diacu sebagai circulat buffer. Tiap bufferindividu adalah satu unit di circular buffer.
8. Gambarkan proses spooling
Ketika sebuah aplikasi selesai mencetak keluarannya, sistem spooling akan melanjutkan ke antrian berikutnya. Pada beberapa sistem operasi, spoolingditangani oleh sebuah sistem proses daemon yaitu suatu sistem yang terus mengawasi apakah aliran data berjalan lancar. Pada sistem operasi lainnya,spooling ditangani oleh sebuah thread in– kernel. Pada kedua macam penangananspooling tersebut, sistem operasi menyediakan kontrol antarmuka yang membolehkan user dan sistem administrator untuk membentuk antrian, untuk membuang job yang tidak diinginkan sebelum job tersebut dicetak, untuk menunda pencetakan ketika printer diperbaiki, dan sebagainya.
Spooling system
9. Adakah kaitan antara proses interupsi pd buffer

10. Proses intruksi pd spooling
Ketika CPU mendeteksi bahwa sebuah controller telah mengirimkan sebuah sinyal ke interrupt request line (membangkitkan sebuah interupsi), CPU kemudian menjawab interupsi tersebut (juga disebut menangkap interupsi) dengan menyimpan beberapainformasi mengenai state terkini CPU--contohnyanilai instruksi pointer, dan memanggil interrupt handler agar handler tersebut dapat melayani controller atau alat yang mengirim interupsi tersebut.

Tidak ada komentar:

Posting Komentar