回 帖 发 新 帖 刷新版面

主题:[原创]看看这道程序改造题怎么做,高手请进,急!

1)给页面(page)分配core页面(page)时,把对应的页面表(page table entry)的AGE,设置成MAXAGE(=15). 
2)SLAVE模式每执行一次1命令,给JOB分配的core页面(page)的AGE都减去1
3)页面错误(page lault)发生时,如果没有空的page,在全部的core页面(page)里找到AGE=0,作为替换的候补。

PROCEDURE MEMORYMANAGER (VAR JJOB : INTERGER : VAR ENTRY : QUEUERACGE : VAR W ; VAR V : CHAR);
VAR J: INTEGER ; JOB : 1 . . MAXJOBS : PTEADDR : WORD :
BEGIN
WITH JOBQ ( . JREADY .) DO BEGIN
W : = “ 0000” ;
J: = “HEAD”;
WHILE (W = “0000” AND (J <TAIL) DO BEGIN
J: =J+1;
JOB: =Q( . J MOD QUEUESIZE . );
WITH JD( .JOB .) DO BEGIN
PTEADDR( .2 .) : =PTR( .3.);
PTEADDR( .3 .) : =PTR( .4.);
V: =“0”;
WHILE (W = “0000”) AND (V<=PTR( .2 .)) DO BEGIN
TESTAGE (PTEADDR, W);
V : =SUCC(V)
END 
END
END
END
IF W< > “0000”THEN BEGIN
JJOB: = JOB;
ENTRY : =J MOD QUEUESIZE;
V: = PRED(V)
END
END(*MEMORYMANAGER*);

回复列表 (共9个回复)

沙发

楼主:

QB+PASCAL
这是什么语言?

板凳


就是pascal语言呀

3 楼

那你好多语句都不打分号?

4 楼

太深奥了,偶看不懂

5 楼

呵呵,我知道这题难了点儿,所以向大家请教来了,请大家献计献策

6 楼

题目意思是 改造上面操作系统里的mos程序段,大家积极出谋划策呀!

7 楼

大家看看这样改行吗?
PROCEDURE MEMORYMANAGER (VAR JJOB : INTERGER : VAR ENTRY : QUEUERAGE : VAR W ; VAR V : CHAR);
VAR J: INTEGER ; JOB : 1 . . MAXJOBS : PTEADDR : WORD :
BEGIN
WITH JOBQ ( . JREADY .) DO BEGIN /* 0 */
W : = “ 0000” ;
J: = “HEAD”;
AGE := MAXAGE;
WHILE (W = “0000” AND (J <TAIL) DO BEGIN  /* 1 */
J: =J+1;
AGE := AGE – 1;
JOB: =Q( . J MOD QUEUESIZE . );
WITH JD( .JOB .) DO BEGIN /* 2 */
PTEADDR( .2 .) : =PTR( .3.);
PTEADDR( .3 .) : =PTR( .4.);
V: =“0”;
WHILE (W = “0000”) AND (V<=PTR( .2 .)) DO BEGIN /* 3 */
TESTAGE (PTEADDR, W);
IF AGE = 0 THEN BEGIN
保存 JOB 和 j值
END
V : =SUCC(V)
END /* 3 */
END /* 2 */
END /* 1 */
END /* 0 */
IF W< > “0000”THEN BEGIN
JJOB: = JOB;
ENTRY : =J MOD QUEUESIZE;
V: = PRED(V)
END
END(*MEMORYMANAGER*);

8 楼

全是大写.......好....(该怎么说呢)太xxx了

9 楼

帮忙顶呀,别沉了

我来回复

您尚未登录,请登录后再回复。点此登录或注册