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

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

?? dm_testsuite.c

?? disksim是一個非常優秀的磁盤仿真工具
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* 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.   */#include "dm.h"#include "modules/modules.h"#include <libparam/libparam.h>#include <libddbg/libddbg.h>#include <stdio.h>// translate the lbn space forwards and backwardsvoid layout_test_simple(struct dm_disk_if *d) {  int c, lbn, count = 0, runlbn = 0;  struct dm_pbn pbn, trkpbn = {0,0,0};  printf("got a dm_disk with %d sectors!\n", d->dm_sectors);  for(c = 0; c < d->dm_sectors; c ++) {    int lbn2;    dm_angle_t skew, zerol;    struct dm_mech_state track;    d->layout->dm_translate_ltop(d, c, MAP_FULL, &pbn, 0);    lbn2 = d->layout->dm_translate_ptol(d, &pbn, 0);    if(c != lbn2) {      printf("*** test_0_t: %8d -> (%8d, %3d, %4d) -> %8d\n", 	     c, pbn.cyl, pbn.head, pbn.sector, lbn2);    }    else {      if((lbn > 0)	 && (trkpbn.head == pbn.head)	 && (trkpbn.cyl == pbn.cyl)	 && ((trkpbn.sector+count) == pbn.sector)) { count++;  }      else {	printf("l %d %d %d %d %d\n", runlbn, trkpbn.cyl, trkpbn.head, trkpbn.sector, count);	runlbn = c;	trkpbn = pbn;	count = 1;      }    }      }}void test_rotate(struct dm_disk_if *d) {  double t;  dm_angle_t a;  dm_time_t t2;  for(t = 0.0; t < 20.0; t += 0.1) {    t2 = dm_time_dtoi(t);    a = d->mech->dm_rotate(d, &t2);    printf("time %f, angle %f\n", t, dm_angle_itod(a));  }  }void layout_test_skew(struct dm_disk_if *d) {  int c;  dm_angle_t skew;  double angle;  struct dm_pbn pbn;  for(c = 6281; c <= 6704; c++) {    pbn.cyl = c;    pbn.head = 3;    pbn.sector = 250;          d->layout->dm_convert_ptoa(d, &pbn, &skew, 0);    angle = dm_angle_itod(skew);    printf("ptoa (%d,%d,%d): %f, %u\n",	   pbn.cyl, pbn.head, pbn.sector, angle, skew);  }    for(c = 0; c < 1000000000; c += 10000000) {    struct dm_mech_state a;    a.head = 3;    a.cyl = 0;    a.theta = c;    d->layout->dm_convert_atop(d, &a, &pbn);    printf("atop (%d,%d,%d) -> (%d,%d,%d)\n",	   a.head, a.cyl, a.theta, pbn.head, pbn.cyl, pbn.sector);  }}// single-cyl switchvoid mech_test_postime1(struct dm_disk_if *d) {  struct dm_mech_state begin, end;  dm_time_t result;  double time;  int c;  begin.head = 0;  begin.cyl = 0;  begin.theta = 0;  end.head = 0;  end.theta = 0;  for(c = 0; c < 1000; c++) {    end.cyl = c;    result = d->mech->dm_seek_time(d, &begin, &end, 0);    time = dm_time_itod(result);    printf("cyl switch %d: %lld, %e\n", c, result, time);  }}// single-head switchvoid mech_test_postime2(struct dm_disk_if *d) {  struct dm_mech_state begin, end;  dm_time_t result;  double time;  begin.head = 0;  begin.cyl = 0;  begin.theta = 0;  end.head = 1;  end.cyl = 0;  end.theta = 0;  result = d->mech->dm_seek_time(d, &begin, &end, 0);  time = dm_time_itod(result);  printf("single-head switch: %lld, %e\n", result, time);}void mech_test_xfertime(struct dm_disk_if *d) {  int sectors;  struct dm_mech_state m;  dm_time_t xfertime;  double time;  m.head = 0;   m.cyl = 0;  m.theta = 0;  // how long to transfer half a track?    sectors = d->layout->dm_get_sectors_lbn(d, 0);  sectors >>= 1;  xfertime = d->mech->dm_xfertime(d, &m, sectors);  time = dm_time_itod(xfertime);  printf("half-track xfer: %lld, %e\n", xfertime, time);}void mech_test_access(struct dm_disk_if *d) {  // very basic access   int sectors;  struct dm_mech_state m;  dm_time_t result;  struct dm_pbn startpbn;  double time;  m.head = 0;   m.cyl = 0;  m.theta = 0;  // how long to transfer half a track?    sectors = d->layout->dm_get_sectors_lbn(d, 0);  sectors /= 2;  startpbn.head = 0;  startpbn.cyl = 0;  startpbn.sector = 0;  //  result = d->mech->dm_acctime(d, &m, &startpbn, sectors, 0, 0, 0, 0);  time = dm_time_itod(result);  printf("half-track access: %lld, %e\n", result, time);}void mech_pos_vs_acc(struct dm_disk_if *d) {  // very basic access   int sectors;  struct dm_mech_state m;  dm_time_t postime, acctime;  struct dm_pbn startpbn;  double time;  struct dm_mech_acctimes bacc, bpos;  m.head = 0;   m.cyl = 0;  m.theta = 0;  // how long to transfer half a track?    sectors = d->layout->dm_get_sectors_lbn(d, 0);  sectors /= 2;  d->layout->dm_translate_ltop(d, 8955874, MAP_FULL, &startpbn,  0);  sectors = 1;  bzero(&bacc, sizeof(bacc));  bzero(&bpos, sizeof(bpos));  acctime = d->mech->dm_acctime(d, &m, &startpbn, sectors, 0, 0, 0, &bacc);  postime = d->mech->dm_pos_time(d, &m, &startpbn, sectors, 0, 0, &bpos);  printf("half-track pos: %lld, acc: %lld\n", postime, acctime);}void mech_test_access2(struct dm_disk_if *d) {  // half a rotation, read the rest of the track  int sectors;  struct dm_mech_state m;  dm_time_t result;  struct dm_pbn startpbn;  double time;  m.head = 0;   m.cyl = 0;  m.theta = 4282107939;  sectors = d->layout->dm_get_sectors_lbn(d, 0);  sectors >>= 1;  startpbn.head = 1;  startpbn.cyl = 0;  startpbn.sector = 0;  result = d->mech->dm_acctime(d, &m, &startpbn, sectors, 0, 0, 0, 0);  time = dm_time_itod(result);  printf("access2 (track switch): %lld, %e\n", result, time);}void mech_test_access3(struct dm_disk_if *d) {  // half a rotation, read the rest of the track  int sectors;  struct dm_mech_state m;  dm_time_t result;  struct dm_pbn startpbn;  double time;  m.head = 0;   m.cyl = 0;  m.theta = 0;  sectors = d->layout->dm_get_sectors_lbn(d, 0);  sectors >>= 1;  startpbn.head = 0;  startpbn.cyl = 1;  startpbn.sector = 0;  result = d->mech->dm_acctime(d, &m, &startpbn, sectors, 0, 0, 0, 0);  time = dm_time_itod(result);  printf("access3 (cyl switch): %lld, %e\n", result, time);}void mech_test_access_big(struct dm_disk_if *d) {  // half a rotation, read the rest of the track  int c,h;  int sectors;  struct dm_mech_state m = {0,0,0}, tempm, resultstate = {0,0,0};  dm_time_t result;  struct dm_pbn startpbn;  double time;  int tracks, lbn = 0;  //  tracks = d->dm_cyls * d->dm_surfaces;  tracks = 10 * d->dm_surfaces;  for(c = 0; c < tracks; c++) {    sectors = d->layout->dm_get_sectors_lbn(d, c);    lbn = c * sectors;    d->layout->dm_translate_ltop(d, lbn, MAP_FULL, &startpbn, 0);    result = d->mech->dm_acctime(d, 				 &m, 				 &startpbn, 				 1, // len				 1, // read?				 0, // zero-latency?

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩精品一区二区三区四区 | 国产乱人伦偷精品视频不卡| 国产午夜精品一区二区三区四区 | 久久99精品久久久久久| 国产精品色婷婷久久58| 久久精品夜夜夜夜久久| 欧美一二三四区在线| 国产成人免费高清| 五月天亚洲婷婷| 亚洲宅男天堂在线观看无病毒| 久久看人人爽人人| 日韩欧美在线网站| 91精品国产综合久久福利软件| caoporn国产精品| 成人一区二区三区| 国产乱对白刺激视频不卡| 青草av.久久免费一区| 亚洲第一在线综合网站| 一区二区三区中文字幕电影| 中文字幕一区二区三区在线不卡 | 亚洲欧美一区二区在线观看| 欧美激情在线观看视频免费| 久久久久久免费毛片精品| 欧美视频一区二区三区在线观看| 不卡av在线免费观看| 国产大陆精品国产| 成人综合婷婷国产精品久久蜜臀| 精品中文av资源站在线观看| 久草这里只有精品视频| 免费黄网站欧美| 久草热8精品视频在线观看| 男女男精品视频网| 久久99国产精品免费| 日韩福利视频导航| 国产乱码精品一区二区三区五月婷 | 久久久久高清精品| 久久久久久久久久久久久女国产乱 | 夜夜亚洲天天久久| 亚洲欧美电影一区二区| 国产精品的网站| 玉足女爽爽91| 日本不卡视频在线观看| 另类小说欧美激情| 国产成人一区在线| 一本色道久久综合狠狠躁的推荐 | 欧美精品v日韩精品v韩国精品v| 337p亚洲精品色噜噜狠狠| 精品少妇一区二区三区在线播放| 久久久噜噜噜久噜久久综合| 亚洲女人****多毛耸耸8| 天天综合网天天综合色| 国产成人午夜精品5599| 91丨九色丨蝌蚪富婆spa| 91精品国产丝袜白色高跟鞋| 久久综合久久综合亚洲| 亚洲欧美日韩久久| 蜜桃视频在线观看一区| 99精品视频中文字幕| 欧美一区二区三区色| 中文字幕第一区二区| 亚洲精品成人悠悠色影视| 麻豆成人免费电影| 91免费在线视频观看| 欧美一级一区二区| 亚洲女人的天堂| 国产在线精品一区二区不卡了| 99国产精品一区| 久久久一区二区三区| 亚洲一区在线观看网站| 国产宾馆实践打屁股91| 欧美日韩一区二区三区在线看| 久久先锋资源网| 亚洲美腿欧美偷拍| 国产精品一卡二| 日韩一级片网站| 亚洲午夜久久久久久久久电影网 | 成人app软件下载大全免费| 91精品婷婷国产综合久久性色| 亚洲欧洲成人精品av97| 国产精一品亚洲二区在线视频| 欧美疯狂做受xxxx富婆| 亚洲视频狠狠干| 成人污视频在线观看| 精品乱人伦一区二区三区| 亚洲成人av电影在线| 国产又黄又大久久| 日韩欧美国产综合| 婷婷成人综合网| 欧美人与禽zozo性伦| 综合激情成人伊人| 久久福利视频一区二区| 色婷婷精品大在线视频 | 国产超碰在线一区| 久久久久久久久蜜桃| 精品一区二区三区蜜桃| 91精品国产一区二区| 日韩主播视频在线| 欧美一区二区三区影视| 日韩黄色免费电影| 欧美性猛交xxxx乱大交退制版| 一区二区三区精品视频在线| 色偷偷一区二区三区| 亚洲女同一区二区| 欧美亚洲动漫制服丝袜| 亚洲成人一区二区在线观看| 在线观看一区二区精品视频| 一区二区三区欧美亚洲| 欧美日韩不卡在线| 免费不卡在线视频| 精品国产一区二区三区不卡| 国产乱色国产精品免费视频| 国产精品久久久久久久久久久免费看| 成人一级片在线观看| 精品国产免费久久| 国产成人av资源| 自拍偷拍欧美精品| 欧美日韩日日摸| 久久91精品久久久久久秒播| 久久久久国色av免费看影院| av高清久久久| 午夜精品久久久久久久久| 日韩亚洲国产中文字幕欧美| 粉嫩13p一区二区三区| 国产欧美日本一区视频| 成人精品国产福利| 日本伊人精品一区二区三区观看方式 | 国产喷白浆一区二区三区| 色婷婷综合久久| 美女视频一区二区三区| 国产精品毛片a∨一区二区三区| 成人av集中营| 日韩不卡在线观看日韩不卡视频| 亚洲精品一区二区在线观看| 91色九色蝌蚪| 蜜乳av一区二区| 日韩伦理av电影| 日韩三级在线观看| 色拍拍在线精品视频8848| 久久国产婷婷国产香蕉| 专区另类欧美日韩| 欧美va亚洲va| 欧美人伦禁忌dvd放荡欲情| 国产伦理精品不卡| 一区二区不卡在线播放 | 成人午夜看片网址| 日本最新不卡在线| 最好看的中文字幕久久| 国产片一区二区三区| 国产午夜精品理论片a级大结局| 日韩视频国产视频| 欧美一级黄色大片| 欧美一级片在线观看| 在线成人av影院| 91精品蜜臀在线一区尤物| 欧美日韩日日骚| 69堂亚洲精品首页| 欧美r级在线观看| 久久久久久久久蜜桃| 欧美极品少妇xxxxⅹ高跟鞋 | 久久久久9999亚洲精品| 精品国产第一区二区三区观看体验| 6080日韩午夜伦伦午夜伦| 在线播放一区二区三区| 91精品国产色综合久久ai换脸| 日韩一区二区三区在线| 精品免费一区二区三区| 欧美国产精品一区| 亚洲欧美日韩国产手机在线 | 亚洲精品免费一二三区| 亚洲成人免费av| 久久精品国产99国产| 国产精品一区二区三区99| 国产不卡视频在线播放| 色综合久久六月婷婷中文字幕| 欧美日韩一区在线观看| 欧美成人乱码一区二区三区| 欧美国产禁国产网站cc| 亚洲欧美日韩精品久久久久| 亚洲国产你懂的| 极品销魂美女一区二区三区| 国产不卡在线播放| 欧美色网站导航| 26uuu另类欧美亚洲曰本| 国产精品家庭影院| 午夜精品aaa| 国产91综合网| 欧美电影在哪看比较好| 国产精品天美传媒沈樵| 日韩av午夜在线观看| 成人动漫一区二区三区| 欧美日韩国产首页在线观看| 国产午夜精品理论片a级大结局| 一区二区在线免费观看| 狠狠久久亚洲欧美| 欧美色图一区二区三区| 欧美极品xxx| 久久精品国产一区二区三| 在线这里只有精品| 中文字幕精品一区二区三区精品| 亚洲高清视频的网址|