亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 2.5.c

?? :在可變分區管理方式下采用首次適應算法實現主存分配和回收。 [提示]: (1) 可變分區方式是按作業需要的主存空間大小來分割分區的。當要裝入一個作業時
?? C
字號:
/*實習二  主存空間的分配和回收
一、實習內容
主存儲器空間的分配和回收。
二、實習目的
通過本實習幫助理解在不同的存儲管理方式下應怎樣貯存空間的分配和回收。
三、實習題目
本實習有兩題,可任選一題。
第一題:在可變分區管理方式下采用首次適應算法實現主存分配和回收。
[提示]:
(1)	可變分區方式是按作業需要的主存空間大小來分割分區的。當要裝入一個作業時,根據作業需要的主存
容量查看是否有足夠的空閑空間,若有,則按需分配,否則,作業無法裝入。假定內存大小為128K,
初始狀態見右圖。空閑區說明表格式為:
起址--指出空閑區的啟始地址;
長度--一個連續空閑區的長度;
狀態--有兩種狀態,一種是"未分配"狀態,另一種是"空表目"狀態。
(2)	采用首次適應算法分配。運行時,輸入一系列分配請求和回收請求。
*/
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>

struct block{
	int start;  //起址
	int len;    //長度
	int state;  //狀態:0為未分配,1為已分配
	struct block *next;
};

struct block *create(){

	struct block *head,*temp,*present;
	temp = (struct block *)malloc(sizeof(struct block));
	temp->start = 5;
	temp->len = 5;
	temp->state = 1;
	head = present = temp;
	temp = (struct block *)malloc(sizeof(struct block));
	temp->start = 10;
	temp->len = 4;
	temp->state = 1;
	present->next = temp;
	present = temp;
	temp = (struct block *)malloc(sizeof(struct block));
	temp->start = 14;
	temp->len = 12;
	temp->state = 0;
	present->next = temp;
	present = temp;
	temp = (struct block *)malloc(sizeof(struct block));
	temp->start = 26;
	temp->len = 6;
	temp->state = 1;
	present->next = temp;
	present = temp;
	temp = (struct block *)malloc(sizeof(struct block));
	temp->start = 32;
	temp->len = 96;
	temp->state = 0;
	temp->next = NULL;
	present->next = temp;
	return head;
}

void main( void ){
	int choice;      //用戶選擇	
	int cap;         //要求分配或者收回的空間大小
	struct block *head,*present,*temp;
	head = create();
	present = head;
	
	while(1){
		printf("=========分配和收回請求===========\n");
		printf("\t1.分配;\n");
		printf("\t2.收回;\n");
		printf("\t3.顯示;\n");
		printf("\t0.退出。\n");
		printf("==================================\n");
		printf("Your choice is:");
		scanf("%d",&choice);
		if(choice==0)
			break;
		while(choice!=0){
			switch(choice){
			case 1:
				printf("\nPlease input the capability you want to assign:");
				scanf("%d",&cap);
				
				while(present!=NULL){
					if((present->len>cap)&&(present->state==0)){
						
						temp = (struct block *)malloc(sizeof(struct block));
						temp->len = present->len - cap;
						temp->state = 0;
						temp->start = present->start+cap;
						present->len = cap;
						present->state = 1;
						temp->next = present->next;
						present->next = temp;
						break;
					}
					else
						present = present->next;
				}
				if(present->next==NULL)
					printf("\nThere are no sufficient capablity for you require!\nPlease try to assign a litter one.\n");
				choice = 0;
				break;
			case 2:
				printf("\nPlease input the capablity you want to get back:");
				scanf("%d",&cap);
				
				temp = head;
				present = temp->next;
				//判斷頭結點是否滿足條件
				if((temp->len==cap)&&(temp->state==1)){
					if(temp->next->state==0){
						temp->len += cap;
						temp->next = temp->next->next;
					}
					else		
						temp->state = 0;
					choice = 0;
					break;
				}
				
				while(present!=NULL){
					if((present->len==cap)&&(present->state==1)){   //找到滿足條件的
						if(temp->state==0){             //上面一個為空結點
							
							temp->len += present->len;
							temp->next = present->next;
							if(present->next->state==0){
								temp->len += present->next->len;
								temp->next = present->next->next;
								present = present->next->next;
							}
						}//if
						else{
							
							if(present->next->state==0){         //下面一個為空結點
								
								present->len += present->next->len;
								present->next = present->next->next;
														
							}//if                    
							present->state = 0;								
						}//else
						
						choice = 0;
						break;
					}//if
					else{						
						temp = temp->next;
						present = temp->next;
					}//else
				}//while
				if(temp->next==NULL)					
					printf("\nERROR!Cannot find this block in the list!\n");				
					
				choice=0;
				break;
			case 3:
				printf("\nThe resent stuation of the Memory portion is:\n");
				printf("**************************************************\n");
				printf("\tFROM\tTO\tCAPABLITY\tSTATE\n");
				temp = head;
				while(temp!=NULL){
					printf("\t%d\t%d\t%d\t\t%s\n",temp->start,temp->start+temp->len,temp->len,(temp->state==0)?"free":"busy");
					temp = temp->next;
				}
				printf("**************************************************\n");
				choice = 0;
				break;

				
			default:

				printf("Input Error!Please try again!\n");
				choice = 0;
				break;
			}	
		}
		

	}//while(1)
	

}

