https://www.cnblogs.com/longhai3/longhai

操作系统原理>>笔记

Posted on 2022-02-12 22:41  凡是过去,皆为序曲  阅读(290)  评论(0编辑  收藏  举报


周转时间 = 完成时间 - 提交时间 = 运行时间 + 等待时间
带权周转时间 = 周转时间 / 运行时间
响应比 = 等待时间 / 运行时间
======================================
块长 = 页长 = 页面大小
块内地址 = 页内地址

页号 = 逻辑地址 // 页长
页内地址 = 逻辑地址 % 页长
物理地址 = 块号 * 块长 + 块内地址
======================================
(段号,段长)
物理地址 = 段始址 + 段内地址

=================================================

第一章

定义:计算机按规模分类:大型,小型,微型机
计算机系统:由计算机硬件和计算机软件构成
计算机系统的组成
计算机系统 硬件系统 运算器
CPU
控制器 主存
存储器 内存
外存
输入设备 外部设备
I/O设备)(外设)
输出设备
软件系统 系统软件
应用软件
以上是对计算机系统的初步划分,是冯诺依曼体系结构的图示,它们组成一个统一整体,各个组成部分相互联系,相互作用,共同完成所分配的各项工作
内存:内存条 可分为RAM和ROM
外存:硬盘,光盘,u盘,软盘
内存和外存是相对于CPU来说的
输入设备:鼠标(接口:USB;PS/2),键盘
输出设备:显示器,打印机,投影仪,音箱
计算机硬件:物理部件,是组成计算机系统的物质基础,由运算器,控制器,存储器,输入设备,输出设备组成
计算机软件:计算机软件是指由计算机硬件执行以完成一定任务的程序及其数据。 它分为系统软件和应用软件
计算机用户通过应用软件让计算机为自己服务,而应用软件又是通过系统软件来管理和使用计算机硬件
什么是操作系统: 硬件和软件相互协调
操作系统属于软件中的系统软件,是紧挨着硬件的第一层软件,是对计算机硬件的首次补充。
其他软件是建立在操作系统上的,通过操作系统对硬件功能进行扩充,并在操作系统的统一管理和支持下运行各种软件
操作系统是运行在计算机系统上最基本的程序。
作用:
在操作系统的支持下,可以维持计算机上的所有组成部分共同工作,还可以控制外围设备
操作系统还提供了一个可执行其他应用程序的软件平台,而不管其硬件情况如何
对于大型分布式系统,操作系统可以控制同时运行的不同程序和用户
操作系统通过各种方式支持计算机和网路的安全性
它还是硬件与所有其他软件之间的接口,任何计算机都必须加载相应的计算机系统之后,才能构成一个可以协调运行的计算机系统
操作系统是一个计算机系统中软硬件资源的总指挥(相应的计算机资源分配给用户使用,其他系统软件必要运行条件),操作系统性能高低决定了整体计算机的潜在硬件性能
什么是操作系统:
1.用户环境的观点
从用户的角度来看,操作系统是用户与计算机硬件系统之间的接口.
(1)命令或Shell命令方式,如D0S操作系统、Linux操作系统的字符接口;
(2)图形用户界面方式,如Windows操作系统的图形用户接口;
(3)使用在应用程序中调用操作系统的内部功能模块(系统调用接口)。
这些应用程序
2. 资源管理的观点
分为:处理器、存储器、I/O设备和文件
操作系统功能:负责对计算机的这些软硬件资源进行控制,调度,分配和回收,协调系统中各部分对资源使用请求的冲突,保证各程序都能顺利运行完成
3.虚拟机观点
安装了操作系统的计算机又称虚拟机,一台完全无软件的计算机称为“裸机” 。通过操作系统来控制和使用计算机,从而把计算机扩充为功能更强、使用更加方便的虚拟计算机。
综上所述,操作系统是一组控制和管理计算机硬件和软件资源,合理地组织计算机工作流程,以及方便用户使用的程序的集合。
操作系统的目标:
1.方便性:
操作系统最终是要为用户服务的,所以,设计操作系统时必须考虑用户能否方便地操作计算机。
2.有效性:
硬件角度:配置了操作系统后,可使CPU和I/O设备因能得到更有效的利用,内存和外存中存放的数据有序而节省了存储空间。
用户角度:操作系统合理地组织计算机的工作流程,提高系统资源的利用率,增加系统的吞吐量,从而使有限的资源完成更多的任务。
3.可扩展性:
在设计操作系统的体系结构时,要采用合理的结构使其能够不断地扩充和完善。
4.开放性:
随着计算机硬件技术的发展,不同厂家的新型的、集成化的硬件不断涌现出来。计算机系统具有统一的开放环境,其中首先是要求操作系统具有开放性。
操作系统的形成与发展:
推进操作系统发展的动力:1.不断提高计算机资源利用率的需要 批处理由此诞生
2.方便用户操作 分时系统(多用户系统)
3.硬件的不断更新换代 性能和功能不断改进和完善
4.计算机体系结构的不断发展 单处理器系统---------多处理器系统,出现计算机网络后,产生网络操作系统 指令(cpu调度)
命令:精简简单指令 RISC
复杂指令(最早) CISC
操作系统的形成:
1. 无操作系统(主知识点)
无操作系统的计算机系统,其资源管理和控制由人工负责。
(1)人工操作方式 用户独占全机 一台计算机的全部资源只能由一个用户独占
CPU等待人工操作 用户装卡,取卡等人工操作时,cpu是空闲的
(2)脱机输入输出方式 程序和数据的输入输出是在外围机的控制下完成 【输入机】(引入磁盘(带)解决人机矛盾的问题) 减少了计算机主机的空闲等待时间,提高I/O设备的处理速度
(3)联机输入输出方式 输入输出是在主机的控制下完成
杂知识点:
世界上第一台计算机 1946年 ENIAC 中国最早的计算机是曙光计算机
在人工操作模式下,用户既是程序员又是操作员 ,上机过程完成手工操作 主要通过将带有数据(程序)的卡片和纸带装入纸带(卡片)输入机,启动它,进行读写数据,程序运行完毕,取下纸片(卡片),下一用户上机
人机矛盾:人工操作的低速率与计算机主机运行的快速运算,也就是人工操作方式严重降低了计算机资源的利用率


