亚洲欧美第一页_禁久久精品乱码_粉嫩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在线| 日本不卡视频在线观看| 91精品国产乱| 国产露脸91国语对白| 国产精品卡一卡二| 欧美猛男gaygay网站| 极品少妇xxxx精品少妇| 欧美韩国一区二区| 欧美日韩国产精品自在自线| 国产精品一区二区在线观看不卡 | 亚洲视频电影在线| 日韩午夜精品视频| 成人av在线网| 国产呦精品一区二区三区网站| 国产精品福利一区| 精品日韩成人av| 欧美区视频在线观看| 不卡av在线网| 国产成人精品免费网站| 青椒成人免费视频| 日韩福利电影在线观看| 亚洲免费伊人电影| 久久久久久久久久电影| 一区二区三区自拍| 欧美一区二区女人| 欧美日韩国产123区| 在线精品视频一区二区| 99久久99久久免费精品蜜臀| 国产河南妇女毛片精品久久久| 五月天丁香久久| 亚洲一卡二卡三卡四卡五卡| 午夜精品免费在线| 久久国产精品72免费观看| 中文乱码免费一区二区| 狠狠色狠狠色综合| 日韩欧美中文一区| 国产91在线看| 久久久国际精品| av男人天堂一区| 99久久精品免费看| 在线观看免费视频综合| 欧美日韩三级一区二区| 欧美日韩一区不卡| 亚洲精品在线观| 国产精品嫩草影院av蜜臀| 国产精品理论在线观看| 亚洲图片激情小说| 奇米888四色在线精品| 亚洲一区在线观看视频| 亚洲精品高清视频在线观看| 五月天丁香久久| 国产成人精品免费网站| 成人av午夜电影| 日韩你懂的在线播放| 国产精品免费久久久久| 裸体健美xxxx欧美裸体表演| av激情综合网| 久久免费看少妇高潮| 亚洲韩国精品一区| 国产91精品在线观看| 欧美一区二区三区小说| 亚洲天堂免费在线观看视频| 国产自产高清不卡| 欧美人妇做爰xxxⅹ性高电影 | 免费人成精品欧美精品| 在线免费视频一区二区| 国产亚洲成aⅴ人片在线观看| 日韩综合小视频| 欧美日韩一区二区在线观看| 亚洲欧洲国产专区| 91偷拍与自偷拍精品| 久久久精品国产免大香伊| 蜜臀久久久99精品久久久久久| 欧美日韩视频在线第一区| 一区二区在线看| 欧美日韩另类一区| 亚洲mv在线观看| 91精选在线观看| 九九国产精品视频| 久久你懂得1024| 91亚洲国产成人精品一区二区三| 中文字幕乱码亚洲精品一区 | 日韩国产高清影视| 欧美不卡激情三级在线观看| 久久国产夜色精品鲁鲁99| 久久久国产一区二区三区四区小说 | 成人app软件下载大全免费| 亚洲日本在线观看| 欧美日韩一区二区在线视频| 免费成人性网站| 中文字幕中文字幕一区二区| 91黄色免费网站| 成熟亚洲日本毛茸茸凸凹| 亚洲男同1069视频| 精品福利在线导航| 97se狠狠狠综合亚洲狠狠| 日韩高清在线一区| 亚洲激情在线激情| 精品剧情v国产在线观看在线| 国产黄色91视频| 精品午夜久久福利影院 | 国产精品久久综合| 欧美高清视频一二三区 | 国产午夜亚洲精品理论片色戒| 在线精品视频一区二区三四| 国内精品伊人久久久久av影院| 亚洲一二三区视频在线观看| 国产三级久久久| 国产无遮挡一区二区三区毛片日本| 欧美影视一区二区三区| 成人激情午夜影院| 成人听书哪个软件好| 国产乱码精品一区二区三区av| 久久精品国产在热久久| 亚洲欧洲日韩综合一区二区| 久久久91精品国产一区二区精品| 欧美高清dvd| 7777精品伊人久久久大香线蕉 | 久久精品视频在线免费观看| 欧美精品一区二区不卡| 久久久久久一二三区| 日本一区二区三区四区| 欧美国产欧美综合| 一区二区三区不卡视频在线观看| 亚洲精品中文在线影院| 日韩黄色一级片| 国产精品影视天天线| 成人av电影免费在线播放| 欧美亚洲丝袜传媒另类| 亚洲国产精品ⅴa在线观看| 亚洲电影激情视频网站| 一区二区日韩电影| 亚洲成在线观看| 成人免费在线播放视频| 久久精子c满五个校花| 欧美曰成人黄网| 午夜精品国产更新| 亚洲一区二区三区四区的| 一区二区三区久久| 国产综合色精品一区二区三区| 麻豆一区二区三| 粉嫩蜜臀av国产精品网站| 91在线国产观看| 精品捆绑美女sm三区| 亚洲色图一区二区| 紧缚捆绑精品一区二区| 7777精品伊人久久久大香线蕉的| 久久久久久97三级| 香蕉影视欧美成人| 色综合夜色一区| 亚洲视频你懂的| 色综合欧美在线视频区| 精品国产成人系列| 免费在线观看不卡| 制服丝袜av成人在线看| 午夜视黄欧洲亚洲| 欧美偷拍一区二区| 亚洲综合在线免费观看| 成人app网站| 一区二区三区在线高清| 色又黄又爽网站www久久| 亚洲欧美偷拍卡通变态| caoporn国产精品| 亚洲美女免费视频| 欧美日韩国产首页| 亚洲午夜久久久久久久久电影网 | 99精品国产91久久久久久| 国产网站一区二区三区| 丰满少妇在线播放bd日韩电影| 精品sm在线观看| a级高清视频欧美日韩| 亚洲一区免费视频| 日韩精品一区二区三区视频在线观看 | 亚洲精品在线观| 色综合久久综合网| 精品无人码麻豆乱码1区2区 | 欧美一区二区女人| 精品一区中文字幕| 一区二区三区在线视频免费| 日韩一区二区免费高清| 福利一区二区在线观看| 天天影视网天天综合色在线播放| 国产亚洲精品bt天堂精选| 欧美亚洲尤物久久| 国产99精品国产| 青椒成人免费视频| 亚洲综合偷拍欧美一区色| 久久五月婷婷丁香社区| 欧美亚洲一区二区在线| 成人网在线免费视频| 国产成人在线电影| 日韩制服丝袜先锋影音| 国产亚洲一本大道中文在线| 欧美日本一区二区| 精品视频色一区| 日本精品免费观看高清观看| 国产成人综合精品三级| 久久99精品久久久久婷婷| 免费在线观看精品|