Virtualisasi

Perbandingan antara Full Virtualization dan Paravirtualization

  • Full Virtualization adalah teknik virtualisasi atau simulasi lengkap semua perangkat keras yang digunakan oleh guest. Sistem yang ada pada guest tidak perlu untuk dimodifikasi. Semua guest mendapatkan virtual hardware, dan virtual hardware dikelola oleh hypervisor. Contoh: VirtualBox, Vmware, dll.
  • Paravirtualization adalah teknik virtualisasi dengan hanya mengeksekusi perintah dari guest. Simulasi tidak dilakukan dengan lengkap, melainkan permintaan guest dilayani melalui API. Guest perlu dimodifikasi untuk lingkungan ini.

Perbedaan Intel VT-x/AMD-V dengan VT-d/AMD-Vi

  • AMD memperkenalkan AMD Virtualization (AMD-V) pada tahun 2006, posesor ini diklaim prosesor pertama yang dapat mendukung teknologi virtualisasi yang pada awalnya berkodekan ”pacifica”. Dan pada tahun yang sama, Intel mengeluarkan prosesornya yang dikenal dengan kode ”vanderpool” yang juga mendukung teknologi virtualisasi yang dikhususkan untuk platform x86 yaitu prosesor Inter VT-x. Pada Intel VT-x/AMD-V kemampuannya bersifat sementara waktu. Tanpa itu, kita tidak dapat menjalankan sistem 64 bit sistem operasi guest di bawah ESX.
  • Intel VT-d merupakan pengembangan dari prosesor virtualisasi sebelumnya, yaitu VT-x dan VT-i. Pada seri ini, prosesor dapat menyediakan bantuan perangkat keras untuk solusi virtualisasi, serta menambah dukungan baru untuk virtualisasi perangkat I/O.

Arsitektur untuk Virtualisasi

Arsitektur virtualisasi adalah model konseptual yang menetapkan pengaturan dan keterkaitan komponen tertentu yang terlibat dalam memberikan versi virtual – bukan fisik – sesuatu, seperti sistem operasi (OS), server, perangkat penyimpanan atau sumber daya jaringan.

Sebelum itu, berikut adalah gambaran perbedaan antara arsitektur tradisional dan arsitektur virtualisasi.

Arsitektur tradisional dan arsitektur virtual

Hosted dan Bare-metal

Ada 2 jenis arsitektur untuk virtualisasi:

  1. Arsitektur Host

yang dihosting, sistem operasi (OS)

diinstal pada perangkat keras terlebih dahulu. Perangkat lunak berikutnya, sebuah hypervisor atau monitor mesin virtual diinstal. Perangkat lunak ini digunakan untuk menginstal beberapa sistem operasi tamu, atau mesin virtual (VM), pada perangkat keras. Aplikasi kemudian diinstal dan dijalankan pada mesin virtual dengan cara yang sama seperti pada mesin fisik.

  1. Arsitektur Bare-metal

Dengan arsitektur bare-metal, hypervisor dipasang langsung pada perangkat keras daripada di atas sistem operasi yang mendasarinya. VM dan aplikasinya diinstal pada hypervisor dengan cara yang sama dengan arsitektur yang dihosting.

 

Sistem File

Berkas

Sistem File di Sistem Operasi Windows

FAT (File Allocation Table)

FAT atau tabel alokasi berkas merupakan jenis sistem file yang beroperasi dengan menggunakan struktur alokasi tabel yang letaknya berada dalam penyimpanan komputer. Tabel alokasi berkas ini dapat kita ibaratkan sebagai daftar isi dari media penyimpanan yang dapat menunjukkan di mana file atau direktori disimpan di dalam disk komputer. 

Ketika terdapat media penyimpanan diformat pakai FAT, maka system file akan membuat tabel alokasi berkas pada penyimpanan atau disk. Selain itu, system file juga akan menyalinnya dan ditaruh dalam media penyimpanan yang sama. Hal tersebut akan berguna jika terdapat salinan yang rusak, maka system file akan menggantinya dengan salinan yang lain. dan mengganti tabel yang rusak dengan salinan yang masih baik. 

  • FAT 12

