操做系统的功能包括:处理器管理、存储器管理、文件管理、设备管理等。算法
内存管理的功能有:1.内存空间的分配与回收,包括内存的管理和共享。2.地址转换,把逻辑地址转换成相应的物理地址。3.内存空间的扩充,利用虚拟存储技术或自动覆盖技术,从逻辑上扩充内存。4.存储保护,保证各道做业在各自的存储空间内运行,互不干扰。操作系统
逻辑地址转换为物理地址的过程叫作地址重定位。队列
内存分配管理方式内存
内存分配管理方式:连续分配管理方式(包括:单一连续分配,固定分区分配,动态分区分配)与非连续分配管理方式(包括:基本分页存储方式和请求分页存储管理方式)。内存管理
基本分页存储管理方式: 32位是这样划分的=页号P(31...12)+页内偏移量M(11...0)原理
基本分段存储管理方式:32位是这样划分的=段号S(31...16)+段内偏移量W(15...0)硬件
段页式管理方式:32位=段号+页号+页内偏移量。这里每个分段都有一张页表,每一个分段一张段表。分页
虚拟内存管理请求
基于局部性原理,在程序装入中,能够将程序的一部分装入内存中,而将其他部分留在外存,就能够启动程序执行。在程序执行过程当中,当所访问的信息不在内存时,由操做系统将所须要的部分调入内存,而后继续执行程序。另外一方面,操做系统将内存中暂时不用的内容换出到外存上,从而腾出空间存放将要调入内存的信息,这样,系统好像为用户提供了一个比实际内存大得多的存储器,成为虚拟存储器。程序
虚拟内存的实现方式有3种:1.请求分页存储管理,2.请求分段存储管理,3.请求段页式存储管理。
须要的硬件支持有:必定容量的内存和外存;页表机制(或段表机制),做为主要的存储结构;中断机构,地址变换机构等
经常使用的置换算法有:最佳置换算法,先进先出(FIFO)页面置换算法,最近最久未使用(LRU)置换算法。
Belady:随着分配页面的增长,缺页率不增反减的异常现象(FIFO算法中可能会产生)。
FIFO是基于队列实现的,LRU是基于堆栈类的算法。
抖动(Thrashing):页面置换过程当中的一种最糟糕的情形,刚刚换出的页面立刻又要换入内存,刚刚换入的页面立刻就要换出主存,这种频繁的 页面调度行为成为抖动,或颠簸。