/*第二題:在分頁式管理方式下采用位示圖來表示主存分配情況,實現主存分配和回收。
[提示]:
(1)	假定系統的主存被分成大小相等的64個塊,用0/1對應空閑/占用。初始位示圖如右圖。
(2)	當要裝入一個作業時,根據作業對主存的需求量,先查空閑塊數是否能滿足作業要求,若能滿足,
則查位示圖,修改位示圖和空閑塊數。位置與塊號的對應關系為:
塊號=j*8+i,其中i表示位,j表示字節。
根據分配的塊號建立頁表。頁表包括兩項:頁號和塊號。
(3)	回收時,修改位示圖和空閑塊數。
(4)	要求程序能顯示位示圖和空閑塊數的變化。
*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
2021中文字幕一区亚洲| ...av二区三区久久精品| 粉嫩av一区二区三区| 一区二区欧美精品| 日本一区免费视频| 91精品国产91久久久久久最新毛片| 成人精品国产福利| 国内精品伊人久久久久av影院 | 一区二区中文视频| 日韩小视频在线观看专区| av成人老司机| 国产精品1024久久| 青青草一区二区三区| 一区二区激情小说| 一区免费观看视频| 中文av一区二区| 久久精品视频在线看| 日韩欧美国产成人一区二区| 欧美性色黄大片手机版| 一本一道久久a久久精品| 高清不卡在线观看| 国产一区二区在线看| 青青草国产成人99久久| 丝袜美腿高跟呻吟高潮一区| 亚洲激情自拍视频| 亚洲精品精品亚洲| 中文字幕佐山爱一区二区免费| 久久久九九九九| 2021中文字幕一区亚洲| 久久综合一区二区| 精品嫩草影院久久| 精品国产乱码久久久久久图片| 欧美一区二区三区在线观看视频 | 一本久道久久综合中文字幕| 成人午夜精品在线| 国产成人av电影在线| 成人小视频免费观看| 夫妻av一区二区| 成人黄色在线网站| 91在线观看成人| 91视频精品在这里| 91在线播放网址| 在线观看视频一区二区| 欧美性一级生活| 欧美电影一区二区三区| 日韩美女视频在线| 精品精品欲导航| 国产亚洲欧美一区在线观看| 久久久精品国产免费观看同学| 国产欧美视频在线观看| 国产精品不卡在线观看| 亚洲色图一区二区三区| 亚洲福利视频一区| 麻豆国产精品官网| 国产精品一色哟哟哟| 成人黄色免费短视频| 在线国产亚洲欧美| 欧美一级片在线看| 国产午夜精品福利| 亚洲精品乱码久久久久久 | 老司机午夜精品| 黄色资源网久久资源365| 国产99久久精品| 在线观看视频91| 欧美成人综合网站| 中文一区二区在线观看 | 成人晚上爱看视频| 99久久久无码国产精品| 欧美在线观看视频在线| 精品区一区二区| 亚洲视频电影在线| 麻豆精品在线播放| eeuss鲁片一区二区三区在线看| 欧美视频在线一区二区三区| 精品国产三级电影在线观看| 国产精品日产欧美久久久久| 亚洲电影一区二区三区| 激情综合一区二区三区| 菠萝蜜视频在线观看一区| 欧美三级三级三级爽爽爽| 欧美xxxxx裸体时装秀| 国产精品久久免费看| 亚洲444eee在线观看| 国产精品一区二区三区网站| 在线观看网站黄不卡| 久久夜色精品国产欧美乱极品| 中文字幕一区二区日韩精品绯色| 水野朝阳av一区二区三区| 国产激情精品久久久第一区二区| 欧美日韩一级片在线观看| 久久久91精品国产一区二区精品 | 成人动漫av在线| 欧美视频你懂的| 国产日韩欧美制服另类| 日本中文字幕不卡| 99久久夜色精品国产网站| 欧美一区二区三区在线视频| 亚洲视频免费在线| 国产剧情一区二区| 欧美肥妇free| 有码一区二区三区| 国产成人高清在线| 日韩欧美国产综合一区 | 欧美日韩精品高清| 国产精品美女久久久久高潮| 久久精品噜噜噜成人88aⅴ| 欧美午夜一区二区三区免费大片| 日本一区二区三区国色天香| 久久国产麻豆精品| 欧美日韩精品一区视频| 亚洲免费成人av| 成人性生交大片免费看中文网站| 日韩免费成人网| 奇米影视在线99精品| 欧美视频一区二区三区| 亚洲女厕所小便bbb| 成人精品视频.| 欧美韩国日本不卡| 韩国女主播一区二区三区| 91精品一区二区三区久久久久久 | 国产一区二区三区在线观看免费 | 在线欧美小视频| ●精品国产综合乱码久久久久| 国产成人精品一区二区三区四区| 精品动漫一区二区三区在线观看| 日韩成人午夜精品| 在线播放中文字幕一区| 亚洲成人av中文| 欧美日韩一区精品| 午夜精品福利视频网站| 欧美日韩二区三区| 五月婷婷激情综合网| 欧美日韩午夜在线| 五月天丁香久久| 日韩一区二区三区视频在线 | 欧美精品tushy高清| 亚洲成人精品影院| 欧美日本一区二区三区四区| 亚洲第一主播视频| 欧美男男青年gay1069videost| 亚洲成人av福利| 这里只有精品视频在线观看| 青青国产91久久久久久| 日韩女优毛片在线| 国产在线国偷精品产拍免费yy| 久久综合色之久久综合| 久久婷婷成人综合色| 国产一区二区三区在线观看免费视频| 久久夜色精品一区| av亚洲精华国产精华精华| 亚洲六月丁香色婷婷综合久久 | 成人av在线资源网| 亚洲色图在线看| 欧美视频一区二区三区四区| 美国欧美日韩国产在线播放| 精品粉嫩超白一线天av| 成人黄色777网| 亚洲一区二区三区四区五区中文| 欧美丝袜丝交足nylons图片| 美女性感视频久久| 国产亚洲成aⅴ人片在线观看| fc2成人免费人成在线观看播放| 一区二区三区 在线观看视频| 91精品国产综合久久精品性色| 精品一区二区免费看| 中文字幕不卡的av| 欧美日韩一级片在线观看| 精品在线你懂的| 中文字幕亚洲综合久久菠萝蜜| 91美女福利视频| 免费看精品久久片| 欧美激情一区二区三区全黄| 欧美在线综合视频| 精品一区免费av| 亚洲男同1069视频| 精品福利视频一区二区三区| 91免费观看在线| 麻豆免费精品视频| 亚洲激情在线激情| 久久综合九色综合97婷婷女人| 99精品视频中文字幕| 久久精品理论片| 一区二区三区中文字幕在线观看| 精品乱码亚洲一区二区不卡| 一本久久综合亚洲鲁鲁五月天 | 另类小说视频一区二区| 国产精品毛片大码女人| 日韩写真欧美这视频| 91在线观看成人| 国产精品一区二区在线看| 亚洲国产精品麻豆| 国产精品每日更新| 欧美va亚洲va在线观看蝴蝶网| 欧美在线高清视频| 大陆成人av片| 国内成人免费视频| 日韩电影在线免费观看| 一区二区三区免费| 国产日韩精品一区二区三区在线| 555夜色666亚洲国产免|