Merupakan salah satu versi dari tabel alokasi berkas yang memakai unit alokasi yang mempunyai batas hingga 12 bit dengan maksimal dapat menampung 212 unit alokasi atau 4096 buah. Kapasitasnya hanya 32 MB.

  • FAT 16

Merupakan salah satu versi dari tabel alokasi berkas yang memakai unit alokasi yang mempunyai batas hingga 16 bit dengan maksimal dapat menampung 216 unit alokasi atau 65536 buah. Kapasitasnya sebesar 4 GB.

  • FAT 32

Merupakan salah satu versi dari tabel alokasi berkas yang memakai unit alokasi yang mempunyai batas hingga 32 bit dengan maksimal dapat menampung 232 unit alokasi atau 4294967296 buah. Namun, dalam penerapannya, jumlah unit alokasi yang dapat dipakai hanyalah 228 atau sebanyak 268435456 buah. Kapasitasnya sebesar 8 TB.

  • exFAT (extended File Allocation Table)

Merupakan Proprietary File System yang cocok digunakan oleh media penyimpanan berbasis memori flash.

NTFS (New Technology File System)

NTFS merupakan sistem berkas yang memiliki desain sederhana tetapi memiliki performa yang lebih unggul dibandingkan sistem file FAT. Berbeda dengan FAT, pada NTFS, semua data pada file data disimpan dalam metadata pada Master File Table atau disingkat MFT. Pada sistem file ini terdapat berbagai fitur tambahan yang berguna dalam sebuah lingkungan yang terdistribusi, seperti fitur pengontrolan akses terhadap siapa saja yang dapat mengakses file atau direktori, penetapan banyaknya kapasitas disk yang dapat digunakan oleh user, fitur enkripsi, serta fitur fault tolerance.

  • NTFS versi 1.0

Kemunculannya bersamaan dengan Windows NT 3.1. Versi ini memiliki fungsi yang dasar tetapi jauh lebih dibandingkan dengan sistem file FAT.

  • NTFS versi 1.1

Kemunculannya bersamaan dengan Windows NT 3.50. Versi ini memiliki fitur tambahan yakni dukungan discretionary access control.

  • NTFS versi 1.2

Kemunculannya bersamaan dengan Windows NT 4.0. Versi ini memiliki fitur tambahan yakni dukungan terhadap kompresi transparan dan juga auditing terhadap setiap berkas.

  • NTFS versi 3.0

Kemunculannya bersamaan dengan Windows 2000. Versi ini memiliki fitur tambahan seperti penetapan kuota terhadap setiap user, enkripsi sistem file (EFS), sistem keamanan yang dapat dikontrol dari server pusat, dan lainnya. Lalu pada versi ini juga terdapat fitur dukungan kepada struktur GUID Partition Table dan Logical Disk Management.

  • NTFS versi 3.1

Kemunculannya bersamaan dengan Windows XP SP1 dan Windows Server 2003. Versi ini mengalami perbaikan pada bagian performa, penggantian algoritma enkripsi EFS dari DESX atau 3DES menjadi AES-256.

Sistem File di Sistem Oprasi Linux

Ext2

Ext2 atau second extended file system merupakan sistem file untuk kernel Linux. Dibuat oleh pengembang software asal Prancis bernama Remy Card. Ext2 merupakan sistem file dasar yang ada pada Linux distribution, seperti Debian dan Red Hat Linux. Tujuan dari sistem file ini adalah untuk membuat suatu sistem file yang dapat mengimplementasikan file semantik dari UNIX dan memiliki pelayanan fitur lanjutan.

Kelebihan: 

  • Mampu menopang beberapa tipe file standar dari UNIX, seperti directories, regular file, symbolic links, dan device special files.
  • Mampu memanajemen file sistem yang dibuat dalam partisi besar.
  • Mampu menghasilkan nama file yang panjang, dengan maksimum 255 karakter.
  • Memerlukan beberapa blok untuk root (super user).

