• 大小: 11.66MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-24
  • 语言: 其他
  • 标签: wrk  

资源简介

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

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       5166  2007-01-25 03:03  wrk.part11\wrk\license.txt

     文件       7212  2007-01-25 03:04  wrk.part11\wrk\readme.txt

     文件       3477  2007-01-25 03:54  wrk.part11\wrk\wrk-v1.2\base\inc\ntdlltrc.h

     文件       2526  2007-01-25 03:11  wrk.part11\wrk\wrk-v1.2\base\ntos\build\makefile

     文件       2670  2007-01-25 03:11  wrk.part11\wrk\wrk-v1.2\base\ntos\build\makefile.build

     文件       3776  2007-01-25 04:25  wrk.part11\wrk\wrk-v1.2\base\ntos\build\prebuilt\amd64\bootvid.lib

     文件      14690  2007-01-25 04:25  wrk.part11\wrk\wrk-v1.2\base\ntos\build\prebuilt\amd64\hal.lib

     文件       1502  2007-01-25 04:24  wrk.part11\wrk\wrk-v1.2\base\ntos\build\prebuilt\amd64\hotpatch.obj

     文件       3066  2007-01-25 04:24  wrk.part11\wrk\wrk-v1.2\base\ntos\build\prebuilt\amd64\kdcom.lib

     文件      10324  2007-01-25 04:25  wrk.part11\wrk\wrk-v1.2\base\ntos\build\prebuilt\amd64\ntosarch.lib

     文件     111364  2007-01-25 04:25  wrk.part11\wrk\wrk-v1.2\base\ntos\build\prebuilt\amd64\ntoskrnl.res

     文件    6085318  2006-11-29 20:23  wrk.part11\wrk\wrk-v1.2\base\ntos\build\prebuilt\amd64\ntoswrk.lib

     文件     861318  2007-01-25 04:34  wrk.part11\wrk\wrk-v1.2\base\ntos\build\prebuilt\amd64\sdbapint.lib

     文件       3964  2007-01-25 04:25  wrk.part11\wrk\wrk-v1.2\base\ntos\build\prebuilt\i386\bootvid.lib

     文件      22822  2007-01-25 04:25  wrk.part11\wrk\wrk-v1.2\base\ntos\build\prebuilt\i386\hal.lib

     文件       3188  2007-01-25 04:25  wrk.part11\wrk\wrk-v1.2\base\ntos\build\prebuilt\i386\kdcom.lib

     文件       6808  2007-01-25 04:25  wrk.part11\wrk\wrk-v1.2\base\ntos\build\prebuilt\i386\ntosarch.lib

     文件     109028  2007-01-25 04:27  wrk.part11\wrk\wrk-v1.2\base\ntos\build\prebuilt\i386\ntoskrnl.res

     文件    3396854  2007-01-25 05:09  wrk.part11\wrk\wrk-v1.2\base\ntos\build\prebuilt\i386\ntoswrk.lib

     文件     742500  2007-01-25 04:31  wrk.part11\wrk\wrk-v1.2\base\ntos\build\prebuilt\i386\sdbapint.lib

     文件        512  2007-01-25 04:26  wrk.part11\wrk\wrk-v1.2\base\ntos\build\prebuilt\i386\stub512.com

     文件       4086  2007-01-25 03:11  wrk.part11\wrk\wrk-v1.2\base\ntos\build\warning.h

     文件        607  2007-01-25 04:26  wrk.part11\wrk\wrk-v1.2\base\ntos\cache\build\makefile

     文件       4606  2007-01-25 03:11  wrk.part11\wrk\wrk-v1.2\base\ntos\cache\cachedat.c

     文件     219458  2007-01-25 03:14  wrk.part11\wrk\wrk-v1.2\base\ntos\cache\cachesub.c

     文件      58261  2007-01-25 03:12  wrk.part11\wrk\wrk-v1.2\base\ntos\cache\cc.h

     文件       2934  2007-01-25 03:12  wrk.part11\wrk\wrk-v1.2\base\ntos\cache\ccperf.c

     文件      71010  2007-01-25 03:12  wrk.part11\wrk\wrk-v1.2\base\ntos\cache\copysup.c

     文件     125283  2007-01-25 03:14  wrk.part11\wrk\wrk-v1.2\base\ntos\cache\fssup.c

     文件      32211  2007-01-25 03:13  wrk.part11\wrk\wrk-v1.2\base\ntos\cache\lazyrite.c

............此处省略944个文件信息

评论

共有 条评论