max: 作业是内存和外存之间的,进程是内存和cpu之间的
批处理系统:批处理系统主要采用了批处理技术,对作业按批进行自动处理。
单道批处理系统:系统对作业的处理都是成批地进行的,且在内存中始终只保持一道作业
工作模式:一批作业以脱机输入的方式输入到磁盘(带)上,并在系统上配上监督程序,在监督程序的控制下使这批作业一个接一个的连续处理
监督程序将磁盘(带)上的第一个作业调入主存,并把运行控制权交给该作业,改作业处理完后,又将控制权交给监督程序
特点:自动性(磁盘(带)上的一批作业自动地逐个执行,无人工干预),顺序性(按顺序进行,先调入内存的作业先完成),单道性(内存中仅有一个程序运行)


多道批处理系统:同时把多个作业放入内存并允许它们交替执行,共享系统中的各类资源,当某个程序因某种原因而暂停执行时,CPU立即转去执行另一道程序。
理论上并行执行,实际上串行执行,是交替进行的
特点:多道性,无序性,调度性(作业调度和进程调度)
多道性:在内存中可以同时驻留多道程序,并允许它们并发执行
无序性:作业完成的先后顺序和它们进入内存的先后顺序没有严格的对应关系,也就是说先调入内存的作业不一定先完成,最后调入内存的作业不一定后完成
调度性:先通过作业调度,按照一定的作业调度算法,从外存的后备作业队列中选择若干个作业调入内存,在按照一定的进程调度算法,从内存已有的作业中选择一个作业,将处理器分配给该作业,是其运行
优点:资源利用率高,系统吞吐量大(多道性的优点,也是多道批处理的产生原因)
系统吞吐量指的是系统在单位时间内所完成的工作总量
多道批处理系统吞吐量高的原因为1.cpu和其他资源保持"忙碌"状态
2.只有在作业运行完成or作业运行不下去的时候才能切换,系统开销小
缺点:平均周转时间长,无交互能力
平均周转时间指的是从作业装入系统开始,到完成并退出系统所经过的时间
平均周转时间长的原因:1.作业要排队 2.作业要经过2次调度才能进行处理
无交互能力:从作业提交到系统开始,直到作业完成,用户都不能与自己的作业进行交互,修改和调试不便


分时系统:产生原因:推动分时系统形成和发展的主要动力是用户的需要。主要是以下3个方面:
1.人机交互 输入,修改和调试程序(程序员)
2.共享主机 1.随时与计算机交互
2.感知不到其他用户在使用该计算机
用户在使用计算机的时候独占 作业在时间片规定的时间内完成其计算,若不能完成,则暂时中断该作业,把处理器让给下一个作业使用,被中断作业等待下一轮时在继续使用
由于计算机的速度很快,作业轮换速度也很快,就可以让用户感觉自己独占了一台计算机
3.便于用户上机 通过用户自己的终端直接将作业传送到机器上进行处理,并能对自己的作业进行控制
工作原理:一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户以分时方式共享主机中的资源,每个用户都可以通过自己的终端以交互的方式使用计算机
所谓分时技术就是把处理器的运行时间划分成很短的时间片,根据时间片轮流把处理器分配给各联机作业使用。
分时系统实现中的关键问题:
及时接受:及时接收用户键入的命令和数据,需要在系统中配置一个多路卡,还需为每个终端设备配置一个缓冲区,用来暂存用户键入的命令
及时处理:人机交互的关键是使用户键入自己的命令后,能及时地控制和修改自己的作业,所以要让所有用户的作业直接进入主存,在不长的时间内使每个作业运行一次,从而使用户的作业得到及时处理
分时系统的特征:
多路性(同时性):允许在一台主机上同时连接多台终端,系统按分时原则为每个用户服务。宏观上是多个用户同时工作,共享系统资源:微观上则是每个用户轮流运行一个时间片。提高了资源的利用率。
独占性:每个用户占用一个终端,彼此独立操作、互不影响。因此,每个用户会感觉到自己独自占用了主机。
及时性:用户的请求能在很短的时间内获得响应,此时的时间间隔是根据人们能接受的等待时间来确定的,通常为2- -3s。
交互性:用户可以通过终端与系统进行广泛的对话,其广这性表现在:用户可以请求系统提供各方面的服务,如文件编辑、数据处理和资源共享等。


