小编Dar*_*ger的帖子

“每比特成本”是什么意思?

我正在阅读 William Stallings 的操作系统:内部结构和设计原则(第七版),关于内存层次结构的一段让我感到困惑。作者提到“更高的每比特成本”是什么意思?

这是第 24 页上的相关段落所说的:

正如所料,内存的三个关键特性之间存在权衡:即容量、访问时间和成本。多种技术用于实现内存系统,在这一系列技术中,以下关系成立:

  • 更快的访问时间,更高的每比特成本
  • 更大的容量,更低的每比特成本
  • 容量更大,访问速度更慢

我知道你在内存层次结构的金字塔中越往下走,访问时间就越慢。

例如,磁盘或 SSD 卡的访问时间比 CPU 寄存器或缓存或 RAM 慢。

但是,“每比特成本更高”意味着什么?它会减慢其他进程访问此内存的速度吗?这似乎违反直觉,因为访问时间应该更快?它们是否只是占用更多空间,因此空间更少?

memory performance cpu-speed

17
推荐指数
2
解决办法
2万
查看次数

缓冲区溢出是否会改变它正在覆盖的变量的数据类型?

假设我有一个 C 字符数组char buf[15]。假设变量int set_me = 0将其数据直接存储在char buf[15]. 如果我溢出buf与串"aaabbbcccdddeee\xef\xbe\xad\xde",将set_me的数据类型的变化从一个整数的字符阵列?

memory buffer

8
推荐指数
1
解决办法
2036
查看次数

什么是计算周期?

在我的教科书中Operating Systems: Internals and Design Principles (Seventh Edition)William Stallings我对第 104 页上的第一个问题(#2.1)所指的“句点”的含义感到困惑。这是第 104 页的问题文本:

2.1 假设我们有一台多程序计算机,其中每个作业都具有相同的特征。在一个计算周期 T 中,对于一项作业,一半的时间用在 I/O 上,另一半用在处理器活动上。每个作业总共运行 N 个周期。假设使用了简单的循环调度,并且 I/O 操作可以与处理器操作重叠。定义以下数量: • 周转时间 = 完成一项作业的实际时间 • 吞吐量 = 每个时间段 T 完成的平均作业数 • 处理器利用率 = 处理器处于活动状态(未等待)的时间百分比 计算一、二的这些数量,以及四个同时进行的工作,假设周期 T 以下列方式分布:I/O 前半部分,处理器后半部分 b. I/O 第一和第四季度,

周期是指在操作系统将 CPU 的资源切换到处理器或 I/O 之前处理器或 I/O 正在执行的时间量吗?(如果处理器正在执行并且 I/O 中断,那么它将切换到 I/O;如果 I/O 正在等待数据传输,那么它将切换到处理器)。我只是不清楚这个问题的“句号”是什么意思,因为我在教科书或网上的任何地方都找不到它的定义。(当我在 Google 中查找“计算期”时,我通常会得到很多与退休相关的结果)。

cpu io

-1
推荐指数
1
解决办法
146
查看次数

处理器中有多少个堆栈?

我正在操作系统课程中学习 CPU 和内存交互,并且对内存堆栈的工作原理感到困惑。据我了解,堆栈一次向下一行,要么将数据存储在累加器中,要么向 IR 发送指令。

我的问题是:每个进程都有自己的内存堆栈还是每个处理器都有一个巨大的内存堆栈,不断在不同进程之间切换(并且偶尔会被 I/O 调用中断)?如果有一个巨大的堆栈,那么是否只有一个堆栈,因为大多数现代处理器每秒可以执行如此多的指令,以至于对于我们缓慢的人类大脑来说,看起来就像进程在同时运行?

memory cpu stack

-2
推荐指数
1
解决办法
2589
查看次数

标签 统计

memory ×3

cpu ×2

buffer ×1

cpu-speed ×1

io ×1

performance ×1

stack ×1