首页 >> 大全

3-1计算机系统结构及内存分层体系

2023-08-30 大全 29 作者:考证青年

计算机启动后,需要对整个计算机系统进行管理和控制, 首先需要进行管理和控制的就是内存。

这一章主要讲解下操作系统是如何管理物理内存的。

首先需要了解计算机体系结构、内存的层次结构,才能知道操作系统有效的去管理这些已知的硬件物理内存。

第二步需要知道操作系统怎么去和程序的编译执行交互的,

最后需要知道操作系统怎么去管理连续的物理内存分配。

一、计算机体系结构和内存分层体系

计算机体系结构主要包含了三大部分内容。

1、CPU,主要是完成对程序的控制

2、内存,放置了程序的代码和数据

3、外设

操作系统需要将CPU访问的物理内存有效的管理起来。

内存包含哪些东西呢?

它并不仅仅是主存或者物理内存,他还包含其它一部分的内容,如上图,显示内存的层次结构。

什么是内存的层次结构?

就是说CPU要访问的指令或者数据,它所处的位置在什么地方,从上到下,可以看到,分为好几类:

1 寄存器,2 cache 这两部分都是位于CPU芯片内部的,操作系统是没法对它进行直接管理的。速度快容量小

下面一部分是主存或者叫物理内存,主要是用于放置操作系统本身以及要运行的代码,特点容量比寄存器和cache大很多,速度相对cache和寄存器慢很多。

最下面是硬盘容量大,速度慢。

从上到下形成一个金字塔结构,越靠近CPU 速度越快,容量越小。

我们希望我们运行的程序能够尽量达到数据访问要快,数据存储空间要大,同时满足这两个条件,其实很难兼得,但是如果有了操作系统的帮助,这一点其实是可以有效的达到的,这一点也是为什么我们要通过去了解操作系统管理物理内存y以及后续h会了解操作系统管理虚拟内存,能够完成近乎,看起来像是一种不可能完成的任务,这么一个很艰巨的任务。

小米3吧系统存储改成内存存储__权力分层体系

操作系统在这里面到底要完成哪些事情呢?其实有如下几个目标:

1 抽象:希望应用程序在内存中运行的时候呢,由于操作系统的有效管理,使他不用考虑很多底层的细节,不用考虑物理内存在什么地方,不用考虑外设在什么地方,只需访问一个连续的地址空间就OK了,我们把这个地址空间一般成为逻辑地址空间。

2 保护:因为在内存中可以运行多个应用程序,有可能会访问别的进程的地址空间,有可能破坏别的进程的地址空间,这实际上是有问题的,我们需要有一种有效的机制,不能坚定应用程序在运行中不会破坏别的应用程序,我们需要一种机制来保证进程中的地址空间是隔离的,隔离机制的实现是 靠操作系统来完成的。

3 共享:进程之间也需要交互,怎么有效提供这种共享空间来使得,进程之间安全可靠有效的进行数据传递,这实际上也是通过操作系统的机制来完成的。

4 虚拟化:当我们在内存中放了很多应用程序之后,其实会出现内存不够的情况,怎么让正在运行的程序获取它所需要的内存空间呢?其实体现一点,把最需要放到内存的数据放到内存中,那些暂时不需要放到内存的数据暂时不用去访问的数据,可以临时放到硬盘上去,通过这种方式,可以有效的实现一种虚拟的大的一种内存空间现象,这个管理过程,我们希望能做到对应用程序透明,同时还能够让应用程序尽量的去用它所需要的数据和空间,这样就通过操作系统去完成这种功能。

上图,有4个放到内存中的程序,其中正在占用CPU的y运行的程序可能是P1,那么实际上是等待状态,尤其是P4,P4当前可能等待某个事情,这种情况下,它说访问的数据其实没有必要放到内存中去,P1在运行中可能需要更多的空间,可以通过操作系统把这一份空间导到,硬盘上去,上图右下角就有P4的应用程序的代码和程序。

同时P1所占的空间就可以有效的去执行,当P1不执行之后,可以把控制权交给P2或者P3,继续执行,这种方式使得可以很方便的在内存中执行,当然也可以有效的机制让P4得到有效的执行。

另一方面,上图可以看出有两个地址空间,后面会进一步展开讲解,l逻辑地址空间和物理地址空间,主存和硬盘其实是物理地址空间,而我们程序其实看到的空间是逻辑地址空间。

操作系统需要完成上述4点需要一定的机制来完成,这些机制包含了相关手段,比如程序重定位、分段、分页、虚存管理以及按需分页,按需分配内存等多种不同的手段。后面会逐一展开对此讲解

另外需要注意的是,操作系统是一个软件,它在完成上述功能的时候,其实还需要和硬件进行配合,比如MMU配合在一起,才能进行内存管理。

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了