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

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

?? hdmemory.h

?? 該模塊包括作業調度的三個系統進程。P1、P2、P3進程功能的實現。 P1負責對用戶作業預輸入處理
?? H
字號:
/****************************************************************************
*****************************************************************************

文件名稱:	HDMEMORY.H
模塊名稱:	內存和硬盤管理模塊
模塊作用:	內存和硬盤的申請,釋放的管理
編寫者一:	賴惠芳(AP0006306)	
編寫者二:	
編寫日期:
完成日期:
程序行數:	250

*****************************************************************************
*****************************************************************************/

/****************************************************************************
模塊名稱:	內存和硬盤管理模塊
函 數 名:	M_GET_MEMORY_FREE_TABLE
功    能:	得到當前內存的可用(空閑)頁數
入口參數:	無
出口參數:	返回可用的內存頁數
調用關系:	被作業調度進程(P2)調用
編    者:	賴惠芳(AP0006306)
編寫日期:	2003-10-12
完成日期:	2003-10-12
*****************************************************************************/
M_GET_MEMORY_FREE_TABLE()
{
	int i=0,j;
	/* 內存按頁式管理,總共有30頁 */
	for(j=0;j<30;j++)
	{
		/* 如果內存的當前頁為空閑狀態,則空閑頁面數計數器加 1 */
		if(MEMORY_TABLE[j] == 'F')
			i++;
	}
	/* 返回可用的內存頁數*/
	return(i);
}

/****************************************************************************
模塊名稱:	內存和硬盤管理模塊
函 數 名:	M_MALLOC_MEMORY_TABLE
功    能:	向內存申請i頁空閑的空間
入口參數:	int i 要申請的內存頁數
出口參數:	無
調用關系:	被作業調度進程(P2)調用
編    者:	賴惠芳(AP0006306)
編寫日期:	2003-10-12
完成日期:	2003-10-12
*****************************************************************************/
M_MALLOC_MEMORY_TABLE(int i)
{
	int j,k=0;
	/* 在30頁內存中循環檢查,哪些頁面是空閑狀態的 */
	for(j=0;j<30;j++)
	{
		/* 如果該頁面空閑,則將該內存頁分配給要申請的作業 */
		if(MEMORY_TABLE[j] == 'F')
		{
			/* 分配給作業后應置該內存頁已被占用 */
			M_CHARGE_MEMORY_TABLE_STATUS(j,'T');
			/* 將分配到的內存頁面頁號寫入作業的頁表中 */
			J_INPUT_JOB_HEAD->j_next->j_job_table[k] = j;
			/* 已分配的頁數加1 */
			k++;
			/* 如果已分配i頁,則跳出循環*/
			if(k == i)
				break;
		}
	}
	/* -1 表示作業頁表中該項已經是最后一項,該項后面的所有項無效 */
	for(;k<10;k++)
		J_INPUT_JOB_HEAD->j_next->j_job_table[k] = -1;
}

/****************************************************************************
模塊名稱:	內存和硬盤管理模塊
函 數 名:	M_CLEAR_MEMORY_JOB_HAD_TAKEN
功    能:	將當前運行完成的作業所占用的內存頁全部釋放
入口參數:	無(默認當前正在運行的作業)
出口參數:	無
調用關系:	當作業執行H指令或作業發生錯誤時調用
編    者:	賴惠芳(AP0006306)
編寫日期:	2003-10-12
完成日期:	2003-10-12
*****************************************************************************/
M_CLEAR_MEMORY_JOB_HAD_TAKEN()
{
	int i;
	/* 從作業的頁表中找出該作業所占用的內存頁*/
	for(i=0;i<10;i++)
	{
		/* 如果該作業頁表不是-1,則表示應該釋放該頁面*/
		if(RUNNING_QUEUE->p_next->p_job_table[i] != -1)
		{
			/* 將作業頁表中所指的內存頁號相應置為空閑狀態*/
			M_CHARGE_MEMORY_TABLE_STATUS(RUNNING_QUEUE->p_next->p_job_table[i],'F');
			/* 在圖形方式顯示清除內存頁面這一過程*/
			M_G_DISPLAY_OR_CLEAN_DATA_TAKEN_USERBUF(RUNNING_QUEUE->p_next->p_job_table[i],0);
		}
	}
}