实时系统:实时控制和实时信息处理要求系统的 响应时间 比 批处理和分时都要短
实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
实时系统的类型:根据控制对象的不同:可将实时系统分为实时控制系统和实时信息处理系统
实时控制系统:生产过程控制系统和武器控制系统 如飞机自动驾驶系统、火箭飞行控制系统等
实时信息处理系统:对信息进行实时处理的系统,计算机能及时接收从远程终端发来的服务请求,检索和处理,正确应答,如机票订购系统,情报检索系统等

实时系统的特征
实时系统的特征有多路性、独立性、及时性、交互性和可靠性。
多路性:系统能对多个现场进行数据采集,并对多个对象或多个执行机构进行控制。
独立性:信息的采集和对象的控制操作互不干扰。
及时性:是以控制对象所要求的开始时间和截止时间来确定的
交互性:交互性是指用户可访问系统中某些特定的专用服务程序
可靠性:可靠性是指采用多级容错技术来保证系统的安全性和数据的安全性

实时系统和分时系统的区别:
①系统的设计目标不同。分时系统的设计目标是提供一种随时可供多个用户使用的目性很强的系统,而实时系统则大多数都是具有某种特殊用途的专用系统。
②响应时间的长短不同。分时系统的响应时间通常为秒级,而实时系统的响应时间为毫秒级, 甚至微秒级。
③交互性的强弱不同。分时系统的交互性强,而实时系统的交互性相对较弱。

分布式操作系统:多个分散的处理单元经网络连接而形成的系统。在分布式系统上配置的操作系统称为分布式操作系统
集中式处理:系统的处理和控制都集中在一台主机桑,所有的任务都有主机处理
分布处理:系统的处理和控制分散在系统的各个 处理单元上,系统的所有任务也可动态地分配到各个处理单元上并行执行
特点:分布式:分布式操作系统是均匀地分布在各个站点上,它的处理和控制是分布式的
并行性:任务并行执行
透明性:很好的隐藏系统内部的实现细节,而对象的位置,并发控制,系统故障等对用户是透明的
共享性:分布在各个站点上的软硬件资源,可供全系统中的所有用户共享,以透明的方式访问
健壮性:任何站点上的故障都不会对系统造成很大的影响,若某一台设备出现故障,容错技术保障系统正常运行

嵌入式操作系统:Symbian,WinCE,Linux,Palm OS,Vxworks

微机操作系统: 单用户单任务操作系统:单用户单任务操作系统是指只允许一个用户上机,且只允许用户程序作为一个任务运行。具有代表性的单用户单任务操作系统是CP/M和MS-DOS。
CP/M:8位微机操作系统
MS-DOS:16位微机操作系统
单用户多任务操作系统:单用户多任务操作系统是指只允许一个用户上机,但允许一个用户程序分为多个任务并发执行,最具代表性的单用户多任务操作系统是OS/2和MS-Windows。、
OS/2:16/32位机操作系统
MS-Windows:微机主流操作系统
多用户多任务操作系统:多用户多任务操作系统是指允许多个用户通过各自的终端使用同一台主机,而每个用户程序又可分为多个任务并发执行,具有代表性的是UNIX。
UNIX:可在微机,小型机,大型机上运行

多处理器操作系统:

网路操作系统: 客户机/服务器模式(C/S)和对等模式
C/S模式:网络中有两种站点:服务器和客户机。服务器是网络的控制中心,它向客户机提供一种或多种服务。客户机是用于本地的处理和访问服务器的站点。
特征:分布处理和集中控制
对等模式:各站点的关系是对等的,各站点既可以作为客户机访问其他站点,又可以作为服务器向其他站点提供服务。
特征:分布处理和分布控制
网络操作系统的功能:网络通信:实现无差错的数据传输。
资源管理:对网络中的共享资源(硬件和软件)实施有效的管理;协调诸用户对共享资源的使用;保证数据的安全性和一致性。
网络服务:电子邮件服务;文件传输、存取和管理服务;共享硬盘服务;共享打印服务。
网路管理:安全管理。通过“存取控制”来确保存取数据的安全性;通过“容错技术”来保证系统发生故障时数据的安生性。
互操作能力。在客户机/服务器模式的LAN (局域网)环境下,连接在服务器上的多种客户机不仅能与服务器通信,而且还能以透明的方式访问服务器上的文件系统;而在互连网络环境下的互操作是指不同网络间的客户机不仅能通信,而且也能以透明方式访问其他网络中的文件服务器。

流行操作系统: DOS操作系统,UNIX操作系统,Linux操作系统,windows操作系统:

操作系统的特征与功能:
特征:并发性:
共享性:互斥共享:
同时共享:
虚拟性:
异步性:
功能:处理器管理:主要功能包括进程控制,进程同步,进程通信,进程调度
存储器管理:主要功能包括内存分配,内存保护,地址映射,内存扩充
设备管理: 缓冲管理,设备分配,设备处理,设备独立性,虚拟设备
文件管理:文件存储空间管理,目录管理,文件读/写管理,存取控制
用户接口:命令接口:
程序接口:
图形接口:

 

 

==============================================================================

