当前位置:首页 > 内存 > 正文

阻塞态是在内存还是外存

  • 内存
  • 2024-08-18 10:45:35
  • 4882

一、处理机的概念、层次

1.调度的基本概念
需要处理的任务很多,但由于资源有限,无法同时处理。这需要确定某种规则来确定这些操作的处理顺序。这就是研究“时间表”的问题。
在多道程序设计系统中,进程的数量往往大于处理器的数量,因此不可能同时并行地处理每个进程。
处理器调度是分配处理器从就绪队列中选择进程并按照特定的算法执行,从而实现进程的并发执行。

高级调度
由于内存空间有限,有时无法将用户提交的所有任务存储在内存中,因此我们需要决定某种规则来确定这一点。任务传输到内存的顺序。
高级调度(任务调度)。根据一定的原则,可以从外部存储的备份队列中选择一个或多个任务,为它们分配必要的内存等资源,并构建相应的进程(创建PCB)以获得竞争处理机权限。
高级调度是辅助存储(外部存储)和内存之间的调度。每个作业仅加载一次。当加载作业时,创建相应的PCB,当加载作业时,取消PCB。高级调度主要是一个调用问题,因为操作系统只需要确定调用时机,但调用时机必须在任务完成后调用。

中间调度

引入虚拟存储技术后,暂时无法运行的进程可以转移到外部内存等待。一旦再次满足操作条件并且内存稍微空闲,则将其加载回内存。
目标是高内存利用率和系统吞吐量。

暂时转移到外部内存等待的进程状态已停止。值得注意的是,PCB驻留在内存中,而不是同时传输到外部内存。PCB在外部存储器中记录过程数据存储位置、过程状态等信息。操作系统通过内存中的一块PCB来维护对各个进程的监控和管理。挂起的进程PCB被放置在挂起队列中。
中间调度(内存调度)决定是否将挂起的进程重新加载到内存中。
中间调度比高层调度发生得更频繁,因为一个进程可能会被多次调用并进入内存。

3.进程的挂起状态和7态模型
进程暂时移到外存等待的状态就是挂起状态(挂起状态)
挂起状态也分为两种状态:就绪挂起和挂起阻止暂停。您可以分享更多。

4.低级调度
低级调度(进程调度)是主要任务。它涉及按照特定的方法和策略从准备好的队列中读取队列来选择一个进程并将其分配给该进程。
进程调度是操作系统中最基本的调度类型,一般操作系统都必须设置进程调度。进程调度的频率非常高,一般几十毫秒一次。


二、计算机中存储器Cache的基本原理是什么?虚拟内存的工作原理又是什么?Cache:在多体交错内存中,可以看出对主存的I/O请求的级别高于CPU对内存的访问级别。这会导致CPU等待I/O访问内存CPU等待空闲一段时间,甚至可能等待几个主内存周期,从而降低CPU的效率。为了避免CPU和I/O竞争内存访问,可以在CPU和主存之间添加一级缓存。这样,主存可以将CPU想要检索的信息提前发送到高速缓存,当主存与I/O交换时,CPU可以直接从高速缓存中读取必要的信息,而无需等待。徒劳地影响效率。
从另一个角度来看,主存速度的提升从来没有跟上CPU的发展步伐。据统计,CPU的速度平均每年提高60%,而构成主存的动态RAM的速度平均每年仅提高7%。结果是CPU和动态RAM之间的速度差距平均每年增加50%。因此,也希望缓存能解决主存与CPU不匹配的问题。
Cache的出现主要解决CPU不直接访问主存,仅与高速缓存交换信息的问题。所以,通过对大量典型程序的分析,发现CPU在一定时间段内从主存取指令或据时,只访问主存的本地地址空间。这是因为指令和数据在主存中是连续存储的,而有些指令和数据经常被调用多次(如子程序循环程序和一些常量),即指令和数据在主存中的地址分布不是随机的,但是相对集群化,这样CPU执行程序时,内存访问具有相对局部性。这称为程序访问的局部性原则。基于这个原理,很容易想象,只要将CPU近期要使用的程序和数据提前从主存发送到缓存,CPU就只能在一定时间内访问缓存的时间。通常Cache采用高速SRAM制成,其价格比主存贵,但由于容量比主存小很多,所以可以很好地解决速度与成本之间的矛盾。
磁盘缓冲区:硬盘缓冲区是硬盘与外部总线交换数据的地方。从硬盘读取数据的过程就是将磁信号转换成电信号,然后通过缓冲区一次又一次的填充、清空,然后再次填充、再次清空,按照顺序一步步发送出去。。PCI总线的周期可见,缓冲区的作用非常重要。它的作用也是为了提高性能,但是和cache的区别是:1.它是一个容量固定的硬件,不像cache那样可以由操作系统在内存中动态分配。2.对性能的影响远大于磁盘缓冲对性能的影响,因为如果没有缓冲,则每次传输一个字(通常是4个字节)时都需要读取或写入磁盘。
虚拟内存:当内存不足时,将一些尚未开始工作或被阻塞的进程及相关资源从内存移至外部存储(通常是磁盘),然后从内存中调度这些进程。外部存储将这些进程和相关资源移至内存中,而外部内存中负责存储这些临时数据的部分就是虚拟内存。