最新操作系统概论重点整理年张琼声版.docx
- 文档编号:15190503
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:59
- 大小:76.96KB
最新操作系统概论重点整理年张琼声版.docx
《最新操作系统概论重点整理年张琼声版.docx》由会员分享,可在线阅读,更多相关《最新操作系统概论重点整理年张琼声版.docx(59页珍藏版)》请在冰点文库上搜索。
最新操作系统概论重点整理年张琼声版
操作系统概论-02323(2017年张琼声版本)
第1章操作系统简介
1.1什么是操作系统
(1)操作系统概念:
操作系统是一种复杂的系统软件,是不同程序代码、数据结构、初始化文件的集合,可执行。
操作系统是提供计算机用户与计算机硬件之间的接口,并管理计算机软件和硬件资源,并且通过这个接口使应用程序的开发变得简单、高效。
接口是两个不同部分的交接面。
接口分为硬件接口和软件接口,计算机的所有功能最终都是由硬件的操作来实现的,计算机屏蔽了对硬件操作的细节。
(2)操作系统完成的两个目标:
1)与硬件相互作用,为包含在所有硬件平台上的所有底层可编程部件提供服务;
2)为运行在计算机系统上的应用程序(即用户程序)提供执行环境。
现代计算机特点是支持多任务,一方面保证用户程序的顺利执行,另一方面使计算机系统资源得到高效的利用,保证计算机系统的高性能。
(3)操作系统的功能:
处理机管理、内存管理、设备管理、文件管理。
1.2操作系统的发展
1)无操作系统
2)单道批处理系统
3)多道程序系统(多道批处理系统、分时系统)
4)微机操作系统
5)实时操作系统
6)嵌入式操作系统
7)物联网操作系统
1.2.1无操作系统阶段:
电子管,无存储设备,第一台:
1946年宾夕法尼亚大学的「埃尼阿克」
单道批处理系统:
晶体管,磁性存储设备,内存中有一道批处理作业,计算机资源被用户作业独占。
吞吐量是指单位时间内计算机系统处理的作业量
1.2.2单道批处理系统
特点:
自动性、顺序性、单道性。
优点:
减少了等待人工操作的时间
缺点:
CPU资源不能得到有效的利用。
1.2.3多道程序系统
多道程序系统:
集成电路芯片,出现了分时操作系统(多个终端)。
特点:
多道性、无序性、调度性、复杂性。
优点:
能够使CPU和内存IO资源得到充分利用,提高系统的吞吐量。
缺点:
系统平均周转时间长,缺乏交互能力。
1.2.4微机操作系统:
第一台Intel公司顾问GaryKildall编写的CP/M系统,是一台磁盘操作系统,用于Intel8080.
1.2.5操作系统特点
(1)分时系统:
特点:
多路性、及时性、交互性、独立性。
优点:
提供了人机交互,可以使用户通过不同终端分享主机。
缺点:
不能及时接收及时处理用户命令。
(2)实时操作系统(用户实时控制和实时信息处理):
实时操作系统:
广泛应用于各种工业现场的自动控制、海底探测、智能机器人和航空航天等。
特点:
多路性、独立性、及时性、交互性、可靠性。
在实时系统中,往往采取多级容错措施来保证系统安全和数据安全。
(3)操作系统产品:
1)主机操作系统(批处理、事务处理(银行支票处理或航班预订)、分时处理)
2)微机操作系统
3)服务器操作系统
4)嵌入式操作系统(物联网操作系统)
1.3操作系统的特征
现代操作系统都支持多任务,具有并发、共享、虚拟和异步性特征。
(1)并发:
指两个或多个事件在同一时间间隔内发生;
(2)共享:
指系统中的资源可供内存中多个并发执行的进程共同使用。
资源共享两种方式:
互斥共享,同时共享;
(3)虚拟:
指通过某种技术把一个物理实体变成若干逻辑上的对应物;
(4)异步性:
1.4操作系统的功能
1.4.1内存管理
内存管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用内存,提高内存的利用率,以及从逻辑上扩充内存以实现虚拟存储。
内存管理的功能:
内存分配、内存保护、地址映射、内存扩充。
(1)内存分配
1)使操作系统内核的空间不会被用户随意访问,以保证系统的安全和稳定;
2)确保每道用户程序都在自己的内存空间中运行,互不干扰。
(2)内存保护
1)使操作系统内核的空间不会被用户随意访问,以保证系统的安全和稳定;
2)确保每道用户程序都在自己的内存空间中运行,互不干扰。
(3)地址映射
1)CPU执行程序过程中访问内存时,需要把程序的逻辑地址转变为物理地址,这个转换的过程称为地址映射。
2)地址映射应在硬件的支持下完成。
(4)内存扩充
1)借助于虚拟存储技术,从逻辑上扩充内存容量,使系统能够向用户提供比物理内存大的存储容量;
2)为了能从逻辑上扩充内存,系统必须具有内存扩充机制,以实现下列功能:
A.请求调入功能
B.置换功能。
1.4.2进程管理
(1)进程管理功能主要包括:
1)进程的描述与组织;
2)进程控制;
3)进程同步;
4)进程通信;
5)进程调度。
1.4.3设备管理
设备管理主要完成用户的I/O请求,为用户分配I/O设备。
设备管理应该具有以下功能:
1)缓冲管理
2)设备分配
3)设备处理
4)设备独立性和虚拟设备。
1.4.4文件管理
1)文件存储空间的管理;
2)目录管理;
3)文件的读、写管理和存取控制。
1.4.5提供用户接口
系统调用是操作系统实现的具有某种功能的程序模块,应用程序可以通过系统调用的接口使用操作系统实现的功能,获得操作系统内核的服务。
(1)命令接口
分为联机用户接口、脱机用户接口
(2)图形用户接口
20世纪90年代,开始引入图形化用户接口
(3)程序接口
操作系统提供给程序员的接口是系统调用
1.5操作系统的体系结构
1.5.1软件体系结构简介
软件体系结构时一个复杂软件系统的高层结构,为软件系统提供了一个结构、行为和属性的高级抽象,包括系统元素的结构、元素间的相互关系,以及指导元素集成的模式和约束三个方面。
1.5.2操作系统体系结构的分析
(1)简单的监控程序模型
(2)单体结构模型
单体内核是操作系统最早、最常见的体系结构。
(3)层次结构模型
基本思想:
将操作系统分解为多个小的、容易理解的层,系统功能被隔离在不同层中,每一层提供对系统功能的部分抽象,然后采用单向调用的顺序,形成一连串彼此连续的对系统功能的抽象串,最终形成对整个系统的完整抽象。
(4)客户/服务器模型与微内核结构
微内核技术是操作系统发展的一个里程碑。
微内核结构用一个水平分层的结构代替了传统的纵向分层的结构。
缺点是效率不高
两个发展方向:
通用操作系统,嵌入式操作系统
(5)动态可扩展结构模型
基本思想:
在运行过程中,能够动态地实现系统行为扩展的结构,也可称之为弹性结构。
1.6指令的执行
(1)程序是指令的集合,程序的执行就是按照某种控制流执行指令的过程。
(2)指令周期
一个单一指令需要的处理称为指令周期
一个指令周期划分为两个步骤:
取指周期和执行周期
(3)取指令和执行指令
在每个指令周期开始时,处理器从存储器中取一条指令,取到的指令被放置在处理器的指令寄存器IR中。
处理器解释指令并执行要求的动作,这些动作分为4类:
1)处理器与存储器之间的指令或数据传送操作;
2)处理器与I/O设备之间的指令或数据传送操作;
3)算术运算操作或逻辑运算操作;
4)控制操作,即修改指令的执行顺序的操作。
(4)指令的执行小结
程序执行的过程是反复取指令和执行指令的过程。
取指令和执行指令由硬件完成
第2章进程管理
2.1进程的描述
2.1.1程序的并发执行
(1)操作系统本质是数据结构加算法。
(2)操作系统中最核心的概念是进程。
(3)程序的顺序执行特点:
1)顺序性
2)封闭性
3)可再现性。
(4)程序的并发执行特点:
1)间断性
2)失去封闭性
3)不可再现性。
2.1.2进程的概念:
(1)进程的概念:
1)进程是允许并发的程序在某个数据集合上的运行过程;
2)进程是正文段、用户数据段和进程控制块(PCB)共同组成的执行环境。
A.正文段存放被执行的机器指令;
B.用户数据段存放进程在执行时要操作的用户数据;
C.进程控制块存放程序的执行环境。
3)进程代表了程序的执行过程,是一个动态的实体,它随着指令的执行而不断变化,在某个特定时刻的进程内容被称为进程映像。
(2)进程的特征:
1)并发性(并发性是进程和现代操作系统的重要特征)
2)独立性(进程是独立运行和资源调度的基本单位)
3)异步性
4)动态性
5)结构特征(进程实体包括用户正文段、用户数据段和进程控制块)。
(3)进程和程序的区别:
1)程序是静态的,进程是动态的;
2)程序是永久的,进程是暂时存在的;
3)程序和进程存在的实体不同。
程序是指令的集合,进程是由正文段、用户数据段、进程控制块组成。
(4)进程和程序的联系:
进程是程序的一次执行,进程总是对应至少一个特定的程序,执行程序的代码,一个程序可以对应多个进程。
2.1.3进程控制块:
(1)进程控制块
1)进程实体存在的标志是操作系统管理进程所使用的数据结构—进程控制块。
2)进程控制块(PCB)是进程实体的一部分,是操作系统中最重要的数据结构
3)进程控制块中记录了操作系统所需要的,用户描述进程情况以及控制进程运行所需要的全部信息,
4)进程控制块是操作系统感知进程存在的唯一标志。
(2)一般操作系统中的进程控制块中通常包含以下信息:
1)进程标识符信息:
唯一标识一个进程;
2)处理机状态信息:
包括通用寄存器,指令计数器,程序状态字PSW,用户栈指针;
3)进程调度信息:
包括进程状态信息,进程优先级和进程调度所需的其他信息;
4)进程控制信息:
包括程序和数据的地址,进程同步和通信机制,资源清单以及链接指针。
2.1.4进程的状态:
就绪态、执行态,阻塞态:
进程状态不能由阻塞态直接变为执行态,进程状态由阻塞态变为就绪态的过程称为唤醒过程,由执行态变为阻塞态的过程称为阻塞过程。
转换:
2.1.5进程的组织:
(1)操作系统组织和管理进程是通过管理和组织进程控制块来实现。
(2)管理和组织的主要目的是要使系统中的程序在需要时能够以有效的方式检索到系统中的每一个进程。
(3)常用的组织方式:
链接方式、索引方式、进程队列。
2.2进程的控制
2.2.1进程的创建
进程的创建----阻塞----唤醒----终止。
创建新进程包括为进程分配必要的资源,建立操作系统用于管理进程的数据结构等操作。
(1)创建的条件:
1)用户登录;
2)作业调度;
3)提供服务;
4)应用请求。
被创建的新进程称为创建该新进程的进程的子进程,创建者进程和被创建进程成为父子进程。
(2)当新进程被创建时,有两种执行可能:
1)父进程与子进程并发执行
2)父进程等待,直到某个或全部子进程执行完毕
(3)新进程的地址空间也有两种可能:
1)子进程共享父进程的地址空间
2)子进程拥有独立地址空间
(4)调用创建新进程的系统调用来创建进程的一般步骤:
1)申请空白PCB;
2)为新进程分配资源;
3)初始化进程控制块;
4)将新进程插入就绪队列。
2.2.2进程的阻塞
(1)阻塞的条件:
1)请求系统服务;
2)数据尚未到达;
3)无工作可做;
4)启动某种操作。
(2)完成进程阻塞的简化过程:
1)将进程的状态改为阻塞态;
2)将进程插入相应的阻塞队列;
3)转进程调度程序,从就绪进程中选择进程为其分配CPU。
2.2.3进程的唤醒
进程的唤醒过程:
1)将进程从阻塞队列中移出;
2)将进程状态由阻塞态改为就绪态;
3)将进程插入就绪队列;
2.2.4进程的终止
(1)进程的终止也称进程的撤销,下列情况下,进程会被终止:
1)当进程正常执行完毕,调用终止进程的系统调用,请求操作系统删除该进程;
2)一个进程调用适当的系统调用,终止另外一个进程。
(2)父进程终止其子进程的原因:
1)子进程使用了超过它所分配到的一些资源;
2)分配给子进程的任务已不再需要;
3)父进程退出。
(3)操作系统通过系统调用完成进程终止的一般过程如下:
1)从进程PCB中读进程状态;
2)若进程正在执行,则终止进程的执行;
3)若进程有子孙进程,在大多数情况下需要终止子孙进程;
4)释放资源;
5)将终止进程的PCB移出。
2.3操作系统内核
操作系统内核是计算机硬件的第一次扩充,内核执行操作系统与硬件密切相关,执行频率高的模块,常驻内存。
(1)操作系统内核的功能:
1)支撑功能
2)资源管理功能
(2)支撑功能包括:
中断处理、时钟管理和原语操作,原语操作是一组在执行过程中不能中断的操作。
(3)资源管理功能包括:
进程管理、存储器管理和设备管理。
2.3.1中断:
(1)中断:
中断是改变计算机执行指令顺序的一种事件,这种事件与CPU芯片内外部硬件电路产生的电信号相对应。
(2)中断的目的:
能有效提高CPU的利用率,改善系统性能,支持系统的异步性。
引用中断机制前,采用的是反复轮询的方式,来检测本次I/O是否结束。
(3)中断类型:
1)同步中断(内部中断或异常),同步中断是当指令执行时由CPU控制单元产生的,如除法出错,调试、溢出、浮点出错等;
2)异步中断(外部中断),异步中断是由其他硬件设备随机产生的,可分为:
A.外部可屏蔽中断(I/O设备产生)
B.外部不可屏蔽中断(紧急事件产生,硬件故障等)。
(4)引起中断的原因:
1)人为设置中断
2)程序性事故
3)I/O设备
4)硬件故障
5)外部事件
(5)中断响应:
1)响应中断的条件:
对于可屏蔽中断,开中断是响应中断的前提;
2)响应中断的时机:
对于外部中断,CPU每执行完一条指令都会检测是否有外部中断信号的到来。
(6)单重中断的处理过程:
1)系统关闭中断,保护断点,把当前要执行的下一条指令的地址保存到内存中;
2)以便中断返回时,能把这个地址恢复到程序计数器中,使被中断的程序从断点处开始继续执行;
3)转中断处理程序;
4)保护完现场后,要根据中断向量到中断向量表中找到与中断处理子例程入口地址相关的信息,由这些信息得到中断处理子例程的入口地址,以执行中断处理子例程,完成本次中断处理的特定处理工作;
5)恢复现场,开中断,CPU返回断点处继续执行被中断的程序。
2.3.2时钟管理:
(1)大部分PC中有两个时钟源:
1)实时时钟(RTC):
RTC时钟也称为CMOS时钟,是一块时钟芯片,靠电池供电,为计算机提供计时标准,是最原始,最底层的数据。
2)OS时钟:
OS时钟产生于PC主板上的定时/计数芯片,在开机时有效,由操作系统控制。
计算机的很多活动都是由定时测量来控制的。
(2)两种定时测量:
1)保存当前的系统时间和日期;
2)维持定时器
操作系统依靠时钟硬件和时钟驱动程序来完成上述两种测量。
(3)时钟硬件(可编程间隔定时器)的功能:
按照指定的时间间隔产生时钟中断,测量逝去的时间,并触发与时间有关的操作。
时钟硬件由3部分构成:
1)晶振
2)计数器
3)保持寄存器
(4)时钟软件(时钟驱动程序)功能:
1)维护日期和时间;
2)递减当前进程在一个时间片内的剩余执行时间,并检查是否为0,防止进程运行超时;
3)对CPU的使用情况记账;
4)递减报警计数器。
操作系统内核可以利用时钟机制防止一个进程垄断CPU或者其他资源。
2.3.3系统调用
(1)系统调用:
系统调用是一群事先定义好的模块,他们提供一条管道让应用程序或用户能由此得到核心程序的服务。
系统调用是系统程序与用户程序之间的接口。
(2)用户态执行:
用户空间指用户进程所处的地址空间,一个用户进程不能访问其他进程的用户空间,只有系统程序才能访问其他用户空间。
当CPU执行用户空间的代码时,称该进程在用户态执行。
(3)系统态执行:
系统空间指含有一切系统核心代码的地址空间,当CPU执行系统核心代码时,称进程处于系统态执行。
(4)系统调用与一般函数调用的区别:
1)系统调用运行在系统态,一般函数运行在用户态;
2)系统调用与一般函数的执行过程不同,系统调用中断时,由系统找相应的系统调用子程序;
3)系统调用要进行中断处理,比一般函数多了一些系统开销。
(5)系统调用的类型:
1)进程控制类系统调用:
创建、撤销进程;获得、改变进程属性;
2)文件操纵类系统调用:
创建文件、删除文件、打开文件、关闭文件和读写文件;
3)设备管理类系统调用:
请求、释放设备;
4)通信类系统调用:
打开、关闭连接、交换信息;
5)信息维护类系统调用。
(6)操作系统提供系统调用的优点:
1)使编程更加容易,把用户从学习硬件设备的低级编程特性中解放出来;
2)极大地提高了系统的安全性。
2.4进程同步
2.4.1进程同步的基本概念
(1)进程同步的概念:
1)在多任务系统中,进程一般存在资源共享关系和相互合作的关系。
2)临界资源是必须以互斥方式访问的共享资源。
3)临界区是进程中访问临界资源的那段代码。
如果能使程序以互斥的方式进入临界区,就能够实现对临界资源的互斥访问。
(2)进程同步有两个任务:
1)对具有共享资源关系的进程,保证以互斥的方式访问临界资源。
临界资源是必须以互斥方式访问的共享资源。
2)对具有相互合作关系的进程,要保证相互合作的诸进程协调执行。
操作系统同步机制的主要任务就是保证在多任务共享系统资源的情况下,程序执行能得到正确的结果。
同时,同步机制需要解决进程执行的协调问题。
2.4.2同步机制应遵循的准则:
1)空闲让进2)忙则等待3)有限等待4)让权等待
2.4.3信号量机制
信号量机制(waitsignal)对不同的共享资源设置称为信号量的变量,用信号量的取值标识资源的使用状况,或某种事件的发生。
(1)整型信号量机制:
用整型变量值来标记资源的使用情况。
若整型量>0,说明有可用资源;若整型量<=0,说明资源忙,进程必须等待。
对于一次只允许一个进程访问的临界资源,可定义一个用户互斥的整型信号量,并将其初始化为1,整型信号量的值只能通过两个特定的原子操作wait和signal来改变。
varsinteger;
wait(s){//申请资源
whiles<=0dono-op;
s=s-1;//占用资源
}
signal(s){//释放资源
s=s+1;
}
整型信号量的互斥:
初始变量为1
整型信号量的协调:
初始变量为0
1)总结:
A.整型信号量的值只能由wait和signal操作改变。
B.wait和signal操作都是原子操作,即在这两个操作中对信号量的访问时不能被中断的。
C.原子操作可以通过关中断来实现。
D.整型信号量机制的实例:
Linux中的自旋锁SpinLock
E.不同的资源对应不同的信号量。
2)用整型信号量实现进程互斥的思想是:
为必须互斥访问的临界资源CS定义一个互斥信号量mutex,将初始值置为1,然后CS放入wait(mutex)和signal(mutex)之间。
Linux中的整型信号量:
自旋锁
(2)记录型信号量机制:
代码:
typesemaphore=record
value:
integer;//资源数量
L:
listofprocess;//阻塞队列
procedurewait(s)
vars:
semaphore;
begin
s.value=s.value-1;//申请资源
ifs.value<0thenblock(s.L)//此时资源无,自我阻塞进入阻塞队列
end
proceduresignal(s)
vars:
semaphore;
begin
s.value=s.value+1;//释放一个资源
ifs.value<=0thenwakeup(s.L);//释放后发现还有阻塞,则唤醒阻塞中的进程
end
记录型信号量的优点是不存在「忙等」,采取了「让权等待」的策略。
总结:
1)当s.value>=0时,s.value的值表示资源数量。
当s.value<0时,s.value的绝对值等于某资源等待队列中阻塞进程的数量。
2)每次的wait(s)操作,意味着进程请求一个单位的资源,当s.value<0时,表示资源已分配完毕。
3)每次的signal(s)操作,意味着进程释放一个资源,故s.value=s.value+1操作表示系统可用的资源数目加1.若加1后s.value<=0,则表示在该信号量的阻塞队列中,仍有等待该资源的进程被阻塞。
4)如果s.value的初值为1,表示只允许一个进程访问临界资源,此时的信号量转化为互斥信号量。
5)记录型信号量机制的优点是不存在“忙等”,采取了“让权等待”的策略。
(3)AND型信号量的机制
一个进程在运行过程中往往需要申请多个共享资源,如果使用整型或记录型信号量,可能会出现因为申请资源顺序不当而导致进程死锁。
为了解决这个问题,引入了AND型信号量机制
基本思想是将进程在整个运行过程中所需要的所有资源一次性的全部分配给进程,待进程使用完之后再一起释放。
只要还有一个资源不能分配给该进程,其他所有可能为之分配的资源也不分配给它。
(4)管程
信号量机制的缺陷是每个访问共享资源的进程都必须自备同步操作wait(s)和signal(s)。
这使大量的同步操作分散在各个进程中,这不仅给系统的管理带来麻烦,而且还会因同步操作的使用不当导致系统出错。
因此引入了管程的概念。
管程是描述共享资源的数据结构和在数据结构上的共享资源管理程序的集合。
包括变量的定义、变量的初始化代码,以及管理共享资源的过程。
1)管程是可供程序员调用的软件包
2)每次只有一个进程调用管程执行,任意时刻管程中只能由一个活跃进程。
3)管程是一种编程语言的构件。
2.5进程通信
进程之间的高级通信机制分为共享存储器系统、消息传递系统和管道通信系统。
(1)共享存储器系统可分为:
1)基于共享数据结构的通信方式;
2)基于共享存储区的通信方式。
(2)消息传递系统:
1)直接通信方式。
2)间接通信方式。
(3)管道通信:
管道是连接读写进程的一个特殊文件,也被称为管道文件,存在于外存中。
(4)消息缓冲队列:
消息缓冲队列广泛用于本地进程之间的通信,包括数据结构、发送原语和接收原语,每个进程都有自己的消息缓冲队列和消息缓冲区。
消息缓冲区是一个结构型数据结构。
通常包括发送进程标志符、消息长度、消息正文和指向下一个消息缓冲区的指针。
2.6线程
在操作系统中,进程是进行资源分配和独立执行的基本单位,为了进一步提高程序的并发性,减少系统开销,在操作系统中引入了线程的概念。
线程是进程中的一个实体,是被系统独立调度和分派的基本单位。
线程在运行中存在间断性,也有就绪、执行、阻塞三种形态。
线程是进程中的一个实体,是被系统独立调度和分派的基本单位。
线程只拥有在运行中必须的资源,包括程序计数器、一组寄存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 操作系统 概论 重点 整理 年张琼声版
![提示](https://static.bingdoc.com/images/bang_tan.gif)