Ext3

Ext3 atau third extended file system merupakan journalled file system yang umum digunakan oleh kernel Linux. Journalled file system dirancang untuk melindungi data yang ada di dalamnya. Dengan adanya sistem ini, kita tidak perlu mengecek kekonsistensian data, yang akan memakan waktu sangat lama. Serta journaling ini yang membedakan Ext2 dengan Ext3 khususnya dalam perbedaan daya tahan dan pemulihan data dari kerusakan, Ext3 lebih cepat dibandingkan Ext2. Sistem file ini juga merupakan hasil upgrade dari sistem file sebelumnya.

Ext4

Ext4 atau fourth extended file system merupakan penerus dari Ext2 dan Ext3. File sistem ini meningkatkan daya tampung maksimal sistem file dan mengurangi waktu yang diperlukan untuk melakukan pengecekan hardisk. Ext4 memiliki kelebihan performa yang lebih signifikan dalam membaca dan menuli file yang berukuran besar.

Reiser FS

Sistem file ini mirip dengan Ext3. Sistem file ini lebih efisien dalam pemanfaatan ruang disk. Jika kita menulis file 100 bytes, hanya ditempatkan dalam satu blok. Sementara sistem file lain menempatkannya dalam 100 blok. Sistem file ini dapat menghemat disk sampai dengan 6%.

Pengantar Berpikir Komputasi

Pada abad ke dua puluh satu ini, berpikir komputasi telah menjadi salah satu kemampuan dasar yang diharapkan dipunyai oleh semua orang disamping dari seperti menulis, berhitung, dan membaca. Komputasi erat hubungannya dengan komputer. Berdasarkan KBBI daring, komputasi merupakan perhitungan yang menggunakan komputer sebagai alatnya. Sementara dilansir dari wikipedia, komputasi merupakan cara penyelesaian masalah atau problem solving menggunakan algoritma.

Sehingga berpikir komputasi (computational thingking) merupakan proses berpikir menggunakan logika secara runtut dan teratur yang bertujuan untuk menyelesaikan suatu masalah atau dalam pengambilan keputusan. Umumnya berpikir komputasi ini merupakan teknik yang biasa digunakan oleh para pengembang perangkat lunak dalam membuat program komputer. Bukan hanya bagi para pengembang perangkat lunak, berpikir komputasi juga penting bagi kita dalam memecahkan masalah dan menentukan keputusan dalam kehidupan sehari-hari. Berpikir komputasi termasuk dari problem solving, perancangan sistem, pemahaman tindakan manusia, dengan penggambaran konsep dalam ilmu komputer.

Berpikir komputasi bukan berarti kita berpikir sama seperti komputer, tetapi berpikir perihal komputasi yang mana seseorang diharuskan untuk:

  1. Menyusun masalah dalam bentuk masalah komputasi
  2. Membangun solusi komputasi atau menjelaskan kenapa solusi yang ditemukan tidak sesuai

Dalam berpikir komputasi terdapat empat teknik berpikir yang biasa dilakukan:

01 – Dekomposisi

Yakni memecah suatu permasalahan yang kompleks menjadi lebih kecil dan sederhana. Contohnya seperti pada perhitungan matematika, angka 256 bisa kita anggap sebagai 2×100 + 5×10 + 6×1. Saat ingin membuat sistem perpustakaan, kita bisa memecahnya menjadi bagaimana sistem peminjaman buku, dan anggotanya. Pada anggota masih bisa dipecah lagi menjadi lebih kecil yaitu dosen dan mahasiswa, dan seterusnya. Pada komponen pembentuk kue, kita dapat bagi menjadi mentega, telur, tepung, coklat, gula, air, keju, susu, dan pengembang. Kemudian dalam proses pembuatannya dapat dibagi menjadi beberapa proses, yaitu menyiapkan alat dan bahan, mencampur adonan, mengembangkan adonan, memanggang adonan, menambahkan toping, lalu mengemas kue yang sudah jadi.

02 – Pengenalan Pola

