Paging merupakan kemungkinan solusi untuk permasalahan fragmentasi eksternal dimana ruang alamat logika tidak berurutan; mengijinkan sebuah proses dialokasikan pada memori fisik yang terakhir tersedia. Memori fisik dibagi ke dalam blok-blok ukuran tetap yang disebut frame. Memori logika juga dibagi ke dalam blok-
blok dg ukuran yang sama yang disebut page. Semua daftar frame yang bebas disimpan. Untuk menjalankan program dengan ukuran n page, perlu menemukan n frame bebas dan meletakkan program pada frame tersebut. Tabel page (page table) digunakan untuk menterjemahkan alamat logika ke alamat fisik.
Setiap alamat dibangkitkan oleh CPU dengan membagi ke dalam 2 bagian yaitu :
~ Page number (p) digunakan sebagai indeks ke dalam table page (page table).
Page table berisi alamat basis dari setiap page pada memori fisik.
~ Page offset (d) mengkombinasikan alamat basis dengan page offset untuk
mendefinisikan alamat memori fisik yang dikirim ke unit memori.
Bila suatu proses datang untuk dieksekusi, maka ukurannya diekspresikan dengan page. Setiap page membutuhkan satu frame. Bila proses membutuhkan n page, maka proses tersebut juga membutuhkan n frame. Jika tersedia n frame, maka memori dialokasikan untuk proses tersebut.
Pada paging, user memandang memori sebagai bagian terpisah dari memori fisik aktual. Program user memandang memori sebagai satu ruang berurutan yang hanya berisi program user tersebut. Faktanya, program user terpecah pada memori fisik, yang juga terdapat program lain. Karena sistem operasi mengatur memori fisik, perlu diwaspadai lokasi detail dari memori fisik, yaitu frame mana yang dialokasikan, frame mana yang tersedia, berapa jumlah frame dan lain-lain. Informasi tersebut disimpan sebagai struktur data yang disebut "frame table".
Tidak ada komentar:
Posting Komentar