/****************************************************************************
模塊名稱:	內存和硬盤管理模塊
函 數 名:	M_CLEAR_HARDDISK_JOB_HAD_TAKEN
功    能:	作業被P2調用后全部已裝入用戶存儲區后釋放占用的輸入井
入口參數:	(JCB *P) 指向要釋放輸入井空間的作業的指針
出口參數:	無
調用關系:	當作業全部裝入用戶存儲或被P2調用過程中出錯,則調用該函數
編    者:	賴惠芳(AP0006306)
編寫日期:	2003-10-12
完成日期:	2003-10-12
*****************************************************************************/
M_CLEAR_HARDDISK_JOB_HAD_TAKEN(JCB *p)
{
	int i;
	/* 在作業的占用硬盤頁表中查找*/
	for(i=0;i<10;i++)
	{
		/* 如果該頁表數值有效,則釋放對應的輸入井空間*/
		if(p->j_hd_table[i] != -1)
		{
			/* 將輸入井置為空*/
			HARDDISK_TRACK[p->j_hd_table[i]] = 'F';
			/* 圖形方式下顯示這一過程 */
			M_G_DISPLAY_OR_CLEAN_INPUT_BUF(p->j_hd_table[i],0);
		}
		else
			break;
	}
}

/****************************************************************************
模塊名稱:	內存和硬盤管理模塊
函 數 名:	M_MALLOC_SPACE_FOR_JOB_FROM_HARDDISK
功    能:	向輸入井申請空間,只申請一道(硬盤按道管理)
入口參數:	(JCB *tempjcb) 指向要申請輸入井空間的作業的指針
出口參數:	無
調用關系:	被P2調用
編    者:	賴惠芳(AP0006306)
編寫日期:	2003-10-12
完成日期:	2003-10-12
*****************************************************************************/
M_MALLOC_SPACE_FOR_JOB_FROM_HARDDISK(JCB *tempjcb)
{
	int i,j,pre=HARDDISK_TRACK_INDEX;
	int *table;
	table = tempjcb->j_hd_table;
	for(i=0;i<10;i++)
	{
		if(table[i] == -1)
			break;
		else
			pre = table[i];
	}
	if(i >= 10)
		return(FALSE);
	else
	{
		for(j=0;j<100;j++)
		{
			pre++;
			pre %= 100;
			if(HARDDISK_TRACK[pre] == 'F')
			{
				HARDDISK_TRACK[pre] = 'T';
				table[i] = pre;
				HARDDISK_TRACK_INDEX = pre;
				/* [0]是圖形方式下顯示需要的附加變量*/
				LINE_FROM_SYSTEM_MEMORY_TO_INPUT_BUF_INDEX[0] = pre;
				tempjcb->j_index = i;
				if(i+1 < 10)
					table[i+1] = -1;
				break;
			}
		}
		if(j<100)
			return(TRUE);
	}
}

/****************************************************************************
模塊名稱:	內存和硬盤管理模塊
函 數 名:	M_CHECK_WHETHER_HAVE_SPACE_IN_HARDDISK
功    能:	檢查硬盤是否存在空閑空間(硬盤按道管理)
入口參數:	無
出口參數:	如果有空間返回真,否則返回假
調用關系:	被P1調用
編    者:	賴惠芳(AP0006306)
編寫日期:	2003-10-12
完成日期:	2003-10-12
*****************************************************************************/
M_CHECK_WHETHER_HAVE_SPACE_IN_HARDDISK()
{
	/* 如果磁盤還存在空間,則返回真 */
	int i;
	for(i=0;i<100;i++)
	{
		/* 只要存在一道硬盤空閑空間,就返回真*/
		if(HARDDISK_TRACK[i] == 'F')
			return(TRUE);
	}
	return(FALSE);
}



