Professional Documents
Culture Documents
Task 3
Task 3
תרגיל ) 30 ( 1
במערכת המאפשרת , on-demand-pagingגודל כל פקודה הוא 4בתים בדיוק ,וגודל כל עמוד הוא 4096
בתים .כמה לכל היותר PAGE FAULTSיקרו בתכנית הבאה ,ברגע בו ה PC -קפץ מכתובת 6144אל כתובת
,10240וכמה לכל הפחות.
Decimal
Address: Content
...
...
...
...
תרגיל ) 30 ( 2
בהינתן כי הכתובת של הטבלא החיצונית היא ,737D1000מצא את מיקום העמוד הפיזי מהכתובת
הוירטואלית הבאה 400BA90D :
הראה את התהליך.
תרגיל ) 40 ( 3
תפקיד מחסום זיכרון הוא. ) memory barrier ( הוא מחסום זיכרוןsync_synchronize :הערה
יהיה זהה בכל המעבדים בעתx הערך של, למשל. של מעבדיםCACHE למנוע מצב של אי אחידות
. אין קשר לתרגיל.הפעלת מחסום הזיכרון
#define _GNU_SOURCE 1
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <unistd.h>
int S1 = 0;
int S2 = 0;
int x = 0;
int run = 1;
void Producer(void) {
while(run) {
while (S1 == S2);
x++;
__sync_synchronize();
S1 = S2;
__sync_synchronize();
}
}
void Consumer(void) {
while(run) {
while (S1 != S2);
x--;
__sync_synchronize();
S1 = !S2;
__sync_synchronize();
}
}
switch (func_id) {
case 0:
Producer();
break;
case 1:
Consumer();
break;
}
return NULL;
}
Int threads;
int i;
do {
sleep(1);
} while(x < 0);
run = 0;
void *val;
// Force an exit
sleep(1);
S1 = S2 = 0;
sleep(1);
S2 = !S2;
printf("x=%d\n", x);
}