虛擬存儲器管理實驗報告
《虛擬存儲器管理實驗報告》由會員分享,可在線閱讀,更多相關《虛擬存儲器管理實驗報告(23頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀
2、羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀
3、肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈
4、肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿
5、肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀
6、膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈
7、膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈
8、膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿
9、羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇
10、芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇
11、袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈
12、羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆
13、羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆
14、肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇
15、肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅
16、肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆
17、膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆
18、膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄
19、艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊
20、芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅
21、芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃
22、罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖
23、羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅
24、羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂
25、肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃
26、聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻
27、膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅芄節(jié)薈肅羄蕆蒄蟻膆芀葿蝕艿薆螈蠆羈荿蚄蚈肁薄薀蚈膃莇蒆蚇芅膀螅螆羅蒞蟻螅肇膈薇螄艿莃薃螃罿芆葿螂肁蒂螇螂
28、膄芅蚃螁芆蒀蕿螀羆芃蒅衿肈蒈莁袈膀芁蝕袇袀蕆蚆袆肂荿薂袆膅薅蒈裊芇莈螆襖羇膁螞袃聿莆薈羂膁腿蒄羈袁莄莀羀肅膇蝿羀膅蒃蚅罿羋芅薁羈羇蒁蕆羇肀芄螆肆膂葿螞肅 淮海工學院計算機科學系 實驗報告書 課程名:《 操 作 系 統(tǒng) 》 題 目: 虛擬存儲器管理 頁面置換算法模擬實驗 班 級: 學 號: 姓 名:
29、 評語: 成績: 指導教師: 批閱時間: 年 月 日 《 操作系統(tǒng) 》實驗報告 - 22 - 一、實驗目的與要求 1. 目的: 請求頁式虛存管理是常用的虛擬存儲管理方案之一。通過請求頁式虛存管理中對頁面置換算法的模擬,有助于理解虛擬
30、存儲技術的特點,并加深對請求頁式虛存管理的頁面調(diào)度算法的理解。 2. 要求: 本實驗要求使用C語言編程模擬一個擁有若干個虛頁的進程在給定的若干個實頁中運行、并在缺頁中斷發(fā)生時分別使用FIFO和LRU算法進行頁面置換的情形。其中虛頁的個數(shù)可以事先給定(例如10個),對這些虛頁訪問的頁地址流(其長度可以事先給定,例如20次虛頁訪問)可以由程序隨機產(chǎn)生,也可以事先保存在文件中。要求程序運行時屏幕能顯示出置換過程中的狀態(tài)信息并輸出訪問結束時的頁面命中率。程序應允許通過為該進程分配不同的實頁數(shù),來比較兩種置換算法的穩(wěn)定性。 二、實驗說明 1.設計中虛頁和實頁的表示 本設計利用C語言的結構體來
31、描述虛頁和實頁的結構。 pn pfn time pn pfn next 虛頁結構 實頁結構 在虛頁結構中,pn代表虛頁號,因為共10個虛頁,所以pn的取值范圍是0—9。pfn代表實頁號,當一虛頁未裝入實頁時,此項值為-1;當該虛頁已裝入某一實頁時,此項值為所裝入的實頁的實頁號pfn。time項在FIFO算法中不使用,在LRU中用來存放對該虛頁的最近訪問時間。 在實頁結構中中,pn代表虛頁號,表示pn所代表的虛頁目前正放在此實頁中。pfn代表實頁號,取值范圍(0—n-1)由動
32、態(tài)指派的實頁數(shù)n所決定。next是一個指向實頁結構體的指針,用于多個實頁以鏈表形式組織起來,關于實頁鏈表的組織詳見下面第4點。 2.關于缺頁次數(shù)的統(tǒng)計 為計算命中率,需要統(tǒng)計在20次的虛頁訪問中命中的次數(shù)。為此,程序應設置一個計數(shù)器count,來統(tǒng)計虛頁命中發(fā)生的次數(shù)。每當所訪問的虛頁的pfn項值不為-1,表示此虛頁已被裝入某實頁內(nèi),此虛頁被命中,count加1。最終命中率=count/20*100%。 3.LRU算法中“最近最久未用”頁面的確定 為了能找到“最近最久未用”的虛頁面,程序中可引入一個時間計數(shù)器countime,每當要訪問一個虛頁面時,countime的值加1,然后將所要
33、訪問的虛頁的time項值設置為增值后的當前countime值,表示該虛頁的最后一次被訪問時間。當LRU算法需要置換時,從所有已分配實頁的虛頁中找出time值為最小的虛頁就是“最近最久未用”的虛頁面,應該將它置換出去。 4.算法中實頁的組織 因為能分配的實頁數(shù)n是在程序運行時由用戶動態(tài)指派的,所以應使用鏈表組織動態(tài)產(chǎn)生的多個實頁。為了調(diào)度算法實現(xiàn)的方便,可以考慮引入free和busy兩個鏈表:free鏈表用于組織未分配出去的實頁,首指針為free_head,初始時n個實頁都處于free鏈表中;busy鏈表用于組織已分配出去的實頁,首指針為busy_head,尾指針為busy_tail,初始值
34、都為null。當所要訪問的一個虛頁不在實頁中時,將產(chǎn)生缺頁中斷。此時若free鏈表不為空,就取下鏈表首指針所指的實頁,并分配給該虛頁。若free鏈表為空,則說明n個實頁已全部分配出去,此時應進行頁面置換:對于FIFO算法要將busy_head 所指的實頁從busy鏈表中取下,分配給該虛頁,然后再將該實頁插入到busy鏈表尾部;對于LRU算法則要從所有已分配實頁的虛頁中找出time值為最小的虛頁,將該虛頁從裝載它的那個實頁中置換出去,并在該實頁中裝入當前正要訪問的虛頁。 三、程序流程圖 三個模塊的流程圖 〈1〉登錄模塊 開 始 打開w_input窗口 關閉w_main窗
35、口 〈2〉參數(shù)輸入模塊 開 始 打開w_accept窗口 關閉w_input窗口 輸入當前磁頭位置 輸入各磁道號位置 開 始 打開w_input窗口 關閉w_accept窗口 調(diào)用FCFS算法 顯示結果 調(diào)用SSTF算法 顯示結果 調(diào)用SCAN算法 顯示結果 調(diào)用CSCAN算法 顯示結果 〈3〉算法實現(xiàn)模塊
36、
四、主要程序清單
模塊之間的調(diào)用關系
登錄模塊
參數(shù)輸入模塊
算法實現(xiàn)模塊
#include
37、node*head,int randprocess); struct linknode* LRU(struct linknode *head,int randprocess); struct linknode* initlink(); void choicestey(); int allotment(struct linknode *head); bool checkfifooptimal(struct linknode* head,int checkpage); void recover(struct linknode *head,int randprocess); void
38、 recovermemory(); int process[10][20];//數(shù)組的橫坐標為進程序列,縱坐標為每個進程的頁號 int processallotment[6];//存儲每個進程已經(jīng)分配的塊數(shù) int finishp[6];//標志進程是否完成(1完成0不完成) int finishprocess=0;//進程完成的個數(shù) int findpage[6];//每個進程命中的個數(shù) struct linknode *plinkhead[6]; struct linknode *plink[6]; int memoryallotment[6]; int
39、stey=0; struct linknode { struct linknode *linkper;//空鏈表的前驅指針 int page; int processpage; int used; int memorypage; struct linknode *linknext;//空鏈表的后繼指針 struct linknode *processper;//進程的前去指針 struct linknode *processnext;//進程的后繼指針 }; int main() { struct linknode *head=initli
40、nk(); initprocess(); choicestey(); int re=allotment(head); if(re==0) {printf("內(nèi)存分配出現(xiàn)問題。");system("pause");} chosedisplace(); recovermemory(); system("pause"); } void recovermemory() { int n=0; printf("是否回收全部已分配的內(nèi)存空間?\n回收輸入 1,不回收輸入2\n"); scanf("%d",&n); if(n==1
41、) { for(int i=1;i<=5;i++) recover(plinkhead[i],i); } if(n==2) printf("您這么做會浪費內(nèi)存空間"); } void recover(struct linknode *head,int randprocess) { while(head!=0) { head->used=0; head=head->processnext; } } void choicestey() { printf("請選擇置換算法\n");
42、printf("1 表示FIFO\n2 表示Optimal\n3 表示LRU\n"); bool flag=true; while(flag) { scanf("%d",&stey); switch(stey) { case 1:{printf("您選擇的是FIFO替換算法\n");flag=false; break;} case 2:{printf("您選擇的是Optimal替換算法\n");flag=false;break;} case 3:{printf("您選擇的是LRU替換
43、算法\n");flag=false;break;}
default :printf("輸入錯誤,請重新輸入\n");
}
}
}
void chosedisplace()//選擇置換算法
{
struct linknode *head;
int randcount;//進程序號
bool find;
while(finishprocess<5)
{
randcount=producerand(5);
while(processallotment[randcount] 44、])
{
find=false;
head=plinkhead[randcount];
if(stey==1||stey==2)
find=checkfifooptimal(head,process[randcount][processallotment[randcount]+1]);
if(find==true)
{
findpage[randcount]++;
}
if(find==false)//如果在鏈表中沒找到當前的頁數(shù)
{
switch(stey)
{
45、 case 1:
{
plinkhead[randcount]=fifo(plinkhead[randcount],randcount);
break;
}
case 2:{
Optimal(plinkhead[randcount],randcount);
break;
}
case 3:{
46、 plinkhead[randcount]=LRU(plinkhead[randcount],randcount);
break;
}
}
}
processallotment[randcount]++;
}
if(finishp[randcount]==0)
{
finishprocess++;
finishp[randcount]=1;
47、 }
}
struct linknode *p;
printf("進程執(zhí)行完后內(nèi)存分配情況:\n");
for(int i=1;i<=5;i++)
{
p=plinkhead[i];
while(p!=0)
{
printf("內(nèi)存塊號:%d\t進程號:%d\t號:%d\n",p->memorypage,p->processpage,p->page);
p=p->processnext;
}
}
for(int i=1;i<=5;i++)
{
printf 48、("進程序列 %d",i);
printf("\t進程總頁數(shù)為%d\t命中頁為%d\t",process[i][0],findpage[i]);
printf("進程的命中率為%.0f%%\n",((float)findpage[i])*100/process[i][0]);
}
}
bool checkfifooptimal(struct linknode* head,int checkpage)
{
while(head!=0)//遍歷鏈表查單當前頁是否在鏈表中
{
if(head->page==checkpag 49、e)
{
return true;
}
else
{
head=head->processnext;
}
}
return false;
}
struct linknode* LRU(struct linknode *head,int randprocess)
{
struct linknode *bhead;
bhead=head;
while(head->processnext!=0)
{
if(he 50、ad->page==process[randprocess][processallotment[randprocess]+1])
break;
else head=head->processnext;
}
if(head->page!=process[randprocess][processallotment[randprocess]+1])//沒找到
{
bhead->page=process[randprocess][processallot 51、ment[randprocess]+1];
head->processnext=bhead;
bhead->processper=head;
bhead=bhead->processnext;
bhead->processper=0;
head=head->processnext;
head->processnext=0;
plin 52、k[randprocess]=plink[randprocess]->processnext;
return bhead;
}
else//找到了
{
if(head==bhead)//頭
{
head->processper=plink[randprocess];
plink[randprocess]->processnext=head;
plink[ra 53、ndprocess]=plink[randprocess]->processnext;
head=head->processnext;
head->processper=0;
plink[randprocess]->processnext=0;
findpage[randprocess]++;
return head;
}
else
{
54、 if(head->processnext==0)//尾
{
findpage[randprocess]++;
return bhead;
}
else//中間
{
head->processnext->processper=head->processper;
head->proces 55、sper->processnext=head->processnext;
head->processnext=0;
head->processper=plink[randprocess];
plink[randprocess]->processnext=head;
plink[randprocess]=plink[randprocess]->processnext;
findpage[randproces 56、s]++;
return bhead;
}
}
}
}
void Optimal(struct linknode*head,int randprocess)
{
struct linknode *maxp;
maxp=head;
int max=1,i;
while(head!=0)
{
for(i=processallotment[randprocess]+1;i<=process[randprocess][0];i 57、++)
{
if(process[randprocess][i]==head->page)
{
break;
}
}
if(i>max)
{
max=i;
maxp=head;
}
head=head->processnext;
}
maxp->page=process[randprocess][processallotment[randprocess]+1];
}
struct linknode* fifo(struct linknode*head,int randprocess)
{
s 58、truct linknode*phead;//改變后的頭指針
phead=head;
head->page=process[randprocess][processallotment[randprocess]+1];
while(head->processnext!=0)
{
head=head->processnext;
}
head->processnext=phead;
phead->processper=head;
phead=phead->processnext;
head=head->processnext;
head->proces 59、snext=0;
phead->processper=0;
return phead;
}
int allotment(struct linknode *head)//為進程分配內(nèi)存
{
int allotsum=0;//已經(jīng)分配完進程的個數(shù)
int randprocess;//當前要分配內(nèi)存的進程標號
bool boolallot[6];
for(int i=1;i<6;i++)
{
processallotment[i]=0;
boolallot[i]=false;
memoryallotment[i]=0;
}
60、 while(allotsum<=4)//判斷是否全部進程都分配完
{
randprocess=producerand(5);//隨即生成進程標號
if(boolallot[randprocess]==false)//判斷進程是否分配完
{
if(head->used==0)
{
if(processallotment[randprocess]==0)
{
plinkhead[randprocess]=head;
plink[randprocess]=head;
plink[randprocess]- 61、>processper=0;
plink[randprocess]->processnext=0;
head->processpage=randprocess;
plink[randprocess]->page=process[randprocess][1];
head->used=1;
printf("內(nèi)存塊號:%d\t進程號:%d\t頁號:%d\n",head->memorypage,head->processpage,head->page);
head=head-> linknext;
memoryallotment 62、[randprocess]++;
findpage[randprocess]++;
}
else
{
bool checksame=checkfifooptimal(plinkhead[randprocess],process[randprocess][processallotment[randprocess]+1]);
if(checksame==false)
{
head->used=1;
head->processnext=0;
head->processper=pli 63、nk[randprocess];
plink[randprocess]-> processnext=head;
head->processpage=randprocess;
head->page=process[randprocess][processallotment[randprocess]+1];
plink[randprocess]=plink[randprocess]->processnext;
printf("內(nèi)存塊號:%d\t進程號:%d\t頁號:%d\n",head->memorypage,head 64、->processpage,head->page);
head=head->linknext;
memoryallotment[randprocess]++;
findpage[randprocess]++;
}
else
{
if(stey==3)
plinkhead[randprocess]=LRU(plinkhead[randprocess],randprocess);
else 65、 findpage[randprocess]++;
}
}
processallotment[randprocess]++;
}
else
{
printf("進程%d分配失敗\n",randprocess);
return 0;
}
if(head==0)
{
printf("進程%d分配失敗\n",randprocess);
return 0;
}
if(processallotment[randprocess]==process[randp 66、rocess][0])
{
printf("進程%d分配成功\n",randprocess);
allotsum++;
boolallot[randprocess]=true;
finishprocess++;
finishp[randprocess]=1;
}
else
if(memoryallotment[randprocess]==4)
{
allotsum++;
boolallot[randprocess]=true;
printf("進程%d分配成功\n",randprocess);
}
}
}
struct linknode *p;
printf("初始內(nèi)存分配情況:\n");
for(int i=1;i<=5;i++)
{
p=plinkhead[i];
while(p!=0)
{
printf("內(nèi)存塊號:%d\t進
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習題含答案
- 2煤礦安全監(jiān)測工種技術比武題庫含解析
- 1 礦山應急救援安全知識競賽試題
- 1 礦井泵工考試練習題含答案
- 2煤礦爆破工考試復習題含答案
- 1 各種煤礦安全考試試題含答案