1.1.1-操作系统的概念和功能
概念
![](https://i-blog.csdnimg.cn/blog_migrate/14c159c7ee805f9202a961242e23fabd.jpeg)
总结
![](https://i-blog.csdnimg.cn/blog_migrate/beee0dfa0a646642a552892eccf9f9de.jpeg)
提供的功能
![](https://i-blog.csdnimg.cn/blog_migrate/5d456a896a01b80f325a481d1591967b.jpeg)
脱机和联机命令接口
![](https://i-blog.csdnimg.cn/blog_migrate/6b7898f62cfc82d572daaa6e02809a17.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/f361c5b7da5c3d0eb24a88ea173e7e40.jpeg)
它们的区别在于,是一句一句搞定(联机),还是堆起来一起搞定(脱机)
1.1.2 操作系统的四个
总结
![](https://i-blog.csdnimg.cn/blog_migrate/132adb832d46e8e6161a87c53daa1976.jpeg)
并发和共享,虚拟和异步,它们都是相辅相成的
并发和并行(考点)
![](https://i-blog.csdnimg.cn/blog_migrate/9eedb32cd52610206387363d95e31818.png)
并发:就是有着微观和宏观的概念
并行:就是宏观的概念
并发
![](https://i-blog.csdnimg.cn/blog_migrate/6b3230f7a9c40e57e233c5edf5c1afdf.png)
操作系统和程序并发是一起诞生的
共享和并发的关系
![](https://i-blog.csdnimg.cn/blog_migrate/95090b4b8e30ae5eaeac03bb075c5634.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a6819fd9cc2dd02e4a9ea1899a6a1236.png)
它们是相辅相成的
虚拟和异步
![](https://i-blog.csdnimg.cn/blog_migrate/5267ad3153d048375377ff0c372b1d9e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/13f5a9cf3b0a0186f858c1ee88ca6820.png)
有并发性才会有虚拟性
有并发性才会有异步性
1.1.3 操作系统的发展与分类
总结
![](https://i-blog.csdnimg.cn/blog_migrate/a435081268c0c15527665458a7cf2c36.png)
单道批处理系统
![](https://i-blog.csdnimg.cn/blog_migrate/1467253fe81456ac850378080252899c.png)
多道批处理系统
![](https://i-blog.csdnimg.cn/blog_migrate/2d6a8a63338395be75a36f3e7b98be89.png)
分时操作系统
![](https://i-blog.csdnimg.cn/blog_migrate/add51e2eeafe8629aa104854d568ab0b.png)
实时操作系统
![](https://i-blog.csdnimg.cn/blog_migrate/96e11eb705f0ef612c13d9195b9b5736.png)
1.1.4 运行和体制结构
![](https://i-blog.csdnimg.cn/blog_migrate/03a8fdea2389e780a53a5252fee566f8.jpeg)
1.1.5中断和异常
总结
![](https://i-blog.csdnimg.cn/blog_migrate/d1bd22fd7251aaeaa7b1741adee72f76.png)
中断机制的诞生
![](https://i-blog.csdnimg.cn/blog_migrate/04becd02868ad7b561507ff729ee5806.png)
提高效率
为了很好的管理,有些权限不受管理者的控制而设置
中断的概念和作用
![](https://i-blog.csdnimg.cn/blog_migrate/34ee1cb25aea6571d4fce1dd8c24d6e3.png)
中断是实现用户态->核心态的唯一途径:是为了使用特权指令(PSW)
中断的分类(考点)
![](https://i-blog.csdnimg.cn/blog_migrate/5e1696b6e46287d83a6efe1693b5d20d.png)
考点:只要考外中断和内中断的区别(cup是外部还是内部)
1.1.6系统的调用
总结
![](https://i-blog.csdnimg.cn/blog_migrate/867674b831525c5083494ec597a15c42.png)
作用:是为了合理安排资源分配,让操作系统按照请求去协调管理(有条不紊的运行)
![](https://i-blog.csdnimg.cn/blog_migrate/4343a99d8e049deeeb7b2e30b5105867.png)
在c语言或者其他的语言的时候,不是向想象中那么简单的,后面还有很多的系统和操作的调用,才能实现代码的运行
陷入指令是核心态下唯一不可以使用的指令
核心态只能执行系统调用,不能请求系统调用
2.2.1进程的定义
总结
![](https://i-blog.csdnimg.cn/blog_migrate/73bc6c84a1df602f27675e704d73dbe9.png)
PCB是进程存在的唯一标志!
进程实体和进程:一个人不动是静态的(进程实体),他的血液是流动的(进程)
进程的组成(考点)
![](https://i-blog.csdnimg.cn/blog_migrate/10a5270eb9cce1d5d2b1b73300190b7f.png)
PCB的类型(只要是关于进程的都是PCB)
进程的特征
![](https://i-blog.csdnimg.cn/blog_migrate/f367456b0f1d62c8f8f2c94c8c460f39.png)
2.1.2 进程的状态与转换
总结(考点)
![](https://i-blog.csdnimg.cn/blog_migrate/05e18dfbacbf3d0c9d053fd169407818.png)
以上都是高频考点
三种基本的状态
![](https://i-blog.csdnimg.cn/blog_migrate/1ffd14ccb9e3d8861ca9b455cd01b68e.png)
就是准备->跑步->休息
另外两种状态
![](https://i-blog.csdnimg.cn/blog_migrate/cb9c15e3431de4eef5728b3ed1fef581.png)
终点和起点
进程状态得转换(重点)
![](https://i-blog.csdnimg.cn/blog_migrate/af948b0287262b4bde4a7d9988730983.png)
它们之间是不可以随便得调换状态得!!!
2.1.3 进程控制
总结
![](https://i-blog.csdnimg.cn/blog_migrate/4dfdf425e39365d93329591f0edf1594.png)
主要就是叙述了进程状态是如何里面的运行
4如何实现进程控制
![](https://i-blog.csdnimg.cn/blog_migrate/0ce96898e0346af1d9aca8ace5f7a7d6.png)
进程状态里面的是如何运行,更加细致的介绍
如何控制进程
![](https://i-blog.csdnimg.cn/blog_migrate/5234d46ccb5359ed5a692feee760f402.png)
说白了就是不让其受外界影响,直接完成
进程控制相关的原语
主要是叙述了原语的实现过程和功能
![](https://i-blog.csdnimg.cn/blog_migrate/08d3cb92f9522c1a89882a731f6dbd0f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/563792d2483e435ab760756e9ed3a38e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/018c78f3e230527e3ebcac9ac0f2a2a4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7036640ab171622ea1f6435f56a6e145.png)
2.1.4 进程通信
总结
![](https://i-blog.csdnimg.cn/blog_migrate/d8f5781579d1796cbb0deb86b9eb0b20.png)
共享存储
它们之间是互斥的,以保证它们不会冲突
![](https://i-blog.csdnimg.cn/blog_migrate/6390a24eaff5e300f92b2a6e7dcfac67.png)
管道通信
它们之间是互斥的,保证不会冲突
一步一步来,写满,再读取完(不可"偷工减料")
![](https://i-blog.csdnimg.cn/blog_migrate/7c3f27be4481445da1987ce0b000f11e.png)
信息传递
直接:排队处理
间接:邮箱处理
![](https://i-blog.csdnimg.cn/blog_migrate/9bab48dd5a88c868e673b31b358bf930.png)
2.1.5 线程
总结(选择题)
叙述了线程和进程的区别和特点
![](https://i-blog.csdnimg.cn/blog_migrate/b1748a8ebe133d6bbc61ce5cec398358.png)
线程
线程是一个基础的CPU执行单元,也是程序执行流的最小单位
进程包含许多的线程,来实现并发(更高效的运行)
![](https://i-blog.csdnimg.cn/blog_migrate/2d8ae584df2c4b7ea472b2c5821131e9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/008b9b295b3709829c02c8499d801dd6.png)
线程带来的变化
![](https://i-blog.csdnimg.cn/blog_migrate/f0c03c8ad22b2d0715a20ee9c55f8368.png)
线程的属性
![](https://i-blog.csdnimg.cn/blog_migrate/dfa32c5c9c3e6f2a0a4e7d1b693580b0.png)
线程的实现方式
系统有时候是看不到线程的,只能看到进程(不可能什么都顾及到)
用户级线程
![](https://i-blog.csdnimg.cn/blog_migrate/010ed3987b025ac53f605b340f217416.png)
内核级线程
![](https://i-blog.csdnimg.cn/blog_migrate/da10089688bd78239f3574830a828cd3.png)
二者结合
![](https://i-blog.csdnimg.cn/blog_migrate/c0b6f6f8f757701c99e1c9b449210c1a.png)
多对一
![](https://i-blog.csdnimg.cn/blog_migrate/21e5eb76ca816b0ddb6f0ee146b95881.png)
一对一
![](https://i-blog.csdnimg.cn/blog_migrate/3754d2cd2b9a39ca70f73c4cc6b25887.png)
多对多
![](https://i-blog.csdnimg.cn/blog_migrate/f0736364846f1416eded81282a59f6da.png)
2.2.1 计算机调度的概念,层次
总结(考点)红的框起来的
调度就是按照某种规则来决定处理的任务顺序(它的出现是资源不够用,需要"排队")
![](https://i-blog.csdnimg.cn/blog_migrate/3023db8203039f340c6d4e5d66a65131.png)
高级调度
建立pcb来处理,只需要去调入即可
![](https://i-blog.csdnimg.cn/blog_migrate/a28590d9ed2f87d8089f552d01d678e5.png)
中级调度
会出现挂起状态
![](https://i-blog.csdnimg.cn/blog_migrate/8df284edbc0dc334bb9ea7f7eed380aa.png)
挂起状态的七种模型(考点)
等于就是游戏不玩了,有时候我们需要挂机
![](https://i-blog.csdnimg.cn/blog_migrate/b313c6aaf84e69ccc02d74ec4cd1ed8e.png)
三层调度的联系和对比
高级:会产生pcb
中级:会产生挂起状态
![](https://i-blog.csdnimg.cn/blog_migrate/ac263bcc8be6e3f7146c98ac4f676c3c.png)
2.2.2进程调度的时机,切换和过程
总结
![](https://i-blog.csdnimg.cn/blog_migrate/f56c36a23b0c5e700291240a9153fb2b.png)
进程调度的时机
![](https://i-blog.csdnimg.cn/blog_migrate/e8b75558aa2b90c68e1e95a3983cbae5.png)
内核程序临界区访问:因为在内核会影响其他操作(都说是在内核了,肯定是在里面进行的)
普通临界区访问:不会影响到内核的操作,所以可以进行调度与切换(都说是在普通区)
![](https://i-blog.csdnimg.cn/blog_migrate/72141efe8881962e63e6169ff8f7109a.png)
2.2.3调度算法的评价指标
总结
![](https://i-blog.csdnimg.cn/blog_migrate/9a14608b02761f733e34ccd70a32a169.png)
CPU利用率
![](https://i-blog.csdnimg.cn/blog_migrate/bb20f7d6994e65f646c7dc3159cc2d2b.png)
系统吞吐量
用最短的时间完成更多的作业
![](https://i-blog.csdnimg.cn/blog_migrate/bce3a9fce8b9c055ff036da5d1e0fbc3.png)
周转时间
操作和用户都关心的时间
![](https://i-blog.csdnimg.cn/blog_migrate/cb86bf91cb08187910ea253dd234fa43.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f840c4f481d2d36cdaa707c25a4fa76d.png)
2.2.4 FCFS,SJF,HRRN
总结
![](https://i-blog.csdnimg.cn/blog_migrate/b72b567ffeca572a10b2c2a9701a3c7c.png)
"最短的"这里双引号,指的就是不一定,我们看情况,每个教材是不一样的,下图就是解释
![](https://i-blog.csdnimg.cn/blog_migrate/f9172d33262663ce1614bbde1c58aed5.png)
先来先服务(FCFS)
![](https://i-blog.csdnimg.cn/blog_migrate/b1ff0cf94f8e026249dc7f9c30bd5249.png)
特点
![](https://i-blog.csdnimg.cn/blog_migrate/5f0478046aae6048ccc52790b5e73d9c.png)
短作业优先(SJF)(分为抢占式和非抢占式)
除第一个,后面到达的按照运行时间最短的排序(非抢占式)
![](https://i-blog.csdnimg.cn/blog_migrate/76ad744c9cf2f6f80a8cc9ac415c4357.png)
短作业优先(抢占式)
直接就按照运行时间的长短决定先后
![](https://i-blog.csdnimg.cn/blog_migrate/d90031c119298b79d28e491d881ab0ba.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2be6b1db5318b93d5f117842ebffb969.png)
特点
![](https://i-blog.csdnimg.cn/blog_migrate/86277299fd9111f0f2ecfc976cf663ee.png)
高响应比优先(HRRN)
折中的排序(运行时间和到达时间折中)再排序
![](https://i-blog.csdnimg.cn/blog_migrate/37994e273ae8d037d11c367208c8a482.png)
这里p3是有错误的,正确的是p3((3+1)/1=4)
特点
![](https://i-blog.csdnimg.cn/blog_migrate/dbfadaa4563f5417beea25bc3b58b7d6.png)
2.2.5调度算法:时间片轮转,优先级,多极反馈队列调度算法
总结
![](https://i-blog.csdnimg.cn/blog_migrate/c494d3e73142a1f4ab2e3e7e6930859f.png)
时间片轮转
时间片大小就是每个p在这个时间段里可以使用的次数,一旦用完时间大小,就轮到下一个p
时间片大小不能太大,如果大的话,就会使用先来想到的服务,太小的话,切片是有代价的,所以要设置比较合适的时间大小片
![](https://i-blog.csdnimg.cn/blog_migrate/bbf6ba9d300c732d9544d3d957386f6b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a2c19a5f6ecd3c9732b68ddd3c79b655.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a603299e5546f4017fc3d6e24a3c3268.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6936716f03645d7fcefe967d3d9cf1a8.png)
特点
![](https://i-blog.csdnimg.cn/blog_migrate/d4444c95c25532326f73afa2324cb8af.png)
优先级调度算法(分为抢占式和非抢占式)
非抢占式:按照优先数/优先级大小,来决定处理顺序(一旦执行,就运行完)
抢占式:按照优先数/优先级大小,来决定处理顺序(大的一旦来,小的马上退位)
特点
![](https://i-blog.csdnimg.cn/blog_migrate/a8c28e68407bd39869346dc6bcf6cc68.png)
考选择题
![](https://i-blog.csdnimg.cn/blog_migrate/dc5687a10e4a8ad085cf67779d9917b1.png)
非抢占式
![](https://i-blog.csdnimg.cn/blog_migrate/5f43357109a042e3372ca4a4ca439cf5.png)
抢占式
![](https://i-blog.csdnimg.cn/blog_migrate/a1639da707b88469eafff3a2bb073c3d.png)
多级反馈队列调度算法
按照队列的优先级来运行,时间片由小到大
特点
![](https://i-blog.csdnimg.cn/blog_migrate/99d0ecf4c02868f738404dbf81d4707a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/df89044daf7a50985b1d84526e3ca04d.png)
2.3.1进程同步和互斥
总结
![](https://i-blog.csdnimg.cn/blog_migrate/970d9ff023ff4c4ee9133fb081bd6f0b.png)
进程互斥(选择题)
进入区:上锁
临界区:房间(代码)
退出区:解锁
![](https://i-blog.csdnimg.cn/blog_migrate/e77d47332607708a4e228a0e599f8697.png)
2.3.2进程互斥的软件实现方式
总结
最好的算法是Peterson,这些算法的代码,我都看不懂
![](https://i-blog.csdnimg.cn/blog_migrate/f5edac5d7e0e635265e64acba383786b.png)
2.3.3 进程互斥的硬件实现方法
总结
TestAndSet和Swap指令的功能几乎是一样的
![](https://i-blog.csdnimg.cn/blog_migrate/31e7cbef623a653cb8c95be546dc2c5e.png)
中断屏蔽方法
![](https://i-blog.csdnimg.cn/blog_migrate/cece78c932994b2276686ecb3ed4c509.png)
TestAndSet 指令
![](https://i-blog.csdnimg.cn/blog_migrate/6605e2e742acd277bc46059527ab719e.png)
Swap指令
![](https://i-blog.csdnimg.cn/blog_migrate/3581d506608afc27703a67e94c907158.png)
2.3.4 信号量机制
总结(考点)
P(S):申请,V(S):释放
![](https://i-blog.csdnimg.cn/blog_migrate/32a81bdf7196c2bdafe420b048987c62.png)
信号量机制
![](https://i-blog.csdnimg.cn/blog_migrate/49ad89cb38ec4b296899dc367d00fbb2.png)
整型信号量
会多出3个操作:初始化,p操作,v操作
![](https://i-blog.csdnimg.cn/blog_migrate/40035bec9ce6a28a92dd68909815aee4.png)
记录型信号量
CPU:wait是减减的代码(资源给用了,才要--),如果value<0,那么该资源已经没有了,要去等待(S)
signal:是++,如果value<=0,因为是负数,说明你在等待区,让你区就绪区(L)
![](https://i-blog.csdnimg.cn/blog_migrate/09145a333dfde3d1d20c1f92d6ed83ab.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4f9c682fd69777f1b97a3a8237b7dc94.png)
2.3.5信号量机制实现进程互斥
总结
通过使用P和V操作来实现有些代码的先后顺序
![](https://i-blog.csdnimg.cn/blog_migrate/2f9167371e0847126b6c482fb40726d7.png)
说明
![](https://i-blog.csdnimg.cn/blog_migrate/e182c0f1a4051bcebbe3ba0992141801.png)
例子
无论从P1还是P2开始都已经决定可代码1和2是在代码4之前执行的
代码1和2运行
V(s)S++,运行代码3,S=1
P(S)S--,运行代码4,S=0
反过来也是如此
![](https://i-blog.csdnimg.cn/blog_migrate/a1e78266e2fc872e338f7632572564bc.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f88f540eacac8133488fb8a659f46f50.png)
原理一样
2.3.6生产者_消费者问题(一对一)
总结
一对一的关系:只生产一种,也只消费一种
生产者:生产时要消耗一个空间(p),然后放一对互斥PV(产品放入),保证不被打扰,生成完,多了一个产品(V)
消费者:要消费一个产品(p),然后放一对互斥PV(产品拿出),保证不别打扰,消费完,释放一个空间(V)
![](https://i-blog.csdnimg.cn/blog_migrate/8261a26a3bd765184294e9240db6094e.png)
例题
![](https://i-blog.csdnimg.cn/blog_migrate/6e0bbf91a88f60c3d33609edeca24434.png)
![](https://i-blog.csdnimg.cn/blog_migrate/09d95aa5956070bb47fa65ee472b2021.png)
2.3.7多生产者-多消费者问题(多对多)
总结
多生产者,多消费者指的是生产不一样,消费不一样,多对多的关系
生产和消费都是有顺序的,有他们对应的使用空间,掌握里面的规律
![](https://i-blog.csdnimg.cn/blog_migrate/51b09505d2d025725fe19920d1d1dbd6.png)
实现
![](https://i-blog.csdnimg.cn/blog_migrate/28d5842bb2b4870b3545e93b74dac525.png)
也可以不用"缓冲区",是因为我们的缓冲区设置为:1,生产者不会产生覆盖的的行为
![](https://i-blog.csdnimg.cn/blog_migrate/b2b019a4464bb7871f2848af4b5074d8.png)
如果缓冲区设置为2的话,就会出现生产者放2次,说明会产生覆盖,那就出问题了
![](https://i-blog.csdnimg.cn/blog_migrate/0cd9a9df4da4ca6f3af1ed45ea0d90c5.png)
2.3.8吸烟者问题(一对多)
总结
一对多的关系:一个生产者对多个消费者
生产者:写V(offer)提供就是+,提供一个产品,在写一个P(finish)完成就是-,消耗完
消费者:写P(offer)消耗完是-,空出一个空间,再写一个V(finshi)完成就是+,给一个空间
看下面就可以理解了
![](https://i-blog.csdnimg.cn/blog_migrate/6b611d836311d7531fa0b69513224ec0.png)
2.3.9读者(读写差别)
总结
读和写不可以同时进行
可以同时多个读者读
写着只能是一个一个写,或者会发生覆盖
各种设置达到公平的写读
![](https://i-blog.csdnimg.cn/blog_migrate/1d98c606e1e80b7f4196ed5f98d50faa.png)
![](https://i-blog.csdnimg.cn/blog_migrate/18d6da3a59c9d88c64596c6f52d19422.png)
2.3.10哲学家进餐问题(俩双筷子)
总结
需要2个"筷子"才可以运行,但是又不能有死锁现象发生,需要一些限制
![](https://i-blog.csdnimg.cn/blog_migrate/6eaeed74a4df90250abe0fadff242bdc.png)
2.3.11管程
总结
![](https://i-blog.csdnimg.cn/blog_migrate/67e0781af96a50a3122e318f77d60d88.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a8c62e3c3450901745d047df458aeed3.png)
2.4.1-2.4.2死锁
![](https://i-blog.csdnimg.cn/blog_migrate/5d22ff5ec165a87c28d5932292e2dc76.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/141cdce3e58a71ef08473f1b8d0a26f2.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/1e7cda0ecf93d11c364166a0abbc3f8a.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/0fd1a0c38afde6b9370582b4b38776b5.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/be8ca503a536e8efc5f6e3ca76b358f0.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/1c7ea28a2d75f03ad36690d4a6748bac.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/49aaac3154f39136df376a1de185bc32.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/66f10ed1dde12a4cd4f00d6b642ab074.jpeg)
2.4.3避免死锁
![](https://i-blog.csdnimg.cn/blog_migrate/c4039f8be30c31c24bdc9247179fcafe.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/adf271baf3cd80655129a4b953809871.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/11f6790a8fa2fda69612446cdb5a1273.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/4d065e74a057fa9d26c6b402ea938a06.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/cce3930505e66fbc3b623ab7db57e3f4.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/0834381915b5628a1565c4c43be06f94.jpeg)
2.2.4死锁的处理,检测盒解除
总结
![](https://i-blog.csdnimg.cn/blog_migrate/4f7f9fe089f000d36c1d2f2fe694ac2e.jpeg)
检测
![](https://i-blog.csdnimg.cn/blog_migrate/9d76c909ca9010b39a752b07c35b692a.jpeg)
3.1.1内存的基础知识
总结
![](https://i-blog.csdnimg.cn/blog_migrate/26384559a035e88372200622a0993e10.png)
内存
是用于存放数据的硬件,程序执行之前需要先存放到内存中才能被CPU处理(方便更快的给CPU处理)
内存就是门牌号,存储单元就是小房间
![](https://i-blog.csdnimg.cn/blog_migrate/1b9cff227e479ee4f783c1cd476ee3da.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2e6c1688f6aaf2b9b6152179d636d7cf.png)
逻辑vs物理地址
![](https://i-blog.csdnimg.cn/blog_migrate/fda1b9c00092dff9e05631e14a249481.png)
![](https://i-blog.csdnimg.cn/blog_migrate/525114e57f96f1b03b78fc06e9b4bec7.png)
写程序到运行程序
![](https://i-blog.csdnimg.cn/blog_migrate/bab0c4c69803ece50cd4b3ea6ed67f5c.png)
3.1.2内存管理概念
总结
![](https://i-blog.csdnimg.cn/blog_migrate/3b91a1a1480892f342481b7ea07b7a52.png)
内存保护
![](https://i-blog.csdnimg.cn/blog_migrate/ba4230a5a7293979c6ab8c86017733f5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0983e66974eb53d740fec9bd2c7df9c5.png)
3.1.3覆盖于交换
总结
![](https://i-blog.csdnimg.cn/blog_migrate/38378f19a13d9b49bfe0e9f556b1aea9.png)
3.1.4连续分配管理方式
总结
![](https://i-blog.csdnimg.cn/blog_migrate/66c5ad3e55bd8f469a4843d1fc767c8d.png)