Yakni kemampuan dalam melihat kesamaan pola pada suatu permasalahan. Misal terdapat suatu urutan angka: 1,3,5,7,9,11,13,15, dan seterusnya. Jika diperhatikan, maka urutan angka tersebut memiliki angka, yakni angka yang muncul adalah angka yang ganjil atau angka yang muncul adalah urutan angka yang memiliki jarak satu angka. Dalam program komputer, terkadang kita bisa menemui pola pada program yang berulang, dengan begitu memungkinkan developer memisahkan bagian program tersebut menjadi fungsi.

03 – Generalisasi Pola dan Abstraksi

Yakni kemampuan dalam menjadikan informasi yang kompleks menjadi lebih mudah untuk dipahami atau dijelaskan. Menggeneralisasi permasalahan sehingga menghasilkan pola tertentu. Contohnya adalah menggunakan grafik pie-chart sebagai gambaran untuk menunjukkan perbandingan jumlah mahasiswa laki-laki dan perempuan, menggunakan koordinat langitude dan latitude sebagai penunjuk lokasi di bumi, dan sebagainya.

04 – Rancangan Algoritma

Yakni kemampuan dalam membuat strategi dengan urut atau langkah demi langkah dalam memecahkan suatu permasalahan yang ada. Rancangan algoritma umumnya dikembangkan berdasarkan pemecahan masalah menjadi sederhana dan identifikasi dari pola yang ada. Contoh dari rancangan algoritma adalah prosedur atau urutan dalam memasak sayur, urutan dalam pembuatan mie instan, dan sebagainya.

Karakteristik Berpikir Komputasi:

  •  Mampu memberikan solusi dari masalah yang ada menggunakan perangkat komputer atau yang lain
  • Mampu menata dan menguraikan data yang ada
  • Mampu menggambarkan data melalui penyederhanaan masalah dengan suatu bentuk yang lebih sederhana
  • Mampu menggeneralisasi solusi untuk masalah-masalah yang berbeda
  • Mampu menganalisa, mengidentifikasi, dan mengimplementasikan solusi dengan cara yang efektif dan efisien
  • Mampu mengotomatisasi solusi dengan berpikir secara algoritmik (urut)

Contoh analisa persoalan dalam berpikir komputasi: Memasak Mie Instan

  1. Jika ingin memasak mie instan, maka kita harus memiliki mie instan terlebih dahulu
  2. Jika belum punya mie instan, maka beli terlebih dahulu
  3. Jika sudah punya mie instan, maka buka kemasan mie instan terlebih dahulu
  4. Setelah itu, masak air terlebih dahulu
  5. Jika air sudah mendidih, maka masukkan mie ke dalam air
  6. Jika sudah 3 menit, maka matikan kompor
  7. Kemudian, masukkan mie ke dalam mangkuk
  8. Setelah dimasukkan, potong bumbu-bumbu yang ada
  9. Jika sudah terpotong, maka tuang bumbu ke dalam mie sampai habis
  10. Aduk bumbu sampai merata

Manfaat Berpikir Komputasi

  • Lebih percaya diri dalam menghadapi masalah yang besar atau masalah yang kompleks  dengan lebih efektid dan efisien
  • Melatih berpikir secara logis dan terstruktur
  • Bekerjasama dan berkomunikasi dalam mencapai tujuan

Diagram Alir

Diagaram alir (flowchart) merupakan penyataan algoritme menggunakan bentuk-bentuk geometris seperti persegi panjang, belah ketupat, jajargenjang, dan yang merepresentasikan informasi, pengkodisian, dan proses, serta garis yang merepresentasikan aliran data atau informasi.

Manajemen Memori

Manajemen merupakan cara dalam mengatur atau mengorganisakan sesuatu. Sedangkan dalam KBBI, manajemen merupakan penggunaan sumber daya secara efektif untuk mencapai suatu sasaran atau tujuan. Lalu, memori merupakan tempat yang digunakan untuk menyimpan infromasi di dalam sebuah komputer, baik itu nanti disimpan secara permanen atau tidak.

