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

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

?? vmm.h

?? 小型的操作系統開發的原代碼
?? H
字號:
//***********************************************************************/
//    Author                    : Garry
//    Original Date             : Aug,16 2005
//    Module Name               : VMM.H
//    Module Funciton           : 
//                                This module countains virtual memory manager's definition
//                                code.
//    Last modified Author      :
//    Last modified Date        :
//    Last modified Content     :
//                                1.
//                                2.
//    Lines number              :
//***********************************************************************/

#ifndef __VMM_H__
#define __VMM_H__

#define __ENABLE_VIRTUAL_MEMORY    //If this marcos is defined,the virtual memory model
                                   //is enabled.
                                   //Else,the virtual memory model is not permitted.

//
//We implement the virtual memory model in Hello China's current version.
//The following is the layout of virtual memory space:
// 0x00000000 - 0x013FFFFF    Operating system kernel,including code and data.
// 0x01400000 - 0x3FFFFFFF    Reserved,maybe used for loadable applications.
// 0x40000000 - 0x7FFFFFFF    Reserved,maybe used for loadable modules or drivers.
// 0x80000000 - 0xBFFFFFFF    Application's heap.
// 0xC0000000 - 0xFFFFFFFF    Device I/O map zone.
//The following macros define this constant.
//

#define VIRTUAL_MEMORY_START               0x00000000
#define VIRTUAL_MEMORY_KERNEL_START        0x00000000
#define VIRTUAL_MEMORY_KERNEL_END          0x013FFFFF
#define VIRTUAL_MEMORY_APP_START           0x01400000
#define VIRTUAL_MEMORY_APP_END             0x3FFFFFFF
#define VIRTUAL_MEMORY_MODULE_START        0x40000000
#define VIRTUAL_MEMORY_MODULE_END          0x7FFFFFFF
#define VIRTUAL_MEMORY_HEAP_START          0x80000000
#define VIRTUAL_MEMORY_HEAP_END            0xBFFFFFFF
#define VIRTUAL_MEMORY_IOMAP_START         0xC0000000
#define VIRTUAL_MEMORY_IOMAP_END           0xFFFFFFFF
#define VIRTUAL_MEMORY_END                 0xFFFFFFFF

//
//The definition of virtual area.
//

DECLARE_PREDEFINED_OBJECT(__VIRTUAL_MEMORY_MANAGER)

#define MAX_VA_NAME_LEN    32      //The maximal length of virtual area's name.

BEGIN_DEFINE_OBJECT(__VIRTUAL_AREA_DESCRIPTOR)
    __VIRTUAL_MEMORY_MANAGER*      lpManager;       //Pointing back to virtual memory manager.
    LPVOID                         lpStartAddr;     //Start virtual address.
	LPVOID                         lpEndAddr;       //End virtual address.
	__VIRTUAL_AREA_DESCRIPTOR*     lpNext;          //Virtual area list header.
	DWORD                          dwAccessFlags;   //Access flags.
	DWORD                          dwCacheFlags;    //Cache flags.
	DWORD                          dwAllocFlags;    //Allocate flags.
	__ATOMIC_T                     Reference;       //Reference counter.

	//DWORD                          dwTreeHeight;    //AVL tree's height.
	__VIRTUAL_AREA_DESCRIPTOR*     lpLeft;          //Left sub-tree of AVL.
	__VIRTUAL_AREA_DESCRIPTOR*     lpRight;         //Right sub-tree of AVL.
    UCHAR                          strName[MAX_VA_NAME_LEN];
	//__FILE*                        lpMappedFile;
	//DWORD                          dwOffset;
	//__FILE_OPERATIONS*             lpOperations;
END_DEFINE_OBJECT()    //End of virtual area descriptor's definition.

//
//Virtual area's access flags.
//
#define VIRTUAL_AREA_ACCESS_READ        0x00000001    //Read access.
#define VIRTUAL_AREA_ACCESS_WRITE       0x00000002    //Write access.
#define VIRTUAL_AREA_ACCESS_RW          (VIRTUAL_AREA_ACCESS_READ | VIRTUAL_AREA_ACCESS_WRITE)
#define VIRTUAL_AREA_ACCESS_EXEC        0x00000008    //Execute only.
#define VIRTUAL_AREA_ACCESS_NOACCESS    0x00000010    //Access is denied.

//
//Virtual area's cache flags.
//
#define VIRTUAL_AREA_CACHE_NORMAL       0x00000001    //Cachable.
#define VIRTUAL_AREA_CACHE_IO           0x00000002    //Not cached.
#define VIRTUAL_AREA_CACHE_VIDEO        0x00000004

