word直接复制来了,格式就不改了。至于这门课怎么复习,只要平时实验都认真完成、报告认真写,平时分都很高;考试的话除了看
第一章:概述 什么是操作系统? 是一段一直运行在计算机上的程序 是资源的分配者 向上管理软件向下管理硬件 为用户提供良好接口 中断的概念? 中断指当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的程序和执行过程。 中断向量的概念? 各种设备的中断处理子程序的地址数组 什么是系统调用? 由操作系统实现提供的所有系统调用所构成的集合即(Application Programming Interface,API)。是应用程序同系统之间的接口。 内存是什么? 内存是处理器可以直接访问的唯一的大容量存储区域,他通常是用被称为动态随机访问内存的半导体技术来实现的,是一组内存字的数组,每个字都有其地址。 存储系统的速度 寄存器>高速缓存>主存>电子磁盘 >磁盘> 光盘 >磁带 什么是DMA及其工作原理?(课本第十页有解释) DMA即直接内存访问模式,简单来说,总线控制权在CPU“手上”,外连设备无权直接访问内存,需要CPU参与,但DMA控制器从CPU那“偷出”几个时钟来控制总线,让外连设备可以直接访问内存,这样外连设备的读写就不需要CPU参与,降低了CPU的占用率。(通俗解释版本)
是一种不经过CPU而直接从内存存取数据的数据交换模式,在DMA模式下,CPU只须向DMA控制器下达指令,让DMA控制器来处理数据的传送,数据传送完毕再把信息反馈给CPU,这样就很大程度上减轻了CPU资源占有率,可以大大节省系统资源。(答题版本)
什么是多道程序系统?(课本11页) 多处理器系统也称并行系统或者是紧耦合系统,这类系统有多个紧密通信的CPU,他们共享计算机总线,有时还有时钟、内存和外设等。
多道程序系统的优点? 1、增加吞吐量 2、规模经济 3、增加可靠性
非对称多处理系统 每个处理器都有各自特定的任务,一个主处理器控制系统,其他处理器或者向主处理器要任务或者完成预定任务 对称多处理系统 每个处理器都要完成操作系统的任务,所有处理器对等,没有主从关系
什么是多道程序设计? 是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制之下,相互穿插的运行。 两个或两个以上程序在计算机系统中同处于开始到结束之间的状态。 目的 是为了提高CPU的利用率,充分发挥计算机系统部件的并行性
什么是分时系统? 分时系统是多道程序设计逻辑上的一个延伸。把处理机时间划分成很短的时间片轮流地分配给各个联机作业使用。如果某个作业在分配给他的时间片用完之前计算还未完成,该作业就暂时中断,等待下一轮继续计算。此时处理机让给另一个作业使用。此时,多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源,分时系统具有多用户性和交互性。(宝宝结合课本15页和百度百科加百度知道暖心归纳的)
作业池 在分时和多道程序设计中需要在存储器中同时保存多个作业,但主存较小不能容纳太多作业,所以这些作业开始储存在磁盘上,这个储存地址叫作业池
作业调度 在作业池中选择作业进入内存,这样的决策叫做作业调度
CPU调度 如果有多个任务要执行,系统必须做出选择让其中一个执行,这个决策叫做CPU调度
双重模式操作(重点中的重点) 指用户模式和(内核模式或者系统模式或者特权模式)
模式位的设立是用来表示当前模式(1代表用户模式,0代表内核模式)
特权指令 特权指令指具有特殊权限的指令。这类指令只用于操作系统或其他系统软件,一般不直接提供给用户使用 它主要用于系统资源的分配和管理,包括改变系统工作方式,检测用户的访问权限,修改虚拟存储器管理的段表、页表,完成任务的创建和切换等。
常见的特权指令 有关对I/O设备使用的指令 如启动I/O设备指令、测试I/O设备工作状态和控制I/O设备动作的指令等。 有关访问程序状态的指令 如对程序状态字(PSW)的指令等。 存取特殊寄存器指令 如存取中断寄存器、时钟寄存器等指令。
转换到用户模式就是一个特权指令(课本17页) 第二章:操作系统结构 系统调用(重点) 课本41页图 系统调用类型分为五大类: 进程控制、文件管理、设备管理、信息维护、通信 操作系统的结构 1、简单结构 可以访问硬件,不稳定 2、分层方法 系统模块化,分层法的优点在于构造和调试的简单化 3、微内核 将所有非基本部分从内核中移走,并将它们实现为系统程序或者是用户程序, 微内核通常包括最小的进程和内存管理以及通信功能
优点:便于扩充操作系统,所有的新服务可以在用户空间增加,因而不需要修改内核。
第三章:进程
什么是进程(也叫作业)? 进程是执行中的程序,是具有某一功能的程序,是在某一数据集上的一次执行过程,是资源分配和调度的独立单元。还包括有程序计数器、处理器寄存器、进程堆栈段等。 进程的特性:并发性和动态性
进程的状态: 重点:(73页进程状态图) 新的、运行、等待、就绪、终止
进程控制块(PCB) 重点图(74页+82页代码)(产生中断时PCB怎么活动,也就是上下文切换) 包括:进程状态、进程编号、程序计数器、寄存器...
3.4(85页——90页)全是重点 进程间通信
进程间关系分为独立进程和协作进程 协作进程分为共享内存和消息传递
While(true)
While(((in+1)%size)==out) ; Buffer[in]=nextproducer; In=(in+1)%size; } 生产者进程
While(true) While(in==out) ; Nextconsumer=buffer[out]; Out=(out+1)%size; } 消费者进程
第四章:线程 什么是线程? 线程是CPU使用的基本单元,它由线程ID、程序计数器、寄存器集合和栈组成。它与属于同一进程的其他线程共享代码段、数据段和其他资源。 多线程的优点? 1、响应度高 2、资源共享 3、经济 4、多处理器体系结构的利用(增加了并发功能) 什么是线程? 线程是CPU使用的基本单元,它由线程ID、程序计数器、寄存器集合和栈组成 它与属于同一进程的其他线程共享代码段、数据段和其他资源。 如果直接使用进程并发,会产生什么问题? 进程创建很耗时间与资源,使系统性能下降 进程与线程的对比 从调度方面: 线程作为调度和分派的基本单位,而进程作为资源拥有的基本单位 从资源方面: 进程间相互独立,同一进程的各线程间共享资源。线程自己不拥有系统资源,某进程内的线程在其它进程不可见。 从并发方面: 在引入线程的操作系统中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间亦可以并发执行,使得操作系统具有更好的并发性,从而能更加有效地提高系统资源的利用率和系统的吞吐量。但进程并发代价大,线程代价小 从执行方面: 忘了....(哈哈..如果知道补充好告诉偶哦) 用户级线程 指不需要内核支持而在用户程序中实现的线程,其不依赖于操作系统核心,应用进程利用线程库提供创建、同步、调度和管理线程的函数来控制用户线程。 内核级线程 由操作系统内核创建和撤销。内核维护进程及线程的上下文信息以及线程切换。 以下是用户级线程和内核级线程的区别 用户级线程的程序实体是运行在用户态下的程序,而内核支持线程的程序实体则是可以运行在任何状态下的程序 内核线程的优点: 当有多个处理机时,一个进程的多个线程可以同时执行 缺点: 由内核进行调度 用户进程优点: 线程的调度不需要内核直接参与,控制简单 可以在不支持线程的操作系统中实现 代价比内核线程小 缺点: 多个处理机下,同一个进程中的线程只能在同一个处理机下时分复用 线程池 为了限制线程的数量,在进程开始时,先创建好一定数量的线程,放到池中,等待服务的使用 优点: 先创建好了线程,处理速度快; 线程池限制了线程的数量,对那些不能支持数量大线程并发的系统非常重要;
第五章:CPU调度
CPU调度的背景和概念(重点) 为了解决单处理器CPU利用率低的问题,采用多道程序设计,此时会有多个进程在内存中,当其中一个进程执行一段时间后必须等待时,此时操作系统会夺走CPU的使用权交给另一个进程,这就是CPU调度 分派程序(重点) 其实就是将CPU使用权交给短期调度选择的进程的过程 功能 切换上下文 切换到用户模式 跳转到用户程序的合适 位置,以重启程序 周转时间:进程完全结束的时间减去进程到达的时间
调度算法(重点) FCFS Easy...... 了解护航效应(convoy effect)的概念
SJF(最小等待时间) 1、非抢占 若进程到达时间都是同一时间: 则操作系统会直接根据作业时间的大小进行选择(必须完整的执行完一个进程再换到另一个进程) 若进程到达时间都不是同一时间: 则操作系统在最短时间作业选择的时候,开始只考虑已经到了的进程,当执行完一个进程后(必须完整的执行完一个进程再换到另一个进程),又有进程到达,则把该进程纳入考虑范围内,继续进行最短时间作业选择... 2、抢占 若进程到达时间都是同一时间: 则与非抢占是一样的效果..... 若进程到达时间都不是同一时间: 则执行抢占的方法(参考141页的例子,有抢占和非抢占)
优先级调度算法 若进程到达时间都是同一时间: 直接按照优先级进行选择 若进程到达时间不是同一时间: 开始只考虑已经到了的进程,当执行完一个进程后(必须完整的执行完一个进程再换到另一个进程),又有进程到达,则把该进程纳入考虑范围内,继续按照优先级进行选择...
轮转法调度(最快响应) Easy...不做详解
多级队列调度(了解概念即可) 进程分配到独立的队列中,每个队列有自己独立的调度算法,只能在这个队列中 多级反馈队列调度(了解概念即可) 进程分配到独立的队列中,每个队列有自己独立的调度算法,但进程可以根据执行效果在不同队列中流动
了解概念即可 亲和性 课本148
负载平衡 将工作平均分配到多个等待的处理器中,防止其中一个处理器压力山大...
确定模型 1、分析评估法 用一套评估方法去给模型打分 2、确定模型法 直接用数据去测试模型,看看结果
第六章:进程同步
临界区问题(重点 critical section,理解概念) 互斥、前进、有限等待(对应洋文一定要知道呀) (mutual exclusion、progress、bounded waiting)
硬件同步(了解即可)
信号量(重点中的重点,算法大题应该就是它) Wait(s) signal (s){ While(s<=0) s++; ; } S--; } 该方法常用,但出现了
实现(重点