wrk内核详细源代码
WRK的全称是“Windows Research Kernel”,它是微软为高校操作系统课程提供的可修改和跟踪的操作系统教学平台。它给出了Windows这个成功的商业操作系统的内核大部分代码,可以对其进行修改、编译,并且可以用这个内核启动Windows操作系统。可让学生将操作系统基本原理和商业操作系统内核联系起来,进一步加深对操作系统整体的理解。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5166 2007-01-25 03:03 wrk.part11wrklicense.txt
文件 7212 2007-01-25 03:04 wrk.part11wrk
eadme.txt
文件 3477 2007-01-25 03:54 wrk.part11wrkwrk-v1.2aseinc
tdlltrc.h
文件 2526 2007-01-25 03:11 wrk.part11wrkwrk-v1.2ase
tosuildmakefile
文件 2670 2007-01-25 03:11 wrk.part11wrkwrk-v1.2ase
tosuildmakefile.build
文件 3776 2007-01-25 04:25 wrk.part11wrkwrk-v1.2ase
tosuildprebuiltamd64ootvid.lib
文件 14690 2007-01-25 04:25 wrk.part11wrkwrk-v1.2ase
tosuildprebuiltamd64hal.lib
文件 1502 2007-01-25 04:24 wrk.part11wrkwrk-v1.2ase
tosuildprebuiltamd64hotpatch.obj
文件 3066 2007-01-25 04:24 wrk.part11wrkwrk-v1.2ase
tosuildprebuiltamd64kdcom.lib
文件 10324 2007-01-25 04:25 wrk.part11wrkwrk-v1.2ase
tosuildprebuiltamd64
tosarch.lib
文件 111364 2007-01-25 04:25 wrk.part11wrkwrk-v1.2ase
tosuildprebuiltamd64
toskrnl.res
文件 6085318 2006-11-29 20:23 wrk.part11wrkwrk-v1.2ase
tosuildprebuiltamd64
toswrk.lib
文件 861318 2007-01-25 04:34 wrk.part11wrkwrk-v1.2ase
tosuildprebuiltamd64sdbapint.lib
文件 3964 2007-01-25 04:25 wrk.part11wrkwrk-v1.2ase
tosuildprebuilti386ootvid.lib
文件 22822 2007-01-25 04:25 wrk.part11wrkwrk-v1.2ase
tosuildprebuilti386hal.lib
文件 3188 2007-01-25 04:25 wrk.part11wrkwrk-v1.2ase
tosuildprebuilti386kdcom.lib
文件 6808 2007-01-25 04:25 wrk.part11wrkwrk-v1.2ase
tosuildprebuilti386
tosarch.lib
文件 109028 2007-01-25 04:27 wrk.part11wrkwrk-v1.2ase
tosuildprebuilti386
toskrnl.res
文件 3396854 2007-01-25 05:09 wrk.part11wrkwrk-v1.2ase
tosuildprebuilti386
toswrk.lib
文件 742500 2007-01-25 04:31 wrk.part11wrkwrk-v1.2ase
tosuildprebuilti386sdbapint.lib
文件 512 2007-01-25 04:26 wrk.part11wrkwrk-v1.2ase
tosuildprebuilti386stub512.com
文件 4086 2007-01-25 03:11 wrk.part11wrkwrk-v1.2ase
tosuildwarning.h
文件 607 2007-01-25 04:26 wrk.part11wrkwrk-v1.2ase
toscacheuildmakefile
文件 4606 2007-01-25 03:11 wrk.part11wrkwrk-v1.2ase
toscachecachedat.c
文件 219458 2007-01-25 03:14 wrk.part11wrkwrk-v1.2ase
toscachecachesub.c
文件 58261 2007-01-25 03:12 wrk.part11wrkwrk-v1.2ase
toscachecc.h
文件 2934 2007-01-25 03:12 wrk.part11wrkwrk-v1.2ase
toscacheccperf.c
文件 71010 2007-01-25 03:12 wrk.part11wrkwrk-v1.2ase
toscachecopysup.c
文件 125283 2007-01-25 03:14 wrk.part11wrkwrk-v1.2ase
toscachefssup.c
文件 32211 2007-01-25 03:13 wrk.part11wrkwrk-v1.2ase
toscachelazyrite.c
............此处省略944个文件信息
/*++
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
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5166 2007-01-25 03:03 wrk.part11wrklicense.txt
文件 7212 2007-01-25 03:04 wrk.part11wrk
eadme.txt
文件 3477 2007-01-25 03:54 wrk.part11wrkwrk-v1.2a
tdlltrc.h
文件 2526 2007-01-25 03:11 wrk.part11wrkwrk-v1.2a
tosuildmakefile
文件 2670 2007-01-25 03:11 wrk.part11wrkwrk-v1.2a
tosuildmakefile.build
文件 3776 2007-01-25 04:25 wrk.part11wrkwrk-v1.2a
tosuildprebuiltamd64ootvid.lib
文件 14690 2007-01-25 04:25 wrk.part11wrkwrk-v1.2a
tosuildprebuiltamd64hal.lib
文件 1502 2007-01-25 04:24 wrk.part11wrkwrk-v1.2a
tosuildprebuiltamd64hotpatch.obj
文件 3066 2007-01-25 04:24 wrk.part11wrkwrk-v1.2a
tosuildprebuiltamd64kdcom.lib
文件 10324 2007-01-25 04:25 wrk.part11wrkwrk-v1.2a
tosuildprebuiltamd64
tosarch.lib
文件 111364 2007-01-25 04:25 wrk.part11wrkwrk-v1.2a
tosuildprebuiltamd64
toskrnl.res
文件 6085318 2006-11-29 20:23 wrk.part11wrkwrk-v1.2a
tosuildprebuiltamd64
toswrk.lib
文件 861318 2007-01-25 04:34 wrk.part11wrkwrk-v1.2a
tosuildprebuiltamd64sdbapint.lib
文件 3964 2007-01-25 04:25 wrk.part11wrkwrk-v1.2a
tosuildprebuilti386ootvid.lib
文件 22822 2007-01-25 04:25 wrk.part11wrkwrk-v1.2a
tosuildprebuilti386hal.lib
文件 3188 2007-01-25 04:25 wrk.part11wrkwrk-v1.2a
tosuildprebuilti386kdcom.lib
文件 6808 2007-01-25 04:25 wrk.part11wrkwrk-v1.2a
tosuildprebuilti386
tosarch.lib
文件 109028 2007-01-25 04:27 wrk.part11wrkwrk-v1.2a
tosuildprebuilti386
toskrnl.res
文件 3396854 2007-01-25 05:09 wrk.part11wrkwrk-v1.2a
tosuildprebuilti386
toswrk.lib
文件 742500 2007-01-25 04:31 wrk.part11wrkwrk-v1.2a
tosuildprebuilti386sdbapint.lib
文件 512 2007-01-25 04:26 wrk.part11wrkwrk-v1.2a
tosuildprebuilti386stub512.com
文件 4086 2007-01-25 03:11 wrk.part11wrkwrk-v1.2a
tosuildwarning.h
文件 607 2007-01-25 04:26 wrk.part11wrkwrk-v1.2a
toscacheuildmakefile
文件 4606 2007-01-25 03:11 wrk.part11wrkwrk-v1.2a
toscachecachedat.c
文件 219458 2007-01-25 03:14 wrk.part11wrkwrk-v1.2a
toscachecachesub.c
文件 58261 2007-01-25 03:12 wrk.part11wrkwrk-v1.2a
toscachecc.h
文件 2934 2007-01-25 03:12 wrk.part11wrkwrk-v1.2a
toscacheccperf.c
文件 71010 2007-01-25 03:12 wrk.part11wrkwrk-v1.2a
toscachecopysup.c
文件 125283 2007-01-25 03:14 wrk.part11wrkwrk-v1.2a
toscachefssup.c
文件 32211 2007-01-25 03:13 wrk.part11wrkwrk-v1.2a
toscachelazyrite.c
............此处省略944个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)