//
//Virtual area's allocate flags.
//
#define VIRTUAL_AREA_ALLOCATE_RESERVE   0x00000001    //Reserved only.
#define VIRTUAL_AREA_ALLOCATE_COMMIT    0x00000002    //Has been committed.
#define VIRTUAL_AREA_ALLOCATE_IO        0x00000004    //Allocated as IO mapping area.
#define VIRTUAL_AREA_ALLOCATE_ALL       0x00000008    //Committed.Only be used by VirtualAlloc
                                                      //routine,the dwAllocFlags variable of
													  //virtual area descriptor never set this
													  //value.
#define VIRTUAL_AREA_ALLOCATE_DEFAULT   VIRTUAL_AREA_ALLOCATE_ALL


//
//The definition of virtual memory manager object.
//

#define SWITCH_VA_NUM    64    //Switch virtual area number.
                               //Once the virtual area's number exceed this value,
							   //virtual memory manager will switch to AVL tree from list
							   //to manage virtual areas.

BEGIN_DEFINE_OBJECT(__VIRTUAL_MEMORY_MANAGER)
    INHERIT_FROM_COMMON_OBJECT                         //Inherit from common object.
	__PAGE_INDEX_MANAGER*            lpPageIndexMgr;   //Page index manager.
    __VIRTUAL_AREA_DESCRIPTOR*       lpListHdr;        //List header of virtual area link.
	__VIRTUAL_AREA_DESCRIPTOR*       lpTreeRoot;       //AVL tree's root.

	DWORD                            dwVirtualAreaNum; //How many virtual areas.
	//__LOCK_T                         SpinLock;         //Used in SMP enviroment.

	LPVOID                           (*VirtualAlloc)(__COMMON_OBJECT*,
		                                             LPVOID,    //Desired start virtual addr.
													 DWORD,     //Size.
													 DWORD,     //Allocate flags.
													 DWORD,     //Access flags.
													 UCHAR*,    //Virtual area's name.
													 LPVOID     //Reserved.
													 );
	VOID                             (*VirtualFree)(__COMMON_OBJECT*,
		                                            LPVOID      //Start virtual address.
													);
	LPVOID                           (*GetPdAddress)(__COMMON_OBJECT*);
END_DEFINE_OBJECT()    //End definition of virtual memory manager object.

//
//The declaration of VmmInitialize routine.
//

BOOL VmmInitialize(__COMMON_OBJECT*);

//
//The definition of VmmUninitialize routine.

VOID VmmUninitialize(__COMMON_OBJECT*);

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

//
//The declaration of lpVirtualMemoryMgr.
//

extern __VIRTUAL_MEMORY_MANAGER* lpVirtualMemoryMgr;

