資源簡介
WRK-v1.2,WRK的全稱是“Windows Research Kernel”,它是微軟為高校操作系統課程提供的可修改和跟蹤的操作系統教學平臺。它給出了Windows這個成功的商業操作系統的內核大部分代碼,可以對其進行修改、編譯,并且可以用這個內核啟動Windows操作系統。可讓學生將操作系統基本原理和商業操作系統內核聯系起來,進一步加深對操作系統整體的理解。
代碼片段和文件信息
/*++
Copyright?(c)?Microsoft?Corporation.?All?rights?reserved.?
You?may?only?use?this?code?if?you?agree?to?the?terms?of?the?Windows?Research?Kernel?Source?Code?License?agreement?(see?License.txt).
If?you?do?not?agree?to?the?terms?do?not?use?the?code.
Module?Name:
????cachedat.c
Abstract:
????This?module?implements?the?Memory?Management?based?cache?management
????routines?for?the?common?Cache?subsystem.
--*/
#include?“cc.h“
//
//??Global?SharedCacheMap?lists?and?resource?to?synchronize?access?to?it.
//
//
//?extern?KSPIN_LOCK?CcMasterSpinLock;
LIST_ENTRY?CcCleanSharedCacheMapList;
SHARED_CACHE_MAP_LIST_CURSOR?CcDirtySharedCacheMapList;
SHARED_CACHE_MAP_LIST_CURSOR?CcLazyWriterCursor;
//
//??Worker?thread?structures:
//
//??????A?spinlock?to?synchronize?all?three?lists.
//??????A?count?of?the?number?of?worker?threads?Cc?will?use
//??????A?count?of?the?number?of?worker?threads?Cc?in?use
//??????A?listhead?for?preinitialized?executive?work?items?for?Cc?use.
//??????A?listhead?for?an?express?queue?of?WORK_QUEUE_ENTRYs
//??????A?listhead?for?a?regular?queue?of?WORK_QUEUE_ENTRYs
//??????A?listhead?for?a?post-tick?queue?of?WORK_QUEUE_ENTRYs
//
//??????A?flag?indicating?if?we?are?throttling?the?queue?to?a?single?thread
//
//?extern?KSPIN_LOCK?CcWorkQueueSpinLock;
ULONG?CcNumberWorkerThreads?=?0;
ULONG?CcNumberActiveWorkerThreads?=?0;
LIST_ENTRY?CcIdleWorkerThreadList;
LIST_ENTRY?CcExpressWorkQueue;
LIST_ENTRY?CcRegularWorkQueue;
LIST_ENTRY?CcPostTickWorkQueue;
BOOLEAN?CcQueueThrottle?=?FALSE;
//
//??Store?the?current?idle?delay?and?target?time?to?clean?all.??We?must?calculate
//??the?idle?delay?in?terms?of?clock?ticks?for?the?lazy?writer?timeout.
//
ULONG?CcIdleDelayTick;
LARGE_INTEGER?CcNoDelay;
LARGE_INTEGER?CcFirstDelay?=?{(ULONG)-(3*LAZY_WRITER_IDLE_DELAY)?-1};
LARGE_INTEGER?CcIdleDelay?=?{(ULONG)-LAZY_WRITER_IDLE_DELAY?-1};
LARGE_INTEGER?CcCollisionDelay?=?{(ULONG)-LAZY_WRITER_COLLISION_DELAY?-1};
LARGE_INTEGER?CcTargetCleanDelay?=?{(ULONG)-(LONG)(LAZY_WRITER_IDLE_DELAY?*?(LAZY_WRITER_MAX_AGE_TARGET?+?1))?-1};
//
//??Spinlock?for?controlling?access?to?Vacb?and?related?global?structures
//??and?a?counter?indicating?how?many?Vcbs?are?active.
//
//?extern?KSPIN_LOCK?CcVacbSpinLock;
ULONG_PTR?CcNumberVacbs;
//
//??Pointer?to?the?global?Vacb?vector.
//
PVACB?CcVacbs;
PVACB?CcBeyondVacbs;
LIST_ENTRY?CcVacbLru;
LIST_ENTRY?CcVacbFreeList;
ULONG?CcMaxVacbLevelsSeen?=?1;
ULONG?CcVacbLevelEntries?=?0;
PVACB?*CcVacbLevelFreeList?=?NULL;
ULONG?CcVacbLevelWithBcbsEntries?=?0;
PVACB?*CcVacbLevelWithBcbsFreeList?=?NULL;
//
//??Deferred?write?list?and?respective?Thresholds
//
extern?ALIGNED_SPINLOCK?CcDeferredWriteSpinLock;
LIST_ENTRY?CcDeferredWrites;
ULONG?CcDirtyPageThreshold;
ULONG?CcDirtyPageTarget;
ULONG?CcPagesYetToWrite;
ULONG?CcPagesWrittenLastTime?=?0;
ULONG?CcDirtyPagesLastScan?=?0;
ULONG?CcAvailablePagesThreshold?=?100;
ULONG?Cc
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-05-15?11:13??WRK-v1.2\
?????目錄???????????0??2018-05-15?11:13??WRK-v1.2\WRK-v1.2\
?????目錄???????????0??2018-05-15?11:13??WRK-v1.2\WRK-v1.2\WS03SP1HALS\
?????目錄???????????0??2018-05-15?11:13??WRK-v1.2\WRK-v1.2\WS03SP1HALS\x86\
?????目錄???????????0??2018-05-15?11:13??WRK-v1.2\WRK-v1.2\WS03SP1HALS\x86\halacpim\
?????文件???????83968??2006-06-18?13:51??WRK-v1.2\WRK-v1.2\WS03SP1HALS\x86\halacpim\halacpim.dll
?????文件??????224256??2006-06-18?13:51??WRK-v1.2\WRK-v1.2\WS03SP1HALS\x86\halacpim\halacpim.pdb
?????目錄???????????0??2018-05-15?11:13??WRK-v1.2\WRK-v1.2\WS03SP1HALS\x86\halmacpi\
?????文件??????118272??2005-03-25?08:28??WRK-v1.2\WRK-v1.2\WS03SP1HALS\x86\halmacpi\halmacpi.dll
?????文件??????183296??2005-03-25?12:03??WRK-v1.2\WRK-v1.2\WS03SP1HALS\x86\halmacpi\halmacpi.pdb
?????目錄???????????0??2018-05-15?11:13??WRK-v1.2\WRK-v1.2\WS03SP1HALS\x86\halmps\
?????文件??????124928??2005-03-25?08:28??WRK-v1.2\WRK-v1.2\WS03SP1HALS\x86\halmps\halmps.dll
?????文件??????183296??2005-03-25?12:03??WRK-v1.2\WRK-v1.2\WS03SP1HALS\x86\halmps\halmps.pdb
?????目錄???????????0??2018-05-15?11:13??WRK-v1.2\WRK-v1.2\ba
?????目錄???????????0??2018-05-15?11:13??WRK-v1.2\WRK-v1.2\ba
?????文件????????3477??2005-05-07?04:53??WRK-v1.2\WRK-v1.2\ba
?????目錄???????????0??2018-05-15?11:13??WRK-v1.2\WRK-v1.2\ba
?????目錄???????????0??2018-05-15?11:13??WRK-v1.2\WRK-v1.2\ba
?????目錄???????????0??2018-05-15?11:27??WRK-v1.2\WRK-v1.2\ba
?????文件????????2526??2006-06-17?09:43??WRK-v1.2\WRK-v1.2\ba
?????文件????????2670??2006-06-16?14:07??WRK-v1.2\WRK-v1.2\ba
?????目錄???????????0??2018-05-15?11:27??WRK-v1.2\WRK-v1.2\ba
?????目錄???????????0??2018-05-15?11:27??WRK-v1.2\WRK-v1.2\ba
?????目錄???????????0??2018-05-15?11:13??WRK-v1.2\WRK-v1.2\ba
?????目錄???????????0??2018-05-15?11:13??WRK-v1.2\WRK-v1.2\ba
?????文件????????3776??2005-08-09?09:58??WRK-v1.2\WRK-v1.2\ba
?????文件???????14690??2005-05-07?09:21??WRK-v1.2\WRK-v1.2\ba
?????文件????????1502??2006-06-23?02:16??WRK-v1.2\WRK-v1.2\ba
?????文件????????3066??2005-08-09?09:59??WRK-v1.2\WRK-v1.2\ba
?????文件???????10324??2006-06-23?02:16??WRK-v1.2\WRK-v1.2\ba
?????文件??????111364??2006-06-23?02:16??WRK-v1.2\WRK-v1.2\ba
............此處省略940個文件信息
評論
共有 條評論