View on GitHub

os202

OS202

HOME

Top 10 List of Week 05

  1. Definisi Caching

Dalam komputasi, cache adalah lapisan penyimpanan data berkecepatan tinggi yang menyimpan subset data, biasanya bersifat sementara, sehingga permintaan di masa mendatang untuk data tersebut disajikan lebih cepat daripada yang mungkin dilakukan dengan mengakses lokasi penyimpanan utama data. Caching memungkinkan Anda untuk menggunakan kembali data yang diambil atau dihitung sebelumnya secara efisien.

  1. Cara Kerja Caching

Data dalam cache umumnya disimpan di perangkat keras akses cepat seperti RAM (Memori akses acak) dan juga dapat digunakan dalam kaitannya dengan komponen perangkat lunak. Tujuan utama cache adalah untuk meningkatkan kinerja pengambilan data dengan mengurangi kebutuhan untuk mengakses lapisan penyimpanan yang lebih lambat. Menukar kapasitas dengan kecepatan, cache biasanya menyimpan subset data sementara, berbeda dengan database yang datanya biasanya lengkap dan tahan lama.

  1. Manfaat Caching

Berikut adalah manfaat dari Caching:

  1. Memory Allocation
    Memory allocation pada dasarnya adalah operasi perangkat keras komputer tetapi dikelola melalui sistem operasi dan aplikasi perangkat lunak. Proses memory allocation sangat mirip dalam manajemen memori fisik dan virtual. Program dan layanan ditetapkan dengan memori khusus sesuai kebutuhan mereka saat dijalankan. Setelah program menyelesaikan operasinya atau tidak aktif, memori dilepaskan dan dialokasikan ke program lain atau digabungkan di dalam memori utama.

  2. Virtual Memory

Virtual Memory adalah skema alokasi penyimpanan di mana memori sekunder dapat ditangani seolah-olah itu adalah bagian dari memori utama. Alamat yang dapat digunakan program untuk referensi memori dibedakan dari alamat yang digunakan sistem memori untuk mengidentifikasi situs penyimpanan fisik, dan alamat yang dihasilkan program diterjemahkan secara otomatis ke alamat mesin yang sesuai. Ukuran penyimpanan virtual dibatasi oleh skema pengalamatan dari sistem komputer dan jumlah memori sekunder tersedia bukan oleh jumlah sebenarnya dari lokasi penyimpanan utama.

  1. Copy-on-Write
    Copy-on-write (COW) adalah strategi pengoptimalan yang digunakan dalam pemrograman komputer. Ide dasarnya adalah jika beberapa pemanggil meminta sumber daya yang awalnya tidak dapat dibedakan, Anda dapat memberi mereka petunjuk ke sumber daya yang sama. Fungsi ini dapat dipertahankan hingga pemanggil mencoba untuk mengubah “salinan” sumber daya, pada saat itu salinan pribadi yang sebenarnya dibuat untuk mencegah perubahan menjadi terlihat oleh orang lain. Semua ini terjadi secara transparan kepada para penelepon. Keuntungan utamanya adalah jika pemanggil tidak pernah membuat modifikasi apa pun, salinan pribadi tidak perlu dibuat.

  2. Memory-Mapped Files

• Memory-mapped file I/O allows file I/O to be treated as routine memory access by mapping a disk block to a page in memory • A file is initially read using demand paging. A page-sized portion of the file is read from the file system into a physical page. Subsequent reads/writes to/from the file are treated as ordinary memory accesses. • Simplifies file access by treating file I/O through memory rather than read()or write() system calls • Also allows several processes to map the same file allowing the pages in memory to be shared

  1. Thrasing and Working Sets

Jika satu proses terlalu besar untuk memori, tidak ada yang bisa dilakukan OS. Proses itu disebut Thrash. Jika masalah muncul karena penjumlahan dari beberapa proses: Cari tahu berapa banyak memori yang dibutuhkan setiap proses untuk mencegah thrashing. Ini disebut working set. Hanya izinkan beberapa proses untuk dieksekusi dalam satu waktu, sehingga set kerjanya sesuai dengan memori.

  1. Page Fault
    Jika halaman yang direferensikan tidak ada di memori utama maka akan terjadi miss dan konsepnya disebut Page miss atau page fault. CPU harus mengakses halaman yang terlewat dari memori sekunder. Jika jumlah kesalahan halaman sangat tinggi maka waktu akses efektif sistem akan menjadi sangat tinggi.

  2. Demand Paging

Menurut konsep Virtual Memory, untuk menjalankan beberapa proses, hanya sebagian dari proses yang perlu ada di memori utama yang berarti hanya beberapa halaman yang hanya akan ada di memori utama setiap saat.

Namun, memutuskan, halaman mana yang perlu disimpan di memori utama dan mana yang perlu disimpan di memori sekunder, akan sulit karena kami tidak dapat mengatakan sebelumnya bahwa suatu proses akan memerlukan halaman tertentu pada waktu tertentu.

Oleh karena itu, untuk mengatasi masalah tersebut, maka diperkenalkan konsep yang disebut Demand Paging. Ini menyarankan untuk menyimpan semua halaman bingkai di memori sekunder sampai diperlukan. Dengan kata lain, dikatakan bahwa jangan memuat halaman apapun di memori utama sampai dibutuhkan.