亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
色综合视频在线观看| 欧美日韩中文精品| 亚洲成av人综合在线观看| 精品精品欲导航| 91日韩在线专区| 久久精品国产精品青草| 一区二区三区国产豹纹内裤在线| 91精品国产综合久久久久久久| 成人app软件下载大全免费| 免费观看一级欧美片| 亚洲视频在线一区| 久久久久国产精品免费免费搜索| 欧美午夜精品一区二区三区| 国产成人av网站| 蜜桃一区二区三区四区| 亚洲午夜精品在线| 中文字幕亚洲电影| 亚洲精品一线二线三线 | 在线免费观看成人短视频| 国产激情一区二区三区四区 | 亚洲成人在线免费| 国产精品国产自产拍在线| 久久先锋影音av| 精品久久国产字幕高潮| 欧美一卡二卡三卡| 欧美肥胖老妇做爰| 欧美色综合网站| 色综合中文字幕国产| 成人激情视频网站| 国产二区国产一区在线观看| 精品一区二区三区免费| 日本va欧美va精品发布| 日韩高清一区二区| 偷拍与自拍一区| 午夜国产不卡在线观看视频| 亚洲一区二区三区爽爽爽爽爽| 亚洲黄色性网站| 亚洲毛片av在线| 亚洲免费av在线| 亚洲猫色日本管| 亚洲一区二区免费视频| 亚洲一区二区三区中文字幕| 亚洲自拍都市欧美小说| 亚洲aaa精品| 日韩av不卡一区二区| 免费欧美高清视频| 国产一区在线看| 国产成人免费xxxxxxxx| 成年人午夜久久久| 色综合久久天天综合网| 在线影院国内精品| 欧美三级电影在线看| 欧美一区二区三区在线看| 日韩一级片在线观看| 精品国产91亚洲一区二区三区婷婷| 欧美哺乳videos| 久久久精品蜜桃| 最新国产の精品合集bt伙计| 伊人开心综合网| 日产精品久久久久久久性色| 久久国产人妖系列| 国产很黄免费观看久久| 99久久久精品| 91麻豆精品国产91久久久资源速度 | 中文字幕一区二区日韩精品绯色| 亚洲女爱视频在线| 亚洲国产综合在线| 国产在线精品视频| 91视频免费播放| 91麻豆精品国产综合久久久久久| 精品sm捆绑视频| 中文字幕一区二区三区不卡在线| 亚洲国产日韩一级| 激情六月婷婷综合| 在线观看免费一区| 精品久久免费看| 亚洲人xxxx| 久久se这里有精品| 91蜜桃免费观看视频| 日韩欧美一级二级三级| 国产精品久久久久一区二区三区共| 一区二区三区中文字幕精品精品| 蜜臀精品一区二区三区在线观看| 成人黄色在线视频| 日韩一区二区三区视频| 亚洲色图视频网| 久久99国产精品尤物| 在线免费av一区| 国产日韩欧美精品一区| 天天综合天天做天天综合| 成人av在线播放网址| 91精品在线麻豆| 日韩美女精品在线| 国内精品伊人久久久久av一坑 | 蜜臀国产一区二区三区在线播放| 99久久久久久| 久久精品无码一区二区三区| 亚洲一区二区欧美日韩| 波多野结衣中文字幕一区 | 久久成人综合网| 在线欧美小视频| 国产精品污污网站在线观看| 日本欧美在线观看| 在线国产电影不卡| 国产精品美女久久久久aⅴ国产馆| 日韩电影在线看| 在线观看免费成人| 亚洲少妇中出一区| 成人深夜在线观看| www国产精品av| 日本伊人色综合网| 欧美性xxxxx极品少妇| 综合久久一区二区三区| 国产99久久久久| 久久亚洲精品小早川怜子| 视频在线观看一区二区三区| 色妹子一区二区| 亚洲欧洲日韩在线| 成人免费看黄yyy456| 久久久久久久综合日本| 久久97超碰国产精品超碰| 欧美日韩国产bt| 亚洲一区二区三区爽爽爽爽爽 | 国产在线精品免费| 欧美成人a视频| 麻豆精品国产91久久久久久| 91.成人天堂一区| 日日噜噜夜夜狠狠视频欧美人 | 亚洲欧美日韩在线| 91啪亚洲精品| 亚洲精选免费视频| 日本久久一区二区三区| 亚洲欧美一区二区久久| 91免费观看视频在线| 亚洲天堂免费看| 色婷婷久久久久swag精品| 亚洲欧美另类小说视频| 96av麻豆蜜桃一区二区| 中文字幕日韩一区| 91蜜桃视频在线| 亚洲一级二级在线| 欧美日韩国产精品成人| 日韩成人一区二区| 久久综合给合久久狠狠狠97色69| 国产剧情一区二区三区| 亚洲国产岛国毛片在线| 99久久久免费精品国产一区二区| 亚洲男人的天堂av| 欧美日韩国产综合草草| 久久激情综合网| 国产调教视频一区| 99视频在线精品| 亚洲va天堂va国产va久| 欧美一区二区黄色| 国产成人av在线影院| 国产精品久久久久久久久果冻传媒 | 在线观看日产精品| 日本亚洲电影天堂| 久久久久久久久久看片| av一区二区三区| 亚洲bdsm女犯bdsm网站| 久久久久亚洲蜜桃| 99riav久久精品riav| 亚洲国产精品一区二区尤物区| 欧美一级生活片| 成人性生交大片免费| 亚洲精品国产精华液| 欧美一区二区在线播放| 国产成人精品免费视频网站| 尤物视频一区二区| 欧美成人一区二区三区片免费| 国产91丝袜在线播放0| 亚洲午夜三级在线| 久久精品欧美日韩精品| 一本久道久久综合中文字幕| 免费一级片91| 日韩美女精品在线| 精品少妇一区二区三区免费观看 | av在线不卡观看免费观看| 亚洲成人一区在线| 中文字幕精品三区| 欧美一区日韩一区| 99免费精品在线| 老司机免费视频一区二区| 国产精品久久三区| 日韩亚洲国产中文字幕欧美| 成人h动漫精品一区二区| 爽好久久久欧美精品| 中文字幕中文字幕一区| 日韩免费观看高清完整版在线观看| 99热99精品| 国产寡妇亲子伦一区二区| 爽爽淫人综合网网站| 亚洲欧美日韩中文播放| 久久久99精品久久| 日韩一区二区精品在线观看| 97久久精品人人做人人爽50路| 韩国在线一区二区| 午夜精品福利一区二区蜜股av| 国产精品久久久久久久久搜平片|