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

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

?? mech_g1_seektime.c

?? disksim是一個非常優秀的磁盤仿真工具
?? C
字號:
/* diskmodel (version 1.0) * Authors: John Bucy, Greg Ganger * Contributors: John Griffin, Jiri Schindler, Steve Schlosser * * Copyright (c) of Carnegie Mellon University, 2001-2008. * * 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.   *//* * DiskSim Storage Subsystem Simulation Environment (Version 2.0) * Revision Authors: Greg Ganger * Contributors: Ross Cohen, John Griffin, Steve Schlosser * * Copyright (c) of Carnegie Mellon University, 1999. * * Permission to reproduce, use, and prepare derivative works of * this software for internal use is granted provided the copyright * and "No Warranty" statements are included with all reproductions * and derivative works. 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. *//* * DiskSim Storage Subsystem Simulation Environment * Authors: Greg Ganger, Bruce Worthington, Yale Patt * * Copyright (C) 1993, 1995, 1997 The Regents of the University of Michigan  * * 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 use, copy, modify, distribute, and sell this software * and its documentation for any purpose and without fee or royalty is * hereby granted, provided that the full text of this NOTICE appears on * ALL copies of the software and documentation or portions thereof, * including modifications, that you make. * * THIS SOFTWARE IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO * REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, * BUT NOT LIMITATION, COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR * WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR * THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY * THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. COPYRIGHT * HOLDERS WILL BEAR NO LIABILITY FOR ANY USE OF THIS SOFTWARE OR * DOCUMENTATION. * *  This software is provided AS IS, WITHOUT REPRESENTATION FROM THE * UNIVERSITY OF MICHIGAN AS TO ITS FITNESS FOR ANY PURPOSE, AND * WITHOUT WARRANTY BY THE UNIVERSITY OF MICHIGAN OF ANY KIND, EITHER * EXPRESSED OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE REGENTS * OF THE UNIVERSITY OF MICHIGAN SHALL NOT BE LIABLE FOR ANY DAMAGES, * INCLUDING SPECIAL , INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, * WITH RESPECT TO ANY CLAIM ARISING OUT OF OR IN CONNECTION WITH THE * USE OF OR IN CONNECTION WITH THE USE OF THE SOFTWARE, EVEN IF IT HAS * BEEN OR IS HEREAFTER ADVISED OF THE POSSIBILITY OF SUCH DAMAGES * * The names and trademarks of copyright holders or authors may NOT be * used in advertising or publicity pertaining to the software without * specific, written prior permission. Title to copyright in this software * and any associated documentation will at all times remain with copyright * holders. */#include "mech_g1.h"#include "mech_g1_private.h"// g1 seektime computation functionsdm_time_t dm_mech_g1_seek_const(struct dm_disk_if *d,		      struct dm_mech_state *begin,		      struct dm_mech_state *end,		      int rw){  struct dm_mech_g1 *m = (struct dm_mech_g1 *)d->mech;  ddbg_assert(m->seektype == SEEK_CONST);  return m->seektime;}dm_time_t dm_mech_g1_seek_3pt_curve(struct dm_disk_if *d,			  struct dm_mech_state *begin,			  struct dm_mech_state *end,			  int rw){  dm_time_t result;  int cyls;  struct dm_mech_g1 *m = (struct dm_mech_g1 *)d->mech;    cyls = abs(end->cyl - begin->cyl);  if (cyls == 0) {    result = 0;  }   else {    result = m->seekone;    result += m->seekavg * (cyls - 1);    result += m->seekfull * sqrt32(cyls - 1);  }  return result;}dm_time_t dm_mech_g1_seek_3pt_line(struct dm_disk_if *d,			 struct dm_mech_state *begin,			 struct dm_mech_state *end,			 int rw){  int mult;  int numcyls;  int cyls;  struct dm_mech_g1 *m = (struct dm_mech_g1 *)d->mech;  dm_time_t result;  cyls = abs(end->cyl - begin->cyl);  numcyls = cyls;  if(cyls == 1) {    result = m->seekone;  }   else if(cyls == 0) {    result = 0;  }   else if(cyls <= (numcyls / 3)) {    // MATH    mult = (3*(cyls-1) / numcyls);    result = m->seekone;    result += mult * (m->seekavg - result);  }   else {    // MATH    mult = ((3*cyls - numcyls) / (2*numcyls));    result = m->seekavg;    result += mult * (m->seekfull - result);  }  return result;}// the hpl stuff has fp math in it and I don't have time to fix// it now#ifndef _DISKMODEL_FREEBSD/* seek equation described in Ruemmler and Wilkes's IEEE Computer * article (March 1994).  Uses six parameters: a division point * (between the root based equation and the linear equation), a * constant and mulitplier for the square root of the distance, a * constant and multiplier for the distance (linear part of curve) and * a value for single cylinder seeks.   */dm_time_t dm_mech_g1_seek_hpl(struct dm_disk_if *d,		    struct dm_mech_state *begin,		    struct dm_mech_state *end,		    int rw){  dm_time_t *hpseek;  int dist;  dm_time_t result;  struct dm_mech_g1 *m = (struct dm_mech_g1 *)d->mech;  hpseek = m->hpseek;  dist = abs(end->cyl - begin->cyl);  if (dist == 0) {    result = 0.0;  }  else if((dist == 1) && (hpseek[5] != -1)) {    result = m->seekone;  }   else if(dist < hpseek[0]) {    // XXX: math voodoo    result = ((sqrt64((uint64_t)dist << 32) * hpseek[2]) >> 16) + hpseek[1];  }   else {    result = (hpseek[4] * (double) dist) + hpseek[3];  }  return result;}/* An extended version of the equation described above, wherein the * first ten seek distances are explicitly provided, since seek time * curves tend to be choppy in this region.  (See UM TR CSE-TR-194-94)  */dm_time_t dm_mech_g1_seek_1st10_plus_hpl(struct dm_disk_if *d, 			       struct dm_mech_state *begin,			       struct dm_mech_state *end,			       int rw){  dm_time_t *hpseek;  dm_time_t result;  int dist = abs(end->cyl - begin->cyl);  struct dm_mech_g1 *m = (struct dm_mech_g1 *)d->mech;    hpseek = m->hpseek;    if(dist == 0) {    result = 0;  }   else if (dist <= 10) {    result = m->first10seeks[(dist - 1)];  }   else if (dist < m->hpseek_v1) {    // XXX: math voodoo    result = ((sqrt64((uint64_t)dist << 32) * hpseek[2]) >> 16) + hpseek[1];  }   else {    result = (hpseek[4] * dist) + hpseek[3];  }  if(begin->head != end->head) {    double headsw;    headsw = d->mech->dm_headswitch_time(d, begin->head, end->head);    if(headsw > result) {      result = headsw;    }  }  return result;}#else  dm_time_t dm_mech_g1_seek_hpl(struct dm_disk_if *d,		    struct dm_mech_state *begin,		    struct dm_mech_state *end,		    int rw){  ddbg_assert2(0, "seek_hpl currently unavailable for kernel");  return 0;}dm_time_t dm_mech_g1_seek_1st10_plus_hpl(struct dm_disk_if *d, 			       struct dm_mech_state *begin,			       struct dm_mech_state *end,			       int rw){  ddbg_assert2(0, "seek_1st10_plus_hpl currently unavailable for kernel");  return 0;}#endif // _DISKMODEL_FREEBSDdm_time_t dm_mech_g1_seek_extracted(struct dm_disk_if *d,			  struct dm_mech_state *begin,			  struct dm_mech_state *end,			  int rw)			      {  dm_time_t result = 0;  int i;  int dist = abs(end->cyl - begin->cyl);     struct dm_mech_g1 *m = (struct dm_mech_g1 *)d->mech;  dm_time_t t1,t2;  int d1, d2;   if(dist) {     // linear search of extracted seek curve     // might want to do something faster     // binsearch -- d_i <= d < d_{i+1}     for(i = 0; i < m->xseekcnt; i++) {       if(dist == m->xseekdists[i]) {	 result = m->xseektimes[i];	 break;       }        // The computation here will also do linear extrapolation if       // we're past the end.       else if (dist <= m->xseekdists[i]		|| (i == m->xseekcnt-1))       {	 t1 = m->xseektimes[i-1];	 t2 = m->xseektimes[i];	 d1 = m->xseekdists[i-1];	 d2 = m->xseekdists[i];	 	 // didn't find it exactly; do some interpolation	 /*  	   int ddiff =  */	 /*  	     (dist - m->xseekdists[(i-1)]) /  */	 /*  	     (m->xseekdists[i] - m->xseekdists[(i-1)]); */	 // this sounds perverse but in e.g. the atlas10k model	 // 10,     1.53100	 // 12,     1.51500	 // so its possible to get a negative answer here!	 result = m->xseektimes[(i-1)];	 // this is so convoluted because dm_time_t is unsigned...	 if(t1 > t2) {	   // result -= ddiff * (t1 - t2);	   result -= (dist - d1) * (t1 - t2) / (d2 - d1);	 }	 else {	   //	     result += ddiff * (t2 - t1);	   result += (dist - d1) * (t2 - t1) / (d2 - d1);	 }	 break;       }     }   }   return result;}// these must line up with disk_seek_t dm_mech_g1_seekfn dm_mech_g1_seekfns[] = {  dm_mech_g1_seek_const,  dm_mech_g1_seek_3pt_line,  dm_mech_g1_seek_3pt_curve,  dm_mech_g1_seek_hpl,  dm_mech_g1_seek_1st10_plus_hpl,  dm_mech_g1_seek_extracted};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产在线不卡视频| 老司机午夜精品99久久| 欧美国产一区在线| 久久久综合视频| 国产亚洲一区二区三区在线观看| 精品sm在线观看| 精品国产乱码久久久久久老虎| 日韩欧美成人一区| 欧美精品一区二区在线播放| 久久久精品日韩欧美| 国产精品免费看片| 亚洲国产综合在线| 美女精品一区二区| 懂色av一区二区夜夜嗨| 99久久精品国产观看| 精品视频在线免费看| 制服丝袜亚洲色图| 久久亚区不卡日本| 亚洲人成在线观看一区二区| 亚洲国产日韩a在线播放| 日本sm残虐另类| 国产一区二区调教| 91色九色蝌蚪| 91精品国产综合久久福利软件| 精品日韩一区二区三区免费视频| 国产精品午夜电影| 亚洲成人精品影院| 精品亚洲成a人在线观看| jlzzjlzz欧美大全| 56国语精品自产拍在线观看| 久久精品视频免费| 亚洲综合一区在线| 国产一区二区三区香蕉| 在线观看一区二区视频| 26uuu亚洲综合色欧美| 一区二区免费在线| 国产综合一区二区| 欧美影片第一页| 久久久久久免费网| 亚洲制服欧美中文字幕中文字幕| 亚洲bt欧美bt精品777| 国产精品一区免费视频| 在线观看国产日韩| 中文字幕制服丝袜成人av| 日本vs亚洲vs韩国一区三区二区 | 亚洲精品一区二区三区香蕉| 欧美国产精品v| 日韩成人av影视| 91尤物视频在线观看| 精品国产免费人成在线观看| 亚洲午夜免费视频| 99re视频精品| 久久精品夜色噜噜亚洲a∨| 亚洲成人黄色小说| 色婷婷精品大在线视频| 国产免费久久精品| 极品瑜伽女神91| 欧美日韩国产一区| 亚洲伊人色欲综合网| 不卡的看片网站| 久久精品免费在线观看| 久久99热这里只有精品| 欧美肥妇free| 日日欢夜夜爽一区| 欧美日韩精品二区第二页| 日韩一区欧美小说| kk眼镜猥琐国模调教系列一区二区| 精品电影一区二区三区| 亚洲图片欧美综合| 免费成人av在线| 日本欧美一区二区| 欧美美女激情18p| 久久免费视频色| 色狠狠一区二区| 免费观看成人av| 亚洲欧美日韩综合aⅴ视频| 制服丝袜一区二区三区| 成人h动漫精品一区二| 秋霞成人午夜伦在线观看| 最新日韩av在线| 精品国产乱码久久久久久牛牛 | **网站欧美大片在线观看| 欧美日本国产视频| 成人免费va视频| 久久国产三级精品| 亚洲国产精品欧美一二99| 国产精品丝袜一区| 亚洲精品在线免费观看视频| 欧美视频一区二区三区| 粉嫩一区二区三区性色av| 蜜臀av一级做a爰片久久| 亚洲免费观看视频| 中文字幕va一区二区三区| 日韩精品专区在线影院重磅| 欧洲精品在线观看| 色94色欧美sute亚洲线路一久| 国产不卡高清在线观看视频| 另类中文字幕网| 五月天一区二区| 亚洲一区视频在线| 亚洲美女在线一区| 国产精品美女久久久久久久网站| 久久综合色婷婷| 欧美哺乳videos| 日韩欧美国产午夜精品| 欧美精品日日鲁夜夜添| 欧美自拍丝袜亚洲| 91久久精品一区二区三| 91在线观看成人| 99re这里只有精品首页| 成人激情免费网站| 成人久久视频在线观看| 成人18视频在线播放| a美女胸又www黄视频久久| 国产成人av电影免费在线观看| 国产高清亚洲一区| 国产精品综合二区| 懂色av一区二区在线播放| 成人黄色一级视频| 色综合久久综合| 在线观看www91| 日本久久一区二区三区| 欧美优质美女网站| 欧美美女一区二区三区| 日韩亚洲欧美综合| 久久精品水蜜桃av综合天堂| 国产精品久久久久久福利一牛影视| 国产精品色哟哟| 亚洲人吸女人奶水| 日韩精品一卡二卡三卡四卡无卡| 日本成人在线网站| 国产精品888| 99久免费精品视频在线观看| 日本高清免费不卡视频| 欧美亚洲高清一区二区三区不卡| 777色狠狠一区二区三区| 日韩欧美视频在线| 亚洲国产成人午夜在线一区| 综合久久久久综合| 偷拍日韩校园综合在线| 国内精品自线一区二区三区视频| 丁香婷婷综合五月| 欧美伊人久久大香线蕉综合69| 日韩免费高清av| 国产精品色噜噜| 爽好多水快深点欧美视频| 精品一区精品二区高清| 91丝袜高跟美女视频| 56国语精品自产拍在线观看| 欧美精彩视频一区二区三区| 亚洲综合色自拍一区| 国产麻豆精品久久一二三| 91丨九色丨蝌蚪丨老版| 精品少妇一区二区三区免费观看 | 亚洲一区二区精品3399| 久久99热狠狠色一区二区| 色综合网站在线| 精品88久久久久88久久久| 一区二区三区四区亚洲| 国产精品一区二区91| 欧美性生交片4| 欧美激情一区三区| 日韩极品在线观看| 99视频一区二区| 欧美成人a在线| 亚洲精品欧美激情| 国产黑丝在线一区二区三区| 欧美三级一区二区| 国产精品久久久久影院老司| 全部av―极品视觉盛宴亚洲| 99精品久久久久久| 精品99一区二区| 秋霞午夜av一区二区三区| 色婷婷激情综合| 国产精品毛片高清在线完整版| 免费成人av资源网| 欧美日韩一区二区电影| 日韩理论片在线| 国产高清不卡二三区| 日韩精品一区在线| 日韩电影一区二区三区四区| 色婷婷精品久久二区二区蜜臂av| 国产清纯在线一区二区www| 久久99久久精品欧美| 51午夜精品国产| 午夜精品一区二区三区电影天堂| 91视频一区二区三区| 久久精品视频一区| 国产一区二区三区在线观看免费| 日韩视频免费观看高清完整版 | 久久久三级国产网站| 蜜桃传媒麻豆第一区在线观看| 欧美色综合网站| 一区二区国产盗摄色噜噜| 91同城在线观看| 亚洲码国产岛国毛片在线| av电影在线观看一区| 亚洲婷婷综合久久一本伊一区| 成人激情免费网站| 亚洲手机成人高清视频|