/****************************************************************************
模塊名稱:	內存和硬盤管理模塊
函 數 名:	M_CHANGE_POSITION_OF_LENGTH_TO_POSITION_OF_HARDDISK
功    能:	將作業中某一字節(地址以邏輯方式)轉換成硬盤的絕對地址
入口參數:	(JCB *j)要轉換地址的作業 
出口參數:	無(以全局變量HDWPOINTERR返回)
調用關系:	被P1,P2調用
編    者:	賴惠芳(AP0006306)
編寫日期:	2003-10-12
完成日期:	2003-10-12
*****************************************************************************/
M_CHANGE_POSITION_OF_LENGTH_TO_POSITION_OF_HARDDISK(JCB *j)
{
	int page,offset,block;
	/* 先轉換成該作業硬盤頁表的數組下標*/
	page = (j->j_loaded_length -1) / 10;
	/* 再轉換成硬盤的道號*/
	block = j->j_hd_table[page];
	/* 再得到道內的偏移量*/
	offset = (j->j_loaded_length - 1) % 10;
	/* 將道號X道的長度+偏移量,則是絕對地址*/
	HDWPOINTER = block * 10 + offset;
}


/****************************************************************************
模塊名稱:	內存和硬盤管理模塊
函 數 名:	M_GET_JOB_CURRENT_HARDDISK_INDEX_AND_MEMORY_INDEX
功    能:	將一個作業的當前位置轉換成內存和硬盤的絕對地址
入口參數:	int offset  該作業的邏輯地址(當前位置+偏移量)
			int *hdi	該作業對應的硬盤道號
			int *mmi	該作業對應的內存頁號
出口參數:	用指針方式返回兩個值,硬盤道號和內存頁號
調用關系:	被P2調用
編    者:	賴惠芳(AP0006306)
編寫日期:	2003-10-12
完成日期:	2003-10-12
*****************************************************************************/
M_GET_JOB_CURRENT_HARDDISK_INDEX_AND_MEMORY_INDEX(int offset,int *hdi,int *mmi)
{
	int l;
	l = J_INPUT_JOB_HEAD->j_next->j_loaded_length;
	l += offset;
	if(l<0)
		return(FALSE);
	*hdi = J_INPUT_JOB_HEAD->j_next->j_hd_table[l/10];
	*mmi = J_INPUT_JOB_HEAD->j_next->j_job_table[l/10];
}




?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人aaa| 亚洲成人午夜影院| 欧美一级搡bbbb搡bbbb| 日本精品一区二区三区高清| av网站免费线看精品| 99久久精品免费精品国产| 国产尤物一区二区| 国产成a人无v码亚洲福利| 国产精品1区二区.| a在线欧美一区| 色天天综合色天天久久| 在线观看一区二区视频| 欧美三级午夜理伦三级中视频| 欧美天堂一区二区三区| 91精品国产91久久久久久一区二区| 91精品欧美一区二区三区综合在 | 26uuu亚洲| 国产欧美日韩不卡| 中文字幕一区二区在线播放 | 亚洲超丰满肉感bbw| 天天免费综合色| 国产一区二区三区四区五区入口| 国产成人8x视频一区二区| 色天天综合色天天久久| 日韩精品在线一区二区| 中文字幕巨乱亚洲| 一区二区高清免费观看影视大全| 日韩国产欧美三级| 国产精品1024| 久久亚洲综合av| 国产精品对白交换视频 | 免费成人在线视频观看| 国产高清成人在线| 91官网在线免费观看| 欧美videos大乳护士334| 亚洲四区在线观看| 麻豆免费精品视频| 91丨porny丨首页| 精品日韩一区二区三区| 亚洲欧美国产三级| 国产原创一区二区三区| 欧美乱妇23p| 亚洲天堂成人在线观看| 久久国产麻豆精品| 精品视频一区二区不卡| 国产精品拍天天在线| 免费成人在线视频观看| 在线精品视频免费播放| 国产精品美日韩| 精品亚洲成a人| 欧美精品在欧美一区二区少妇| 亚洲国产电影在线观看| 久久狠狠亚洲综合| 欧美精品日日鲁夜夜添| 亚洲精品日日夜夜| 成人高清免费观看| 欧美国产欧美亚州国产日韩mv天天看完整| 天涯成人国产亚洲精品一区av| proumb性欧美在线观看| 国产网红主播福利一区二区| 美女性感视频久久| 日韩午夜精品视频| 天堂一区二区在线免费观看| 在线观看视频一区二区欧美日韩| 中文字幕日韩一区| av毛片久久久久**hd| 国产欧美日韩三级| 成人免费视频视频| 国产精品成人免费精品自在线观看| 精品无码三级在线观看视频| 日韩女优电影在线观看| 国产98色在线|日韩| 国产日韩欧美电影| 成人激情小说网站| 国产精品麻豆网站| 91老师国产黑色丝袜在线| 国产精品不卡一区| 日本高清成人免费播放| 亚洲精品自拍动漫在线| 欧美私模裸体表演在线观看| 亚洲午夜在线观看视频在线| 欧美日韩高清一区二区不卡| 午夜精品久久久久久不卡8050| 777亚洲妇女| 极品少妇xxxx精品少妇| 久久久99精品久久| 99视频超级精品| 亚洲亚洲精品在线观看| 日韩一区二区免费视频| 久久成人免费网站| 国产精品青草久久| 91国偷自产一区二区三区成为亚洲经典 | 日韩av在线免费观看不卡| 欧美一区二区三区系列电影| 韩国女主播一区| 中文字幕av一区二区三区免费看| 99视频在线观看一区三区| 一区二区三区视频在线观看| 欧美日本一道本在线视频| 美女视频网站久久| 亚洲欧洲国产日韩| 欧美日韩在线不卡| 国产美女久久久久| 一区二区三区在线播| 欧美一区二区三区思思人| 国产精品一区二区在线观看不卡 | 91精品国产乱码久久蜜臀| 国产精品一区二区男女羞羞无遮挡| 国产精品久久久99| 日韩一区二区三区视频在线| 丰满白嫩尤物一区二区| 性做久久久久久久免费看| 欧美激情一区在线| 在线播放日韩导航| av日韩在线网站| 国内精品写真在线观看| 亚洲精品视频一区| 国产午夜精品久久| 91麻豆精品国产| 91性感美女视频| 国产精品白丝jk白祙喷水网站| 亚洲成在线观看| 国产精品乱码妇女bbbb| 日韩精品一区国产麻豆| 欧美亚州韩日在线看免费版国语版| 国产精品99久久久久久有的能看| 亚洲福利电影网| 亚洲女人的天堂| 国产午夜精品一区二区| 欧美r级电影在线观看| 欧美三级一区二区| 色综合久久综合| 成人激情校园春色| 国产精品一区二区黑丝| 久久成人av少妇免费| 石原莉奈在线亚洲二区| 亚洲无人区一区| 亚洲视频综合在线| 中文字幕一区免费在线观看| 久久蜜臀中文字幕| 欧美精品一区二区三区高清aⅴ| 欧美精品日日鲁夜夜添| 欧美日本一道本在线视频| 日本韩国精品在线| 色呦呦一区二区三区| 91免费精品国自产拍在线不卡| 成人开心网精品视频| 国产成人免费在线| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 日韩一级免费观看| 欧美一区二区成人6969| 91精品国产综合久久久久久久| 欧美日本在线观看| 欧美日韩精品电影| 91精品国产综合久久久久| 6080日韩午夜伦伦午夜伦| 91精品国产色综合久久ai换脸 | 中文字幕欧美区| 中文在线一区二区| 午夜成人免费电影| 七七婷婷婷婷精品国产| 美女在线视频一区| 国产一区二区剧情av在线| 成人小视频在线观看| 不卡的av电影在线观看| 色综合天天做天天爱| 在线观看欧美日本| 7777精品久久久大香线蕉 | 欧美激情一二三区| 综合色天天鬼久久鬼色| 亚洲国产日韩一级| 美女看a上一区| 成人自拍视频在线| 91久久免费观看| 欧美一区二区免费| 欧美国产日韩一二三区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| **欧美大码日韩| 水野朝阳av一区二区三区| 国产美女主播视频一区| 色婷婷久久久久swag精品| 91精品在线观看入口| 国产欧美精品一区二区色综合| 一区二区激情小说| 精久久久久久久久久久| 99久久99久久综合| 91精品国产乱码久久蜜臀| 国产精品美女久久久久久久| 亚洲成人午夜电影| 丁香激情综合五月| 欧美日韩三级在线| 欧美国产激情二区三区| 天天操天天干天天综合网| 国产电影精品久久禁18| 欧美日韩一区二区三区免费看| 国产亚洲污的网站| 午夜久久久影院| 成人精品高清在线| 欧美大片在线观看一区| 亚洲一区在线视频观看|