操作系统第一章笔记(有配套习题集)
第一章
1.操作系统重要性、学习方法及存储程序式计算机
操作系统是软件,操作系统是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。
1.操作系统主要包括以下几个方面的功能 :
①进程管理,其工作主要是进程调度,在单用户单任务的情况下,处理器仅为一个用户的一个任务所独占, 进程管理的工作十分简单。但在多道程序或多用户的情况 下,组织多个作业或任务时,就要解决处理器的调度、 分配和回收等问题 。
②存储管理分为几种功能:存储分配、存储共享、存储保护 、存储扩张。
③设备管理分有以下功能:设备分配、设备传输控制 、设备独立性。
④文件管理:文件存储空间的管理、目录管理 、文件操作管理、文件保护。
⑤作业管理是负责处理用户提交的任何要求。
(1) OS对各层的管理与控制
与硬件的关系
控制CPU的工作
访问存储器
设备 驱动、中断处理
与用户及其他软件的关系
控制、管理
提供方便的用户界面
提供优质的服务
(2)各层对OS的制约和影响
下层硬件环境的制约
提供OS运行基础
限制了OS的功能实现
用户和上层软件的要求
用户需求
提供优质的服务
方便的用户界面
2. 存储程序式计算机的结构和特点
基本部件
CPU
存储器
I/O
设备
特点
集中顺序过程控制
过程性:模拟人们手工操作
集中控制:由CPU集中管理
顺序性 程序计数器
程序计数器
3. 计算机系统结构与操作系统的关系
OS采用了一系列软件技术
多道程序设计技术、分时技术、资源分配与调度等
计算机体系结构与硬件技术的变化
软件体系结构最底层的应该是指令集,CPU的结构发展就是更有效,在最短的执行这些指令。
2.手工操作与批处理
1.手工操作阶段
特点
无任何软件
有人工干预
独占性
串行性
问题
当CPU速度提高时,出现了人机矛盾,人操作时间过久
2.批处理阶段
联机批处理
特点:监督程序作业自动过渡
问题: CPU高速与I/O慢速的矛盾
解决办法:由卫星机负责I/O
脱机批处理
特点:主机与卫星机并行操作
问题:调度不灵活;保护问题
解决办法:通道技术、中断技术
通道:是一种专用处理部件,它能控制一台或多台外设的工作,负责外部设备与主存之间的信息传输。
中断:当主机接到某种信号(如I/O设备完成信号)时,停止原来的工作,转去处理这一事件,当事件处理完毕主机又回到原来的工作点继续
3.执行系统
什么是执行系统
借助于通道与中断技术,由主机控制I/O工作。原有的监督程序不仅要负责调度作业自动地运行,而且还要提供I/O控制功能。它常驻主存,称为执行系统。
特点
主机、外设并行操作;增强了保护能力。
基本功能
I/O控制功能 调度
问题
一个作业在运行过程中依此输入N批数据(每批1000个字符)。输入机每输入1000个字符需用1000ms,而处理机处理这些数据则需300ms。
4.操作系统的形成
多道程序设计技术
单道程序程序的工作情况
多道程序程序的工作情况
3. 道程序设计与分时技术、操作系统定义与特征
什么是多道程序程序设计技术
在计算机主存中同时存放几道相互独立的程序。这些程序在管理程序控制之下,相互穿插地运行。当某道程序因某种原因不能继续运行下去时(如等待外部设备传输数据),管理程序便将另一道程序投入运行。
多道运行的特征
多道
宏观上并行
微观上串行
分时技术
什么是分时技术
所谓分时技术,是把处理机时间划分成很短的时间片(如几百毫秒)轮流地分配给各个联机作业使用,如果某个作业在分配的时间片用完之前计算还未完成,该作业就暂时中断,等待下一轮继续计算。
分时处理
一台计算机与许多终端设备连接,终端用户以联机方式使用计算机。
实时处理
什么是实时
计算机对于外来信息能够在被控对象允许的截止期限(deadline)内作出反应。
实时处理
以快速反应为特征,对实时信号能在截止期限之内处理并作出反应。实时处理具有实时性和可预测性。
计算机体系结构与操作系统的关系
单CPU计算机
批量操作系统
分时操作系统
实时操作系统
个人计算机操作系统
具有并行结构的计算机系统
网络操作系统(计算机网络,松耦合)
多处理机操作系统 (多处理机系统,紧耦合)
集群操作系统(分布存储的多计算机系统 )
具有并行结构的计算机系统
并行分布式系统 (分布存储的多计算机系统,支持高性能计算)
分布式系统 (计算机网络,具有单一用户界面,支持分布式数据处理 )
分布式实时系统
1.资源共享与资源竞争
资源共享 多个计算任务对计算机系统资源的共同享用。
资源竞争 多个计算任务对计算机系统资源的争夺。
2. 操作系统的定义与特征
操作系统的定义
操作系统是一个大型的程序系统,它负责计算机系统软、硬件资源的分配;控制和协调并发活动;提供用户接口,使用户获得良好的工作环境。
操作系统的特征
并发:能处理多个同时性活动的能力 (并行是真正的同时,并发是在一个时间间隔内)
共享:多个计算任务对系统资源的共同享用
不确定性:操作系统能处理大量的、随机的事件序列,使各用户的计算任务正确地完成。
3.批处理机管理
提出进程调度策略 确决将CPU先分给哪个用户程序,它占用多 长时间,下一个又该轮到哪个程序运行等问题。
给出进程调度算法
进行处理机的分派 在调度时机到来时,进行处理机分派。
4. 存储器管理
存储分配和存储无关性
确定各应用程序在主存中的位置及所占区域的大小;应用程序无需关系存储细节,由存储管理模块提供地址重定位能力。
存储保护
系统提供基址 、界限 寄存器等存储保护方法,使各应用程序相互
隔离。
存储扩充
系统提供虚拟 存储技术,扩大逻辑主存。(一部分进入就能运行)
4. 操作系统的资源管理及分类
1.存储器管理
存储分配和存储无关性
确定各应用程序在主存中的位置及所占区域的大小;应用程序无需关系存储细节,由存储管理模块提供地址重定位能力。
存储保护
系统提供基址、界限寄存器等存储保护方法,使各应用程序相互隔离。
存储扩充
系统提供虚拟存储技术,扩大逻辑主存。
2.设备管理
设备无关性
用户向系统申请和使用的设备与实际操作的设备无关,以达到方便用户、提高设备利用率的目的。
设备分配
为各应用程序和运行实体分配各种设备。设备分配通常采用三种基本技术:独享、共享及虚拟技术。
设备的传输控制
启动设备、中断处理、结束处理
4.信息管理 (文件系统)
为用户提供一种简便的、统一的存取和管理信息的方法,并要解决信息的共享、数据的存取控制和保密等问题。
信息组织
存取方法
文件共享
文件安全
文件完整性
磁盘空间分配
操作系统的资源管理观点
批量操作系统
什么是批量操作系统
批量操作系统是操作系统的一种类型。该系统把用户提交的作业成批送入计算机,然后由作业调度程序自动选择作业,在系统内多道运
行。
特点
系统吞吐率高——脱机操作 多道运行 合理搭配作业
作业周转时间长,用户使用不方便。
分时操作系统
什么是分时操作系统
分时操作系统是操作系统的另一种类型。它一般采用时间片轮转的办法,使一台计算机同时为多个终端用户服务。该系统对每个用户都能保证足够快的响应时间,并提供交互会话功能。
特点
并行性 独占性 交互性
2.实时系统
实时系统
什么是实时系统
配置了实时操作系统,可以对科学实验、医学成像系统、工业控制系统、武器装备控制系统和特定显示系统进行实时控制的系统。
实时系统的分类
硬实时系统
系统必须满足应用程序对截止期限(deadline)的要求,若错过了截止期限,将导致灾难性后果。
软实时系统
系统中截止期限被错过的情况下,只造成系统性能下降而不会带来严重后果。
实时操作系统
什么是实时操作系统
实时操作系统是操作系统的一种类型。实时操作系统对外部输入的信息,能够在规定的时间内处理完毕并作 出反应。
特点
及时响应
高可靠性和安全性
实时操作系统的类型
实时控制——生产过 程控制、作战指挥
实时信息处理——订购 机票、情报检索
思考题:
1、单道批处理与多道批处理的比较
单道批处理系统:为了实现对作业的连续处理,需要先把一批作业以脱机方式输入到磁盘上,并在系统中配上监督程序(Monitor),在它的控制下,使得这批作业能一个接着一个的连续工作。
具体的工作过程是首先由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给作业;该作业处理完时,又把控制权交给监督程序,再有监督程序把磁带的第二个作业调入内存等等。可以看成是串行的。
优点:解决人机矛盾和CPU与IO设备速度不匹配问题,提高系统资源的利用率和系统吞吐量。
缺点:不能充分的利用系统资源,现很少使用。
多道批处理系统:用户所提交的作业先放在外存上,并排成一个对列(后备对列),由作业调度程序按照一定的算法,从后备对列中选择若干个作业调入内存,使其共享CPU和系统中的各种资源。同时在内存中装入若干程序,这样可以在A程序运行时,利用其IO操作而暂停的CPU空挡时间,再调度另一道程序B运行,同样可以利用B程序在IO操作时调用CPU空档调用程序C运行,使用多道程序交替运行,始终保持CPU忙碌的状态。
优势:资源利用率高,使CPU始终处于忙碌的状态,提高内存的利用率,提高IO利用率;系统吞吐量大(CPU和其资源始终保持忙碌的状态,仅在作业完成时或者运行不下去的时候才切换,系统开销小)。
缺点:平均周转时间长,无交互能力。
需要解决的问题:
1)处理机争用的问题
2)内存分配和保护的问题:系统应为每道程序分配必要的内存空间,使其各得其所,并不相互干扰;
3)IO设备分配的问题
4)文件组织和管理的问题
5)作业管理的问题
6)用户与系统接口的问题
2、“并发”与“并行”的区别
1、并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。
2、并行:在操作系统中,一组程序按独立异步的速度执行,无论从微观还是宏观,程序都是一起执行的。3、如何理解“宏观上并发,微观上交替执行”宏观上并发是指同时进入系统中的多道程序都处于运行之中,微观上交替执行是指在单处理器环境中,内存中的多道程序轮流占有CPU,交替执行。