第二章:处理器管理
2.1 处理器管理的概述:
2.1.1 处理器管理的功能:
1.进程控制:定义
2.进程同步:任务:对众多进程进行协调
1.进程互斥方式:定义 2.进程同步方式:定义
3.进程通信:定义
4.处理器调度:低级调度,中级调度,高级调度
2.1.2 程序执行:
1.前趋图
2.程序的顺序执行:1.特征:顺序性、封闭性、确定性、可再现性 2.概念
3.并发执行:1.概念 2.特征:间断性、失去封闭性、不可再现性、资源共享性、程序和计算不再一一对应
2.2 进程的描述:
2.2.1 进程的概念:
1.定义
2.特征:动态性、并发性、独立性、异步性、结构性
2.2.2 进程的状态极其转换
1.三种状态:就绪状态、运行状态、等待状态
2.2.3 进程的挂起状态:
1.挂起状态的引入:用户的需求、父进程的需求、操作系统的需求、对换的需求
2.引入挂起状态后的进程状态转换:运行状态->静止就绪、静止就绪->活动就绪、活动就绪->静止就绪、活动等待->静止等待、静止等待->活动等待、静止等待->静止就绪
2.3 进程控制:
2.3.1 进程控制块PCB:
1.PCB的作用
2.PCB的内容:1.进程表示信息:外部标识符、内部标识符
2.说明信息(进程调度信息):进程状态、进程优先权、进程调度所需的其他信息、等待原因
3.现场信息(处理器状态信息):通用寄存器、指令计数器、程序状态字、用户栈指针
4.管理信息(进程控制信息):程序和数据的地址、继承同步和通信机制、资源清单、链接指针
3.PCB的组织方式:链接方式、索引方式
4.进程控制原语:创建原语、撤消原语、等待原语、唤醒原语
2.3.2 进程创建:
1.引起进程创建的事件:用户登录、作业调度、提供服务、应用请求
2.进程创建的处理过程:1.为新进程分配唯一的进程的标识符,并从PCB队列中申请一个空闲的PCB
2.为新进程的程序和数据,以及用户栈分配相应的主存空间及其他必要的资源
3.初始化PCB中的相应信息,如标识信息、处理器信息、进程控制信息等
4.如果就绪队列可以接纳新进程,便将新进程加入到就绪队列中
2.3.3 进程撤销:
1.引起进程撤销的事件:进程正常结束、进程异常错误、进程应外界的请求而终止运行
2.进程撤销的处理过程:1.根据被终止进程的标识符,从PCB集合中检索该进程的PCB,读出进程状态
2.若该进程处于运行状态,则立即终止该进程的运行
3.若该进程有子孙进程,还要将其子孙进程终止
4.将该进程所占用的资源回收,归还给父进程或操作系统
5.将被终止进程的PCB从所在队列中移出,撤销该进程的PCB,并将其加入到空闲的PCB队列中
2.3.4 进程等待:
1.引起进程等待的事件:请求系统服务、启动某种操作(例:CPU自检)、新数据尚未到达/数据缺失、4.无新工作可做
2.进程等待的处理过程:1.立即停止执行该进程
2.修改PCB的相关信息。把PCB中的运行状态由“运行”状态改为“等待”状态,并填入等待的原因,以及进程的各种状态信息
3.把PCB插入到等待队列。根据等待队列的组织方式,把等待进程的PCB插入到等待队列中
4.转调度程序重新调度,运行就绪队列中的其他进程
2.3.5 进程唤醒
1.引起进程唤醒的事件:请求系统服务得到满足、启动某种操作完成、新数据已到达、有新工作可做
2.进程唤醒的过程:1.从等待队列中找到该进程
2.修改该PCB中的相关内容,把等待状态改为就绪状态,删除等待原语等
3.把PCB插入到就绪队列中。按照就绪队列组织方式,把被唤醒的进程的PCB插入到就绪队列中
2.4 进程同步机制
2.4.1 进程的并发性:资源共享关系、相互合作关系
2.4.2 进程同步的概念:临界资源(硬:内存;软:变量)、临界区、进程同步(同步:资源共享、合作)、进程互斥
2.4.3 进程同步机制应遵循的原则:空闲让进、忙则等待、有限等待、让权等待
2.4.4 进程同步机制——锁
1.锁的概念:在同步机制中,常用一个变量来代表临界资源的状态,称之为锁。用0表示资源可用,相当于锁打开;用1表示资源被占用,相当于锁闭合
2.对锁的操作:关锁:lock(w)
{
test:if(w==1)goto teat:
else w=1;
}
开锁:unlock(w)
{
w=0;
}
2.4.5 进程同步机制——信号量
1.信号量的概念:信号量是一种特殊的变量,它用来表示系统中资源的使用情况。而整型信号量就是一个整型变量。值大于0时,表示系统中对应可用资源的数目;值小于0时,其绝对值表示因该类资源而被等待的进程的数目;值等于0时,表示系统中对应资源已用完,并且没有因该类资源而被等待的进程。
2.对信号量的操作:PV操作
1.P操作:P(S)
{
S=S-1
if(s<0) W(S);/*W(S):将进程插入到信号量的等待队列中*/
}
2.V操作:V(S)/*S为信号量*/
{
S=S+1
if(S<=0) R(S)/*R(S):从该信号量的等待队列中移出第一个进程*/
}
2.4.6 利用信号量实现进程互斥:大题1:刀叉问题,PV操作
2.4.7 利用信号量实现进程同步:大题2:缓冲区问题
2.4.8 利用信号量实现进程的同步加互斥:大题3:环形缓冲区问题
2.4.9 利用信号量实现进程同步的方法:
1.使用PV操作的规则:1.分清哪些时互斥问题,哪些是同步问题
2.对于互斥问题要设置互斥信号量,不管有互斥关系的进程有几个或几类,互斥信号量的个数只与临界资源的种类有关
3.对于同步问题要设置同步信号量,通常同步信号量的个数与参与同步的进程种类有关,即同步关系涉及几类进程,就有几个同步信号量。同步信号量表示该进程是否可以开始或该进程是否可以结束
4.在每个进程中用于实现互斥的PV操作必须成对出现;用于实现同步的PV操作也必须成对出现,但是它们分别出现在不同的进程中;在某个进程中如果同时存在互斥与同步的P操作,则其顺序不能颠倒,必须先执行对同步信号量的P操作,在执行对信号量的V操作,但是V操作的顺序没有要求
2.同步互斥问题的解题步骤:1.确定进程2.确定同步互斥关系3.用类C语言描述同步或互斥算法
2.5 进程通信:1.低级通信:进程的互斥与同步。2.高级通信:共享存储器系统/消息传递系统/管道通信系统
2.5.1 共享存储器系统:1.共享数据结构方式。2.共享存储区方式
2.5.2 消息传递系统:1.直接通信方式:发送原语:send (receiver,message)/接收原语:receive(sender,message)2.间接通信方式:信箱通信的操作/信箱的分类:私有信箱,公用信箱,共享信箱/通信进程间的关系:一对一关系,多对一关系,一对多关系,多对多关系
2.5.3 管道通信系统
2.6 处理机调度:
2.6.1 进程调度算法的选取原则:1.面向用户的原则:周转时间短,响应时间快,截止时间有保证,优先权原则。2.面向系统的原则(这是为了满足系统要求而遵循的一些准则):系统吞吐量高,处理器利用率高,各类资源的平衡利用
2.6.2 常用的进程调度算法(前三个涉及大题):1.先来先服务算法(FCFS)/短进程优先算法(SPF)(除了第一个进来的进程以外,其他的进程按照时间长短排名)/最短剩余时间优先调度算法(SRT)/时间片轮换调度算法(RR):系统对相应时间的要求,就绪队列中进程的数目,系统的处理能力/优先权调度算法:1.静态优先权:进程的类型,进程对资源的需求,用户的要求。2.动态优先权/6.响应比高者优先权算法(HRRN)/多级反馈队列调度算法(MLF)
2.6.3 作业调度:1.作业调度采用的数据结构
2.作业调度与进程调度的关系
3.常用的作业调度的算法:1.选择作业调度算法应考虑的因素:极大的流量,平衡资源的使用,公平使用。2.常用的作业调度算法:先来先服务调度算法,短作业优先调度算法,响应比高者优先调度算法,优先权调度算法,分类调度算法
4.作业调度算法举例
2.7 进程死锁:
2.7.1 死锁的基本概念:
1.死锁的概念:死锁指多个进程因相互竞争资源而造成的一种僵局现象,若无外力作用,这些进程都不能相互运行
2.死锁的原因:竞争资源,进程推进顺序非法
3.产生死锁的必要条件:1.互斥条件 2.请求和保持条件 3.不可剥夺条件 4.环路等待条件
4.处理死锁的基本方法:1.预防死锁 2.避免死锁 3.检测和解除死锁
2.7.2 死锁预防:1.破坏“不剥夺”条件 2.破坏“请求和保持”条件 3.破坏“环路等待”条件
2.7.3 死锁避免(大题:银行家算法):利用银行家算法避免死锁
2.7.4 死锁的检测与解除:1.死锁的检测:资源分配图/死锁定理 2.死锁的解除:剥夺资源法/撤销进程法

 

