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

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

?? dcachecbio.c

?? vxworks操作系統的文件系統部分原代碼
?? C
字號:
/* dcacheCbio.c - Disk Cache Driver *//* Copyright 1999-2002 Wind River Systems, Inc. *//*modification history--------------------01z,03mar02,jkf  SPR#32277, adding dcacheDevEnable and Disable(), orig by chn01y,21dec01,chn  SPRs 30130, 22463, 21975 (partial). Disabled defaulting                 tuneable parameters after they are explicitly set by user.01x,12dec01,jkf  fixing diab build warnings.01w,09dec01,jkf  SPR#71637, fix for SPR#68387 caused ready changed bugs.01v,09nov01,jkf  SPR#71633, dont set errno when DevCreate is called w/BLK_DEV                 SPR#65431, fixing typo in man page01u,29aug01,jkf  SPR#69031, common code for both AE & 5.x.01t,01aug01,jyo  Fixed SPR#68387: readyChanged bit is not correctly checked to                 verify the change in the media, SPR#69411: Change in media's                 readyChanged bit is not being propogated appropriately to the                 layers above.01s,13jun01,jyo  SPR#67729: Updating blkSubDev, cbioSubDev and isDriver in                 dcacheDevCreate().01r,19apr00,dat  doc fixup01q,09mar00,jkf  removed taskUndelay & taskPrioritySet from CBIO_FLUSH                 now forcing ioctl flushes inline.01p,29feb00,jkf  T3 changes01o,31aug99,jkf  changes for new CBIO API.01n,31jul99,jkf  T2 merge, tidiness & spelling.01i,17nov98,lrn  zero-fill blocks allocated with CBIO_CACHE_NEWBLK01h,29oct98,lrn  pass along 3rd arg on CBIO_RESET, removed old mod history01g,20oct98,lrn  fixed SPR#22553, SPR#2273101f,14sep98,lrn  refined error handling, made updTask unconditional01e,08sep98,lrn  add hash for speed (SPR#21972), size change (SPR#21975)01d,06sep98,lrn  modify to work on top of CBIO (SPR#21974), and use                 wrapper for block devices b.c.01c,30jul98,wlf  partial doc cleanup01b,01jul98,lrn  written.01a,28jan98,lrn  written, preliminary*//*DESCRIPTIONThis module implements a disk cache mechanism via the CBIO API.This is intended for use by the VxWorks DOS file system, to storefrequently used disk blocks in memory.  The disk cache is unaware of the particular file system format on the disk, and handles thedisk as a collection of blocks of a fixed size, typically the sectorsize of 512 bytes.  The disk cache may be used with SCSI, IDE, ATA, Floppy or any othertype of disk controllers.  The underlying device driver may be eithercomply with the CBIO API or with the older block device API.  This library interfaces to device drivers implementing the block device API via the basic CBIO BLK_DEV wrapper provided by cbioLib.Because the disk cache complies with the CBIO programming interface onboth its upper and lower layers, it is both an optional and a stackablemodule.   It can be used or omitted depending on resources available and performance required.The disk cache module implements the CBIO API, which is used by the filesystem module to access the disk blocks, or to access bytes within a particular disk block.  This allows the file system to use the disk cacheto store file data as well as Directory and File Allocation Table blocks, on a Most Recently Used basis, thus keeping a controllable subset of thesedisk structures in memory.  This results in minimized memory requirements for the file system, while avoiding any significant performance degradation.The size of the disk cache, and thus the memory consumption of the disksubsystem, is configured at the time of initialization (see dcacheDevCreate()), allowing the user to trade-off memory consumptionversus performance.  Additional performance tuning capabilities areavailable through dcacheDevTune().Briefly, here are the main techniques deployed by the disk cache:.IPLeast Recently Used block re-use policy.IPRead-ahead.IPWrite-behind with sorting and grouping.IPHidden writes.IPDisk cache bypass for large requests.IPBackground disk updating (flushing changes to disk) with an adjustableupdate period (ioctl flushes occur without delay.).LPSome of these techniques are discussed in more detail below; others are described in varrious professional and academic publications.DISK CACHE ALGORITHMThe disk cache is composed internally of a number cache blocks, ofthe same size as the disk physical block (sector). These cache blocksare maintained in a list in "Most Recently Used" order, that is, blockswhich are used are moved to the top of this list. When a block needs tobe relinquished, and made available to contain a new disk block, theLeast Recently Used block will be used for this purpose.In addition to the regular cache blocks, some of the memory allocatedfor cache is set aside for a "big buffer", which may range from 1/4 ofthe overall cache size up to 64KB.  This buffer is used for:.IPCombining cache blocks with adjacent disk block numbers, in order towrite them to disk in groups, and save on latency and overhead .IPReading ahead a group of blocks, and then converting them to normalcache blocks..LPBecause there is significant overhead involved in accessing the diskdrive, read-ahead improves performance significantly by reading groupsof blocks at once.TUNABLE PARAMETERSThere are certain operational parameters that control the disk cacheoperation which are tunable. A number of.I presetparameter sets is provided, dependent on the size of the cache. Theseshould suffice for most purposes, but under certain types of workload,it may be desirable to tune these parameters to better suite theparticular workload patterns.See dcacheDevTune() for description of the tunable parameters. It isrecommended to call dcacheShow() after calling dcacheTune() in order to verify that the parameters where set as requested, and to inspect the cache statistics which may change dramatically. Note that the hit ratio is a principal indicator of cache efficiency, and should be inspectedduring such tuning.BACKGROUND UPDATINGA dedicated task will be created to take care of updating the disk withblocks that have been modified in cache. The time period between updatesis controlled with the tunable parameter syncInterval. Its priorityshould be set above the priority of any CPU-bound tasks so as to assureit can wake up frequently enough to keep the disk synchronized with thecache.   There is only one such task for all cache devices configured.  The task name is tDcacheUpdThe updating task also has the responsibility to invalidate disk cacheblocks for removable devices which have not been used for 2 seconds or more.There are a few global variables which control the parameters of thistask, namely:.IP <dcacheUpdTaskPriority>controls the default priority of the update task, and is set by default to 250..IP <dcacheUpdTaskStack>is used to set the update task stack size..IP <dcacheUpdTaskOptions>controls the task options for the update task..LPAll the above global parameters must be set prior to callingdcacheDevCreate() for the first time, with the exception ofdcacheUpdTaskPriority, which may be modified in run-time, and takeseffect almost immediately. It should be noted that this priority is notentirely fixed, at times when critical disk operations are performed,and FIOFLUSH ioctl is called, the caller task will temporarily.I loanits priority to the update task, to insure the completion of the flushingoperation.REMOVABLE DEVICESFor removable devices, disk cache provides these additional features:.IP "disk updating"is performed such that modified blocks will be written to disk withinone second, so as to minimize the risk of losing data in case of afailure or disk removal..IP "error handling"includes a test for disk removal, so that if a disk is removed from thedrive while an I/O operation is in progress, the disk removal event willbe set immediately..IP "disk signature"which is a checksum of the disk's boot block, is maintained by the cachecontrol structure, and it will be verified against the disk if it wasidle for 2 seconds or more. Hence if during that idle time a disk wasreplaced, the change will be detected on the next disk access, and thecondition will be flagged to the file system..IP NOTEIt is very important that removable disks should all have a uniquevolume label, or volume serial number, which are stored in the disk'sboot sector during formatting. Changing disks which have an identicalboot sector may result in failure to detect the change, resulting inunpredictable behavior, possible file system corruption..LPCACHE IMPLEMENTATIONMost Recently Used (MRU) disk blocks are stored in a collection of memorybuffers called the disk cache.  The purpose of the disk cache is to reduce the number of disk accesses and to accelerate disk read and write operations, by means of the following techniques:.IPMost Recently Used blocks are stored in RAM, which results in the mostfrequently accessed data being retrieved from memory rather than from disk..IPReading data from disk is performed in large units, relying on the read-aheadfeature, one of the disk cache

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩综合一区二区| 亚洲免费观看高清完整版在线 | 亚洲欧美另类在线| 国产日韩欧美不卡| 中文无字幕一区二区三区| 欧美大片一区二区三区| 日韩限制级电影在线观看| 日韩欧美亚洲国产精品字幕久久久| 91精品国产丝袜白色高跟鞋| 日韩一区二区高清| 欧美一区二区黄| 久久久不卡影院| 亚洲女子a中天字幕| 亚洲午夜久久久久久久久电影院| 亚洲超碰精品一区二区| 精品在线一区二区| 国产在线播放一区| 成人亚洲精品久久久久软件| 色综合视频一区二区三区高清| 成人网页在线观看| 91九色02白丝porn| 日韩欧美精品在线| 日本一区二区视频在线观看| 依依成人综合视频| 日日夜夜免费精品| 国产精品123| 欧美亚洲综合另类| 久久无码av三级| 综合色天天鬼久久鬼色| 天天综合网 天天综合色| 国产精品一区一区| 欧美视频一区二区三区在线观看 | 欧美日韩高清一区二区不卡| 欧美精品一区二区在线观看| 国产精品久久久久久久蜜臀| 亚洲成人免费在线| 成人美女在线观看| 91精品国产综合久久精品麻豆| 久久男人中文字幕资源站| 亚洲人成网站色在线观看| 久久精品国产一区二区| 欧美中文字幕一二三区视频| 久久精品欧美一区二区三区不卡 | 精品亚洲成a人| 9色porny自拍视频一区二区| 日韩视频永久免费| 亚洲精品视频观看| 高清不卡在线观看| 精品久久99ma| 午夜av区久久| 91福利精品第一导航| 国产三级久久久| 蜜桃精品视频在线| 欧美三级视频在线| 亚洲免费视频中文字幕| 国产精品性做久久久久久| 91精品国产综合久久久久久漫画| 一区二区三区不卡在线观看| 成人免费福利片| 欧美激情自拍偷拍| 国产成人免费在线观看不卡| 欧美成人精品高清在线播放 | 国产伦精一区二区三区| 日韩精品中文字幕一区| 日本在线播放一区二区三区| 欧美日韩一区精品| 一卡二卡三卡日韩欧美| 色老汉一区二区三区| 国产精品天美传媒| 成人国产精品免费网站| 国产精品区一区二区三| 粗大黑人巨茎大战欧美成人| 欧美韩日一区二区三区| 成人污视频在线观看| 国产精品女主播在线观看| 国产成人精品影视| 欧美激情在线看| 成人在线综合网| 亚洲欧洲三级电影| 91香蕉视频mp4| 一区二区三区高清| 欧美日韩三级视频| 日韩中文字幕亚洲一区二区va在线 | 日韩电影免费一区| 欧美电影免费观看高清完整版在线| 日本在线不卡视频一二三区| 欧美大片日本大片免费观看| 精品午夜一区二区三区在线观看| 亚洲精品一区在线观看| 国产精品2024| 亚洲欧美激情小说另类| 4438x成人网最大色成网站| 久久99精品久久久久久久久久久久| 精品对白一区国产伦| 国产jizzjizz一区二区| 尤物av一区二区| 日韩一级大片在线| 成人看片黄a免费看在线| 亚洲黄色免费电影| 欧美va亚洲va| a在线播放不卡| 视频一区欧美精品| 国产精品日产欧美久久久久| 欧美三级日韩在线| 国产91丝袜在线播放九色| 亚洲另类在线制服丝袜| 日韩精品自拍偷拍| 色婷婷av一区| 国产麻豆精品久久一二三| 亚洲综合自拍偷拍| 欧美成人女星排名| 欧美亚洲综合一区| 丁香五精品蜜臀久久久久99网站 | 国产精品国产三级国产普通话99| 日本久久电影网| 韩国女主播一区| 日日骚欧美日韩| 亚洲裸体在线观看| 久久综合色一综合色88| 欧美日韩免费在线视频| 国产成+人+日韩+欧美+亚洲| 亚洲成a人v欧美综合天堂下载| 日本一区二区动态图| 日韩一二在线观看| 欧美午夜一区二区三区免费大片| 国产福利91精品一区| 久久精品免费观看| 亚洲成人一区二区在线观看| 亚洲人成电影网站色mp4| 久久婷婷一区二区三区| 欧美高清视频www夜色资源网| 99久久综合精品| 国产成人鲁色资源国产91色综 | 国产精品一区二区三区99| 午夜精品久久久久影视| 亚洲欧美激情小说另类| 国产精品久久久久7777按摩| 久久精品欧美日韩| 久久综合视频网| 精品久久免费看| 日韩欧美视频在线| 日韩一区二区三区高清免费看看| 色悠悠久久综合| 91网页版在线| youjizz久久| 成人午夜视频网站| 成人动漫在线一区| 波多野结衣的一区二区三区| 国产成人综合亚洲网站| 国产一区二区视频在线| 激情伊人五月天久久综合| 精品写真视频在线观看| 国产精品中文字幕日韩精品 | 欧美挠脚心视频网站| 欧美日韩中文字幕一区二区| 在线视频观看一区| 欧美精品一卡二卡| 欧美大片一区二区| 国产午夜精品在线观看| 国产精品免费丝袜| 亚洲品质自拍视频| 亚洲mv在线观看| 久久超碰97中文字幕| 国产一区二区精品久久| 成人午夜电影久久影院| 色综合天天综合色综合av | 亚洲bdsm女犯bdsm网站| 日本中文一区二区三区| 国产一区二区调教| 91视频一区二区| 制服丝袜一区二区三区| 久久久久久久久蜜桃| 1024成人网| 日韩av不卡在线观看| 国产一区二区91| 色综合视频在线观看| 日韩欧美国产麻豆| 国产精品美日韩| 天堂成人国产精品一区| 精品午夜久久福利影院| 99精品热视频| 欧美一级久久久| 亚洲欧洲三级电影| 日产欧产美韩系列久久99| 成人精品视频一区二区三区| 欧美男女性生活在线直播观看| 久久网站热最新地址| 亚洲妇女屁股眼交7| 国产一区二区三区四区五区入口| 北条麻妃国产九九精品视频| 欧美浪妇xxxx高跟鞋交| 国产精品色婷婷久久58| 日韩电影在线免费看| 成人av电影在线观看| 91精品国产色综合久久| 国产精品欧美一区喷水| 美女久久久精品| 欧美亚洲国产一卡| 中文字幕久久午夜不卡| 久久精品久久久精品美女|