⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ctlr.modspec

📁 目前最精确的磁盘模拟器的第3版
💻 MODSPEC
字号:
# DiskSim Storage Subsystem Simulation Environment (Version 3.0)# Revision Authors: John Bucy, Greg Ganger# Contributors: John Griffin, Jiri Schindler, Steve Schlosser## Copyright (c) of Carnegie Mellon University, 2001, 2002, 2003.## This software is being provided by the copyright holders under the# following license. By obtaining, using and/or copying this software,# you agree that you have read, understood, and will comply with the# following terms and conditions:## Permission to reproduce, use, and prepare derivative works of this# software is granted provided the copyright and "No Warranty" statements# are included with all reproductions and derivative works and associated# documentation. This software may also be redistributed without charge# provided that the copyright and "No Warranty" statements are included# in all redistributions.## NO WARRANTY. THIS SOFTWARE IS FURNISHED ON AN "AS IS" BASIS.# CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER# EXPRESSED OR IMPLIED AS TO THE MATTER INCLUDING, BUT NOT LIMITED# TO: WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, EXCLUSIVITY# OF RESULTS OR RESULTS OBTAINED FROM USE OF THIS SOFTWARE. CARNEGIE# MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH RESPECT# TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT.# COPYRIGHT HOLDERS WILL BEAR NO LIABILITY FOR ANY USE OF THIS SOFTWARE# OR DOCUMENTATION.MODULE ctlrPROTO struct controller *disksim_ctlr_loadparams(struct lp_block *b);PARAM type				I	1 TEST RANGE(i,1,3)INIT result->type = i;This specifies the type of controller.  1~indicates a simplecontroller that acts as nothing more than a bridge between two buses,passing everything straight through to the other side.  2~indicates avery simple, driver-managed controller based roughly on the NCR53C700.  3~indicates a more complex controller that decoupleslower-level storage component peculiarities from higher-levelcomponents (e.g.,~device drivers).  The complex controller queues andschedules its outstanding requests and possibly contains a cache.  Asindicated below, it requires several parameters in addition to thoseneeded by the simpler controllers.PARAM Scale for delays			D	1 TEST d >= 0.0INIT result->timescale = d;This specifies a multiplicative scaling factor for the variousprocessing delays incurred by the controller.  Default overheads forthe 53C700-based controller and the more complex controller arehard-coded into the ``read\_specs'' procedure of the controller module(and are easily changed).  For the simple pass-thru controller, thescale factor represents the per-message propagation delay (because thehard-coded value is 1.0).  0.0 results in no controller overheads ordelays.  When the overheads/delays of the controller(s) cannot beseparated from those of the disk(s), as is usually the case forsingle-point tracing of complete systems, the various diskoverhead/delay parameter values should be populated and this parametershould be set to~0.0.PARAM Bulk sector transfer time		D	1 TEST (d >= 0.0)INIT result->blktranstime = d;This specifies the time (in milliseconds) necessary to transfer asingle 512-byte block to, from or through the controller.Transferring one block over the bus takes the maximum of this time,the block transfer time specified for the bus itself, and the blocktransfer time specified for the component on the other end of the bustransfer.PARAM Maximum queue length		I	1 TEST (i >= 0)INIT result->maxoutstanding = i + 1;This specifies the maximum number of requests that can be concurrentlyoutstanding at the controller.  The device driver discovers this valueduring initialization and respects it during operation.  For thesimple types of controllers (see above parameter description), 0 isassumed.PARAM Print stats			I	1 TEST RANGE(i,0,1)INIT result->printstats = i;This specifies whether or not statistics will be reported for thecontroller.  It is meaningless for the simple types of controllers(see above parameter description), as no statistics are collected.PARAM Scheduler				BLOCK	0 TEST result->queue = disksim_ioqueue_loadparams(blk, disksim->ctlrinfo->ctl_printqueuestats, disksim->ctlrinfo->ctl_printcritstats, disksim->ctlrinfo->ctl_printidlestats, disksim->ctlrinfo->ctl_printintarrstats,disksim->ctlrinfo->ctl_printsizestats)# INIT ioqueue_initialize(result->queue, 0);This is an ioqueue; see section \ref{param.queue}PARAM Cache				BLOCK	0  TEST result->cache = disksim_cache_loadparams(blk)A block cache; see section \ref{param.cache}PARAM Max per-disk pending count	I	0 TEST i >= 0INIT result->maxdiskqsize = i;This specifies the maximum number of requests that the controller canhave outstanding to each attached disk (i.e.,~the maximum number ofrequests that can be dispatched to a single disk).  This parameteronly affects the interaction of the controller with its attachments;it is not visible to the device driver.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -