深入理解计算机系统(第三版) csapp 第六章部分答案

6.23

平均旋转时间:

T avg rotation = 1/2*T max rotation = 1/2*(60s/15000RPM)*1000ms/s≈2ms

平均传送时间:

T avg transfer = 1/RPM * (1/(平均扇区数/磁道))*60s/1min = 1/15000RPM * (1/800)*1000ms/s≈0.00008ms

总的预计访问时间:

T access = Tave seek + T avg rotation + T avg transfer  ≈ 6ms

6.24

512bytes*4096 = 2MB,所以有4096个扇区

A : 最好的情况是块被映射到连续的扇区,在同一柱面上,那样就可以一块接一块地读,不用移动读/写头。

一旦读/写头定位到了第一个扇区,需要旋转5圈来读取4096个扇区

则T transfer time = 4096 / 1000 * 60 / 15000 * 1000 = 16.384 ms

T = T avg seek +T transfer time = 4ms + 16.384ms = 20.384ms

B: 最坏的情况下,块被随机地映射到扇区上,所以每一块的时间都为T avg seek+T avg rotation +T transfer,

所以读这个文件的总时间为(T avg seek+T avg rotation +T transfer)* 4096 = 24592.384ms

书上的6.4题跟本题类似,但是没有加上transfer,我觉得应该包括在读取时间中,如果有错误可以在评论区指出)

6.25

S  t  s  b

64   24  6  2

1  30  0  2

128   22  7  3

1  29  0  3

32  22  5   5

8  24  3   5

6.26

6.29

CT CT CT CT CT CT CT CT,CI CI,CO CO

0X834      -       -

0X836   命中   未知

0XFFD  命中   0XC0

原文地址:https://www.cnblogs.com/blzm742624643/p/9746966.html

时间: 2024-08-29 19:30:11

深入理解计算机系统(第三版) csapp 第六章部分答案的相关文章

Python核心编程(第二版) 第六章习题答案

6–1.字符串.string 模块中是否有一种字符串方法或者函数可以帮我鉴定一下一个字符串是否是另一个大字符串的一部分? 答:有,string.find(str,beg,end) 6–2.字符串标识符.修改例 6-1 的 idcheck.py 脚本,使之可以检测长度为一的标识符,并且可以识别 Python 关键字,对后一个要求,你可以使用 keyword 模块(特别是 keyword.kelist)来帮你. 1 #!/usr/bin/python 2 3 import string 4 impo

大小端字节序的来历(摘自《深入理解计算机系统 第三版》)

术语“little endian(小端)”和“big endian(大端)”出自Jonathan Swift的<格列佛游记>(Gulliver's Trabels)一书,其中交战的两个派别无法就应该从哪一端(小端还是大端)打开一个半熟的鸡蛋打成一致.就像鸡蛋的问题一样,选择何种字节顺序没有技术上的理由,因此争论沦为关于社会政治论题的争论. 一下是Jonathan Swift在1726年关于大小端之争历史的描述: “......下面要告诉你的是,Lilliput和Blefuscu这两大强国在过去

JavaScript高级程序设计(第三版)第六章 面向对象的程序设计

6.1 理解对象 var person = new Object(); person.name = "Nicholas"; person.age = 29; person.job = "Software Engineer"; person.sayName = function(){ alert(this.name); }; person.sayName(); 6.1.1 属性类型 1.数据属性 [[Configurable]]:表示能否通过delete删除属性从而重

Objective-C 程序设计(第六版)第六章习题答案

1. 1 int value1,value2; 2 printf("请输入两个整数,用逗号隔开:"); 3 scanf("%d,%d",&value1,&value2); 4 5 if (value1 % value2 == 0) { 6 printf("可以整除\n"); 7 } 8 printf("不能整除\n"); 9 2.  main函数部分 1 double value1, value2; 2 cha

《深入理解计算机系统(第三版)》第二章 信息的表示和处理

<深入理解计算机系统(第三版)>第二章 信息的表示和处理 ??计算机本身是由处理器和存储器子通过系统组成.在核心部分,我们需要方法来表示基本数据类型,比如整数和实数运算的近似值.然后,我们考虑机器级指令如何操作这样的数据,以及编译器又如何将C程序翻译成这样的指令.接下来,研究几种实现处理器的方法,帮助我们更好的了解硬件资源如何被用来执行指令.理解了编译器和机器级代码,我们就能了解如何通过编写C程序以及编译它们来最大化程序的性能.本章主要使我了解了如何表示和执行应用程序,通过一些技巧,来写出安全

深入理解C#第三版部分内容

 最近,粗略的读了<深入理解C#(第三版)>这本技术书,书中介绍了C#不同版本之间的不同以及新的功能. 现在将部分摘录的内容贴在下面,以备查阅. C#语言特性: 1.C#2.0 C#2的主要特性是泛型.可空类型.匿名方法及其他有关委托的增强和迭代模块.此外还包含一些小特性:分部类型.静态类.包含不同访问修饰符的属性的取值方法和赋值方法.命名空间别称.pragma指令以及固定大小的缓冲器. 2.C#3.0 C#3为LINQ而生,尽管很多特性在其他地方也很有用.自动属性.数组和局部变量的隐式类型.

Python核心编程(第二版) 第四章习题答案

4-1.Python对象.与所有Python对象有关的三个属性是什么?请简单的描述一下.答:与所有Python对象有关的三个属性是身份.类型.值.身份:每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数id()来得到.这个值可以被认为是该对象的内存地址.类型:对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么规则.可以用内建函数type()来查看Python的类型.值:对象表示的数据项.4-2.类型.不可更改(immutable)指的是什么?Pyth

Python核心编程(第二版) 第五章习题答案

5-1.整型.讲讲Python普通整型和长整型的区别. 答:Python 的标准整数类型是最通用的数字类型.在大多数 32 位机器上,标准整数类型的取值范围是-2**31到 2**31-1,也就是-2,147,483,648 到 2,147,483,647.如果在 64 位机器上使用 64 位编译器编译 Python,那么在这个系统上的整数将是 64 位. Python 的长整数类型能表达的数值仅仅与你的机器支持的(虚拟)内存大小有关. 5-2.操作符.(a)写一个函数,计算并返回两个数的乘积.

JavaScript高级程序设计(第三版) (5章 引用类型)

引用类型 在ECMAScript 中,引用类型是一种数据结构,用于将数据和功能组织在一起.这种数据类型不具备传统的面向对象语言所支持的类和接口等基本结构.引用类型有时候也被称为对象定义,因为他们描述的是一类对象所具有的属性和方法. 5.1    Object类型 5.2    Array类型 特点: 每一项可以保存任何类型的数据: 大小可以动态调整 length大小可变(最大值4294967295) 两种创建方式: 一:通过构造函数创建 //不指定大小 var colors1 = new Arr