Maka dari itu, manajemen memori merupakan pengaturan penggunaan sumber daya dan pengalokasian memori agar fungsi dari memori tersebut dapat digunakan secara efektif. Manajemen memori juga berkaitan dengan pengalokasian dan penggunaan sumber daya untuk sejumlah proses yang sedang aktif.

Manajemen memori berhubungan dengan memori utama yang harus diatur sebaik mungkin agar dapat meningkatkan utilitas dari CPU dengan sebaik mungkin, data dan intruksi dapat diakses lebih cepat oleh CPU, serta transfer data menjadi lebih efisien sebab memori utama memiliki kapasitas yang terbatas.

Fungsi manajemen memori:

  1. Mengelola informasi yang ada di memori, berhubungan dengan informasi yang terpakai dan yang tidak terpakai.
  2. Mengalokasikan memori terhadap proses yang sedang dibutuhkan.
  3. Mendealokasikan memori terhadap proses yang telah selesai.
  4. Mengelola swapping antara memori utama dan disk atau penyimpanan sementara.

Swapping merupakan metode pengalihan proses dari memori utama ke penyimpanan sementara yang nantinya proses tersebut akan dipanggil kembali oleh memori utama jika ingin melanjutkan proses eksekusi. Manajemen memori bisa terjadi dengan swapping atau tanpa swapping.

Monoprogramming merupakan manajemen memori yang paling sederhana. Sistem komputer hanya akan mengijinkan satu proses dijalankan dalam satu waktu. Manajemen ini menggunakan seluruh sumber daya sehingga pengalokasian memori dilakukan secara berurutan. Proses lain hanya akan dijalankan ketika proses sebelumnya sudah selesai dieksekusi.

Multiprogramming merupakan manajemen memori yang satu atau banyak proses dapat dieksekusi dalam waktu yang bersamaan. Multiprogramming dapat memudahkan pemrogram karena pemrogram dapat membagi program menjadi dua atau banyak proses. Dengan hal tersebut dapat mengerjakan sejumlah job secara serentak sehingga dapat menggunakan sumber daya secara efisien.

Partisi Statis merupakan pembagian memori menjadi beberapa bagian partisi tetap yang di dalamnya terdapat proses-proses. Partisi jenis ini dibagi menjadi 2, yaitu pemartisian dengan ukuran yang sama dan pematisian dengan ukuran yang berbeda. Dalam pemartisian dengan partisi yang berukuran sama akan terdapat beberapa kelemahan. Jika program yang dijalankan lebih besar dibandingkan dengan partisi yang tersedia, maka akan program tidak bisa dijalankan. Dengan begitu pemrogram harus menyiapkan overlay yang artinya program akan dipecah-pecah menjadi beberapa bagian dan akan dijalankan secara bergantian yang pengeksekusiannya berdasarkan pada program yang lebih penting. Sebaliknya, jika program lebih kecil dibandingkan dengan partisi, maka akan menimbulkan fragmentasi atau pemborosan memori karena ada ruang kosong yang tidak terpakai.

Fragmentasi terbagi menjadi 2:

  1. Fragmentasi internal: partisi lebih besar dari proses
  2. Fragmentasi eksternal: partisi lebih kecil dari proses

Partisi Dinamis merupakan pembagian memori menjadi beberapa bagian partisi yang jumlah, lokasi, dan ukuran proses di memori dapat beragam sepanjang waktu secara dinamis. Proses yang akan masuk ke dalam memori akan dibuatkan partisi yang sesuai dengan kebutuhannya. Dengan seperti itu, utilitas dari memori dapat lebih dimanfaatkan.

Namun, dalam partisi jenis ini terdapat beberapa kelemahan. Pada partisi ini akan terdapat lubang-lubang kecil yang ada di antara partisi yang dipakai. Kemudian juga pengalokasian dan pendealokasian memori akan sedikit lebih rumit. Strategi alokasi memori merupakan pencarian sekumpulan blok memori yang bagiannya mencukupi untuk memuat proses. Lubang kosong harus sama atau lebih besar dari memori yang diperlukan oleh proses.