VOID PrintVirtualArea(__VIRTUAL_MEMORY_MANAGER*);

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区精品视频| 国产亚洲精品aa午夜观看| 韩国v欧美v日本v亚洲v| 美女网站在线免费欧美精品| 亚洲成人免费影院| 亚洲高清在线精品| 日韩精品乱码免费| 亚洲成人免费观看| 久久狠狠亚洲综合| 国内精品国产成人国产三级粉色 | 紧缚捆绑精品一区二区| 久久激情五月激情| 国产成人鲁色资源国产91色综 | 亚洲高清中文字幕| 天堂成人免费av电影一区| 日韩电影在线观看网站| 美脚の诱脚舐め脚责91 | 亚洲欧美一区二区在线观看| 亚洲欧洲美洲综合色网| 一区二区三区四区不卡在线 | 日韩电影免费在线观看网站| 免费一级片91| 国产福利一区二区| 欧美亚洲国产怡红院影院| 欧美精品久久久久久久久老牛影院| 69堂国产成人免费视频| 久久久久高清精品| 亚洲综合色噜噜狠狠| 免费人成在线不卡| av午夜精品一区二区三区| 欧美日韩免费一区二区三区| 精品久久久久久综合日本欧美| 中文字幕免费观看一区| 亚洲一线二线三线视频| 精品中文字幕一区二区小辣椒| 日本伊人午夜精品| jlzzjlzz国产精品久久| 8x福利精品第一导航| 2024国产精品| 一区二区三区视频在线观看| 久久99精品一区二区三区三区| www.久久久久久久久| 欧美丰满一区二区免费视频| 中文字幕精品综合| 久久超碰97中文字幕| 色天天综合色天天久久| 久久精品免费在线观看| 无码av免费一区二区三区试看 | 一级精品视频在线观看宜春院| 日韩精品一区第一页| 99久久精品国产一区二区三区| 日韩视频免费观看高清完整版 | 亚洲电影中文字幕在线观看| 国产美女久久久久| 欧美美女直播网站| 亚洲六月丁香色婷婷综合久久 | 免费成人av在线| 色婷婷亚洲婷婷| 国产精品日产欧美久久久久| 免费看欧美美女黄的网站| 在线观看不卡视频| 亚洲美女视频一区| 97se狠狠狠综合亚洲狠狠| 欧美精彩视频一区二区三区| 精品一区二区精品| 91精品婷婷国产综合久久性色| 亚洲精品高清在线| 色综合天天综合狠狠| 中文字幕二三区不卡| 成人一级片网址| 久久精品一区蜜桃臀影院| 韩国欧美国产1区| 亚洲精品在线观看视频| 精品一区二区三区日韩| 日韩欧美二区三区| 免费在线观看精品| 欧美大片免费久久精品三p| 美腿丝袜一区二区三区| 日韩欧美一区在线观看| 毛片av一区二区三区| 日韩免费高清视频| 极品瑜伽女神91| 国产午夜精品一区二区| 成人国产亚洲欧美成人综合网 | 国产精品青草综合久久久久99| 国产一区二区三区免费看| 久久中文娱乐网| 国产91在线看| 亚洲视频一二区| 欧美日韩免费视频| 毛片基地黄久久久久久天堂| 国产亚洲欧美激情| 99国产精品99久久久久久| 北条麻妃一区二区三区| 日本久久精品电影| 夜夜亚洲天天久久| 欧美伦理视频网站| 精一区二区三区| 国产精品美女久久久久高潮| 91黄色激情网站| 蜜桃视频在线一区| 欧美激情一区二区三区| 在线免费观看日韩欧美| 蜜臀av性久久久久蜜臀aⅴ| 欧美极品aⅴ影院| 欧美视频一二三区| 激情文学综合网| 一区二区三区中文在线观看| 日韩视频不卡中文| 91亚洲国产成人精品一区二三| 亚洲国产日韩综合久久精品| 久久先锋影音av鲁色资源网| 91视频xxxx| 精品一区二区在线播放| 一区二区三区在线视频观看58| 日韩欧美激情在线| 色天天综合久久久久综合片| 久久成人av少妇免费| 一区二区激情小说| 中文字幕国产一区二区| 日韩三级免费观看| 91香蕉视频污在线| 国产一区二区在线观看视频| 一区二区欧美视频| 中文字幕欧美日韩一区| 日韩欧美中文一区| 欧美色综合影院| 99麻豆久久久国产精品免费| 美女国产一区二区三区| 亚洲一区二区三区自拍| 国产精品灌醉下药二区| 26uuuu精品一区二区| 在线播放/欧美激情| 91浏览器打开| 成人午夜私人影院| 国产很黄免费观看久久| 老汉av免费一区二区三区| 午夜伊人狠狠久久| 一个色综合av| 亚洲欧洲综合另类在线 | 国产精品资源网| 青青国产91久久久久久| 亚洲超丰满肉感bbw| 亚洲激情六月丁香| 国产精品高潮久久久久无| 久久久国产精品午夜一区ai换脸| 日韩一区二区电影网| 欧美精品在欧美一区二区少妇| 色综合色综合色综合| 99riav一区二区三区| 99在线热播精品免费| 成人精品鲁一区一区二区| 国产自产高清不卡| 国内欧美视频一区二区| 国产剧情一区二区| 国内精品久久久久影院薰衣草 | 国产精品久久久99| 中文字幕精品一区二区精品绿巨人 | 国产精品亲子伦对白| 中文字幕欧美激情| 亚洲欧洲日本在线| 亚洲精品v日韩精品| 亚洲精品高清视频在线观看| 亚洲综合色婷婷| 青草国产精品久久久久久| 99精品欧美一区| 美腿丝袜一区二区三区| 国产一区福利在线| 懂色av一区二区三区免费观看| 丁香婷婷综合激情五月色| 成人综合在线观看| 欧美午夜一区二区三区 | 精品三级在线看| 久久精品人人做人人爽人人| 日本一区二区动态图| 夜夜嗨av一区二区三区网页 | 国产精品久久久久久久裸模| 亚洲柠檬福利资源导航| 日韩成人精品在线观看| 国产不卡视频在线观看| 欧美自拍偷拍一区| 欧美白人最猛性xxxxx69交| 中文字幕第一页久久| 偷偷要91色婷婷| 国产成人自拍网| 欧美日韩一区二区在线视频| 欧美精品一区二区三区视频| 亚洲天天做日日做天天谢日日欢 | 国产欧美综合在线观看第十页| 1024国产精品| 激情综合色播激情啊| 99久久99久久久精品齐齐| 欧美一区二区在线免费播放| 欧美国产视频在线| 视频一区中文字幕| 色综合天天综合狠狠| 精品国产乱码久久久久久影片| 亚洲人亚洲人成电影网站色| 国内精品久久久久影院一蜜桃| 色94色欧美sute亚洲线路一ni|