第1章 操作系统概论
1.1 操作系统的定义
计算机系统的组成:应用程序 -> 实用程序 -> 操作系统 -> 硬件
接口:外层的软件必须以事先约定的方式,调用内层软件或硬件提供的服务。
操作系统的定义: 是由一系列程序模块组成的一个大型的系统管理程序;依据各种管
理和调度策略,对计算机的软、硬件资源进行统一的管理和调度,
合理地组织计算机的工作流程,以提高资源利用率。
1.2 操作系统的设计目标
设计目标:方便性、有效性、易维护性
形成与发展:
-顺序处理(手工操作阶段)
-简单的批处理系统(单道批处理)
-多道成批处理系统(多道批处理)
-分时系统
-实时系统
-嵌入式系统
单道批处理:监控程序自动控制输入设备一次装入一道作业,并启动运行。
多道批处理:主存同时存放多个作业,同时处于“运行状态”,共享系统中的各种资源。
-引入多道程序设计技术的根本目的是提高CPU的利用率
宏观上并行,微观上串行:宏观上,各个作业都已开始运行,但都未运行完;微观上,各个作业是串行执行的,在任何特定时刻,只有一个作业在处理机上运行。
衡量批处理系统的性能指标
-资源利用率
-吞吐率:单位时间内系统所处理的信息量
-周转时间:等待时间+运行时间
批处理系统特点:
-优点:系统吞吐量大,资源利用率搞。适合计算量大、自动化程度高的成熟作业。
-缺点:用户与作业无法交互,作业平均周转时间较长。
分时系统:
-工作方式:一台主机连接若干个终端。用户交互式地向系统提出命令请求,系统接受命令,采用时间片轮转的方式处理请求,并在终端上显示结果。
-分时:多用户分时使用CPU,将CPU的单位时间划分成若干的时间片。
-特点:同时性、独立性、交互性、及时性(用户的请求能在较短时间内得到响应。
实时系统:
-计算机对随即发生的外部事件做出及时的响应和处理,是专用系统。
-不以作业为处理对象,以数据或信息为处理对象。
-过程控制
-信息处理
-特点:
-实时性
-可靠性
-确定性
嵌入式系统:
-以实际应用为中心、以计算机技术为基础、软硬件可裁剪的专用计算机系统。
-软件固化存储。
-实时操作系统,只有满足实际需要的优先功能,如任务调度、同步与通信、主存管理、时钟管理等。
1.3 操作系统的功能、服务和特性
-三种基本类型:批处理系统;分时系统;实时系统。
-通用操作系统:兼有批处理、分时和实时之中至少两种的功能。
操作系统的功能:
-处理及管理:进程管理,控制、调度、通信
-存储器管理:主存管理,分配、保护、扩充、共享。
-设备管理:对系统中各种输入、输出设备的管理和控制。分配设备,控制设备传输数据。
-文件管理:将程序、数据、操作系统软件等组织成文件,存放在磁盘或磁带上,方便用户访问。
操作系统的特性:
-并发性:时间上重叠操作,竞争系统资源。
-共享性:资源供多个并发执行的进程共同使用。
-支持系统并发性的物质基础是资源共享。
-虚拟性:共享资源的一个物理实体变为若干个逻辑上的对应物。
-异步性:有限的资源共享使并发进程直接产生相互制约关系。
操作系统提供的服务:
用户接口、执行程序、I/O操作、文件系统操作、通信服务、错误检测和处理、资源分配、记账、保护。
1.4 操作系统的进一步发展
-个人计算机操作系统:单用户单任务OS、单用户多任务OS、多用户多任务OS
-多处理机操作系统:非堆成处理(ASMP)、堆成多出力(SMP)、多核处理器
-网络操作系统:联系各台计算机的操作系统
-分布式操作系统:多个计算机通过网络连接成一个统一的计算机系统,并有一个统一的操作系统
-虚拟化与云计算:虚拟化技术,提升资源利用率;核心思想:虚拟机获得虚拟化的硬件资源
1.5 用户与操作系统接口
-操作接口:命令语言、窗口界面是用户使用计算机系统的主要接口
-命令语言:操作系统提供一个命令解释程序来支持命令语言的解释执行。捕获用户在命令行输入的命令,调用实现命令的操作系统代码,完成命令的执行。
-窗口界面:系统初始化,Windows为终端用户生成的一个运行进程,是一个具有窗口界面的解释程序,当点击桌面内的某个实用程序时,解释程序就会创建一个新进程。
-编程接口:系统调用是用户与操作系统之间的编程接口
-系统调用:通过系统调用接口运行系统内核的一些子程序
-核心态/用户态:对于两类程序,操作系统内核程序、用户程序,前者是后者的管理者和控制着,将CPU的运行状态分为核心态/用户态;用户态到核心态的转换由硬件完成,核心态到用户态的转换由内核程序执行完后完成。
-核心态,允许执行处理机的全部指令集,访问所有的寄存器和存储区;用户态,只允许执行处理机的非特权指令,访问指定的寄存器和存储区。
1.6 操作系统的运行方式
不同中断有不同优先级,处理机优先级:指处理机当前正运行程序的终端响应级别。
在中断或者陷入时,中断处理程序或系统调用程序,利用用户进程的核心栈空间,嵌入用户进程中运行。
1.7 操作系统的设计规范
系统效率、系统可靠性、可移植性、可伸缩性、兼容性、安全性
习题
-1.早期操作系统设计的主要目标是什么?
资源管理、多任务处理、内存管理、文件系统管理、输入输出管理、用户界面、安全性和保护、稳定性和可靠性。
-2.操作系统是资源管理程序,它管理系统中的什么资源?
中央处理单元(CPU)、内存(RAM)、磁盘和存储设备、输入/输出设备(I/O设备)、网络资源、用户和进程、时间和始终、系统调用接口、安全资源
-3.为什么要引入多道程序系统?它有什么特点?
原因:提高CPU利用率、减少系统的空闲时间、提高系统吞吐量、优化资源分配
特点:多个程序并行执行、进程切换与调度、内存管理、资源共享与隔离、I/O与CPU的解耦、系统吞吐量和响应时间的平衡、提高系统可靠性与容错性
-4.叙述操作系统的基本功能。
进程管理、内存管理、文件系统管理、设备管理、用户接口、安全性和保护、网络管理、系统性能监控与调优、错误处理与异常管理。
-5.批处理系统、分时系统和实时系统各有什么特点?各适合应用于哪些方面?
批处理系统:任务按批次处理、无交互性、作业排队、适用于大规模数据处理;应用于数据处理分析、生产过程控制、大规模文件处理。
分时系统:多用户共享、交互性强、资源共享;应用于共享计算资源、在线数据处理、办公自动化。
实时系统:严格的时间约束、高可靠性和高稳定性、可预测性、硬实时与软实时;应用于嵌入式系统、工业控制、医疗设备、交通管理。
-6. 操作系统的特性?
并发性、共享性、异步性、虚拟性
-7.衡量OS的性能指标有哪些?什么是吞吐量、响应时间和周转时间?
性能指标:资源利用率、吞吐量、周转时间
吞吐量:指单位时间内系统所处理的信息量。
响应时间:从用户发出请求到系统开始响应所需要的时间。
周转时间:指从作业进入系统到作业退出系统所用的时间。
-8.什么是嵌入式系统?
以实际应用为中心、以计算机技术为基础、软硬件可裁剪的专用计算机系统; 软件要求固化存储;属于实时操作系统,只有满足实际需要的有限功能,如任务调度、同步与通信、主存管理、时钟管理等。
-9.什么是对称多处理?它有什么好处?
对称多处理:操作系统和用户程序可安排在任何一个处理机上运行,多处理机共享主存和I/O设备。
好处:提高计算性能和吞吐量、增加系统的可靠性和容错性、提升响应时间和交互性、灵活的扩展性、简化的硬件和软件管理、适应多核处理器和高并发应用。
-10.为了实现系统保护,CPU通常有哪两种工作状态?各种状态下分别执行什么程序?什么时候发生状态转换?状态转换由谁实现的?
CPU的两个工作状态:核心态、用户态;
核心态下:允许执行处理机的全部指令集,访问所有的寄存器和存储区。
用户态下:只允许执行处理机的非特权指令,访问指定的寄存器和存储区。
状态转换:用户态到核心态的转换由硬件完成,硬件把系统调用作为一个软件中断对待;核心态到用户态的转换由内核程序执行完后完成。
-11. 什么是系统调用?什么是特权指令?特权指令执行时,CPU处于哪种工作状态?
系统调用:操作系统内核向用户提供了一组系统调用接口。用户通过系统调用接口,运行系统内核里的一些子程序。
特权指令:指只能在内核态下执行的指令。
特权指令执行时,CPU的工作状态为核心态。
-12. 操作系统通常向用户提供哪几种类型的接口?其主要作用是什么?
操作接口、编程接口。
操作接口:命令语言、窗口界面是用户使用计算机系统的主要接口。
编程接口:系统调用是用户与操作系统之间的编程接口。