==========================================================================

第三章 存储器管理
3.1 存储器管理概述:
3.1.1 存储体系:P82 图3-1
3.1.2 存储器管理的主要功能:1.内存的分配和回收。2.地址变换。3.内存的共享。4.内存的保护。5.内存的扩充。
3.1.3 地址变换:
1.逻辑地址。
2.物理地址。
3.地址变换:1.静态重定位:当用户程序被装入内存时,一次性实现逻辑地址到物理地址的变换,以后不再改变。
2.动态重定位:在程序执行的过程中需要访问数据时在进行地址变换,即诸条指令执行时完成地址变换。
3.1.4 各种存储管理方式:P85 图3-4
3.2 单一连续分配管理方式
3.2.1 基本原理:P85,特点:1.管理简单。2.在内存中的作业不必考虑移动的问题,并且内存的回收不需要任何操作。3.资源利用率低。4.此分配方式不支持虚拟存储器的实现。
3.2.2 内存空间的分配:分为系统区和用户区
3.2.3 地址变换和存储保护:1.地址变换。过程:1.处理器在执行用户程序指令时,检查不等式:逻辑地址>=界限地址。
2.若成立,产生一个“地址越界”中断事件,暂停程序执行,由操作系统处理,来达到存储保护的目的
2.存储保护。
3.3 分区存储管理方式
3.3.1 固定分区存储管理方式:1.基本原理:固定分区是指系统预先把内存中的用户区域划分成若干个固定大小的连续区域。每一个区域称为一个分区,每一个分区可以装入一个作业,一个作业也只能装入一个分区中,这样就可以装入多个作业,是他们并发执行。
分区划分方式:1.分区大小相等。2.分区大小不等。
2.分区分配表:采用顺序存储方式,也就是数组存储。
3.地址变换:采用静态重定位,参考P89 例题3-1
3.3.2 可变分区存储管理方式:1.基本原理:可变分区是指系统不预先划分固定区域,而是在作业装入时根据作业的实际需要动态的分配内存空间。
2.采用数据结构:系统设置了已用分区表和空闲分区表(可以组织成链表的形式,叫做空闲分区链)
3.分区分配算法:1.首次适应算法FF。2.循环首次适应算法RFF。3.最佳适应算法BF。4.最差适应算法WF(P91-92,注意区分四种算法)
4.分区的回收:内存回收分为四种情况:1.回收的分区前后没有相邻的空闲分区。2.回收的分区前面有相邻的空闲区。3.回收的分区后面有相邻的空闲分区。4.回收的分区前后都有相邻的分区。(参考例题3-2,P93,例题3-3,P94)
5.地址变换与存储保护:地址变换/存储保护
3.3.3 紧凑技术(解决碎片问题):例题3-4,P96
3.4 覆盖技术与对换技术
3.4.1 覆盖技术(解决内存不足的问题):覆盖:指同一内存区可以被不同的程序段重复使用。把可以相互覆盖的程序叫做覆盖,而把可以共享的主存区叫做覆盖区。把程序执行时并不要求同时装入内存的覆盖组成一组,叫覆盖段,并分配同一个内存区。这样,覆盖段和覆盖区一一对应。(图3-12,P98)
3.4.2 对换技术:所谓对换,是指把内存中暂时不能运行的过程,或暂时不用的程序和数据,换出到外存上,把与具备运行条件的进程,或进程所需要的程序或数据,换入到内存的技术。它是提高内存利用率的有效措施。对换技术现在已被广泛应用于操作系统中。其分为整体对换和部分对换(部分对换又称为页面对换和分段对换,以页或段为单位进行。特点:打破了一个程序一旦进入内存便一直运行到结束的限制)
3.5 分页存储管理方式
3.5.1 基本原理:1.内存空间划分:页式存储管理将内存空间划分为等长的若干个区域,称为物理块或页框。内存的所有物理块从0开始编号,称为物理块号;每个物理块内亦从0开始依次编址,称为块内地址。
2.作业空间划分:系统将用户作业地址空间按照物理块大小划分成若干个区域,称为页面或页。各个页面从0开始依次编号,称作逻辑页号;每个页面从0开始编址,称为页内地址。因此逻辑地址由页号和页内地址两部分组成。
3.内存分配:在分配存储空间时,总是以块为单位,按照作业的页数分配物理块。分配的物理块可以连续也可以不连续。由于作业的最后一页经常装不满一块而形成不可利用的碎片,称为页内碎片。
4.页面大小:在确定页面大小时,选择的页面小,一方面可使内存碎片小,减少了内存碎片的总空间,有利于提高内存的利用率。但另一方面,也会使每个进程要求较多的页面,从而导致页表过长,占用大量内存空间,此外,还会降低页面换进换出的效率。若选择的页面较大,虽然可以减少页表长度,提高换进换出效率,但却又会使页面碎片增大。因此,页面大小要适中。
3.5.2 页表
3.5.3 地址变换:P100例题
3.5.4 对页式存储管理的改进:1.快表。2.两级页表
3.6 分段存储管理方式:1.便于询问。2.分段共享。3.分段保护。4.动态链接。
3.6.1 1.内存空间划分。2.作业空间划分。3.内存分配。
3.6.2 段表
3.6.3 地址变换:P105例题
3.6.4 分页和分段的主要区别:1.页是信息的物理单位,分页仅仅是为了系统管理内存的方柏霓而进行的,而不是用户的需要;而段是信息的逻辑单位,它含有一组具有完整意义的信息,是出于用户的需要。
2.页的大小是不固定的,由系统决定;而段的大小是不固定的,由用户作业本身决定。
3.从用户角度看,分页的作业地址空间是一维;而分段的作业地址空间是二维的。
3.6.5 段页式存储管理方式:1.工作原理。2.地址变换:P107例题。特点:段页式存储管理方式既具有段式系统便于实现、分段共享、易于保护、动态链接等一系列优点,又能像页式系统那样很好的解决了内存碎片问题,并为各个分段离散的分配内存。不足时管理信息需要占用较多的存储空间。
3.7 虚拟存储方式:
3.7.1 基本原理:1.局部性原理:1.时间局部性。2.空间局部性。
2.虚拟存储器的定义:P109。
3.虚拟存储器的特点:1.离散性:离散性是指在内存分配时采用离散分配方式,这是虚拟存储器的基础。
2.多次性:多次性是指一个作业被分成多次调入内存运行。
3.对换性:指允许在作业的运行过程中换进换出
4.虚拟性:指能够从逻辑上扩充内存容量,使用户所看到的内存容量远大于实际内存容量
3.7.2 分页虚拟存储管理:1.基本原理。
2.页表:页号和块号/状态位/访问字段/修改位/外存地址。
3.缺页中断和地址变换:缺页中断与一般中断相比:区别在于:1.产生中断的时间不一样。2.产生中断的次数不一样。
4.页面置换算法:最佳置换算法/先进先出置换算法/最近最久未使用置换算法,P113例题。

 

 

 

