×
操作系统教程操作系统的定义和功能操作系统的类型

进程管理

与进程有关的时间操作系统CPU调度操作系统调度算法操作系统FCFS调度操作系统FCFS护航效果操作系统FCFS与开销操作系统最短作业优先(SJF)调度预测SJF进程的CPU突发时间最短剩余时间优先(SRTF)调度算法循环调度算法循环调度算法示例最高响应比下(HRRN)调度最高响应比下(HRRN)调度示例优先级调度非抢占式优先级调度抢先式优先级调度

同步

进程同步简介临界区问题锁定变量机制测试集锁定机制优先级反转开启可变或严格的交替方式感兴趣变量机制帕特森(Peterson)解决方案同步机制无需等待睡眠和唤醒信号量介绍计算信号量的问题计算信号量的问题二进制信号量或互斥量

死锁

死锁简介处理死锁的策略死锁预防避免死锁避免死锁使用RAG进行死锁检测死锁检测和恢复

内存管理

内存管理简介固定分区动态分区压缩(碎片整理)用于动态分区的位图链表动态分区分区算法分页技术分页技术实例二进制地址基础知识物理和逻辑地址空间页表从页表映射到主内存页表项查找最佳页面大小虚拟内存后备缓冲器按需分页转换页表页面替换算法Belady异常分段分页与分段比较分段的分页

文件管理

文件的属性文件上的操作文件访问方法目录结构一级目录两级目录树型结构目录非循环图结构化目录文件系统文件系统结构主引导记录(MBR)磁盘中的数据结构内存中的数据结构目录实现目录实现连续分配链表分配文件分配表索引分配链接索引分配索引节点空闲空间管理磁盘调度

内存管理简介


什么是内存?

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

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

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

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

机器只能识别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利用率会增加。


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)