发表于: 2017-05-07 21:58:27

1 917


今天完成的事情:

学习angular操作,如ng-module和ng-bind等
明天计划的事情:

继续学习angular
遇到的问题:

angular没有的学习书籍吗
收获:

操作系统

内存管理

1.操作系统必须将内存空间进行划分和有效的动态分配

2.内存管理包括,内存的分配和回收,地址转换,逻辑地址转行为物理地址,利用虚拟出巡技术扩充内存

一 程序的装入和链接

1,用户程序的处理步骤,程序运行必须创建进程,就要将程序和数据装入内存。

  源程序变为可执行程序,需要如下步骤

   编译  链接  装入 

2.程序链接 

   第一种  静态连接方式   程序运行之前,将各模块链接成一个完成 的执行文件,不在拆开

              缺点 :不方便对目标模块的修改和更新,无法实现对目标模块的共享

 

  第二种  装入时动态链接方式,边装入边链接的方式。

  第三种       运行时动态连接方式,需要时调用(最好)

3.程序的装入

 

  绝对装入   只适用于单道程序的环境。

 可重定位装入    静态装入

 动态运行时装入   装入内存后所有地址都是相对地址,程序真正执行时将相对地址转换为绝对地址

二  连续分配管理的方式

通常将主存划分成两个分区:

单一连续分配

  最简单的储存管理方式,但只能用于单用户,单任务的OS中。

  特点,管理简单,但是内存利用率低,浪费较大。

固定分区分配

 最早的使用可运行多道程序的储存管理方法。

将内存空间划分成若干个固定大小的分区,每个分区可装入一道用户进程。分区大小可以相等,可以不等

特点:有些程序较大,放不进去任何一个分区;内存利用率低,分区内有空间浪费,,称为内存碎片

动态分区分配

 不事先划分区域,当作业进入内存时,动态分配内存正好适应作业大小。因此分区数目也是可变的

 进程频繁运行后,会出现外部内存碎片,可以通过紧凑技术将碎片拼接到一起

三 非连续分配管理方式

 连续储存区中,产生许多碎片。允许将作业、进程离散的放置在不同区域。

   1. 分页储存管理

          进程物理地址空间可以不连续;

         将内存物理空间划分成固定大小的块,称为页框。

        将逻辑空间划分成与物理块同样大小的页。

       系统建立一张空闲页框表,,用以维护系统中的自由空间。

      当需要执行一个大小为n页的进程时,就在内存中寻找n自由页框,将进程装入

     为进程设置一张页表,记录页编号与页框编号的对应关系。

   

 3.段式储存管理

 4.段页式储存管理

  将分段与分页原理结合。

 

 

四 虚拟内存管理

     传统储存管理方式:一次性;驻留性。

    基于局部性原理,程序在运行之前,没有必要全部装入内存,仅需要将当前需要运行的页或者段转入内存。

    运行时,如访问的页或者段在内存中,则继续执行,不存在就利用OS调出页或者段。

    如果内存已满,就利用OS的页(段)的置换技术。



返回列表 返回列表
评论

    分享到