发表于: 2017-05-07 21:40:07

1 1093


今天完成的事情:

后台部分内容管理部分基本完成了;

又研究了javascriptthis关键字和闭包的知识,又有了新的理解,原先看不懂的内容也能明白了;

听了付老师的课程,操作系统的内存管理,比较难懂;

明天计划的事件:

再完善下内容管理部分的代码;

与伙伴们商量下下一步的计划,后台管理部分如何去写;

遇到的问题:

暂无;

收获:

操作系统内存管理课堂笔记:

内存管理包括:内存的分配与回收,地址转换,逻辑地址和物理地址转换、虚拟内存管理等方面;

1)程序装入和链接;

一个用户源程序要变为在内存中可执行的程序,要进行以下的处理步骤:编译,链接,装入;

程序链接的三种方式:静态链接方式(缺点:无法共享模块),装入时动态链接方式,运行时动态链接方式(推荐);

程序的装入:绝对装入(只适用于单道程序环境),可重定位装入,动态运行时装入;

2)连续分配管理方式:

通常将主存划分为两个分区:低地址分区用于驻留操作系统、用户进程驻留在高地址分区;

可以分为:

单一连续分配:用于单用户单任务的OS中,比较浪费内存空间;

固定分区分配:可运行多道程序,将内存空间划分为若干个固定大小的分区,每个分区可以装入一道用户进程;

动态分区分配:系统中分区的大小是可变的,分区的数目也是可变的;容易存在外部碎片;

分配算法:首次适应算法,临近适应算法,最佳适应算法,最大适应算法;

3)非连续分配管理方式

引入原因:减少碎片的产生。允许将进程离散的放到多个不相连接的分区中,分为分页存储管理、分段存储管理、段式存储管理。

分页存储管理:

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

将内存物理空间划分为固定大小的块(2n次方大小),称为页框;

将逻辑空间分为与物理块同样大小的页;

页表是进程所拥有的;

4)段式存储管理:

主要是为了满足用户和程序员;

优点:方便编程,信息共享和保护,动态增长;

是分段和分页原理的结合,其地址结构由段号、段内页号、页内位移三部分组成;

5)虚拟内存管理:

虚拟存储管理:当程序的存储空间要求大于实际的内存空间时,就使得程序难以运行。

虚拟存储技术就是利用实际内存空间和相对大的多的外部储存器存储空间相结合构成一个远远大于实际内存空间的虚拟存储空间,程序就运行在这个虚拟存储空间中。

虚拟存储的实现技术:包括请求分页和请求分段;


返回列表 返回列表
评论

    分享到