1. Algoritma First Fit
Pencarian dimulai secara urut dari awal. Pencarian akan berhenti pada lokasi pertama yang cukup untuk proses tersebut.

2. Algoritama Next-fit
Sama dengan algortima first fit, tapi kali ini pencarian akan mulai berjalan dari lokasi terakhir kali menemukan segmen yang cocok. Dan kemudian pencarian akan berhenti pada lokasi pertama yang cukup untuk proses tersebut.

3. Algoritama Best Fit
Pencarian akan dimulai secara urut dari awal. Pencarian akan berhenti pada lokasi pertama terkecil yang cukup atau paling pas untuk proses tersebut.

4. Algoritma Worst-fit
Pencarian dimulai secara urut dari awal. Pencarian akan berhenti pada lokasi yang paling besar yang cukup untuk proses tersebut.

Pengenalan Sistem Operasi

Apa itu sistem operasi? Sistem operasi atau Operation System (OS) adalah software yang mempunyai tugas untuk melakukan kontrol dan manajemen perangkat keras dan melakukan operasi operasi dasar sistem.

Sistem operasi juga merupakan sebuah sistem yang menghubungkan atau sebagai jembatan antara kita, pengguna komputer, dengan perangkat keras komputer (hardware). Fungsi utamanya adalah untuk mengelola semua program atau aplikasi yang dijalankan oleh komputer.

Hardware

Di sinilah proses input, proses, output, dan penyimpanan dilakukan. Contoh perangkatnya seperti mouse, CPU, monitor, hard disk, dan lainnya.

Software

  1. Sistem Operasi. Memungkinkan sebuah aplikasi dapat berjalan yang nantinya dapat ditampilkan kepada user. Contoh: Windows, Linux, Mac OS, Android, IOS, dan lain-lain.
  2. Aplikasi Software. (contoh: MS Word, chrome, photoshop, dan lain-lain)

Brainware

Merupakan user yang menggunakan komputer.

Sistem operasi merupakan lapisan pertama yang diletakkan pada memori komputer ketika komputer dinyalakan. Setelah sistem operasi bekerja, baru kemudian program aplikasi bisa berjalan.

Sistem operasi ini juga mempunyai tujuan, yakni:

  1. Membuat progam user berjalan dan membantu user mengatasi masalah dengan lebih mudah.
  2. Lebih mudah dalam menggunakan komputer.
  3. Penggunaan komputer menjadi lebih efisien.

Fungsi dari sistem operasi:

a. Manajemen Proses

Sistem operasi mengalokasikan sumber daya (misal memori, CPU time, berkas, perangkat I/O), saat proses itu diciptakan atau sedang dijalankan.
Contohnya:
– Menunda atau melanjutkan proses
– Membuat dan menghapus proses
– Menyediakan mekanisme pada proses sinkronisasi
– Mengalokasikan CPU ke suatu proses

b. Manajemen Memori Utama

Sistem operasi akan menjaga track dari memori yang sedang digunakan, memilih program yang akan dibuka ke memori, mengalokasikan memori ketika ada proses yang memintanya. Sistem operasi akan menentukan proses mana yang akan mendapat memori kapan dan seberapa banyak.

c. Manajemen Berkas

– Melacak informasi, lokasi, penggunaan, status, dan lain-lain.
– Mengalokasikan sumber daya dan memnentukan siapa yang mendapakan sumber daya.
– Pembuatan dan penghapusan berkas
– Pembuatan dan penghapusan direktori
– Mem-backup berkas ke media penyimpanan yang permanen

Virtual Memory

Virtual memory atau memori virtual adalah memori yang tidak sebenarnya yang tidak terletak di memori utama, memori tersebut dibuat untuk menampung proses yang memori utama tidak bisa menampungnya sehingga diperlukan tempat tambahan. Program disimpan dalam bentuk page, page atau bagian yang akan dimuat ke dalam memori utama adalah page yang penting atau diperlukan. Tempat yang biasa digunakan untuk memori virtual adalah di memori disk. Namun data atau program yang tersimpan pada memori disk akan dipanggil ke dalam memori utama dikarenakan memori disk memiliki kecepatan yang lebih lambat dibandingkan dengan memori utama atau RAM.