============================================================================

第四章 设备管理:
4.1 设备管理概述:
4.1.1 设备的分类:
1.按所属关系分类:系统设备、用户设备
2.按操作特性分类:存储设备(或者文件设备)、输入输出设备(I/O设备)
3.按设备共享属性分类:独占设备、共享设备、虚拟设备
4.按信息交换单位分类:块设备、字符设备
4.1.2 设备管理的目标和任务:
1.设备管理的目标:方便性、执行性、均衡性、独立性(或者无关性)
2.设备管理的任务:监视所有设备的状态、指定设备分配策略、设备的分配、设备的回收
3.设备管理的主要功能:缓冲管理、设备分配、设备处理、虚拟设备
4.2 输入输出系统:
4.2.1 I/O系统的结构:
1.主机I/O系统:四级结构:主机->通道->控制器->外围设备(等级由高到低)
2.微机I/O系统:一般采用总线I/O系统结构实现CPU与控制器之间的通信,主机->控制器->外设(等级由高到低)P126参考系统总线图
4.2.2 I/O设备控制器:
1.设备控制器的概念:设备控制器是CPU和I/O设备之间的接口,是可编址设备,每一个地址对应一个设备,接收CPU的指令,控制I/O设备的工作,使CPU解脱,提高CPU的使用效率
2.设备控制器的功能:接收和识别命令、交换数据、了解和报告设备状态、识别地址、缓冲数据、控制差错
3.设备控制器的组成:CPU与设备控制器的接口、设备控制器与设备的接口、I/O逻辑
4.2.3 I/O通道:
1.I/O通道的概念:I/O通道是指专门负责输入输出工作的处理器
2.I/O通道的分类:1.字节多路通道:字节多路通道适用于连接打印机、终端、卡片输入/输出机等低速或中速的I/O设备
2.数据选择通道:传输速率高,每次只能传输一个,利用率低,用来连接高速外部设备,如磁盘、磁鼓等
3.数组多路通道:将数据选择通道传输速率高和字节多路通道能使各子通道(设备)分是并行操作的优点相结合,形成一种新通道
4.2.4 I/O系统的控制方式:
1.程序直接控制方式:忙则等待,适用于早期无中断的计算机系统
2.中断控制方式:紧急处理,在程序执行期间遇到紧急情况,CPU暂停当前进程处理,待紧急情况处理完毕后再处理之前的进程,输入输出以字节为单位进行,适用于现代计算机系统
3.直接存储器存取控制方式DMA:对I/O设备的控制由DMA控制器完成,在DMA控制器的作用下,设备和主存之间可以成批的进行数据交换,不用CPU干涉,I/O数据传输速度快,CPU负担少,适用于块设备的数据传输
4.通道控制方式:以主存为中心,在设备和主存之间直接交换数据的控制方式,所需要的CPU干预更少,可以实现CPU、通道和I/O设备三者之间的并行操作,从而更有效的提高整个系统的资源利用率
4.3 资源的回收:
4.3.1 设备分配中采用的数据结构:
1.设备控制表DCT:设备标识符/设备类型/设备状态/重复执行次数或时间/设备队列的队首指针/指向控制器表的指针
2.控制器控制表COCT
3.通道控制表CHCT
4.系统设备表SDT
4.3.2 设备分配应考虑的因素:
1.设备的使用性质
2.设备的分配原则
3.设备的分配算法:先请求先服务算法/优先级高者优先算法
4.设备分配的安全性:
静态分配策略:在作业级进行的,该策略不会出现死锁,设备利用率低
动态分配策略:在进程执行过程中,根据执行的需要进行设备分配,提高了设备的利用率,分配不当,会造成进程的死锁。动态分配策略分两种情况:1.进程发出I/O请求后进入阻塞状态,直到所提出的I/O请求完成才被唤醒。2.允许进程发出I/O请求后仍然执行,且在需要时又可以发出第二个I/O请求,第三个请求...。仅当进程所请求的设备已被另一个进程占用时才进入阻塞状态。这样,一个进程可以同时操作多个设备,从而使进程推进迅速,但可能会产生死锁。
5.设备的独立性(设备无关性)
4.3.3 设备分配与回收:
1.设备分配:由系统完成的,以防止并发进程对设备的无序竞争
(1)分配设备(2)分配设备控制器(3)分配通道
2.设备回收:进程撤销或设备使用完毕后,进行设备的回收,0为未分配,若设备的等待队列不空,则唤醒队首进程,进行设备分配
4.4 设备回收
4.4.1 设备驱动程序的功能和特点
1.设备驱动程序的功能:1.接收由I/O进程发来的命令和参数,并将命令中的抽象要求转化为具体参数要求
2.检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式。
3.发出I/O命令,如果有设备空闲,便立即启动I/O设备去完成指定的I/O操作;否则,将请求者的请求块挂在设备队列上等待。
4.及时响应由控制器或通道发来的中断请求,并根据其终中断类型调用相应的中断处理程序进行处理。
5.对于设置有通道的计算机系统,驱动程序还应根据用户的I/O请求,自动构成通道程序。
2.设备处理的方式:1.为每一类设备设置一个进程,专门执行这类设备的I/O操作。
2.在整个系统中设置一个I/O进程,专门负责对系统中所有各类设备的I/O操作。
3.不设置专门的设备处理进程,而只为各类设备设置相应的设备处理程序,供用户进程或系统进程调用。
3.设备驱动程序的特点:1.驱动程序主要是在请求I/O的进程与设备控制器之间的一个通信程序。
2.驱动程序与I/O设备的硬件特性密切相关。不同类型的设备应配置不同的驱动程序。
3.驱动程序与I/O控制方式密切相关。
4.驱动程序与硬件密切相关,其部分程序被固化在ROM中。
4.4.2 设备驱动程序的处理过程:将抽象要求转化为具体要求/检查I/O请求的合理性/读出和检查设备的状态/传送必要的参数/设置工作方式/启动I/O设备
4.5 设备管理的实现技术
4.5.1 缓冲技术:1.缓冲的引入:为了提高I/O设备的资源利用率,在I/O设备与处理器交换数据时引入缓冲技术。
具体原因:1.缓和CPU与I/O设备之间速度不匹配的矛盾。2.减少对CPU的中断频率,放款对中断响应时间的限制。3.提高CPU与I/O设备间的并行性。
对缓冲区的理解:1.缓冲技术是提高CPU与外设并行工作程度的一种技术。2.凡是数据到达速度和离去速度不匹配的地方都可以使用缓冲区。3.缓冲的实现有两种:采用硬件缓冲器实现/采用软件缓冲器实现。
2.缓冲的类型:1.单缓冲:在设备和处理器之间设置一个缓冲区,用于数据的传输。
特点:在主存中只有一个缓冲区/设备和处理器对缓冲区的操作是串行的,传输速度慢/在任意时刻,只能进行单项的数据传输,传输量少。
2.双缓冲:在设备和处理器之间设置两个缓冲区
特点:1.在主存设置两个缓冲区,完成数据的传输/两个缓冲区可以交替使用,提高了处理器和输入设备的并行操作能力
2.两个缓冲区之间可以交替使用,提高了处理器和输入设备的并行操作操作能力。
3.在任一时刻,可以进行双向的数据传输。一个缓冲区用于输入,一个缓冲区用于输出。
4.适用于输出/输入、生产者/消费者速度基本相匹配的情况。
5.当传输数据较大,或者两者的速度相差较远时,双缓冲区效率较低。
3.循环缓冲:在设备和处理器之间设置多个大小相等的缓冲区,每个区都有一个链接指针指向下一个区,最后一个指针指向第一个区,从而形成环形缓冲区。
特点:1.在主存中设置多个缓冲区。
2.读和写可以并行处理,适用于某种特定的I/O进程和计算进程,如输入/输出、生产者/消费者速度不匹配的情况。
3.循环缓冲区属于专用缓冲区。
4.缓冲池:系统较大时,可以利用其来提高缓冲区的利用率
组成:空缓冲区、装满输入数据的缓冲区、装满输出数据的缓冲区,同类缓冲区以链的形式存在。
四类缓冲区:1.用于收容输入数据的工作缓冲区hin
2.用于提取输入数据的工作缓冲区sin
3.用于收容输出数据的工作缓冲区hout
4.用于提取输出数据的工作缓冲区sout
特点:1.缓冲池结构复杂,在主存中设置公用缓冲池,在池中设置多个可供多个进程共享的缓冲区。2.缓冲区既可用于输入,又可用于输出(共享)/缓冲池的设置减少了主存空间的消耗,提高了主存的利用率。
4.5.2 中断技术:1.中断的概念:中断是由于某些事件的出现,中止现行的进程的执行,而转去处理的事件,中断事件处理完后,再继续运行被中止进程的过程。
2.中断类型:1.硬件故障中断/程序中断/外部中断/输入输出中断/访管中断
3.中断响应:1.特权指令(不允许用户程序直接使用的指令)2.程序状态字:用来控制指令的执行程序,并保留和指示与程序有关的系统状态。((1)程序的基本状态(指令地址,条件码,管态/目态,计算/等待)(2)中断码(3)中断屏蔽位)程序状态字三种:当前PSW(当前正在占用处理器的进程的PSW),新PSW(保存中断处理程序的PSW),旧PSW(保存被中断进程的PSW)
中断处理过程:1.当中断装置发现的中断事件后,先把中断事件存放到程序状态字寄存器中的中断码位置。
2.把程序状态字寄存器中的“当前PSW”作为“旧PSW”保存到预先约定的主存的固定单元中。
3.根据中断码,把该类事件处理程序的“新PSW”送入程序状态字寄存器。
4.处理器按新PSW控制执行该事件的中断处理程序。
当中断处理程序处理完后,再恢复现场,继续执行原先被中断的进程。
4.5.3 假脱机技术:
1.假脱机的概念:指在联机的情况下实现的同时外围操作,也称假脱机输入输出操作。它是操作系统的一项将独占设备改为共享设备的技术。
2.假脱机的组成:1.输入井和输出井。2.输入缓冲区和输出缓冲区。3.输入进程和输出进程。4.请求打印队列
3.假脱机技术的特点:提高了I/O速度/将独占的设备改造为共享设备/实现了虚拟设备的功能
4.6 存储设备的管理:
4.6.1 存储设备的类型:
1.顺序存储设备(磁带):顺序存储设备只有在前面的物理块被存取访问过程之后,才能存取后续的物理块内容。
存取速率的因素:1.信息密度。2.磁带带速。3.块间间隙。
2.直接存取设备(磁盘):磁盘分为固定头磁盘/移动头磁盘,磁盘设备可包括一个或多个盘片,每片分两面,每面分若干条磁道。
4.6.2 磁盘驱动调度算法:先来先服务调度算法(FCFS)/最短寻道时间优先算法(SSTF)/扫描算法(电梯调度算法) 。。。涉及大题。。。
4.6.3 USB设备的管理:
1.USB简介:USB设备有两种通道:数据流通道和消息通道每个通道都有一定的带宽、传输类型、传输方向和缓冲区大小
2.USB的四种传输类型:控制传输模式/中断传输模式/批传输模式/同步传输模式

 

随心,随记

https://www.cnblogs.com/w1hg/331817