内存管理简介

什么是内存?

计算机内存是以二进制格式表示的一些数据的集合。 在各种功能的基础上,内存可以分为不同的类别。 稍后我们将详细讨论它们。

能够暂时或永久存储任何信息或数据的计算机设备称为存储设备。

数据如何存储在计算机系统中?

要理解内存管理,我们必须清楚如何将数据存储在计算机系统中。

机器只能识别0或1的二进制语言。计算机会先将每个数据转换为二进制语言,然后将其存储到内存中。

这意味着如果我们有一个程序行写成int α= 10,那么计算机会将它转换为二进制语言,然后将其存储到内存块中。

下面显示了int i = 10的表示形式。

数字10的二进制表示是1010。因此,如果是32位系统,因此int的大小是2个字节,即16位。 1个存储块存储1位。 如果使用有符号整数,那么存储器阵列中最重要的位总是有符号的位。

有符号位值0表示正整数,而1表示负整数。 这里,可以使用存储器阵列存储的值的范围是-32768到+32767。

好吧,可以使用unsigned int来扩大这个范围。 在这种情况下,现在存储符号的位也将存储位值,因此范围将为0到65,535。

需要多种编程

但是,CPU可以直接访问系统的主内存,寄存器和缓存。 程序总是在主内存中执行。 主存的大小影响到大多数现存的多重编程的程度。 如果主存储器的容量大于CPU,可以同时在主存储器中加载更多的进程,因此会提高多重编程的程度以及CPU利用率。

让我们考虑一下,

进程大小= 4 MB
主内存大小= 4 MB
该进程只能随时驻留在主内存中。
如果进程执行IO的时间是P,

然后,

CPU利用率=(1-P)
比方说,
P = 70%
CPU利用率= 30%
现在,增加内存大小,假设它是8 MB。
进程大小= 4 MB
两个进程可以同时驻留在主内存中。
假设一个进程的IO是P的时间,

然后

CPU利用率=(1-P ^ 2)
假设P = 70%
CPU利用率=(1-0.49)= 0.51 = 51%

因此,如果内存大小增加,可以认为CPU利用率会增加。


上一篇:死锁检测和恢复

下一篇:固定分区

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程