- 操作系统基本概念
- 操作系统的定义:操作系统是用户和计算机之间的界面。一方面操作系统管理着所有计算机系统资源,另一方面操作系统为用户提供了一个抽象概念上的计算机。在操作系统的帮助下,用户使用计算机时,避免了对计算机系统硬件的直接操作
- 操作系统的主要功能:处理机管理(进程和线程管理),存储管理,设备管理,文件管理,提供用户接口
- 操作系统的基本特征:并发、共享、虚拟、异步
- 处理机管理
- 进程:进程是对运行时程序的封装,是系统进行资源调度和分配的基本单位,实现了操作系统的并发
- 线程:线程是进程的子任务,是CPU调度和分派的基本单位
- 进程和线程之间的区别:(1)一个程序至少有一个进程,一个进程至少有一个线程,线程依赖于进程而存在(2)进程在执行过程中拥有独立的内存单元,而多个线程共享进程的内存
- 进程的状态:(1)就绪状态(2)执行状态(3)阻塞状态
- 进程间通信的几种方式:(1)管道(2)消息队列(3)共享内存(4)信号量(5)嵌套字
- 进程调度算法:(1)先来先服务调度算法FCFS(2)最短作业优先调度算法SJF(3)高优先级调度算法HPF(4)时间片轮转调度算法(可抢占的)RR(5)多级反馈队列调度算法
- 死锁:两个或多个进程无限期阻塞、 相互等待的一种状态
- 死锁产生的四个必要条件:(1)互斥(2)占有并等待(3)非抢占(4)循环等待
- 死锁处理:(1)预防死锁:破坏产生死锁的4个必要条件中的一个或者多个;实现起来比较简单,但是如果限制过于严格会降低系统资源利用率以及吞吐量(2)避免死锁:在资源的动态分配中,防止系统进入不安全状态(3)监测死锁(4)解除死锁:进程终止和资源抢占
- 存储管理
- 页式存储管理方案:将程序的逻辑地址分为固定大小的页,没有外碎片(因为页的大小固定),但会产生内碎片
- 段式存储管理方案:将程序的地址空间划分为若干段,堆栈段; 这样每个进程有一个二维地址空间, 相互独立, 互不干扰。没有内碎片, 但段换入换出时, 会产生外碎片
- 段页式存储管理:先将用户程序分为若干个段,然后再把每个段分成若干个页,并且为每一个段赋予一个段名称。管理中,一个内存地址就由段号,段内页号以及页内地址三个部分组成
- 分页和分段的区别:(1)分页是由于系统管理的需要,分段是为了更好地满足用户的需要(2)页的大小固定且由系统决定, 而段的长度却不固定, 由其所完成的功能决定(3)段向用户提供了二维地址空间; 页向用户提供的是一维地址空间(4)段是信息的逻辑单位, 便于存储保护和信息的共享, 页的保护、共享收到限制
- 页面置换算法:(1)FIFO先进先出算法(2)LRU(least recently use)最近最少使用算法(3)OPT(optimal replacement)最优置换算法(4)LFU(least frequently use)最少使用次数算法
- 虚拟内存:虚拟存储器就是具有请求调入功能和置换功能,可以从逻辑上对内存容量加以扩充的一种存储器系统。虚拟存储器都是建立在离散内存管理的基础上
- 虚拟内存的应用:虚拟内存很适合在多道程序设计系统中使用,许多程序的片段同时保存在内存中。当一个程序等待它的一部分读入内存时,可以把CPU交给另一个进程使用
- 虚拟内存的优点:(1)内存中可以保留多个进程, 系统并发提高(2)解除了用户与内存之间的紧密约束, 进程可以比内存的全部空间还大
- 颠簸(抖动):颠簸本质上是指频繁的页调度行为,导致整个系统的效率急剧下降
- 内存颠簸的解决办法:(1)修改页面替换算法(2)降低多道程序的数量(3)终止该进程或增加物理内存容量
- 局部性原理:(1)时间上的局限性:最近被访问的页在不久的将来还会被访问(2)空间上的局限性:内存中被访问的页周围的页很可能被访问