Rabu, 18 November 2009

Struktur Pemograman

Ketika program berjalan, maka ia akan menjadi suatu proses yang pasti membutuhkan memori. Oleh karena itu, implementasi dari suatu program akan sangat berpengaruh pada bagaimana cara proses tersebut menggunakan memori. Selain itu, pemilihan struktur data dan struktur pemrograman secara cermat juga dapat meningkatkan locality sehingga dapat pula menurunkan tingkat kesalahan halaman dan jumlah halaman di working set. Contoh kasus:
int i,j;
int[128][128] data;      /*Assume that pages are 128 words in size*/
for(j=0; j< 128; j++)
     for(i = 0; i< 128; i++)     /*Program to initialize to 0
   data[i][j] = 0;       each element of 128x128 array*/
 

Gambar 1.1. Ilustrasi Program 1
Ilustrasi Program 1

int i,j;
int[128][128] data;             /*Assume that pages are 128 words
in size*/
for(i=0; i< 128; i++)
     for(j = 0; j< 128;j++)     /*Program to initialize to 0
   data[i][j] = 0;       each element of 128x128 array*/
 

Gambar 1.2. Ilustrasi Program 2
Ilustrasi Program 2

Pada program diatas, penggantian halaman dilakukan tiap kali pengaksesan data. Oleh karena itu, jika sistem operasi mengalokasikan kurang dari 128 frames maka program diatas mempunyai potensi 128 x 128 = 16.384 page faults. Jika program di atas diubah menjadi Program 2, maka potensi terjadinya page fault bisa berkurang menjadi 128 page faults. Hal ini disebabkan pergantian halaman tidak dilakukan setiap kali pengaksesan data, tapi setelah selesai pengaksesan 128 data, barulah terjadi pergantian halaman.

Tidak ada komentar:

Posting Komentar

Plis comment dsini..!
Penyalahgunaan komentar akan dilaporkan kepada pihak berwajib.trims..