Alasan penggunaan memori virtual:
1. Program harus berada di memori untuk dijalankan, tetapi tidak semua kode dalam
program tersebut dijalankan.
2. Semua kode program tidak dibutuhkan dalam waktu yang bersamaan.
3. Pemisahan user logical memory dari memori fisik.

Dalam pemetaannya dalam memori virtual terdapat dua teknik, yaitu:
1. Demand Paging
2. Demand Segmentation

Demand Paging

Merupakan salah satu penerapan virtual memori yang umum digunakan. Hal utama dalam demand paging adalah pages hanya dimuat ketika mereka dibutuhkan selama eksekusi program. Kita menggunakan lazy sapper, yang dinamakan dengan pager. lazy swapper tidak pernah meng-swap sebuah page ke dalam memori kecuali jika page tersebut dibutuhkan. Ketika sebuah proses terjadi swapped-in, pager menebak page mana yang akan digunakan sebelum proses tersebut di-swapped-out kembali. Disamping dari meng-swapping semua proses, pager hanya membawa page-page yang dibutuhkan ke dalam memori. Jadi, hal tersebut menjadikan memori lebih efisien, menurunkan swap  time dan jumlah memori fisik yang dibutuhkan.

Manfaat:

  1. virtual memori yang besar
  2. lebih efisien dalam penggunaan memori
  3. multiprogramming yang tidak terbatas

Kekurangan: Jumlah tabel dan jumlah overhead prosesor untuk menangani interupsi halaman lebih besar

Valid and Invalid Page

Digunakan untuk membedakan antara page yang ada di dalam memori utama dan page yang ada di dalam disk. Akan disetel ke “valid” saat halaman berada di memori, dan akan disetel ke “tidak valid” saat halaman tidak valid atau page valid tetapi ada di disk. Namun, page fault akan terjadi jika proses mencoba mengakses sebuah page yang tidak masuk ke memori utama.

Page Fault

Page fault terjadi ketika sebuah program mengakses sebuah blok memori yang tidak tersimpan di memori fisik atau RAM. Page fault memberitahu sistem operasi bahwa harus memindahkan data ke memori virtual, kemudian mentransfernya dari disk ke memori utama. Ketika data dipindahkan ke dalam memori fisik, program akan berjalan seperti normal kembali.

Page Replacement

Page replacement adalah teknik yang digunakan sistem operasi untuk memutuskan page memori mana untuk di-swape out, memberitahu disk ketika sebuah page memori perlu dialokasikan. Paging terjadi apakah page fault terjadi dan page yang kosong tidak bisa digunakan untuk pengalokasian dikarenakan page tersebut tidak ada atau jumlah page yang kosong lebih sedikit dibandingkan dengan yang dibutuhkan.

  1. Cari lokasi page yang diinginkan di disk.
  2. Cari frame yang kosong. Jika ada frame yang kosong, gunakan. Jika tidak ada, maka gunakan algoritma page replacement.
  3. Bawa page yang diinginkan ke dalam frame yang kosong, perbarui page dan tabel frame.
  4. Lanjutkan proses dengan memulai kembali instruksi yang menyebabkan trap tersebut.

Trashing

Trashing merupakan aktivitas paging yang tinggi. Dinamakan trashing ketika sebuah proses memerlukan waktu yang lebih pada paging dibandingkan waktu eksekusi. Proses tidak punya cukup frame untuk menampung semua page untuk eksekusi sehingga proses ini sering terjadi swape-in dan swape-out untuk tetap terus dieksekusi. Trashing dapat terjadi dikarenakan pemanfaatan CPU yang terlalu rendah. Jika hal tersebut terjadi, akan menambah tingkat dari multiprogramming, proses-proses baru akan ditambahkan ke dalam sistem