1 操作系统概论
操作系统作为系统软件,为用户提供了高效使用计算机的接口。提供给用户的接口是命令输入和系统调用。
操作系统是计算机系统中的一个系统软件,它是这样一些程序模块的集合——它们能有效地组织和管理计算机系统中的硬件和软件资源,合理地组织计算机的工作流程,控制程序的执行,并向用户提供各种服务功能,使用户能够灵活、方便、有效地使用计算机,并使整个计算机系统能高效地运行。
可以“互斥共享”的资源:中央处理器、存储器的所有进程
必须“互斥共享”的资源:打印机、磁带机、扫描仪
可以“同时共享”的资源:内存储器、可重入的操作系统代码、硬盘驱动器
在操作系统中建立了用于记录各种软硬件资源信息的数据结构,该数据结构的用途是了解用户需求和当前资源使用情况,对资源进行有效组织、管理。
在操作系统内部,为了掌握整个计算机系统的硬件和软件资源,设计了各种不同类型的表格或数据结构,将所有的硬件和软件资源一一加以登记。资源的名称、类型、数量、用途、完好状态以及目前使用状态等信息均在有关数据结构中保存,并动态、实时地不断更新着,可以由系统动态更新。
计算机系统 | 软件系统 (程序、数据) | 应用软件:文字处理、图形图像处理、科学计算、MIS等 |
---|---|---|
支撑软件:数据库、网络、多媒体等 | ||
系统软件:操作系统、编译器 | ||
硬件系统 | 中央处理器(CPU)、内存储器、外存储器(磁盘、磁带等) 输入/输出设备(键盘、鼠标、显示器、打印机) |
操作系统内核程序:线程调度、虚拟存储、消息传递、设备驱动、内核原语操作集、中断处理等。而用户应用程序属于操作系统用户程序。
中断服务程序是固定在某个地址的代码段,没有进程的概念。
用户编程需要打印输出,需要系统调用write()。
当用户程序需要调用操作系统所提供的文件读写功能时,该功能首先执行的指令是访管指令。
能够控制实现共享性的是操作系统。
“并发性”现象:在单处理器环境下,两个程序交替在CPU上运行。
在同一台打印机上,两个进程请求打印输出
在多处理器上,一个进程运行除法运算,另一个进程打印输出
在多处理器上,一个进程运行除法运算,其他处理器空闲
并发性是指在计算机系统中同时存在若干个运行着的程序。从宏观上看,这些程序在同时向前推进。从微观上看,在单处理器的环境下,这些同时运行着的程序是交替在中央处理器上运行的。在多处理器系统的环境中,多个程序的并发特征,不仅在宏观上是并发的,而且在微观上,即在处理器一级上,程序也是并发执行的。
操作系统提供了3类接口供用户使用:
命令接口:提供一组命令供用户直接或间接操作。根据作业的方式不同,命令接口又分为联机命令接口和脱节命令接口。(命令行)
程序接口:程序接口由一组系统调用命令组成,提供一组系统调用命令供用户程序使用。(汇编语句)
图形界面接口:通过图标、窗口、菜单、对话框及其他元素和文字组合,在桌面上形成一个直观易懂,使用方便的计算机操作环境。因此,fork()创建进程采用系统调用命令接口。
操作系统有:Ubuntu/Widows/UNIX/Linux/BSD/DOS
1.1 OS的分类
批处理操作系统的优点是作业流程自动化较高,资源利用率较高,作业吞吐量大,从而提高了整个系统效率;批处理操作系统的缺点是用户不能直接与计算机交互,不合适调试程序。(批处理环境)
实时操作系统主要目标是:在严格的时间范围内,对外部请求作出反应,系统具有高度可靠性。(实时环境)
分时操作系统追求的目标是及时响应用户输入的交互命令。(交互式环境)(用户直接干预操作每一步的进行,适用于调试程序)
分时操作系统特点:具有多路性、交互性、独占性和及时性
1.多路性:多个用户同时使用一台计算机;
2.交互性:用户根据系统响应的结果提出下一个请求,方便调试程序;
3.独占性:每个用户感觉不到计算机系统为其他人服务,好像整个系统为他个人所独占一样
4.及时性:系统能够对用户提出的请求作出及时的响应。
随着计算机体系结构的发展,又出现了许多类型的操作系统,它们是个人操作系统、网络操作系统、分布式操作系统和嵌入式操作系统。交互式操作系统是指能为用户提供交互式操作支持的操作系统。
1.2 OS特点
1.2.1 批处理操作系统
1.2.2 实时操作系统
具有较高的可靠性
在严格的时间范围内,实时响应用户的请求
具有较好的过载防护能力
1.2.3 分时操作系统
1.2.4 分布式操作系统
系统内所有主机使用同一个操作系统
系统内资源深度共享
用户无需了解系统内本地主机或异地主机的差异,具有透明性
系统内各主机处于同等地位,不分主次
系统具有较高的可靠性
1.3 OS体系结构
1.3.1 整体式结构:
优点:结构紧密、接口简单直接、系统效率较高。
缺点:缺乏独立性、并发性差。
1.3.2 层次式结构:
把整体问题局部化,使模块之间组织结构和依赖关系清晰明了。
1.3.3 微内核(客户机/服务器 C/S) 结构:
高可靠性,高灵活性,适合分布式处理。
微内核结构的特点:
1.提高了系统的可扩展性;
2.增强了系统的可靠性;
3.可移植性:
4.适用于对分布式处理的计算环境:
5.融入了面向对象技术。
1.4 OS功能与作用
操作系统的功能主要可以分为进程线程管理(处理器管理)、存储管理、文件管理、作业管理(用户接口)和设备管理。
线程管理(处理器管理):
为进程分派CPU、
提供加锁和解锁原语、
管理进程的数据结构、
完成进程上下文切换。
存储管理范畴的工作:
完成虚拟地址到物理地址的转换、
管理内存分配表、
检查进程地址空间是否出现地址越界问题、
将磁盘上的代码调入内存、
内存扩充
文件管理范畴的工作:
管理磁盘空间、
磁盘碎片整理、
建立文件目录、
设置文件的存取权限
作业管理(用户接口)和设备管理范畴的工作:
为用户提供系统调用接口、
提供缓冲技术、
管理通道、
网卡等相关的数据结构,
提供虚设备技术
从4个不同的角度看操作系统的主要作用:
从计算机应用角度来看,操作系统是一个系统软件,是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。
从软件设计和开发角度来看,操作系统是软件开发基础平台,屏蔽了管理和控制计算机硬件与软件资源的底层操作,并提供了高层次软件调用的接口。
从计算机安全保护角度来看,操作系统的主要作用是提供第道安全防线。
从计算机系统发展的角度来看的,操作系统是在原来计算机(裸机) 扩充成为功能强、使用方便的计算机系统,这种计算机系统称为虚拟计算机。
操作系统管理的系统资源:主存储器、PCB表、内核文件、时钟
1.5 管态与目态
在处理器的存储保护中,主要有两种权限状态,一种是核心态(管态、特权态、系统态、内核态),一种是用户态(目态)。核心态是操作系统内核所运行的模式,运行在该模式的代码,可以无限制地对系统存储、外部设备进行访问。
特权指令是指在指令系统中那些只能由操作系统使用的指令。只有在监控程序才能执行特权指令,只能在内核态下运行。
用户程序在用户态下使用特权指令而引起的中断是访管中断,用户态转换为系统态唯一的途径是访管中断。
在系统态时可利用特权指令修改程序状态字转换为用户态。
内核态和用户态是用于操作系统运行安全而设置的一种状态标志,其含义是指CPU在运行时所处的状态
内核态(管态、特权态、系统态、核心态) | 用户态(目态) | |
---|---|---|
全部指令 | 非特权指令、一般指令 | |
特权指令 | 非特权指令 | |
输出指令、停机指令、屏蔽中断、关中断指令、置程序计数器、清指令寄存器、清溢出标志 | 算数运算指令、置移位方向标志位 |
2 操作系统运行机制
2.1 CPU
组成 | 运算器 | 控制器 | 寄存器 | 高速缓存 |
---|---|---|---|---|
介绍 | 实现指令中的算术和逻辑运算,是计算机计算的核心; | 负责控制程序运行的流程,包括取指令维护CPU状态,CPU与内存的交互等; | 是指指令在CPU内部做处理的过程中警存数据,地址以及指令信息的存储设备 | 处于CPU和物理内存之间,一般由控制器中的内存管理单元管理利用程序局部性使得高速指令处理和低速内存访问得以匹配,提 高CPU利用率。 |
中央处理器CPU完成的工作:取指令,设置CPU状态,响应中断请求
2.1.1 寄存器
寄存器(有一定的存储能力、速度快、造价高、容量小) | |||||
---|---|---|---|---|---|
用户可见寄存器 | 控制和状态寄存器(用户不可见寄存器) | ||||
数据寄存器 | 地址寄存器 | 条件码寄存器 | 程序计数器 PC | 指令寄存器IR | 程序状态字PSW |
用于各种算术逻辑指令和访存指令 | 用于存储数据及指饮令的物理地址、性地址或有效地址 | 保存CPU操作结果的各种标记位 | 记录了将要取出的指令地址(处理器下一条要执行的指令) | 包含取出的指令 | 记录了处理器的运行模式信息等 |
中断屏蔽寄存器IM用于设置中新清求的屏蔽信号,多媒体指令寄存器MMX能够加速处理有关图形、影像、声音等的应用。
2.1.2 PSW(程序状态字寄存器)
处理器的程序状态字 (PSW) 通常包括标志位有: 进位标志位(CF) 、结果为零标志位 (ZF) 、符号标志位 (SF) 和溢出标志位(OF) 。
有时候这四种标志位为标准条件位:陷阱标志位 (TF) 、中断使能(中断屏蔽) 标志位(IF) 、虚拟中断标志位(VIF) 和虚拟中断待决标志位(VIP) 。另外还有IO特权级别(IOPL)、CPU工作状态码(S)、条件码©
(没有保护位、修改位M、访问位)
程序状态字(PSW) 通常包括以下状态代码:
1.CPU的工作状态码:指明管态还是目态,用来说明当前在CPU上执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或拥有其它的特殊权力
2.条件码:反映指令执行后的结果特征
3.中断屏蔽码:指出是否允许中断
2.2 中断与异常机制
定义:异常是由外部事件引发的,而中断则是由指令执行引发的(外部中断,指令异常)
中断:时钟中断、输人输出( I/O)中断、控制台中断、硬件故障中断(网卡上数据缓冲区满)、
中断请求:中断控制器向处理器发出的信号。
中断响应:处理器暂停当前程序,转而进入中断处理程序。
中断断点:正在运行的程序的暂停点。
中断源:引起中断的设备或事件。
中断向量:中断处理程序入口地址,由程序状态字PSW和PC(指今计数器) 组成。
中断字:中断请求的编号
异常 | |
---|---|
程序性中断 | 访管指令异常 |
算术溢出、被零除、目态程序试图执行非法指令、访问不允许访问的存储位置、虚拟存储器中的缺页 | 目的是要求操作系统提供系统服务 |
2.3 系统调用
系统调用与一般过程调用的区别 | |||
---|---|---|---|
运行在不同的系统状态 : | 状态的转换 | 返回问题 : | 嵌套调用 : |
一般过程调用:其调用程序和被调用程序都运行在相同的状态; | 一般过程调用不涉及系统状态的转换; | 一般过程调用完成后将返回到调用过程 | 系统调用的深度通常会受到限制。 |
系统调用:调用程序运行在用户态,而被调用程序则运行在系统态。 | 系统调用时调用和被调用过程工作在不同的系统状态 | 而在抢占式系统中,系统调用完成后需对所有要求运行的进程进行优先级分析,并可能引起重新调度. |
系统调用时需要通过陷入机制,从用户态的调用程序转到核心态的被调用程序
由操作系统实现提供的所有系统调用所构成的集合叫程序接口或应用编程接口。是应用程序同系统之间的接口。其中,调用程序多次嵌套与递归是系统调用无法实现的功能。
一般过程调用在被调用过程执行完后,直接返回到调用程序;而系统调用在被调用过程执行完后,系统会对所有要求运行的进程进行优先级分析,若调用进程不具有最高优先级,则会引起重新调度,以便让优先级最高的进程优先执行,即系统会运行调度程序。
执行系统调用时可以采用多种方式传递参数:
利用陷入指令自带参数
利用通用寄存器传递参数
利用专用堆栈区传递参数
2.3.1 分类
进程控制类主要用于对进程的控制,如创建和终止进程、获得和设置进程属性的系统调用,
文件操作类主要用于对文件的操作,如创建、打开、关团、读写等系经调用,
进程通信类主要用于进程之间传递消息和信号,
设备管理类主要用干请求和释放有关设备,以及启动设备操作等。
信息维护类主要用于获得当前时间和日期,设置文件访问和修改时间,了解系统当前的用户数、操作系统的版本号、空闲内存和磁盘空间大小等系统调用。
3 进程线程模型
linux上进程有5种状态:运行状态、中断状态、不可中断状态、僵尸状态、停止状态。
线程操作pthread_yield表示线程让出CPU。
3.1 多道程序设计模型
采用多道程序设计技术可以提高CPU的利用率。提高I/O设备的利用率。提高计算机软硬件资源的利用率。
在多道程序设计系统中,下列能并行工作的是:CPU与外部设备
多道程序设计的含义是指:允许多个程序同时进入内存并运行
衡量多道程序设计系统效率的指标是系统吞吐量
3.2 程序的并发执行
1并发程序在执行期间具有相互制约关系:
2程序与计算不在一一对应,
3并发程序执行结果不可再现
4.并发程序的执行过程失去了封闭性
3.3 进程状态转换的模型
3.3.1 三状态进程模型
运行状态(Running) | 是指进程已获得CPU,并且在CPU上执行的状态(占用CPU 在一个单CPU系统中,最多只有一个进程处于运行态。 |
---|---|
就绪状态(Ready) | 指进程已具备除CPU(未获得CPU)以外的运行条件的状态 处于就绪状态的进程可以是多个 |
等待状态(Waiting) | 也称阻塞状态或封锁状态 指进程因等待某种事件发生而暂时不能运行的状态 系统中处于等待状态的进程可以有多个。 |
3.3.2 五状态进程模型![](https://img-blog.csdnimg.cn/img_convert/861ca033b2e04a2bd6e08db94f519269.png#averageHue=#d9d7d7&id=UX241&originHeight=390&originWidth=1103&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
创建状态(New): | 进程占用处理机资源(占用CPU资源) |
---|---|
就绪状态(Ready) | 进程已获得除处理机外( 未获得CPU )的所需资源,等待分配处理机资源 |
运行状态(Rimning): | 由于进程等待I/O操作或进程同步等条件而暂停运行时处于阻塞状态. |
阻塞状态(Blocked) | 进程正在创建过程中,还不能运行。 |
结束状态(Exit) | 进程已结束运行,回收除进程控制块之外的其他资源,并让其他进程从进程控制块中收集有关信息 |
3.3.3
七状态进程模型
七状态进程模型把原来的就绪状态和阻塞状态进行了细分,增加了就绪挂起和阻塞挂起两个状态,这种做法的好处是:提高处理机效率、可为运行进程提供足够内存、有利于调试
3.4 进程的状态转换
- 在抢占式调度系统中,进程从运行状态转换为就绪状态的可能原因是:
1.被调度程序抢占处理机
2.进程创建完成
3.时间片用完
- 进程从就绪状态转换为运行状态
1.该进程创建完成进入就绪队列并具有最高优先级
3.5 进程的多种特性
并发性,
动态性,
独立性:一个进程是一个相对完整的资源分配单位
交往性:
异步性:每个进程按照各自独立的、不可预知的速度向前推进
3.6 PCB
为了便于管理,系统把所有的PCB用适当方式组织起来,大致有三种组织方式:线性方式、索引方式和链接方式。
PCB的内容可以分成调度信息和现场信息两大部分。
调度信息供进程调度时使用,描述了进程当前所处的状况,它包括进程名、进程号、存储信息、优先级、当前状态、资源清单、“家族”关系、消息队列指针、进程队列指针和当前打开文件等。(没有动态链接库)
现场信息刻画了进程的运行情况,只记录那些可能被其他进程改变的寄存器,如程序状态字、时钟、界地址寄存器等。
文件控制块FCB是系统为管理文件而设置的一个数据结构通常包括:文件名、文件号、用户名、文件地址、文件长度、文件类型、文件属性共享计数、文件的建立日期、保存期限、最后修改日期、最后访问日期、口令、文件逻辑结构、文件物理结构等等内容。(没有文件使用的次数)
为了实现对进程的管理,系统将所有进程的PCB排成若于个队列。通常系统中的队列分下三类:就绪队列、等待队列和运行队列(没有创建队列)
3.7 进程控制
3.7.1 进程控制原语
3.8 线程模型
线程是进程中的一个实体,是处理器调度和分派的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器、一组寄存器和栈) 。
3.8.1 线程的调度和切换速度
调度方式:采用抢占式和非抢占式两种
调度算法:时间片轮转法、优先权算法
切换方式:用户级线程切换是发生在一个应用进程和诸线程时间,切换无需通过内核,切换速度快
3.9 进程(线程)调度
创建进程、撤销进程、挂起进程、激活进程、阻塞进程、唤醒进程以及改变进程优先级
3.9.1 调度算法
3.9.1.1 先来先服务(FCFS)
3.9.1.2 最短作业优先(SJF)
3.9.1.3 最短剩余时间优先(SRTN)
3.9.1.4 最高响应比优先算法(HRRF)
3.9.1.5 轮转法(RR)
3.9.1.6 最高优先级算法(HPF)
3.9.1.7 多级反馈队列算法
是综合了先进先出调度算法、时间片轮转算法和可抢占式最高优先级算法的一种进程(线程) 调度算法。
3.9.1.8 最短进程优先
3.9.2 三个系统调度算法设计目标的比较
1.并对于运行批处理作业的大型计算中心,其调度算法的设计目标是:较大的吞吐量、较短的周转时间、较高的CPU利用率
2.对于交互式系统,其调度算法的设计目标是:较快的响应时间、较均衡的性能
3.对于实时系统,其调度算法的设计目标是:满足截止时间要求、满足可靠性要求
3.9.3 OS采用的作业调度算法
3.9.3.1 批处理系统
先来先服务、最作业优先、最短利余时间优先、响应比最高者优先
3.9.3.2 分时系统的调度算法
时间片轮转和多级反馈队列
3.10 C语言程序
sta = pthread create(&ptid, NULL, th pg, NULL);
1.pthread create函数的功能是创建一个线程,指定线程的入口函数为th pg新线程会运行th pg函数;
2.pthread yield函数的功能是释放CPU来运行另外一个线程
3.pthread_exit(线程th_f运行后正常退出)
4.pthread_join(线程th pg运行后等待一个特定的线程退出)
3.11 进程与线程的联系和区别
程序是指令、数据及其组织形式的描述,
进程是程序的实体;进程是由进程控制块、程序段、数据段3部分组成。每一个进程都有它自己的地北空间,一般情况下,包括文本区域,数据区域和堆栈。文本区域存储外理器执行的代码,数据区域有储变量和进程执行期间传用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。
4 并发与同步
进程同步是指多个进程中发生的事件存在某种时序关系,必须协同动作,相互配合,以共同完成一个任务。
例:一个进程在等待另一个进程向它发送消息
在打印数据时,读数据进程、处理数据进程和打印结果进程
汽车装配流水线上的各道工序
-
进程互斥是指由于共享资源所要求的排他性,进程间要相互竞争,以使用这些互斥资源。
| 解决办法 | 由竞争各方平等协商 |
| — | — |
| | 由管理者来协调竞争各方对互斥资源的使用 | -
计算机系统中资源共享的程度可分成三个层次: 互斥、死锁和饥饿。
| 相互感知的程度 | 交互关系 | 一个进程对其他进程的影响 | 潜在的控制问题 |
| — | — | — | — |
| 相互不感知(完全不了解其他进程的存在) | 竞争 | 一个进程的操作对其他进程的结果无影响 | 互斥、死锁、饥饿 |
| 间接感知(双方都与第三方交互,如共享资源) | 通过共享进行协作 | 一个进程的结果依赖于从其他进程获得的信息 | 互斥、死锁、饥饿 |
| 直接感知( 双方直接交互,如通信 ) | 通过通信进行协作 | 一个进程的结果依赖于从其他进程获得的信息 | 死锁、饥饿 | -
临界资源是指计算机系统中的需要互斥使用的硬件或软件资源,如外设、共享代码段、共享数据结构等。
-
进入区 :为了进入临界区使用临界资源,在进入区要检查可否进入临界区
-
临界区: 进程中访问临界资源的一段代码。
-
退出区: 将“正在访问临界区”标志清除。
-
剩余区: 代码中的其余部分。
-
在操作系统中采用的进程同步机制应遵循的准则:空闲则入、忙则等待、有限等待、让权等待。
4.1 信号量
4.1.1 P、V操作
P、V操作是典型的同步机制之一,可以用于线程,能够实现对临界区的管理要求,允许使用它的代码休眠,持有锁的时间可相对较长,实现起来简单。但一个信号量只能置一次初值,以后只能对之进行P操作或V操作。信号量机制功能强大,但使用时对信号量的操作分散,而且难以按制,读写和维护都很困难。核心操作P-V分散在各用户程序的代码中,不易控制和管理;一旦错误,后果严重,且不易发现和纠正。
4.2
进程通信
4.2.1 消息机制
在相互通信的进程之间设一公共区域,一组进程向该公共区域写,另一组进程从公共区域读,通过这种方式实现两组进程间的信息交换——共享内存
在内存中开辟若干区域,发送进程申请一个区域,并将信息送入,然后把它插入到接收进程的相应队列中,之后通知接收进程——消息缓冲
发送进程首先创建一个链接两个进程的通信机制,然后把信息送入该机制,发送进程和接收进程不直接建立联系,而接收进程可以在任何时刻从该机制中取走信息——信箱(套接字)
发送进程。创建好连接两个进程的/一个打开的/共享文件,然后写入数据流,接收进程在需要时可以从该共享文件读出数据,写入和读出数据的长度是可变的——管道通信
4.2.1.1 消息缓冲通信
消息缓冲通信: 利用内存中公用消息缓冲区实现进程之间的信息交换。
消息缓冲区 | 由消息长度、消息正文、发送者、消息队列指针组成的数据结构 | |
---|---|---|
消息队列 | 首指针m_q,一般保存在PCB中 | |
互斥信号量 | m_mutex初值为1,用于互斥访问消息队列,在PCB中设置 | |
同步信号量 | m_syn初值为0,用于消息计数,在PCB中设置 | |
发送消息原语send ( receiver,a) |
消息缓冲通信技术是由Hansen首先提出的,其基本想是:根据生产者消费者”原理,利用内存中公用消息缓中区实现进程之间的信息交晚。。大存中开辟了若干消息缓冲区,用以存放消息。当一个进程向另一个进程发送消息时,便由请一人消息缓中区,并把已准备好的消息关到缓中区,然后把该消息线冲区插入到接收进程的消息队列中,最后通知接收进程(在内存中开辟若干区域,发送进程申请一个区域,并将信息送入,然后把它插入到接收进程的相应队列中,之后通知接收进程)
4.2.1.2 信箱(套接字)通信
采用信箱通信的最大好处是,发送方和接收方不必直接建立联系,没有处理时间上的限制。
4.2.1.3 管道通信
管道是连接两个进程之间的一个打开的共享文件,专用于进程之间进行数据通信。
发送进程可以从管道一端写入数据流,每次写入的信息长度是可变的;
接收进程在需要时可以从管道的另一端读出数据,读出单位长度也是可变的。在对管道文件进行读写操作的过程中,发送进程和接收进程要实施正确的同步和互斥,以确保通信的正确性。
管道通信机制中的同步与互斥都由操作系统自动进行,对用户是透明的。
管道通信具有传送数据量大的优点,但通信速度较慢。
4.2.1.4 共享内存通信
在相互通信的进程之间设有一个公共内存区,一组进程向该公共内存中写,另一组进程从公共内存中读,通过这种方式实现两组进程间的信息交换。
当采用共享内存方式进行进程间通信时,在相与通信的进程之间要设有一个公共内存区,在公共内存区中要实现两组进程间的信息交换,要设置互斥信号量和同步信号量以解决读写互斥的问题。(内存块号不是通信双方所必须的)
4.3 管程
4.3.1 主要特性
模块化 | 一个管程是一个基本程序单位,可以单独编译 |
---|---|
抽象数据类型 | 管程是一种特殊的数据类型,其中不仅有数据,而且有对数据进行操作的代码 |
信息隐蔽 | 管程是半透明的,管程中的外部过程(函数实现了的功能,在其外部则是不可见的。 |
4.3.2 Pthread中的互斥与同步
- 解决线程互斥问题的基本思想是使用一个可以加锁和解锁的互斥量来保护临界区。
| 一些与互斥量相关的Pthread调用 | |
| — | — |
| 线程调用 | 描述 |
| pthread mutex init | 创建一个互斥量 |
| pthread mutex destrov | 撤销一个已存在的互斥量 |
| pthread mutex lock | 获得一个锁或阻塞 |
| pthread mutex trylock | 获得一个锁或失败 |
| pthread mutex unlock | 释放一个锁 |
解决线程互斥问题的基本思想是使用一个可以加锁和解锁的互斥量来保护临界区。
一些与条件变量相关的Pthread调用 | |
---|---|
线程调用 | 描述 |
pthread cond init | 创建一个条件变量 |
pthread cond destroy | 撤销一个条件变量 |
pthread cond wait | 阻塞以等待一个信号 |
pthread cond signal | 向另一个线程发信号来唤醒它 |
pthread cond broadcast | 向多个线程发信号来让它们全部唤醒 |
- 条件变量与互斥变量一起使用的模式:让一个线程锁住一个互斥量,如果该线程不能获得它期望的结果时,则等待一个条件变量,最后另一个线程会向它发出信号,使它继续执行。
4.4 进程互斥的软件方法
4.4.1 银行存款程序题
4.5 生产者-消费者模型
生产者和消费者之间必须互斥
生产者和生产者之间必须互斥
生产者和消费者之间必须同步
在经典的多个生产者-消费者模型中,生产者之间会对缓冲区和临界资源进行竞争,所以生产者和生产者之间存在互斥关系在生产产品和消费产品的时候,会出现供大于求(暂缓生产,努力消费)或供不应求(努力生产,暂缓消费)的现象,所以生产者和消费者之间存在同步关系。对干环形缓冲池的临界资源,生产者和消费者都要使用,所以生产者和消费者之间地存在与反关系,
5 内存管理
存储管理方案:
固定分区、
可变分区:可以满足多道程序设计且设计上又最简单,采用移动技术解决碎片问题。
页式:不能采用移动技术解决碎片问题,使内存的利用率较高且管理简单
虚拟页式:允许动态扩充内存容量
采用动态地址映射方式向内存装入程序时,其地址转换工作是在移动程序时刻完成的
在内存分区管理中,内存紧缩可以将零碎的空闲区集中为一个大的空闲区
每个进程在得到处理机运行前,必须首先进行部分装入内存
链接:将多个目标程序装配成可运行的程序的过程。
重定位:将逻辑地址转化为内存物理地址的过程。
动态重定位:在装入程序时,先直接把程序装入到所分配的内存区域中,然后在程序执行过程中,每当执行一条指令时再由硬件地址转换机构将指令中的逻辑地址转换成物理地址。保证一个程序在执行时即使被改变了存放区域后仍能正确执行,可以采用这一技术
静态重定位:在装入一个程序时,把程序中的指令地址和数据地址经过计算,全部转换成物理地址后再装入物理内存
最先适应算法:从序号1依次往下,
下次适应算法:从指针停留的序号往下
最优适应算法:找最优的null
最坏适应算法:找最坏的null
简单页式存储管理方案中,若地址用m个二进制位表示,其中页内地址部分占n个二进制位,m-n位用于描述页面编号,所以最大允许进程有2^(m-n)个页面。
在采用页式存储管理方案的系统中,逻辑地址用32位表示,内存分块大小为210。则用户程序最多可划分成232/210=222页
在虚拟页式存储管理系统中,假设内存按字节编址。系统采用20个二进制位表示虚拟地址,页内地址占用12个二进制位,那么页号占用8个二进制位,所以每个页面的大小是212个字节,程序可允许有28个页面
在虚拟页式存储管理系统中,假设内存按字节编址。若系统采用20个二进制位表示虚拟页号,页内地址部分占用12个二进制位,那么页号占用32个二进制位,所以每个页面的大小是212个字节,程序可允许有232个页面。
某页式存储管理系统中内存按字节编址。若系统采用24位二进制位表示逻辑地址,其中页内地址部分占用10个二进制位,那么页号占用14个二进制位,所以每个页面的大小是214个字节,允许一个进程最大有214个页面。(多少个页面看页号,页号=地址-页内地址)
某页式存储管理系统中内存按字节编址。若系统采用24位二进制位表示逻辑地址,其中页内地址部分占用10个二进制位,那么页号占用14个二进制位,所以进程最大的页面是214,每个页面的大小是210个字节,允许一个进程最大有2^24个字节。(页面大小看页内地址,进程最大页面看页号)
页式存储管理方案中,每一个地址可以访问4个字节。地址采用24个二进制位表示,且页内地址部分占10个二进制位,那么页号部分占14个二进制位,则每个页面有2 10个字节,进程最大的页面为214个,则允许进程最大可以有210*2^14=2 24个字节,每一个地址可以访问4个字节,则允许进程最大可以有224*4=226个字节。
简单页式存储管理的方案中,每一个地址访问4个字节。地址采用64个二进制位表示,且页内地址部分占12个二进制位,那么页号部分占52个二进制位,则每个页面有212个字节,进程最大的页面为252个。因为每一个地址可以访问4个字节,则进程最大的页面为25^2/4=250个。
5.1 地址转换
5.1.1 地址重定位
存储器以字节(每个字节为 8个二进制位)为编址单位,每个字节都有一个地址与其对应,这些地址称为内存的“绝对地址”,与绝对地址对应的内存空间称为“物理地址空间”。
用户程序中使用的地址称为“逻辑地址”,与逻辑地址对应的存储空间称为“逻辑地址空间”。
把逻辑地址转换成绝对地址的工作称为“地址重定位"或“地址转换”,又称“地址映射”地址转换由硬件完成。
重定位的方式有“静态重定位”和“动态重定位”两种
5.1.2 静态重定位
静态重定位的地址转换工作是在程序开始执行前集中完成的,在程序执行过程中就不再进行地址转换工作。
5.1.3 动态重定位
动态重定位:在装人程序时,不进行地址转换,而是直接把程序装入到分配的内存区域中。在程序执行过程中,每当执行一条指令时都由硬件的地址转换机构将指令中的逻辑地址转换成绝对地址。
采用动态重定位时,装人内存的程序保持原来的逻辑地址,可改变程序在内存中的存放区域。
程序在内存中被移动位置后,只要把新区域的起始地址代替原来在基址寄存器中的值,程序仍可正确执行。
采用动态重定位的系统支持“程序浮动”
5.1.4 内存分配表
组织方式 | |
---|---|
位示图表示法 | 用一位( Bit)表示一个空闲页面( 0表示空闲,1表示占用) |
空闲页面表 | 包括首页面号和空闲页面个数,连续若干页面作为一组登记在表中 |
空闲块表 | 空闲块首址和空闲块长度,没有记录的区域即为进程所占用 |
5.2 分区存储管理方案
5.2.1 概述
5.2.2 固定分区
5.2.3 可变分区
5.2.4 优缺点
5.2.5 覆盖技术
5.2.6 交换技术
5.3 页式存储管理方案
5.3.1 页表
5.4 虚拟页式仓储管理方案
使用虚拟页式存储管理时,需要在页表中增加: 页号、有效位(留位),页框号、访问位、修改位、保护位、禁止缓存位等,
有效位决定是否产生缺页中断
其中某进程运行时若将磁盘中的一个页面调入内存,对应页表表项中的内存块号、驻留位和访问位修改。
在虚拟页式存储管理系统,调入策略、置业策略、置换策略与页面调度有关
当系统采用虚拟页式存储管理方案时,需要处理:
运行时决定将哪些页面装入内存
运行中无空闲页框时选择置换掉某些页面
将暂时不需要的页面清除出内存
将进程按页框大小划分为页面创建交换分区暂存换出的页面
页框的分配置换策略:
固定分配局部置换
可变分配全局置换
可变分配局部置换
够加快虚拟页式存储管理系统中虚-实地址转换的速度:添加快表、以2的幂次方的页面长度分页
5.4.1 页面置换算法
5.4.1.1 先进先出页面置换算法(FIFO)
思想:总是选择最先装入内存的一页调出,或者说是把驻留在内存中时间最长的一页调出。
看调入内存时间
5.4.1.2 最近最少使用页面置换算法(LRU)
思想: 选择距离现在最长时间内没有被访问过的页面先调出。
看访问位为0,修改位
5.4.1.3 最近最不常用页面置换算法(LFU)
思想: 根据在一段时间里页面被访问次数少的页面调出。
看T时间内访问次数
5.4.1.4 理想页面置换算法(OPT)
思想: 置换以后不再需要的或者在最长时间以后才会用到的页面
5.4.1.5 最近未使用页面置换算法 (NRU)
思想: 随机地从类编号最小的非空类中挑选一个页面淘汰之。
看访问位和修改位
5.4.1.6 第二次机会页面置换算法
思想: 寻找一个最近的时钟间隔以来没有被访问过的页面。
5.4.1.7 时钟页面置换算法 (Clock)
思想:把所有的页面都保存在一个类似时钟面的环形链表中,一个表针指向最老的页面。
5.4.2 硬件支持
系统有容量足够大的外存(容量足够大的磁盘)
系统有一定容量的内存:
最主要的是,硬件提供实现虚-实地址映射的机制
缺页中断处理机制
页表
5.5 段式与段页式存储管理方案
6 文件管理
打开文件时,系统主要完成以下工作:根据文件路径名查目录,找到FCB主部:
根据打开方式,共享说明和用户身份检查访问合法性
根据文件号查系统打开文件表,看文件是否已被打开,
在用户打开文件表中取一空表项,填写打开方式等,并指向系统打开文件表对应表项。系统返回用户文件描述符fd,用于以后读写文件。
扫描调度算法又称(电梯调度法)是计算机磁盘动调度的一种方法。扫描算法SCAN)不仅考虑到欲访问的磁道与当前磁道的距离,更优先考虑的是磁头的当前移动方向。当磁头正在由里向外移动时,SCAN算法所洗择的下一人访问对象应是其欲访问的磁道,既在当前磁道之外,又是距离最近的。
6.1 文件的物理结构
6.1.1 顺序结构
优点 | 文件的逻辑块号到物理块号的变换简单 |
---|---|
优点 | 支持顺序存取和随机存取、查找文件的速度较快 |
缺点 | 文件不能动态增长( 顺序结构分物理块必须是连续的 ),磁盘空间出现的碎片较多 |
6.1.2 链接结构
文件的链接结构实质是为每个文件构造所使用磁盘块的链表,使用链接结构的文件,将逻辑上连续的文件分散存放在若干不连续的物理块中。在每个物理块中都设有一个指针,该指针指向其后续的物理块。
Windows 的 FAT 文件系统采用的是链接结构,但将所有指针集中存放
优点 | 解决了顺序存储结构的存储碎片问题 |
---|---|
有利于文件动态扩充,有利于文件和删除,提高了磁盘空间利用率。 | |
缺点 | 存取速度慢,不适于随机取文件。 |
磁盘的磁头移动效率相对较低 | |
存在文件的可靠性问题 比如指针出错,文件也就出错了 | |
链接指针需要占用一定的空间 | |
物理块不连续分配(分散分布,寻道次数和寻道时间更多 |
6.1.3 索引结构
索引结构的优点由:文件的逻辑号到物理块号的变换简单,既适用于顺序存取,也适用于随机存取:文件内容可以很容易动态增加:文件检索的查找速度较快,
缺点是索引表本身增加了存储空间的开销,存储空间利用率不高
6.1.4 I节点结构
I节点是一种多级索引文件结构,在一般多级索引结构文件的基础上,进行了结构上的变化,克服了索引结构的缺点。
I节点的基本思想:给每个文件赋予一张称为|节点的小表,在这张小表中列出了文件属性和文件中各块在磁盘上的地址。
6.2 文件的逻辑结构
6.2.1 定长记录结构
6.2.2 流式结构
编译后的目标代码文件采用此结构
通常二进制可执行文件采用此结构
6.2.3 不定长记录结构
6.2.4 索引顺序结构
6.3 文件系统表目
6.3.1 系统打开文件表
该表是操作系统为每一个打开的文件保存的一个数据结构
该表保存了文件控制块中的信息
该表中必须记录是否有多个进程打开了同一个文件
该表格的内容必须是可被修改的,用来随时记录文件的打开和关闭状态
系统打开文件表专门用于保存已打开文件的文件控制块。
该系统打开文件表放在内存,在该表格中还保存有已打开文件的文件号、共享计数、修改标志等用户打开文件表
6.3.2 用户打开文件表
在每个进程中都有一个“用户打开文件表”,该表的内容有文件描述符、打开方式、读写指针、系统打开文件表入口等。
6.4 文件分类方式
按文件的保护方式可划分为: 只读文件、读写文件、可执行文件、无保护文件等. |
---|
按信息的流向分类可划分为 : 输入文件、输出文件和输入输出文件等 |
按文件的存放时限可划分为 : 临时文件、永久文件和档案文件等 |
按文件所使用的介质类型分类可划分为: 磁盘文件、磁带文件、卡片文件和打印文件等 |
按文件的组织结构划分为: 用户组织的文件称逻辑文件( 可采用流式文件和记录式文件两种组织方式 )。 |
按文件的组织结构划分为 : 存储介质上,如顺序文件、链接文件和索引文件等 |
6.5 文件的操作
6.5.1 创建文件
进程在创建文件的过程:检查参数合法性、检查重名、查找FCB空闲位置、填写FCB
6.5.2 打开文件
6.5.3 读文件
6.5.4 写文件
6.5.5 关闭文件
进程关闭文件的过程:查找文件、修改FCB相关内容、置FCB相关内容、写回磁盘
6.5.6 删除文件
查找文件,检查删除合法性,收回FCB资源,收回文件存储空间
6.5.7 指针定位
7 I/0设备管理
设备管理中,为了管理和分配设备建立了一个数据结构,通常称为设备表。它的作用:建立逻辑设备与物理设备之间的对应关系
按设备的使用特性分类 | |||
---|---|---|---|
I/O设备 | 存储设备 | ||
I/O设备是计算机与外部世界交换信息的设备(将模拟信号转换成数字信号) | 输入设备是计算机用来接受指令和数据等信息的设备 | 输出设备是计算机用来传送处理结果的设备 | 存储设备是计算机用来存放信息的设备 |
传感器、传动器、模拟/数字转换器数字/模拟转换器、调制解调器、网络适配器( 网络接口卡 ) | 常用的输入设备 : 键盘、鼠标、扫描仪 | 常用的输出设备: 显示器、打印机、绘图仪 | 磁带、磁盘、光盘、U盘、硬盘 |
通信控制器可以连接的设备主要是数据通信设备,数据通信设备是指数据通信系统中交换设备、传输设备和终端设备的总称。数据传输设备主要包括网终适配器、网络收发器、集线器(串行控制端口) 、调制解调器(分基带和频带两种)、数据服务单元、时分复用器等。光笔和数字化仪都是属于输入设备控制器连接的设备。
按信息组织方式来划分设备 | ||||
---|---|---|---|---|
字符设备 | 块设备 | |||
键盘、终端、打印机等以字符为单位组织和处理信息的设备 | 以字符为单位发送或者接收字符流,而不存在任何块结构 | 不可寻址,所以没有任何寻址操作 | 磁盘磁带等以数据块为单位组织和处理信息的设备 | 能够随时读写其中的任何一块而与所有别的块无关 |
按设备的共享属性分类 | ||
---|---|---|
共享设备 | 独占设备 | 虚拟设备 |
指在一段时间内允许多 个进程使用的设备,典 型的共享设备有磁盘 | 指在一段时间内只允许一个进程使用的设备,典型的独占设备是打印机、扫描仪、时钟发生器、绘图机、读卡器 | 指利用虚拟技术把独占设备改造成可由多个进程共享的设备,SPOOLing系统是种非常重要的虚拟设备技术。 SPOOLing技术是一种同时的外围设备联机操作技术,通常称为“假SPOOLing系统的3大组成部分: 输入井和输出井、输入缓冲和输出缓冲、输入进程SPi和输出进程SPo。 |
7.1 设备管理的主要任务:
- 通过缓冲技术匹配高、低速设备
- 通过虚拟技术提高设备并发度(不是并行性)
- 通过协调技术避免设备冲突
- 通过接口技术为用户提供一致的系统调用。与设备无关的系统软件的作用是为用户进程提供一个管理I/O功能的接口。
- 通过中断技术提高设备效率(采用中断技术进行设备控制管理,可以做到CPU和外设在大部分时间内并行工作,有效地提高了计算机的效率)
CPU性能越高,I/O设备性能同CPU性能不匹配的反差也越大。操作系统主要是通过缓冲技术、中断技术、和虚拟技术解决这个问题
设备管理的任务是向操作系统其他部分
1.提供易于使用的接口,
2.匹配不同速度的外部设备(匹配设备性能)
3.保证系统安全正确地使用设备,
4.对独立设备的分配和回收。
需要设备管理模块完成的工作是
将串行输入数据转换为并行数据
将键盘输入信息送入内存
进程申请使用绘图仪
在操作系统的IO管理中,缓冲池管理中着重考虑的是实现进程访问缓冲区的同步。
I/O管理软件将设备管理软件从上到下分成的四个层次分别为
- 用户层软件(用户应用层)
2.设备无关的软件层(设备驱动层):主要功能(1) 统一命名(2) 设备保护(3)提供与设备无关的逻辑块(4) 缓冲(为设备提供缓冲空间)(5) 存储设备的块分配(提供存储读写的物理块)(6) 独占设备的分配和释放(7) 出错处理(对用户屏蔽出错来源)
3.设备驱动程序(设备独立层):屏蔽了IO设备驱动的多样性,便于用户使用
4.中断处理程序(中断处理层)
可以采用如下各种技术以提高IO性能:
- 通过应用缓冲技术,解决传输速度差异的问题。缓冲区:单缓冲区,双缓冲区,缓冲池
- 通过应用异步I/O技术,使CPU不必等待I/O的操作结果。
- 通过应用DMA和通道部件,使CPU与这些部件能够并行执行。
- 通过应用虚拟设备技术,减少进程阻塞时间,提高独占设备的利用率。
进程出现饥饿现象是指:进程的优先级较低而长时间得不到调度
当用户使用外部设备时,其控制设备的命令传递途径依次为:用户应用层——设备独立层——设备驱动层——设备硬件
计算机I/O系统硬件结构主要包含:适配器和接口部件、设备控制器、设备硬件3部分组成,中央处理器及主存不是I/O系统的成分。
计算机I/O系统的软件由一系列按照特定顺序组织的计算机数据和指令的集合。主要包含:中断处理程序、设备驱动程序、与设备无关的操作系统软件、用户级软件。
内存属于可重用资源,时钟中断属于可重用资源
- 设备分配时需要考虑公平性、共享性等多种因素,所以设备分配策略主要包括:先来先服务、高优先级优先
7.2 典型的I/O技术
7.2.1 缓冲技术
缓存技术是以空间换时间,而且它只能在设备使用不均衡时起到平滑作用
7.2.2 设备分配技术
7.2.2.1 设备分配算法的数据结构:
系统设备表 SDF:在整个系统中只有一张,全面反映了系统中的外设资源的类型、数量、占用情况等。
设备控制表 DCT:系统中的每台设备都有一张设备控制表,体现了设备的各方面特征及与该设备相连的设备控制器的情况,并保存了控制器块的入口位置。
控制器控制表 COCT:每个控制器都有一张控制器控制表 COCT,用于登录某控制器的使用分配情况及与该控制器相连的通道的情况。通道控制表 CHCT: 系统中的每个通道都有一张 CHCT,主要反映了通道的情况
7.3 I/O 设备数据传送控制方式
7.3.1 程序直接控制方式
用户进程在等待键盘输入命令时,不断检测状态寄存器的完成位是否为1,该IO设备控制方式称为程序直接控制方式
设备触发器不是其组成部件,需要
1.设备状态寄存器、
2.地址总线和数据总线、
3.设备控制寄存器、
4.设备数据缓冲区(数据寄存器)和
5.地址译码器。
程序直接控制方式是指由用户进程直接控制内存或CPU和外围设备之间进行信息传送的方式 。当用户进程需要从外围设备输入数据时,它通过CPU发出启动设备准备数据的启动命令(通常是把一个启动位为1的控制字通过数据总线写入设备的控制寄存器中)。然后用户进程进入测试等待状态。在等待时间,CPU不断地用一条测试指令检查设备的状态寄存器是否为完成状态(通常是检测状态寄存器的完成位是否为1)。而外围设备只有将输入数据送入数据缓冲寄存器之后,才将该寄存器置为完成状态。当CPU检测到设备的状态寄存器为完成状态,则从设备的数据缓冲寄存器读取数据到内存或CPU。
7.3.2 中断控制方式
CPU与外设在大部分时间内并行工作。当CPU启动外设后,不需要去查询其工作状态,可继续执行主程序,该IO设备控制方式称为中断控制方式
状态触发器不是其组成部件,需要:中断控制器、地址总线和数据总线、设备控制器
中断控制方式的处理过程如下:
1.CPU通过数据总线发出命令,启动外设工作,当前进程阻塞,调度程序调度其他进程:
2)外设数据准备好,置位中断请求触发器;
3)若此时接口中断屏蔽触发器状态为非屏蔽状态,则接口向CPU发出中断请求IR)
4)CPU接受中断请求(设备控制器的功能) ,且中断为允许中断状态,则中断判优申路工作:
5)中断判优电路对优先级最高的中断请求给予响应(INTA) ,CPU中断正在执行的其他进程,转而执行中断服务程序。所以其组成部件主要有中断请求寄存器、数据寄存器、地址寄存器、触发寄存器和控制寄存器。
7.3.3 DMA方式
控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和I/O设备之间进行,这种IO设备控制方式称为DMA方式
通道触发器不是其组成部件,需要:DMA控制器、地址总线和数据总线
7.3.4 通道控制方式
系统引入一个不同于CPU的特殊功能处理单元,它有自己的指令和程序,可以实现对外围设备的统一管理和外围设备与内存之间的数据传送,该I/O设备控制方式称为通道控制方式
源地址触发器不是其组成部件,需要:通道控制器、设备控制器、通道程序代码与地址总线和数据总线。
按照信息交换方式的不同,一个系统中可以设立三种类型的通道: 设备(数据)选择通道、数组多路通道和字节多路通道;(没有顺序通道)
通道具有以下功能:
(1) 接受CPU的指令,按指令要求与指定的外围设备进行通信;
(2)从内存读取属于该通道的指令,并执行通道程序,向设备控制器和设备发送各种命
(3) 组织外围设备和内存之间进行数据传送、并根据需要提供数据缓存的空间,以及提供数据存入内存的地址和传送的数据量。
(4) 从外围设备得到设备的状态信息,形成并保存通道本身的状态信息,根据要求将这些状态信息送到内存的指定单元,供CPU使用。
(5) 将外围设备的中断请求和通道本身的中断请求,按序及时报告CPU。
8 死锁
对于系统中的独占设备,为预防出现死锁。应采用的最佳分配策略是:静态分配,分配时加锁
判断发生死锁的依据主要看系统中进程和资源数量是否都大于等于2,同时满足大于等于2的条件,则有可能会发生死锁
当且仅当当前状态的资源分配图是不可完全化简的
8.1 概念
死锁:相关进程进入阻塞状态,且无法唤醒
活锁:相关进程没有阻塞,可被调度,但是没有进展
饥饿:相关进程没有阻塞,但是调度被无限推后
按照资源的使用性质,一般把系统中的资源分成两类
永久性资源 (可重用资源): 是指系统中那些可供进程重复使用、长期存在的资源。
临时性资源(消耗性资源):是指由某个进程所产生、只为另一个进程使用一次或经过短暂时间后便不再使用的资源。
死锁避免的概念
基本思想:系统对进程发出的每一个系统能够满足的资源申请进行动态检查并根据检查结果决定是否分配资源;如果分配后系统可能发生死锁,则不予分配,否则予以分配
死锁避免和死锁预防的区别:
死锁预防: 设法至少破坏产生死锁的四个必要条件之一,严格地防止死锁的出现。
死锁避免:不严格地限制产生死锁的必要条件的存在,在系统运行过程中注意避免死锁的最终发生。
如何避免死锁 :
允许进程动态的申请资源(系统需提供某种方法在进行资源分配之前先分析资源分配的安全性)
对于永久资源而言,产生死锁的必要条件如下: | |
---|---|
互斥条件 | 资源是独占的且排他使用 |
不可剥夺条件 | 又称不可抢占或不可强占获得资源的进程自愿释放 |
请求和保持条件 | 又称部分分配或占有申请在申请新的资源的同时,继续占用已分配到的资源。 |
循环等待条件 | 又称环路等待,前一个进程占有后一个进程所请求的资源。 |
1)破坏“互斥条件”:可以通过采用假脱机(SPOOLing) 技术,允许若干个进程同时输出;
2)破坏“不可剥夺”条件:如果资源没有被等待进程占有,那么该进程必须等待,在其等待过程中,其资源也有可能被剥夺:
3)破坏“请求和保持”条件: 可以采用静态分配资源策略,将满足进程条件的资源一次性分配给进程,也可以采用动态资源分配,即需要资源时才提出申请,系统在进行分配;
4)破坏“循环等待”条件: 进程申请资源时,必须严格按照资源编号的顺序进行,否则系统不予分配。
死锁解除法可归纳为两大类:
1)剥夺资源:使用挂起/激活机制挂起一些进程,剥夺它们占有的资源给死锁进程,以解除死锁。经常使用的方法有还原算法和建立检查点。
2)撤销进程: 撤销死锁进程,将它们占有的资源分配给另一些死锁进程,直到死锁解除为止。撤销代价的标准有进程优先数、进程类的外部代价和运行代价,即重新启动进程并运行到当前撤销点所需要的代价。
8.2 死锁避免
使用银行家算法属于死锁避免的算法。
8.3 死锁预防
按照资源有序分配策略分配资源,破坏了循环等待条件,属于死锁预防。
一次性分配所需要的资源:是每个进程必须在开始执行前就申请它所需要的全部资源,仅当系统能满足进程的资源申请要求且把资源一次性分配给进程后,该进程才能开始执行。破坏了请求和保持条件,属于死锁预防。
8.4 死锁检测与恢复
杀死进程并收回其占有的资源可用于——死锁检测与恢复。
定时为进程设置还原点,若运行受阻则退回还原点——死锁检测与恢复
系统允许部分进程发生死锁,通过定时运行资源分析程序并报告是否已有死锁的方法——死锁检测
8.5 安全与不安全状态
死锁状态一定是不安全状态
8.6 题目
8.6.1 交叉路口发生死锁
为了预防死锁,可以在路口使用交通红绿灯——请求和保持条件
为了预防死锁,可以在交叉路口建设立交桥——互斥条件
为了预防死锁,可以在路口设置了黄色网格缓冲区,车辆可以倒车退出路口——不可剥夺条件
为了预防死锁,可以将路口某一方向(南北或东西方向)道路实行单向行驶——循环等待条件
8.6.2 哲学家进餐
预防死锁
仅当某哲学家左右两边的筷子都可用时,才允许他取筷子
最多允许4个哲学家可以同时申请进餐
给所有哲学家顺序编号。奇数号的哲学家先取左边的筷子,偶数的则先取右边的筷子
给其中某一个哲学家增配1只筷子
为每位暂学家的左右两只筷子各设置一个信号量,哲学家同时对两个信号量执行P、V操作
恢复死锁
某一位哲学家主动放下右手的筷子
某哲学家暴力夺取邻近哲学家的筷子
打破了“互斥”条件
为每个哲学家提供一双专用筷子
8.6.3 进程P1/P2
P1拥有设备 A,请求设备 B; P2 拥有设备 B,请求设备 A——申请不同资源产生的死锁
P1 申请一页内存,P2 申请一页内存:P1 释放一页内存,P2 释放一页内存——是申请同类资源导致的死锁
P1 和 P2 先进行互斥信号量 P 操作,再进行同步信号量 P 操作——进程同步与同步互斥机制(PV操作)使用不当产生的死锁
P1 等待接收 P2 发来的信件 Q 后向 P2 发送信件 R,P2 等待接收 P1 发来的信件 R 后向 P1 发送信件 Q——对临界性资源的使用不加限制而引起的死锁
8.6.4 读者-写者经典模型
若读者源源不断涌入,写者进程可能会发生饥饿
9 网络技术基础
9.1 网络发展阶段
对计算机网络发展具有重要影响的广域网是ARP ANET,主要研究成果分组交换技术,
分为两个部分:通信子网和资源子网。最初运行时包括4个节点,选择这四个结点的一个因素是考虑到不同类型主机联网的兼容性,利用了无线分组交换网和卫星通信网
第一阶段的主要成果是计算机技术与通信技术的结合
第二阶段的主要成果是ARPANET与分组交换技术的结合
第三阶段的主要成果是网络体系结构与网络协议的标准化
第四阶段的主要成果是互联网、无线网络与网络安全技术的发展
9.2 网络类别
个人区域网络(PAN)主要满足用户自身附近10米范围内的个人操作空间移动数字终端设备联网的需求;6LoWPAN,Bluetooth,ZigBee
局域网(LAN)用于将有限范围内(例如一个实验室、一幢大楼、一个校园) 的各种计算机、终端与外部设备互连成网,Token Ring,Token Bus,Ethernet
城域网(MAN)用于覆盖50~100KM的城市范围,实现数据高速传输,综合业务数据传输网,FDDI可用于城域网组网,以光纤作为骨干传输线路
广域网(WAN) 又称为远程网,覆盖的地理范围从几十千米到几千千米,覆盖一个国家、地区或横跨几个洲形成国际性的远程计算机网络。常采用网状拓扑结构,通常采用分组交换技术。
无线网状网(WMN)
无线局域网(WLAN)
9.2.1 无线自组网 (Ad hoc)
无线自组网 (Ad hoc) 基本特征主要有以下几个方面:节点可移动、基于基础设施、节点关系对等。
独立基本服务集(IBSS) 是指以自组网方式组成的移动无线网络——Ad hoc.
自组织与自修复:Ad hoc不需要任何预先架设的无线通信基础设施,所有主机通过分层的协议体系与分布式路由算法,协调相邻无线主机之间的通信关系。不需要任何预先:
无中心: Ad hoc是一种对等结构的网络。网络中所有主机的地位平等,没有专门的路由器。
多跳路由:由于每个主机的无线发射功率的限制,因此每个主机的覆盖范围都有限。在覆盖范围之外的主机之间通信,必须通过中间主机,以多跳转发方式来完成。
动态拓扑,由于Ad hoc允许无线主机根据自己的需要开启或关闭,并日允许主机在任何时间以任竟速度和在任何方向上移动,同时受主机的接收信号灵敏度、天线覆盖的范围、主机的地理位置与主机之间障碍物遮挡,以及信号多径传输、信道之间干扰等因素的影响,使得主机之间的通信关系会不断地变化。造成Ad hoc的拓扑的动态改变。因此,为了保证Ad hoc网络的正常工作,就必须采取特殊的路中协议与实现方法。
9.2.2 无线传感器网(WSN)
无线传感器网络(WSN)是一种分布式传感网络,它的末梢是可以感知和检查外部世界的传感器。一种特殊的无线自组网
WSN中的传感器通过无线方式通信,因此网络设置灵活,设备位置可以随时更改,还可以跟互联网进行有线或无线方式的连接。通过无线通信方式形成的一个多跳自组织的网络。
无线传感网在国际上被认为是继互联网之后的第二大网络。
特征:网络节点主要是传感器、自组织形成网络、拓扑结构可变、数据可多跳传输
9.2.3 总线局域网
总线型局域网的特点如下:1)所有结点都通过网卡连接到作为公共传输介质的总线上。2)总线通常采用双绞线或同轴电缆作为传输介质。3)所有结点可以通过总线发送或接收数据,但是一段时间内只允许一个结点通过总线发送数据。结点之间按广播方式通信,一个结点发出的信息,总线上的其他结点均可“收听”到。
9.3 网络拓扑
环中将沿一个方向使用令牌逐站传送,环维护工作比较复杂
9.4 网络定义(描述)
在计算机网络发展的不同阶段,人们对计算机网络有不同的定义,这些定义主要分为3 类:广义、资源共享与用户透明性。其中资源共享的定义符合当前计算机网络的基本特征,主要表现为3点:
建立计算机网络的主要目的是实现计算机资源的共享;
互联的计算机是分布在不同地理位置的多台独立的“自治计算机”,互联的计算机之间没有明确的主从关系。
联网计算机之间的通信必须遵循共同的网络协议。(网络结点之间通信需遵循共同协议)
多个网络结点可协同完成某项任务
9.5 操作系统
Windows:是微软开发的一系列,闭源商用系统。Windows for Workgroup操作系统是种对等式结构的操作系统,但是它并没有摆脱DOS束缚,严格来说并不是一种操作系统。Windows NT采用客户机/服务器的工作模式。Windows 2003是基于Windows 2000的用于服务器的操作系统。2000年微软发布Windows 2000操作系统,2001年推出Windows XP系统。Windows操作系统标准化基于POSIX。
Unix:IBM公司的AIX系统、Sun公司的Solaris系统、HP公司的HP-UX,分时多用户,第一个版本用汇编语言编写,COSE组织致力于Unix标准化,主要用于服务器端
Linux:Mankdrake 、SUSE、 TurboLinux、 Caldera、 Ubuntu、 Debian、RedHat、Slackware
Linux操作系统是一种典型的操作系统,适合作为Internet服各平台,它具有价格低、源代码开放、安装配置简单的特点;不同厂商的Linux版本只是Linux操作系统的发行版,它们采用的核心部分都是某个版本的Linux内核;Linux操作系统虽然与Unix系统相似,但是它并不简单是Unix系统的变种,设计者编写内核代码时只是仿效Unix,并没有采用相同的内核.
9.6 数据传输计算
数据传输速率是每秒钟传输构成数据的二进制比特数,单位为比特/秒(bit/s)
1kbps≈110^3bps
1Mbps≈110^6bps
1Gbps≈110^9bps
1Tbps≈110^12bps。
9.6.1
例题
9.7 数据报与虚电路
分组交换技术分为两类:数据报和虚电路
1.虚电路方式数据传输:建立源节点到目的节点之间的逻辑连接,一次通信分组中不必携带目的地址、源地址等信息。
2.数据报方式:
不需要建立源主机和目的主机之间的“线路连接”,
数据分组在传输过程中都必须带有目的源地址与目的地址。
同一报文的不同分组可以经过不同的传输路径通过通信子网(错误:数据报交换可以保证同一报文的不同分组顺序到达接收方)
同一报文的不同分组可以到达目的结点可能出现乱序、重复与丢失现象
数据报方式的传输延迟较大,适用于突发性通信,不适于长报文、会话式通信
需进行存储转发。
3.线路交换需要在通信双方之间预先建立物理连接
9.8 OSI与TCP|IP
OSI即开放式系统互联参考模型,定义了网络互联的7层框架,划分层次的基本原则是:
网络中的各个节点都有相同的层次:
不同节点的同等层都具有相同的功能:
同一个节点内部的相邻层之间通过接口来通信;
每层使用其下层提供的服务,并向其上层提供服务;不同节点的同等层根据协议来实现对等层之间的通信。
各层实现技术的改变不影响其上层
物理层位于OSI参考模型的最底层。物理层的主要功能是利用物理传输介质,为数据链路层提供物理连接,以便透明地传输比特流。
OSI七层网络模型 | TCP/IP四层概念模型 | 对应网络协议 |
---|---|---|
应用层(Application) | 应用层 | HTTP、TFTP, FTP, NFSQ,WAIS、SMTP |
表示层(Presentation) | Telnet, Rlogin, SNMP, Gopher | |
会话层 (Session) | SMTP,DNS | |
传输层 (Transport) | 传输层 | TCP, UDP |
网络层(Network) | 互联网络层 | IP,ICMP,ARP,RARP,AKP,UUCP |
数据链路层 (Data Link) | (主机网络层) | FDDl,Ethernet, Arpanet, PDN.SLIP.PPP |
物理层(Physical) | IEEE 802.1A,IEEE 802.2到IEEE 802.11 |
网络层通过路由选择算法为分组通过通信子网选择最适当的路径。网络层需要实现路由选择、拥塞控制与网络与连等功能。分组传输
数据链路层,传输以帧为单位的信息。
传输层处理的数据单位是报文。TCP/IP参考模型每层可以使用下层提供的服务,并向其上层提供服务。高层无需知道低层的实现方法。不同主机的同等层通过协议来实现同等层之间的通信。
TCP/IP协议具有以下几个主要特点。
1)开放的协议标准。
2)独立于特定的计算机硬件与操作系统。
3)独立于特定的网络硬件,可以运行在局域网、广域网,更适用于Internet。
4)统一的网络地址分配方案,所有网络设备在Internet中都有唯一的IP地址。
5)标准化的应用层协议,可以提供多种拥有大量用户的网终服务。
6)支持异构系统的互联
9.9 网络协议
网络协议用来描述进程之间信息交换数据时的规则。网络协议是由语义、语法和时序3个要素组成。
语法:即用户数据与控制信息的结构与格式;
语义:即需要发送何种控制信息,以及完成的动作与所作的响应:
时序:即对时间实现顺序的详细说明。
9.10 误码率
误码率是指二进制码元在数据传输系统中被传错的概率。
误码率是衡量数据传输系统在工作状态下的传输可靠性的参数:对于实际的数据传输系统,不能笼统地说误码率越低越好,需要根据实际情况提出误码率要求,
在数据传输速率确定后,误码率越低,传输系统设备越复杂、造价越高,
对于实际的数据传输系统,如果传输的不是二进制码元,需要折合成二进制码元来计算。
10 局域网基础
局域网从介质访问控制方式的角度可以分为共享介质局域网与交换局域网。
10.1 局域网三种类型
早期的局域网主要是令牌环网,后又出现了令牌总线网,最后出现了Ethernet。
从实现的角度来看,Ethermet连接设备包括3部分: 网卡、收发器和收发器电缆。
IEEE 802标准定义的共享介质局域网 | Ethernet(以太网) | Token Bus(令牌总线网) | Token Ring(令牌环网) | |||
---|---|---|---|---|---|---|
介质访问控制方式 | CSMA/CD | Token Bus | Token Ring | |||
物理结构 | 总线型 | 总线型 | 环形 | |||
其她 | 传输的数据单元是Ethernet 核心技术起源于ALOHA网(无限分组交换网) 网络结点发送数据前需侦听总线 | |||||
共同之处 | 体系结构都遵循: IEEE 802 层次结构模型。 传输介质主要采用同轴电缆、双绞线与光纤 采用共享介质的方式发送和接收数据帧。 介质访问控制都采用分布式控制方法,局域网中没有集中控制的主机。 | |||||
10.1.1 CSMA/CD与/CA
CSMA/CD 方法被定义为一种随机争用型介质访问控制方法,可有效控制多主机对共享总线的访问,方法简单并且容易实现。
CSMA/CD发送流程的第一步是侦听总线
采用CSMA/CA方法发送数据的第一个步骤是侦听信道,
CSMA/CA:带有冲突避免的载波监听多路访问,发送包的同时不能检测到信道上有无冲突,只能尽量“避免”。
CSMA/CA(载波侦听多路访问/冲突避免)是无线局域网标准IEEE802.11使用的一种介质访问控制方法,工作在MAC层。
两者都是介质访问控制方法
10.1.2 交换式局域网
交换式以太网的核心设备是以太网交换机,它从根本上改变了“共享介质”的工作方式,可以在多个端口之间建立多个并发连接,实现多结点之间数据的并发传输,从而可以增加网络带宽,改善局域网的性能与服务质量,避免数据传输冲突的发生。以太网交换机利用“端口/MAC地址映射表”进行数据帧交换。交换机转发方式可以分为3类: 直接交换方式、存储转发交换方式、改进的直接交换方式。不采用CSMA/CA控制方法,当前局域网大都是交换式局域网,采用星型拓扑结构。采用广播方式发送数据帧
10.1.3 共享介质以太网(局域网)
共享介质局域网中所有结点共享一条公共通信传输介质,通过广播的方式发送数据帧。介质访问控制方式是CSMA/CD。介质访问控制方式用来保证每个结点都能够“公平”的使用公共传输介质。共享介质局域网可支持全双工通信模式,并只使用点-点信道传输数据
共享局域网主要的设备为集线器。
共享式以太网的典型代表是使用10Base2/10Base5的总线型网络和以集线器为核心的星型网络。其特点主要有:)所有结点都通过网卡连接到公共传输介质的总线上,共享总线;)所有结点可以通过总线发送或接收数据,但在一段时间内只允许一个结点发送数据,其它结点可以接收或收听数据:(3)由于介质共享,因此可能出现同时有两个或两个以上结点通过总线发送数据的情况,因此会出现冲突而造成传输失败;4)为了解决共享介质冲突失败问题,必须解决多个结点访问总线的介质访问控制。
10.1.4 总线型以太网
传统的以太网采用集线器作为核心设备发送/接收数据
1)所有结点都通过网卡连接到作为公共介质的总线上:
(2)总线通常采用双绞线或同轴电缆作为传输介质:(3)所有的结点都以发送或接收数据,但在一段时间内只允许一个结点通过总线发送数据(即半双工形式)。当一个结点通过总线以“广播”方式发送数据时,其他结点只能以“收听”方式接收数据:
(4)由于总线作为公共传输介质被多个结点共享,因此会出现冲突现象。环型拓扑结点之间通过网卡利用点-点信道传输数据。
10.1.5 传统以太网(Ethernet)采用EEE 802.3标准
传统的以太网采用集线器作为核心设备发送/接收数据。
是典型的总线型局域网
传统以太网的介质访问控制方法:CSMA/CD方法
10.1.6 快速以太网(Fast Ethernet) 采用EEE 802.3u标准
- 主要特点
Fast Ethernet 传输速率达到 100Mbps,但是它保留着传统的 10Mbps 速率 Ethernet 的基本特征,即相同的帧格式与最小、最大帧长度等特征。
IEEE802.3u 标准定义了介质专用接口(MII),将 MAC 层与物理层分隔开。
支持半双工与全双工工作模式,增加 10Mbps 与 100Mbps 速率自动协商功能
- 物理层标准
100BASE-FX使用2芯的多模或单模光纤,是一种全双工系统。用作高速主干网,从主机到集线器的多模光纤的长度可以达到2km。
10.1.7 千兆以太网(Gigabit Ethernet)采用IEEE 802.3z标准
- 主要特点
GE 的传输速率达到了 1000Mbps,但是它仍然保留着传统的 Ethernet 的格式与最小、最大顿长度等特征。
IEEE802.3z标准定义了千兆介质专用接口(GMII)将 MAC 子层与物理层分隔开。
★1000BASE-CX使用两对屏蔽双绞线,双绞线最大长度为 25m。
★1000BASE-T-使用 4 对5 类非屏蔽双绞线,双绞线最大长度为 100m。
★1000BASE-SX使用多模光纤,光纤最大长度为 550m
1000BASE-LX使用单模光纤,光纤最大长度为 5km。
1000BASE-LH-使用单模光纤光纤最大长度为 10km。
1000BASE-ZX使用单模光纤,光纤最大长度为 70km。
- 物理层的标准
1000BASE-LX中的LX代表长波长,所使用的光纤主要有: 62.5mm多模光纤、50mm多模光纤和9m单模光纤。其中使用多模光纤的最大传输距离为550m,使用单模光纤的最大传输距离为5千米。1000BASE-LX采用8B/10B编码方式。使用5类非屏蔽双绞线作为传输介质,双绞线长度可达100m.
1000Base-T标准是千兆以太网IEEE 802.3z物理层标准之-: IEEE 802.3z标准在LLC咨询使用IEEE 802.2标准,在MAC子层使用CSMA/CD方法:使用的是5类非屏蔽双绞线长度可达100m。
10.1.8 万兆以太网(10 Gigabit Ethernet)采用IEEE 802.3ae标准
- 主要特点
10GbE 保留着传统的 Ethernet 的顿格式与最小、最大长度的特征。
10GbE 定义了专用的介质专用接口 10GMII,将 MAC 层与物理层分隔开。
10GbE 只工作在全双工模式,不存在介质访问控制的问题,传输距离只取决于光纤通信系统的性能。
10GbE 的应用领域已经从局域网逐渐扩展到城域网与广域网的核心交换网中。
10GbE 的物理层协议分为局域网物理层标准与广域网物理层标准两类。
使用双绞线和光纤作为传输介质。
- 物理层标准
10.1.9 Ethernet帧结构
帧校验字段 FCS 采用 32b 的 CRC 校验。CRC (循环校验码)校验的范围是:目的地址、源地址、长度、LLC 数据等字段,不包括前导码字段
数据(从低层来的数据或者从高层来的数据)
前导码和帧前定界符都不计入帧长度前导码不表示网络层协议类型
10.2 IEEE802参考模型
不解决路由选择问题,不与OSI参考模型兼容,需考虑传输介质类型
IEEE 802.1标准:定义局域网体系结构、网络互联、网络管理与性能测试。
IEEE 802.2标准:定义逻辑链路控制(LLC)子层功能与服务
IEEE 802.3标准:定义CSMA/CD总线介质访问控制子层(MAC层)与物理层标准。
IEEE 802.15标准: 定义WPAN(近距离个人无线网络)访问控制子层与物理层的标准。
IEEE 802.16标准: 定义宽带无线局域网访问控制子层与物理层的标准。
IEEE802.11: 无线局域网(WLAN)的介质访问控制协议及物理层技术规范,采用层次结构模型
IEEE802.12 : 需求优先的介质访问控制协议。
IEEE802.15:采用蓝牙技术的无线个人网技术规范。
IEEE802.16:宽带无线连接工作组,开发2~66GHz的无线接入系统空中接口,论坛组织WIMAX
传输速率32-134Mbps
10.3 VLAN(虚拟局域网)
虚拟局域网的技术基础是交换技术,可基于广播组定义WLAN。通常基于交换式局域网,通常基于交换式局域网,不能通过IP地址定义成员结点,可通过MAC地址定义成员结点
1999年,IEEE公布关于VLAN的IEEE 802.10标准。虚拟局域网络是建立在局域网交换机之上,以软件方式来实现逻辑工作组的划分与管理。
工作组中的结点不受物理位置的限制。
虚拟局域网的优点有:方便网络用户管理,减少网络管理开销、提供更好的安全性、改善网络服务质量。
10.4 WLAN(无线局域网)
1.无线局域网使用的是无线传输介质,按采用的传输技术可以分为3类:红外线局域网、扩频(激光)局域网和窄带微波局域网。
2.红外无线局域网的数据传输技术主要有三种:定向光束红外传输、全方位红外传输与漫反射红外传输。
3.扩展频谱通信简称扩频通信,物理层最常用,特点是传输信息所用的带宽远大于信息本身带宽。
FHSS(跳频扩频通信)是扩频技术中常用的一种方法,其主要技术特点为将可利用的频带划分为多个子频带,子频带称为信道,每个信道带宽相同,中心频率由伪随机数发生器决定,变化的频率称为跳跃系列,发送端和接收端采用相同的跳跃系列
DSSS(直接序列扩频)的所有接收点使用相同的频段,发送端与接收端使用相同的伪随机码。
4.IEEE 802.11规定跳频通信使用2.4GHz的ISM频段,频段范围在2.400-2.4835GHz。跳频扩频通信的传输速率为1Mbps或2Mbps。
5.有基础设施WLAN核心设备是AP(无线接入点),AP相当于一个连接有线网和无线网的桥梁,其主要作用是将各个无线网络客户端连接到一起,然后将无线网络接入以太网。AAA服务器主要目的是管理用户访问网络服务器,对具有访问权的用户提供服务。所以对于有基础设施WLAN是需要AAA服务器的授权。
支持对等结构组网模式
10.4.1
IEEE802.11帧结构
采用与传统以太网相同的帧格式
IEEE 802.11帧采用2字节(16b)作为控制字段,中目的地址和源地址使用MAC地址其中,地址4只用于无线自组网Ad hoc中。
EEE 802.11协议顿的结构中,帧控制字段长度为2B,负责完成帧控制功能。IEEE 802.11协议的帧头有4个地址字段,每个地址字段长度均为6B。但这4个地址字段并不是都出现在所有帧中。这4个地址指的是源地址、目的地址、发送结点地址、接收结点地址,且均为MAC地址(或称硬件地址、物理地址)。
顺序控制字段长度为2B,它是由顺序号和分段序号组成。
数据字段对应的是高层数据,长度(0~2312) 可变。校验字段长度是4B,用于完成帧的CRC校验,校验范围为MAC帧头与数据域。
类型字段定义的是MAC帧的类型(数据帧、管理帧、控制帧)
IEEE 802.11规定了以下几种帧间间隔: 短帧间间隔(SIS),点协调帧间间隔(PIES),分布协调帧间间隔(DIES),扩展帧间间隔(EIFS) 和减少的帧间间隔 (RIFS) 。
短帧间间隔SIFS用于分隔同一次会话中各帧,如确认ACK。
MAC层主要功能是对无线环境的访问控制,可以在多个接入点上提供漫游支持,同时提供了数据验证与保密服务。MAC层支持无争用服务与争用服务两种访问方式。IEEE 802.11的MAC层还采用一和虚拟监听机制,用于进一步减少发生冲突的概率。
10.4.2 IEEE 802.11网络结构
端站是有无线网卡的用户结点,将计算机或嵌入设备接入到WLAN。接入点AP按照无线接口标准,使用无线链路与端站进行通信。接入控制器AC在WLAN与外部网络之间充当网关的作用。AAA服务器又称为RADIUS用户认证服务器,负责完成用户认证、授权和计费功能。IEEE 802.11认证有3种认证模式:基于IEEE 802.1x的认证、基于PPPOE的认证和基于Web的认证。
10.5 其她
点协调功能的英文缩写为PCE,虚拟监听的英文缩写为VCS。
Ethernet物理地址又称硬件地址、MAC地址,采用48位地址长度,并且每块Ethernet网卡的地址是唯一的。其表示方法是在两个十六讲制数之间用一个连字符隔开。RAC为每个网卡生产商分配物理地址的前3个字节,即公司标识 (Company-ID) ,也称机构唯一标识符 (OUT) 。后面3个字节由生产网卡的广商自行分配。单播MAC地址的前3个字节才是(OUT)
单播MAC 地址是指第一个字节的最低位是0的MAC 地址
组播 MAC地址是指第一个字节的最低位是1的 MAC 地址播 MAC 地址是指每个比特都是 1的 MAC 地址。
广播 MAC 地址是组播 MAC 地址的一个特例。
11 Internet基础
11.1 Internet的接入方式
ADSL使用调制解调技术,上、下行信道的传输速率可以不同,借助有线电话网络传输数据,适用于家庭用户使用。
HFC(混合光纤/同轴电缆网Hybrid Fiber Coaxial)采用混合光纤/同轴电缆介质传输数据,它是在有线电视网络(Cable TV或CATV) 的基础上发展起来的。使用Cable Modem (电缆调制解调器) 发送和接收信号,共享上行和下行信道,与ADSL相似,HFC也采用非对称的数据传输速率,一般上行速率在10Mbps左右,下行速率在10~40Mbps之间。
电话拨号线路的传输速率较低,目前较好线路的最高传输速率可以达到56kbps,而质量比较差的传输速率可能会更低,因而电话拨号线路只适合于家庭使用。
11.2 IP (Internet Protocol)
互联网协议
运行 IP 协议的互联层可以为其高层用户提供的服务有 3 种特点
1.不可靠的数据投递服务,即IP不能保证数据报的可靠投递,IP本身没有能力证实发送的报文是否被正确接收。
2.面向无连接的传输服务,即从源节点到目的节点的每个数据报可能经过不同的传输路径,而目在传输过程中数据报有可能丢失,有可能到达。
3.尽最大努力的投递服务,即尽管P层提供的是面向非连接的不可靠服务,但是,IP并不随意丢弃数据报,只有当系统的资源用尽、接收数据错误或者网络故障等状态下,IP才被迫丢弃报文。
IP 互联网具有的特点 :
IP 互联网隐藏了低层物理网络细节,向上为用户提供通用的、一致的网络服务
IP 互联网不指定网络互联的拓扑结构,也不要求网络之间全互联。
IP 互联网能在物理网络之间转发数据,信息可以跨网传输。
IP 互联网中的所有计算机使用统一的、全局的地址描述法。
IP 互联网平等地对待互联网中的每一个网络,不管这个网络规模是大还是小,也不管这个网络的速度是快还是慢。
11.3 IP数据报
11.3.1
IPV4数据报格式
在IP 报头中,版本字段表示该数据报对应的IP 协议版本号。最常使用的 IP 协议版本号为“4”。
报头长度以 32b 双字为计量单位,指出该报头区的长度。在没有选项和填充的情况下,该值为“5”。TCP/P协议定义了一个在因特网上传输的包,称为IP数据包,由首部和数据两部分组成。首部的前一部分是固定长度,共20(5*4)字节,是所有卫数据报必须具有的。在首部的固定部分的后面是此可选字段,其长度是可变的。
总长度以 8b 字节为单位,表示整个IP数据报的长度(其中包含头部长度和数据区长度)
利用IP报头中的生存周期字段,就可以有效地控制路由表发生错误,数据报可能进入一条循环路径(生存周期域用于防止数据报在Internet中无休止地传递)
协议字段表示该数据报数据区数据的高级协议类型 (如 TCP),用于指明数据区数据的格式。头部校验和域用于保证 IP 数据报报头的完整性。
在整个数据报传输过程中,两地址一直保持不变
选项域主要用于控制和测试两大目的
在IP数据报分片后,分片报头中的标识和目的地址字段与原数据报中的字段一定相同
11.3.2 IPv4数据报选项
安全和处理限制(用于军事领域)
记录路由:是指记录下IP数据报从源主机到目的主机所经过的路径上的每个路由器的IP地址。
时间戳:是指记录下IP数据报经过每一个路由器时的当地时间。
源路由:是指P数据报穿越互联网所经过的路径是由源主机指定的。源路由选项可以分为两类。一类是严格源路由选项,另一类是松散源路由选项。
严格源路由选项规定IP数据报要经过路径上的每一个路由器,相邻路由器之间不得有中间路由器,并且所经过路由器的顺序不能更改。
松散源路由选项只是给出卫数据报必须经过的一些“要点”,并不给出一条完备的路径,无直接连接的路由器之间的路由尚需IP软件寻址功能补充。
11.4 ICMP差错报文
ICMP差错报文有以下几个特点:
1.差错报告不享受特别优先权和可靠性,作为一般数据传输;
2.ICMP差错报告数据中除包含故障IP数据报报头外,还包含故障IP数据报数据区的前64比特数据
3.ICMP差错报告是伴随着抛弃出错IP数据报而产生的。
ICMP差错报告报文共有如下5种:
终点不可达:分为网络不可达、主机不可达、协议不可达、端口不可达、需要分片/但DF比特已置为1、源路由失败等六种情况。
源站抑制,当路由器或主机由于拥塞而丢弃数据报时,就向源站发送源站抑制报文,使源站知道应当将数据报的发送速率放慢。
时间超时:当路由器收到生存时间为零的数据报时,除丢弃该数据报外,还要向源站发送时间超时报文。当目的站在预先规定的时间内不能收到一个数据报的全部数据报片时,就将已收到的数据报片都丢弃,并向源站发送时间超时报文。
参数问题,当路由器或目的主机收到的数据报的首部中的字段的值不正确时,就丢弃该数据报,并向源站发送参数问题报文。
改变路由(重定向)路由器将改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由粥。ICMP重定向报文机制是为了保证主机拥有一个动态的、既小且优的路由表。
ICMP (Internet Control Message Protocol,互联网控制报文协议) 作为IP层协议,最基本的功能是提供差错报告,都采用路由器到源主机的模式,所有的差错信息都需要向源主机报告。ICMP报文的最终目的地总是主机上的I软件,ICMP软件作为IP软件的一个模块存在。ICMI差错报文具有以下几个特点: )差错报告不享受特别优先权和可靠性,作为一般数据传输。在传输过程中,它完全有可能丢失、损坏或被丢弃。(2)ICMP差错报告数据中除包含故障IP数据报报头外,还包含故障IP数据报数据区的64比特数据。(3)ICMP差错报告是伴随着抛弃出错P数据报而产生的。
11.5 ARP地址解析协议
实现同一网络当中的主机 IP 地址和 MAC 地址的映射关系。
arp协议工作在数据链路层
利用高速缓存技术可提高解析效率
使用计时器保证ARP表项的有效性
请求采用广播方式
可以实现IP地址到物理地址的映射
11.6 IP组播主管理协议
组管理协议在终端和直接连接终端所在子网的组播路由器 (MR) 之间运行
组播管理协议包括 Internet 组管理协议 (IGMP) 和 Cisco 专用的组管理协议 (CGMP)。
Internet 组管理协议称为IGMP协议(Internet Group Management Protocol),是因特网协议家族中的一个组播协议。该协议运行在主机和组播路由器之间。IGMP协议共有三个版本,即IGMPv1、v2和v3。IGMPv1定义了主机只可以加入组播组,但没有定义离开成员组的信息,路由器基于成员组的超时机制发现离线的组成员。IGMPv2 是在版本1上基础上增加了主机离开成员组的信息,允许迅速向路由协议报告组成员离开情况。IGMP3在兼容和继承IGMP1和IGMP2 的基础上,进一步增强了主机的控制能力,并增强了查询和报告报文的功能。IGMP3 增加了针对组播源的过滤模式(INCLUDE/EXCLUDE),使主机在加入某组播组G的同时,能够明确要求接收或拒绝来自某特定组播源S 的组播信息。IGMP Snooping是运行在二层设备上的组播约束机制,用于管理和控制组播组。(形成组成员和接口的对应关系)
11.7 TCP与UDP
从TCP的用户角度看,TCP可以提供面向连接的、可靠的(没有数据重复和丢失)、全双工的数据流传输服务。数据包丢失后启动重传机制。(流接口、连接的优雅关闭)
从用户角度看,用户数据报协议UDP提供了面向非连接的、不可靠的传输服务。
TCP使用窗口机制进行流量控制,使发送方发送的数据永远不会溢出接收方的缓冲空间。
TCP连接建立采用3次握手法来建立连接。而终止一个连接要经过四次握手。RTT (Round Trip Time,往返时间) 表示从发送端到接收端的一去一回需要的时间,TCP在数据传输过程中会对RTT进行采样,采用自适应的RTT计算方法。而终止而UDP是将数据直接封装后就在IP数据报中进行发送。
TCP和UDP的端口用一个16位的二进制数表示,例:21端口
11.8 其她
IPv6扩展头包括:逐跳选项头、目的选项头、路由头、分片头、认证头和封装安全有效载荷报头。其中,路由头用来指出数据报在从源结点到目的结点的过程中,需要经过一个或多个中间路由器。
IPv6地址分为单播地址、组播地址、任播地址和特殊地址。单播地址用于标识IPv6网络的一个区域中单个网络接口。组播地址也称多播地址,用于表示一组网络接口,发送到该地址的数据报会被送到由该地址标识的所有网终接口。仟播地址也称泛播地址,其作用与组播地址相同,区别在于,发送到任播地址的数据报通常被送到由该地址表示的所有网络接口中量近的一个特殊地址包括全零地址(表示地址不存在) 、回送地址 (0: 0: 0: 0: 0: 0: 0: 1) 、IPV4兼容的IPv6地址、映射到IPv4的IPv6地址等。IPV4局限性表现在:
地址空间的局限性,
IP协议的性能问题、
IP协议的安全性问题、
自动配置问题、
服务质量保证问题。
网络地址转换(NAT)技术可以让人们利用较少和有限的IP地址资源将私有的互联网接入公共互联网。NAT的主要技术类型有3种,静态NAT、动态NAT和网络地址端口转换NAPT。NAPT是目前最常用的一种NAT类型,它利用TCP/UDP的端口号区分NAT地址映射表中的转换条目,可以使内部网中的多个主机共享一个(或少数几个)全局地址同时访问外部网络。
IP组播路由协议包括: 距离矢量组播路由协议(DVMRP),开放最短路径优先的组播扩展 (MOSPF) ,以及协议独立组播-密集模式 (PIMM-DM) 。
12 Internet基本服务
在一封邮件中,base64通常紧跟在以下哪个邮件头字段之后 Content-Transfer-Encoding
IE浏览器把Internet划分为Internet区域、本地Intranet区域、可信站点区域和受限站点区域的主要目的是保护自己的计算机。在主机浏览器中加载自己的证书可避免他人假冒自己的身份在Internet中活动。浏览站点前索要Web站点的证书可验证站点的真实性。通信中使用SSL技术是用来防止敏感信息被窃取和算改,防止第三方偷看传输的内容。
12.1 客户机/服务器模型
在客户机/服务器进程交互模型中,服务器响应多个用户的请求一般有两种解决方案,它们是重复服务器方案与并发服务器方案
重复服务器方案,该方案实现的服务器进程中包含一个请求队列,客户机请求到达后,首先进入队列中等待,服务器按照先进先出(FIFO) 的原则作出相应影响。
描述:客户机可向服务器发出服务请求,服务器通常需要并发地处理多个用户的请求,可解决互联网应用进程之间的同步问题
不能提高网络传输速度
12.2 对等计算模型
12.2.1 对等计算模型的概念
对等计算(P2P) 可通过直接交换方式共享主机资源,在应用层形成的网络称为对等网络,在对等计算中所有的节点都是平等的,没有客户机和服务器之分,整个网络一般来说不依赖于专用的集中服务器。BT(比特洪流)、Skype 、eDonkey、PPLive、Napster等是其典型应用。
12.2.2 P2P网络的基本结构
12.2.2.1 集中式
有中心服务器,采用索引方式查找资源。
12.2.2.2 分布式非结构化
采用随机图方式进行组织,采用洪泛方式进行信息查询,支持复杂查询,比如带有规则表达式的多关键字查询、模糊查询等。
12.2.2.3 分布式结构化
支持精确关键词匹配查询
不存在中心目录服务器
路由算法与DHT密切相关
目前采用分布式结构化拓扑的 P2P 网络系统有 Pastry、Tapestry、Chord 和 CAN。
12.2.2.4 混合式
混合 P2P 网络结合了集中式和分布式 P2P 网络的优点,将用户结点按能力进行分类,使某些结点担任特殊的任务。
混合式 P2P 网络包含 3 种结点:
用户结点: 普通的结点就是用户结点,它不具有任何特殊的功能。
搜索结点:处理搜索请求,从其子结点中搜索文件列表,必须有较高的网络速度,采用高性能的处理器。
索引结点:连接速度快、内存充足的结点,可以利用的搜索结点信息、搜集状态信息以及尽力维扩网络的结构。默认情况下,搜索结点可以最多维护 500 个子结点。
12.3 Telnet
Tenet是TCP/IP协议族中重要的一个协议,能够解决多种不同的计算机系统之间的互操作问题。为了解决系统的差异性, Telnet协议引入了网络虚拟终端NVT为了解决系统的差异性,他提供了一种标准的键盘定义,用来屏蔽不同计算机系统对键盘输入的差异性(不是解释的差异,请注意关键词)。Telnet采用客户机/服务器模式架构,是Internet最早提供的基本服务功能之一。
利用传输层的TCP协议进行数据传输
12.4 SMTP(简单邮件传输协议)
SMIP响应字符串以3位数字开始,后面跟有该响应的具体描述。常见的SMTP响应有:220表示域服务准备好,221表示系统状态或系统帮助应答,250表示请求的命令成功完成,354表示可以发送邮件内容,500表示语法错误,命令不能识别,502表示命令未实现,550表示邮箱不可用。
采用客户机/服务器模式,邮件的接收程序作为SMTP服务器在TCE的25端口守候。
使用传输层的TCP服务
响应报文以3位十进制数开始
规定了发送方和接收方之间传递的命令
在SMTP协议中,常用的命今有HELO、MAILEROM、RCPTTO、DATA、RSET、NOOP、OUIT七种。其中
HELO<主机名>表示开始会话:
MAIL FROM:<发送者电子邮件地址>表示开始一个邮递处理,指出邮件发送者:
RCPT TO:接收者电子邮件地址>开始指出邮件接收者;
DATA表示接收程序将
DATA命令后面的数据作为邮件内容处理,直到出现。
12.5 FTP(文件传输协议)
FTP客户机和服务器之间需要建立双重连接,这两个连接是控制连接与数据连接(主动模式和被动模式)。FTP协议支持两种文件传输方式:文本文件传输和二进制文件传输。使用二进制文件传输时文件系统不对文件格式进行任何变化,按照原始文件相同的位序以连续的比特流方式进行传输,确保拷贝文件与原始文件逐位一一对应。使用文本文件进行传输文件时,系统会将文本文件转换为ASCII码或者EBCDIC类型进行文件传输。进入文本文件传输方式的命令是ASCII,使用二进制文件传输方式的命令是BINARY。
主动模式(PORT),客户端向FTP服务器的TCP21端口发送一个PORT命令,请求建立连接,服务器使用TCP20端口主动与客户端建立数据连接:
被动模式(PASV),客户端向FTP服务器的TCP21端口发送一个PORT命令,请求建立连接
RETR命令用于请求服务器发送指定编号的邮件
12.5.1 命令与响应
从客户机到服务器的命令和从服务器到客户机的应答都是以7 位 ASCII 码格式经由控制连接传送的
命令 | 描述 |
---|---|
USER username | 向服务器发送用户名 |
PASS password | 向服务器发送口令 |
PORT n1,n2,n3,n4,n5,n6 | 客户机IP地址(n,n2,n,na)和端口号(n5*256+n6 ) |
PASV | 请求使用被动模式建立数据连接 |
LIST filelist | 请求服务器返回当前远程目录下的目录和文件 |
TYPE type | 说明文件类型:A表示ASCII码,I表示图像 |
REST marker | 指明传输文件的起始点 |
RETR filename | 检索一个文件 |
STOR filename | 存储一个文件 |
ABOR | 放弃先前的FTP命令和数据传输 |
QUIT | 从服务器注销 |
12.5.2 用户接口命令
命令 | 描述 |
---|---|
ftp | 进入ftp会话 |
quit , bye | 退出ftp会话 |
open host[port] | 建立与指定ftp服务器的连接,可指定连接端口 |
close | 中断与ftp服务器的连接 |
passive | 进入被动传输方式 |
ascii | 使用ascii类型传输方式 |
binary | 使用二进制文件传输方式 |
pwd | 显示远程主机的当前工作目录 |
delete | 删除远程主机文件 |
12.6 POP3(邮局协议)
用户可以通过 POP3 协议查看和管理邮件,POP3 采用客户机/服务器模式,其客户机程序运行在用户的 PC 机上,服务器程序运行在邮件服务器上。 |
---|
POP3 的命令和响应采用 ASCII 字符串的形式,POP3 的响应有两种基本类型,一种以“+OK"开始表示命令已成功执行或服务器准备就绪等;另一种以“-ERR”开始,表示错误的或不可执行的命令。 |
在POP3协议中
PASS处理用户密码;
RETR处理返回由参数标识的邮件的全部文本,
STAT处理请求服务器发回关于邮箱的统计资料,如邮件总数和总字节数:
NOOP处理服务器返回一个肯定的响应。
PASS<口令>: 用户邮箱的口令
STAT: 查询报文总数和长度
RETR<邮件编号>: 请求服务器发送指定编号的邮件
NOOP:无操作
RSET:复位操作,清除所有删除标记
DELE命令用于对指定编号的邮件作删除标记:
QUIT命令用于删除具有“删除”标记的邮件,关闭连接。
LIST:列出报文的长度
12.7 Web(浏览器服务)
Web服务系统客户端应用程序通常被称为浏览器,Web服务器被称为Web站点。
在Web浏览器结构中,HTML解释单元的主要功能为解释请求返回的页面。Web服务器上的信息通常以页面方式进行组织。
Web站点中储存的通常是结构化文档。Web服务系统最早由欧洲原子核研究委员会(CERN)的 Tim Berners-Lee 开发了一个协议,
在域名服务器的资源记录中,类型“MX”表示邮件交换机:类型“A”表示主机地址;类型“CNAME”表示别名;类型“PTR”表示指针。HINFO主机描述,TXT文本。
Web服务采用客户机/服务器工作模式,Web服务以超文本方式组织网络多媒体信息,Web服务器需要实现HTTP协议,用户访问Web服务器可以使用图形界面。
如果Web站点使用微软公司的IS来建设,在Web站点的内容位于NTFS分区时,则有四种方法可以限制用户访问Web站点中提供的资源。
1.IP地址限制:通过卫地址来限制或允许特定的计算机、计算机组或整个网络访问Web站点中的资源。
2.用户验证:对于Web站点中的一般资源,可以使用匿名访问,而对于一些特殊资源则需要有效的Windows NT登录
3.Web权限:Web站点的操作员可以为站点、目录和文件设置权限,如读、写或执行。
4.NTFS权限:如果Web站点的内容位于NTFS分区,可以借助NIFS的目录和文件权限来限制用户对站点内容的访问,如完全控制、拒绝访问、读取、更改等权限。
LAMP网站架构是目前国际流行的Web框架,该框架包括: Liux操作系统,Apache网络服务器,MySQL数据库,Perl、PHP或者Python编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架。该架构起源于Linux平台,由于是开源软件,建设成本很低。
12.7.1 HTTP
HTTP协议是Web客户机与Web服务器之间的传输协议,基于TCP协议。为了保证Web客户机与Web服务器之间的通信不会产生二义性,HTTP精确定义了请求报文和响应(应答)报文的格式。
请求报文:HTTP请求报文包括一个请求行和若干个报头行,有时还可能带有报文体。
响应报文:HTTP应答报文包括一个状态行和若干个报头行,并可能在空行后带有报文体。其中,状态行包括HTTP版本、状态码(三位数字)、原因等内容。报文头和报文体以空行分隔
浏览器主要由控制单元、客户单元(发送HTTP请求消息)和解释单元(解释HTML页面)组成。
浏览器安全问题包含以下几个方面:
1如何保护自己的计算机:为了保护用户的计算机免受安全软件的危害,浏览器通常将Itenet世界划分成几个区域
2)如何验证站点的真实性: 需要借助CA安全认证中心发放的证书来实现;
3)如何避免他人假冒自己的身份在Internet中活动: 用户可以从CA安全认证中心申请自己的证书,并将该证书装入浏览器,利用其在Internet上表明自己的身份;
4)在与Web站点交互敏感信息时如何避免第三方偷看或篡改等: 可以使用安全通道(使用安全套接层SSL技术)访问web站点
12.8 DNS服务
DNS服务:采用层次化命名机制,域名解析有两种解析方式,一种叫递归解析(要求域名服务系统一次性完成全部名字-地址变化),一种叫反复解析(每次请求一个服务器,不行再请求别的服务器)。在实际解析过程中,为了提高解析效率,一般解析从本地域名服务器开始。
在DNS系统中,如果解析器收到一条“非授权的”服务器响应,那么解析器可以认为该响应提供的信息可能不准确
在域名系统中,解析器收到一个“非权威性”的映射时,解析器可以认为响应服务器不是该域名的授权管理者
所谓域名解析服务器实际上是一个服务器软件,运行在指定的主机上。请求域名解析的软件称为域名解析器:域名解析需借助一组域名服务器完成,域名服冬器组成的逻辑结构为树形。
12.9 其她
使用邮件传送多媒体等信息时,常常需要对邮件内容进行编码。常用的编码方法包括:base64,quoted-printable
13 新型网络应用
1996年11月,以色列Mimbils公司推出了世界上第一款即时通信软供ICQ(网络寻呼机) ,宣告了“即时通信 (IM)”这一概念的诞生。
IM系统标准是由IMPP工作小组提出的,并由IETF批准成为正式的RFC文件,RFC2778给出了一个抽象的呈现与即时消息系统模型,描述了即时通信系统的功能,勾勒出了即时通信系统的模型框架。但该文件并没有要求所有的IM系统都必须使用统一的标准。
一个即时通信系统通常包括两种服务,一种是呈现服务,用户之间相互订阅并获取彼此的状态变更信息,另一种是即时消息服务,用于用户之间相互收发短消息,这个短消息包括文字信息、语音和视频聊天等。
当用户希望使用远程文件时,要用“mount”命今把远程文件系统挂接在自己的文件系统之下,使远程的文件像本地计算机上的文件一样可以被访问。在计算机A上,通过NFS把计算机B上的/usr/ib挂接到A的/usr/lib需要执行的命今是: mount B:/usr/lib /usr/lib。
NES即网络文件系统,其通信协议设计与主机及操作系统无关,可以在多种平台下使用NFS来共享文件,采用客户机/服务器结构,当用户希望使用远程文件时,只要用mount命令就可以被远程文件系统挂接在自己的文件系统之下,而不用将挂接的文件复制到本地硬盘。
NetBIOS是由微软公司开发,工作于网络层驱动接口和传输层驱动接口之间,支持254个并发通信话路,名字服务可以采用UDP协议。
13.1 及时通信协议
及时通信开放的协议主要代表有两个:一个是基于 SIP 协议框架的 SIMPLE 协议簇,一个是基于JABBER 协议框架的XMPP 协议簇。
另外还有基于Jabber协议框架的XMPP协议簇。
QQ 采用的自己的私有的通信协议以UDP为主,辅以TCP协议;
微软MSN采用MSNP协议;
ICQ、AOL采用OSCAR协议
13.1.1 SIP(会话发起协议)
1.Session Initiation Protocol是IETF于1999年提出的一个在IP网络上实现实时通信的应用层的控制(信令) 协议。
2.按逻辑功能区分,SIP系统由4种元素组成:用户代理、代理服务器、重定向服务器以及注册服务器。
SIP支持代理功能。SIP的用户代理分为两部分: 用户代理客户机(User Agent Client, UAC)负责发起呼叫,用户代理服务器 (User Agent Server,UAS) 负责接受呼叫并作出响应,二者均存在于用户终端中。
代理服务器负责接收用户代理发来的请求,根据网络策略将请求发给相的服务器,并根据收到的应答对用户作出响应。代理服务器分为有状态代理服务器和无状态代理服务器。代理服务器是一个中间元素,既有客户机的性质又有服务器的性质,同时还具有名字解析能力。
SIP重定向服务器是一个规划SIP呼叫路径的服务器,在其获得下一跳的地址后,立刻告诉前面的用户,让该用户直接向下一跳地址发出请求,而自己则退出对这个呼叫的控制。
注册服务器用于接收和处理用户端的注册请求,完成用户地址的注册,这些服务器可以共存于一个设备,也可以分布在不同的物理实体中。SIP服务器完全是纯软件实现,可以根据需要运行于各种工作站或专用设备中。
除此之外,网络上还需要提供_位置目录服务器_,以便在呼叫过程中定位被叫方的具体位置,但这部分已不属于SIP协议范畴。
3.SIP用户是通过类似E-mail地址的URL标识,例如:sip:myname@mycompany.com,通过这种方式可以用一个统一的名字标识不同的终端和通信方式,为网络服务和用户使用提供充分的灵活性。
SIP会话可传送文本信息,
SIP可管理会话状态,
SIP的支撑网络可以是IP网络。
SIP可用于创建和终止会话。会话指用户间的数据交换过程。
SIP协议是应用层协议,可以运行于TCP、UDP、SCTP等各种传输层协议之上。
SIP消息有两种类型,从客户机到服务器的请求消息和从服务器到客户机的响应消息。
SIP消息由一个起始行、消息头、一个标志消息头结束的空行 (CLRF)、消息体组成。
SIP消息的起始行分为请求行和状态行两种。
SIP中,一共定义了6种请求消息:INVITE ACK OPTIONS BYE CANCEL REGISTER。
SIP协议虽然主要是为IP网络设计的,但它并不关心和依赖特定承载网络。
SIP注册服务器用于接收和处理用户端的注册请求,完成用户地址的注册。
在通话初始,需要发送方发送INVITE信息,而接收方不需要发送IVITE信息。
在信息的传送过程中,可能会经历多个代理服务器才会完成信息发送。
请求方法 | 功能 |
---|---|
INVITE | 邀请用户或服务器参加一个会话 |
ACK | UA向服务器证实它已经收到了对INVITE请求的最终响应。ACK只和INVITE一起使用 |
OPTIONS | 请求关于服务器能力的信息。如果服务器认为它能与用户联系,则可用一个能力集响应OPTIONS请求 |
BYE | 用户终止一次会话,既可由主叫UA发送,也可由被叫UA发送 |
CANCEL | 取消一个挂起的呼叫 |
REGISTER | 向定位服务器注册UA的相关信息 |
13.1.2 SIMPLE协议
MSRP即消息会话中继协议,它是SIMLE中NOTIFY方法所采用的协议,并不是SIMPLE扩展的协议。
SIMPLE 基于 SIP 框架,对 SIP 协议进行扩展,由IETF 的 SIMPLE 工作组制定,是一组能够提供即时消息服务的通信协议。
SIMPLE 增加了 NOTIFY、SUBSCRIBE 和 MESSAGE 方法支持即时通信MESSAGE:用来发送一次性的短消息,即寻呼机模式的即时消息。SUBSCRIBE:用于观察者 (watcher) 向服务器订阅其他用户的呈现信息(用于获得呈现信息)。NOTIFY:在用户的呈现信息发生改变时,服务器使用 NOTIFY 方法向该用户的订阅用户发送呈现信息。(用于传输呈现信息)
PUA生成用户的呈现信息,每个IM消息由单独的MESSAGE命令传输
13.1.3 XMPP协议
采用简单客户端,采用分布式网络。XMPP是基于XML语言定义描述的IM协议,它沿用Email系统架构,XML是XMPP系统架构的核心部分。使用XMPP进行通信,必须是有统一的寻址方案,且符合RFC2396URL 标准。综合考虑SIMPLE和XMPP标准,两种协议各有特色,但XMPP协议扩展能力很强,略优于SIMPLE协议。Coogle Talk、Jive Messenger 等都遵循 XMPP 协议。采用客户机/服务器工作模式
实体地址称为JID(Jabber标识) ,它由域标识符(唯一必须)、结点标识符(可选)、资源标识符(可选)3部分组成。
它由4个RFC文档组成。其中,RFC3920是核心协议,RFC3921负责即时通信,RFC3922负责XMPP与CPIM的映射,RFC3923负责安全并采用E-mail的地址格式
13.1.4 QQ【及时通信实例】
QQ用户登录过程如下:1客户端每次登陆时会访问记录上次登陆服务器的地址的记录文件,如果成功则不会重发DNS请求。2在QQ通信中,用户必须先登录后才可以进行互相发送信息等。3每次登陆时QQ客户机会向服务器获取一个会话密钥。
QQ客户机进行聊天有两种方式:一种是QQ客户机之间直接建立TCP或UDP连接进行聊天交互,另一种是当客户机之间无法直接通信时,采用通过服务器转发的方式来实现即时信息的传送。
关于QQ用户登录的描述中,正确的是:每次登录使用的登录服务器可能不同,登录后可以从服务器获取会话密钥,登录后可以从服务器获取好友列表,登录后会将登录成功的服务器地址记录下来
13.2 VOD(视频点播技术)
VOD的服务类型有三种
就近式点播电视(NVOD ):在支持就近式点播电视系统中,每个视频流间隔一定的时间就发送同样的内容,用户选择距最近的某个时间起点进行收看
真实点播电视(TVOD ):真实点播电视支持即点即放。当用户提出请求时,视频服务器立即传送用户所要的视频内容
交互式点播电视(IVOD ):交互式点播电视不仅可以支持即点即放,而且还可以让用户对视频流进行交互式的控制。
VOD 视频点播系统主要由 5 个部分组成:节目制作中心、视频服务器、视频节目库、管理服务器和客户机端播放设备。
13.3 VoIP(IP电话)
VolP 系统有 4 个基本组件: 终端设备、IP 电话网关、网守和多点控制单元(MCU)
1.终端设备——直接和用户接触的设备,包括传统的语音电话终端、ISDN 终端、多媒体 PC 等
2.IP 电话网关——Vol 系统的关键设备,是 IP 网络和电话网络之间的桥粱,基本功能——
号码查询、建立通信连接信号、调制信号压缩和解压、路由寻址。网关可以看作H.323设备。
- 网守是 VolP 系统中的消息控制中心,可以进行
呼叫控制、地址解析、呼叫授权、身份验证、集中账务和计费管理、存留呼叫详细记录等操作。
网守可以实时监控网络、平衡负载、管理带宽以及提供与现有系统的接口。
通过网守可以实现对呼叫终端进行验证,符合业务要求的呼叫才被允许通过。(身份验证)
网守返回一个可连接的 IP 电话网关地址。(可用来确定网关地址)
网守负责用户的注册和管理等。VoIP网守通过被叫号码确定对方的VoIP网关。
- 多点控制单元 MCU 的功能是利用 IP 网络实现多点通信,使得 VolP 系统能够支持 3 个或3 个以上端点参与的多点会议。MCU 通常由两部分组成——分别是多点控制器 (MC) 和多点处理器 (MP)。MC 主要负责呼叫信令的处理和会议的控制;MP 则提供多点会议中媒体流的集中处理,主要负责混音、交换等处理工作。
-
13.3.1 Skype
Skype 采用了典型的混合式 P2P 网络拓扑。Skype 的中心服务器上存放着经过了数字化签名和加密处理的用户好友列表Skype 采用了 256 位的AES 加密算法,采用 15362048 位的 RSA算法对 AES 使用的对称密钥进行协商。任何配置了公共IP地址的主机,如果它同时拥有足够的CPU、内存和网络带宽都有可能被选为超级结点。Skype终端之间传送的消息都是在发送前加密,发送后解密,
超级结点(SN)的作用就像是因特网中的核心路由器,负责客户端的连接。登录服务器(IS)在储着用户的用户名和密码,负责用户登录时的认证过程,同时它还负责用户名全局唯一。好友列表(Baddy List)被存放在中心服务器中,如果用户在不同的机器上登录,不需要重新建立好友。好友列表经过了数字化签名和加密处理。系统中的SN是动态生成的
Skype是融合了VoIP技术和P2P技术,而不是skype制定的标准。
Skype 采用了宽带编码技术 iLBS 和 iSAC。
Skype采用了各种STUN和TURN协议来决定它在哪种类型的NAT及防火墙之后。(可进行NAT穿越)
Skype 的特点: 高清晰音质、高度保密性、免费多方通话、跨平台。
13.4 P2P文件共享系统
P2P文件共享起源于1999年的音乐分享网站Napster Napster采用的是集中式的对等网络结构 | 2000年3月P2P文件共享应用Gnutella问世。 Gnutella采用了分布式非结构化的对等网络结构 | 2000年9月eDonkey2000出现。 eDonkey2000继承了前者共享文件系统的优点,并为文件增加了哈希( Hash )信息。 | 2001年夏天BT(比特洪流)出现,引发了一场互联网文件共享的革命。 BT实现的“下载的人越多速度越快”的“洪流”效应。BT是基于MIT授权的开源软件 |
---|
BT 系统需要中心服务器 (Tracker 服务器) 存放用户的信息;BT 系统要求文件的发布者制作一个被称为"种子"文件的torrent 文件,该文件包含了 Tracker 服务器的相关信息和发布者共享文件的信息。
下载者通过发布者提供的种子文件连接到 Tracker 服务器,并通过 Tracker 服务器获取其他下载者(包括发布者)的 IP 地址和端口号。
在整个下载过程中,Tracker 服务器仅负责提供下载该文件的用户列表,并不存储文件本身,数据交换完全是用户间通过 P2P 方式进行的。
在后续的版本中,BT 系统加入了 DHT 的支持,以实现无 Tracker 服务器的文件传输。BitTorrent是最早的P2P下载工具。
于P2P系统理论基础的描述中,正确的是:基于小世界假设、基于六度分割理论、瓦特斯领导了理论的验证工作。
关于P2P文件共享系统的描述中,错误的是:都互相兼容、都使用Tracker服务器、都支持积点机制、都具有种子机制。正确的是:都允许用户之间直接传输文件
13.5 Mase系统
1.Maze文件共享系统的主要服务器包括:文件目录服务器、索引和检索服务器、用户管理服务器和心跳服务器。
用户管理服务器实现用户注册与身份认证,
文件目录(目录收集)服务器负责收集每个Peer共享的目录列表并将它们存入集中式的目录数据库
索引和检索服务器读取目录数据库中的数据,为所有共享文件目录建立索引并提供XML方式的检索接口;
心跳服务器负责维护在线用户的列表。
种子服务器是为模方BitTorrent机制建立的Maze种子提供保存与更新的服务器。
2.Maze是北京大学网络实验室开发的一款资源和功能非常强大的个人信息中心文件系统。(混合型P2P系统)
Maze软件的主要功能包括,支持即时通信和BBS、支持跨防火墙的文件共享与下载、支持在线资源搜索和文件目录视图、支持多点下载和断点续传、支持基于积点的资源交易体系、采用社交网络的网络链接关系。
由于迅雷的基本协议和通信过程没有公开技术细节,所以不能确定Maze是否和迅雷兼容。
系统采用了类似URL风格的Maze URL。Maze URL以Maze:/开头。
- Maze系统中的用户被称为Peer,每个Peer相当于一个传统FTP服务器与一个FTP客户端的结合体。
4.Maze认证机制为了实现结点的发现与通信策略,设计了分布式认证机制,参考Kerberos机制,Maze设置了用户管理服务器,由它进行用户注册和发放信用卡。用户持有效的信用卡访问其他的服务器,其他的服务器检测信用卡上的数字签名来验证,判断是否允许进行某项操作。这种基于信用卡机制的分布式身份认证算法,可以保证用户密码只在注册初期出现,此后并不在网上明文传送,系统签名密码只在用户管理服务器上出现,从而保证了用户身份认证的安全性。
13.6 IPTV(网络电视)
媒体内容分发(MCDN) 技术是IPTV大规模应用的重要技术保障。MCDN中的关键技术包含下几个方面, 内容发布、内容路由、内容交换、性能管理、IP承载网
1)内容发布:借助相关技术,将内容发布或投递到距离用户最近的远程服务点处。
2)内容路由,整体性的网络负载均衡技术,通过内容路由器中的重定向以及媒体位置注册机制,在多个远程服务点上均衡用户的请求,以使用户请求得到最近内容源的响应。
3)内容交换:根据内容的可用性、服务器的可用性以及用户的背景,利用应用层交换等技术,智能地平衡负载流量。
4)性能管理:主要用于保证网络处于最佳的运行状态。
数字版权管理 (DRM)技术是一种授权管理和认证技术,可以防止音视频媒体内容的非法使用。数字版权管理主要采用了数据加密、版权保护、数字水印技术。
可提供通信类业务
媒体分发中通常会用到组播技术
13.7 其她
索引器的主要功能包括:理解文档并生成文档与关键字的对应关系列表
14 网络管理与网络安全
在网络管理中,一般采用网络管理者-网管代理模型,采用集中式网络管理模式和分布式网络管理模式。管理者实质上是运行在计算机操作系统之上的一组应用程序,一个管理者可以与多个代理进行信息交换。
14.1 网络管理概念
国际标准化组织 (ISO)定义的网管模型包括 4 个部分: 组织模型、信息模型、通信模型与功能模型
组织模型描述:网管系统的组成部分与结构
信息模型描述:网管系统的对象命名与结构,信息模型涉及 3个重要概念:管理信息结构 (SMI)、管理信息库 (MIB) 与管理信息树 (MIB)。MIB 定义了受管设备必须保存的数据项、允许对每个数据项进行的操作及其含义,即管理系统可访问的受管设备的控制和状态信息等数据变量都保存在 MIB 中。在网络管理服务中,定义管理对象结构的是 MIB。
通信模型描述:网管系统使用的网管协议:
功能模型描述:网管系统的主要功能。
14.2 网络管理功能
(1)配置管理:包含两阶段:网络初次运行的初始配置管理阶段和网络正常运行的工作配置管理阶段;负责网络建设、业务展开和配置维护,达到网络性能最优;包括:设置系统中有关路由操作的参数、被管理对象的名字管理、初始化或关闭被管对象、根据要求收集系统当前状态的有关信息、获取系统重要变化信息、更改系统配置、生成网络拓扑。不包括:是短期行为
(2)故障管理:发现和排除故障;维护和监测错误日志;接收错误响应;跟踪辨别错误; (可检测、隔离、纠正故障)
(3)性能管理:可进行性能检测;收集统计信息;监控网络使用状况;维护网络使用状况;
(4)计费(记账)管理:统计网络资源利用率、进行账单管理、进行效益核算(统计资源利用率、确定计费方法、计算用户账单)
(5)安全管理:对授权机制、访问控制、加密和解密关键字的管理。
14.3 网络管理协议
协调管理者与代理之间的通信
14.3.1 SNMP(简单网络管理协议)
SNMP 协议在 SGMP 的基础上发展起来,由 IETF (Internet工程任务组)制定指定。
SNMPv1 | SNMPv2 | SNMPv3 |
---|---|---|
设计简单、易于实现的协议\成本低 | 增加了操作类型与支持多种传输层协议 | 提供了安全性与改进的框架结构 |
SNMP 是应用层的网络协议,采用客户机/服务器模式。
SNMP 在传输层采用支持无连接服务的 UDP 协议,在传输管理信息之前不需要建立连接。
SNMP 是 TCP/IP 协议族中的重要协议,其最大优点是协议简单、易于实现。
代理:
SNMP 协议在管理器与代理之间传输管理信息,其信息类型有很多,都保存在 MIB 的管理对象中
SNMP 协议采用轮询监控方式,管理器定时向代理请求获得管理信息,并根据返回信息判断是否发生异常。
工作与于多种网络环境,支持基于中断的工作模式,支持轮询与告警工作模式,RMON提供补充功能
管理信息库MIB 存储网终的通信自息和有关网络设备的统计数据。从被管理设备中收集数据有两种方法:一种是轮询方法,另一种是基于中断的方法
14.3.2 CMIP(通用管理信息协议)
CMIP 是基于 OSI 模型的网络管理协议,是国际标准化组织 (ISO) 制定的通用管理信息协议。
CMIP 协议负责实现具体的网管操作,而操作需使用 CMIS (通用管理信息服务)定义的各种服务原语。
CMIP 是应用层的网络协议,在传输层采用支持有连接服务的协议,传输信息之前需要预先建立连接。
CMIP 协议采用委托监控的方式,管理者只需向代理发送监控请求,代理将会自动监视指定的管理对象,并在异常事件发生时向管理者告警。
CMIP主要是通过联系控制协议ACP实现的
CMIP采用了报告机制,具有及时性的特点,支持委托监控机制
网管服务由CMIS(通用管理信息服务)定义,与CMIS配合工作
操作和事件报告是通过远程操作协议ROP实现的。
14.4 网络安全等级
由美国政府制定的可信计算机系统评估准则(TE-SEC-VCSC)将计算机系统的安全可信度从低到高分为四类,也叫橘皮书。共七个级别:
D级,最小保护,该级的计算机系统除了物理上的安全设施外没有任何安全措施,任何人只要启动系统就可以访问系统的资源和数据;属于非安全保护类,没有审计工能。
C1级,自主保护类,具有自主访问控制机制,用户登录时需要进行身份鉴别;
C2级,自主保护类,具有审计和验证机制;
B1级,强制安全保护类,引入强制访问控制机制,能够对主体和客体的安全标记进行管理;
B2级,结构保护,要求计算机系统所有的对象都加标签,而且给设备分配单个或多个安全级别;
B3级,具有硬件支持的安全域分离措施,从而保证安全域中软件和硬件的完整性,提供可信通道; 某信息系统具有安全内核,其安全等级至少是B3。
A1级,要求对安全模型作形式化的证明,对隐通道作形式化的分析,有可靠的发行安装过程。
14.5 X.800(OSI安全框架)
14.5.1 网络安全攻击类型
主动攻击 | 被动攻击 | 服务攻击 | 非服务攻击 |
---|---|---|---|
主动攻击不但进入对方系统搜集信息,同时要进行破坏活动,例如拒绝服务攻击、分布式拒绝服务 (DDos) 、信息篡改、资源使用、地址欺骗、伪装、重放等攻击方法。 | 波动攻击主要以收集信息为目的,信息的合法用户难以察觉这种活动,例如嗅探、漏洞扫描.信息收集,截获密码、监听信息、网络流量分析等 | 服务攻击是指攻击者对E-mail、 FTP、Web或DNS服务器发起攻击,造成服务器工作不正常甚至造成服务器瘫痪。例:端口攻击、邮件炸弹 | 非服务攻击不针对某项具体应用服务,而是针对网络设备( 如路由器、交换机、网关、防火墙等 )或通信线路。 |
主动攻击可分为四类:伪装、重放、消息篡改和拒绝服务。从网络高层的角度划分,攻击方法可以概括为服务攻击和非服务攻击。服务攻击是针对某种特定网络服务的政击。服务攻击可以采用分布式拒绝服务(DDoS)的攻击方式,使该服务处干瘫痪状态。NetXray主要用于非服务攻击。
14.6 加密与认证技术
公钥密码体制分为三类。加密、解密,数字签名与密钥交换。
14.6.1 对称加密(私钥加密)
对称加密技术对信息的加密与解密都使用相同的密钥。
14.6.1.1 DES (数据加密标准)
1975年由 IBM 公司提出、经ISO 认定的国际标准的对称加密算法,由美国国家标准局制定。
DES 是一种典型的分组密码,每次处理一个 64 位的明文分组,并且每次生成一个 64 位的密文分组。
DES 算法采用 64 位密钥长度,其中 8 位用于奇偶校验,用户可使用其余的 56 位。
解密使用相同的步骤和相同的密码,在DES算法加密中,每轮操作都有置换和代换,每轮的置换函数都一样。DES算法明文处理经过3个步骤:首先,64位的明文经过置换而被重新排列,然后进行16轮相同函数作用,最后一轮迭代的输出有64位,它是输入明文和密钥的函数。
子密钥互不相同,基于整数有限域离散对数难题,安全性与RSA类似。
14.6.1.2 3DES(三重 DES)
以DES 算法作为核心,用3个 56 位的密钥对数据执行3次 DES 计算,即加密、解密、再加密的过程。
14.6.1.3 AES(高级加密标准)
AES 将数据分解成固定大小的分组,以分组为单位进行加密或解密。
AES 的主要参数是: 分组长度、密钥长度与计算轮数。
AES 规定分组长度为 128 位,密长度可以为 128、192 或 256 位,根据密长度分别称为 AES128、AES-192 或 AES-256。
安全性不低于3DES、运算速度不低于3DES
14.6.1.4 其她对称加密算法
主要包括 IDEA、
Blowfish:Blowfish是一个可变密钥长度的分组密码算法,分组长度为64位,Blowfish算法所有的运算都是32位字的加法和异或,仅有的另一个运算是每轮的四个查表。
RC2、RC4、
RC5:RC5算法是Ron Rivest设计的一种对称加密算法,它是参数可变的分组密码算法,三个可变的参数是: 分组大小、密钥大小和加密轮数。在此算法中使用了三种运算:异或、加和循环。
CAST 等
14.6.2 非对称加密(公钥加密)
在非对称密码体系中,加密的公钥与解密的私钥不同
14.6.2.1 RSA
RSA 是由 Ron Rivest、Adi Shamir 与 Leonard Adleman 设计的一种非对称加密算法RSA 的理论基础是寻找大素数,其算法的安全性建立在大素数分解的基础上。
RSA 的密钥长度是可变的,用户既可以用长密钥以增强安全性,又可以用短密钥以提高加密速度。
常用的 RSA 密钥长度包括 512 位、1024 位、2048 位等。
可用于数字签名,属于分组密码
14.6.2.2 ECC(椭圆曲线密码)
椭圆曲线密码 (ECC)由 Neal Koblitz 和 Victor Miller 提出的非对称加密算法,其安全性建立在求解椭圆曲线离散对数的基础上。
在同等密钥长度的情况下,ECC 算法的安全性要远高于 RSA 算法等。在安全性相当的情况下,ECC算法所使用的密钥长度比 RSA 更短。
14.6.2.3 PKI(公钥基础设施)
公钥基础设施(PKI)是利用公钥加密和数字签名技术建立的安全服务基础设施,以保证网络环境中数据的秘密性、完整性与不可抵赖性。
数字签名技术可确定发送人的身份,防止信息在传输过程中被截获。数字签名算法是消息摘要 (MD5),是 Rivest 发表的一种单向散列算法,可对任意长度的数据生成128 位的散列值。
MD5 算法没有对数据进行加密或修改,只是生成一个用于判断数据完整性与真实性的散列值。不能从散列值计算出原始数据。
解释:认证中心产生用户之间通信时使用的公钥与私钥对,并存储在证书数据库中,当用户A希望与用户B通信时,用户A向认证中心申请下载包含自己密钥的数字证书,用户A拥有加密的密钥,用户B可以通过数字证书方式获得对应的公钥,在用户A向B发送用私钥加密和数字签名的文件时,用户B用公钥来验证文件的合法性。
14.6.2.4 ElGamal算法
公钥密码体制和椭圆曲线加密体系;基于离散对数;常用于数字签名,也用于数字加密;密文是明文的两倍。公钥加密,密文依赖于随机数,概率加密方法。
14.6.2.5 DSS
14.6.2.6 Diffie-Hellman
14.6.2.7 背包加密算法(MH加密算法)
物品总重量公开、背包问题属于NP问题、一次背包已不安全。
14.6.2.8 PKCS
14.7 防火墙技术
最简单的防火墙由一个包过滤路由器组成,而复杂的防火墙系统是由包过滤路由器和应用级网关组合而成。还有电路级网关
包过滤路由器也称为屏蔽路由器,它是被保护的内部网络与外部网络之间的第一道防线。
由于包过滤在网络层、传输层进行操作,2种操作对于应用层是透明的,因此不要求客户机与服务器程序作任何修改。
包过滤路由器会检查TCP报头的端口号字节,对于TCP报头信息,可以是源地址、目的地址、协议类型、IP选项、源端口号、目的端口号、TCP ACK标识等。
应用级网关也叫代理服务器,它在应用级的通信中扮演着一个消息传递者的角色。代理服务器可以工作在应用层上,能够检查进出的数据包,通过网关复制传递数据,防止在受信任服务器和客户机与不受信任的主机间直接建立联系。
属于网络安全设施、
防火墙的描述中,正确的是:
可通过软件来实现、可在硬件设备上实现、支持网络层的包过滤技术、应用级网关是一种防火墙、通常位于内部网络与外部网络之间
14.8 网络安全协议
14.8.1 IPSec与网络层安全
IPSec 是IETF 针对网络层通信安全而制订的一个协议集,是工作在网络层的安全协议
IPSec 主要包括 3 个组成部分: 认证头 (AH)、封装安全负载 (ESP) 与密钥管理协议。
IPSec 工作模式可分为两和类型: 隧道模式 (Channel Mode) 与传输模式 (Transport Mode)。
数据加密是在IP数据句传输过程中,
ESP头由2位SPI宁段和32位顺序号字段组成。AH头位于原P数据报数据和IP头之间
源主机和网络主机进行握手并且建立网络层逻辑连接,这个逻辑连接被称为安全协定(SA),SA(安全协定) 定义的逻辑连接是一个单工连接也就是说,连接是单向的。是唯一定义为一个三元组。
安全协议是指 AH 或 ESP 协议
安全参数是指相关的密钥、生存期、发布与更新方式等。
安全关联是指一组安全参数的集合 (IPSec 模式、AH 或 ESP 协议、认证与加密算法、密钥以及生存期等)
安全关联的 2 个特点 :
(1)描述的是一种单向关系,若 IPSec 结点的双向数据传输都需要保护,则需要为输入与输出数据建立不同的安全关联;
(2) 安全关联针对的是一种安全协议,若IPSec 结点同时使用 AH 与 ES 协议,则需要为 AH 与 ESP 建立不同的安全关联。
AH (Authentication Header,验证报头协议):可工作在传输模式或道模式。主要是用来提供数据完整性校验和源校验,即只提供校验功能,并没有提供加密功能。在传输模式下,生成的 AH 头直接插入原 IPV4 分组头的后面,对于IPv6 协议,AH 头则是 IPv6 扩展头的一部分。
ESP 协议:可工作在传输模式或隧道模式。可提供加密服务,可实现身份认证
14.8.2 SSL、TLS与传输层安全
SSL(安全套接层协议)可用于 HTTP、FTP、TELNET 等,处于端系统的应用层与传输层之间。当 Web 系统采用 SSL 时,Web 服务器的默认端口号从 80 变换为 443,Web 浏览器使用 https 代替常用的 http。是Netscape与于1994年开发的
SSL 主要包含两个协议:SSL 握手协议与 SSL 记录协议。
SSL继任者TLS(安全传输层协议) 用于在两个通信应用程序之间提供保密性和数据完整性
该协议由两层组成:TLS 记录协议和 TLS 握手协议。
14.8.3 PGP、SET、S/MIME与应用层安全
PGP协议于1995年开发,包括电子邮件的加密、身份认证、数字签名等安全功能。PGP协议使用两层加密体制,在内层利用对称加密技术,每次传送信息可以重新生成新的密钥,保证信息的安全性:在外层利用非对称加密算法加密对称密钥,保证密钥传递的安全性,实现身份认证。
PGP协议是一个安全电子邮件加密方案,PGP的实际操作由五种服务组成:数了签名(采用DSSSHA或RSA/SHA算法)、报文加密(采用CAST、IDEA、3DES、RSA) 、压缩(采用ZIP算法)、电子邮件的兼容性(采用64-base转换) 和分段(为了满足最大报文长度的限制,PGP完成报文的分段和重新装配)。
SET (安全电子交易协议):
电子商务是基于浏览器/Web 服务器工作模式,实现网上购物和在线支付的一种新型商业运营模式。使用了对称加密与非对称加密体系,以及数字信封、数字签名、信息摘要技术与双重签名技术,以保证信息在 Web 环境中传输和处理的安全性。
- 常用于电子商务应用
- 防止交易数据被篡改
- 需要认证中心的支持
- 验证交易双方的身份
S/MIME协议:
S/MIME 协议是专门用来保障电子邮件安全的一种应用层加密协议。由 ETF 审定,从 PEM 和 MIME 发展而来的;
利用单向散列算法(如 SHA-1、MD5 等)和公公钥机制的加密体系,用于提供数据保密、完整性保护、认证和鉴定服务、数字签名等功能;S/MIME 侧重于作为商业和组织使用的工业标准,而 PGP 作为个人安全电子邮件的安全标准,S/MIME 已成为产界业广泛认可的协议,如微软公司、Netscape 公司、Novll公司、Lotus 公司等都支持该协议。S/MIME 是开放平台,既支持 Windows 平台,也支持 iOS 平台。
14.9 RTCP(实时传输控制协议)
RTCP的主要功能包括以下4个方面: (没有传输和压缩实时语音等多媒体信息)
1.提供数据分发质量的反馈报告:
2.传递RTP源的规范名称:
3.控制RTCP数据包传送间隔:
4.传输少量的会话控制信息:
14.10 其她
在X.509公共密钥证书中,主题名是实体的身份,其公钥与证书相关,以DN格式表示;
版本字段是X.509说明书的版本号:合法时期表示证书有效期的起止时间:
发行者名是签发证书CA身份,以DN格式IRFC 22531表示。
X.509由CCITT制定,它通过X.500目录提供认证服务的框架,该目录可以看成是公钥证书的数据库。每个证书包含了一个可信机构签名的用户公钥(可通过可信的第三方实现认证)。
Kerberos由MIT开发,是TCP/IP网终设计的可信第三方鉴别协议,基于对称密钥体制。
认证中心 (CA) 负责将公共密钥和特定实体进行绑定具有: (1) CA验证实体(个人,路由器) 的身份。 (2) 一旦CA验证了实体的身份,CA就可以产生一个证书,将这个公共密钥和身份进行绑定(将公钥和特定实体相绑定)。
KDC(Key Distribution Center,密钥分发中心) 是一个独立的可信网络实体,是一个服务器。认证中心一般由企业担任。KDC可发放会话密钥,通信双方都需信任KDC.
PGP是商业产品,DSS/SHA或RSA/SHA算法都是PGP的数字签名采用的,压缩使用的算法是ZIP: PGP和S/MIME这两种协议对一般用户来说,在使用上非常类似。但是事实上它们是完全不同的,S/MIME更侧重作为商业和组织使用的工业标准而出现,而PGP主要是截At +AN安全电子邮件的选择,与S/MIME不兼容。
消息认证可防止消息被第三方偷看。重放:是指将获得的信息再次发送,以在非授权情况下进行传输。
篡改检测码可以验证完整性,消息序号可以阻止重放攻击,认证不一定是实时的,消息认证有单向认证,也有双向认证。
关于消息认证的描述中,正确的是:又称为完整性校验、可采用消息认证码(MAC)、可采用篡改检测码(MDC)
博客从英文单词Blog音译而来,一个典型的博客结合了文字、图像、其他博客或者网站的连接及其他与主题相关的媒体。博客是一跨平台的一种应用软件,支持多媒体信息,构成了一个虚拟的社会网络。
安全电子邮件包括多种协议,广泛使用PGP和S/MIME技术。PGP公共密钥是通过委托网站进行认证,也可以通过互联网上的PGP公共密钥服务器发布,支持邮件加密功能。S/MINE侧重于作为商业和组织使用的工业标准,而PGP作为个人安全电子邮件的安全标准。它们都不要IPSec和KDC的支持。
身份假冒涉及到冒用账户,使用别人的设备不算身份的冒用。
数字签名是笔迹签名的模拟,公钥密码体制和私钥密码体制都可以用于数字签名,验证时需要使用相同的散列(Hash) 函数,并且通过比较消息摘要是否匹配来验证签名的正确性。
可用来作认证的函数分为三类:信息加密函数、信息认证码和散列函数。散列函数是一个定长的Hash值,常见的散列函数有MD5和SHA-1,MD5通过四步处理得到128位消息摘要,而SHA-1生成160位信息摘要。签名信息与原有信息相关。签名可看作加密的消息摘要
网络安全服务主要包括可用性、机密性、完整性、不可否认性和可控性。
MOSS是一款为企业客户而设计的、基于web的内容管理和协作工具。
15 拓展
WDM是将一系列载有信息、但波长不同的光信号合成一束,沿着单根光纤传输:在接收端再用某种方法,将各个不同波长的光信号分开的通信技术。
16 考试模板
16.1 单选题
1
2-4
5-10
11-13
14-19
20-25
26-27
28-30
16.2 多选题
31(第一章)
32-33(第三章)
34(第四章)
35-36(第五章)
37-38(第六章)
39(第七章)
40(第八章)
17 题目记忆
17.1 考卷1
21.文件系统实现文件的按名存取是通过下列哪一项工作完成的:文件目录查找
22.使用文件前要先打开文件。在成功执行打开文件系统调用后,系统会返回给用户一个文件描述符
28.死锁产生的原因之一是资源分配不当和进程推进顺序不当。
32.保存在进程控制块结构中的信息是:进程标识符、进程当前状态、代码段指针
33.在抢占式调度系统中,进程从运行状态转换为就绪状态的可能原因是:被调度程序抢占处理机、进程创建完成、时间片用完
35.地址映射的叙述中,正确的描述:地址映射过程通常是由硬件完成的、地址映射是将虚拟地址转换成物理地址、页表项的一些内容是硬件确定的、根据页表项的有效位确定所需访问的页面是否已经在内存
38.设计文件系统时应尽量减少访问磁盘的次数,以提高文件系统的性能。下列各种措施中,哪些可以提高文件系统的性能:块高速缓存、磁盘驱动调度、目录项分解法
36.快表的叙述中,正确的描述:快表的另一个名称是TLB、当切换进程时,要刷新快表、快表存放在高速缓存中、对快表的查找是按内容并行进行的。
37.文件控制块中保存的信息没有文件描述符
38.设计文件系统时应尽量减少访问磁盘的次数,以提高文件系统的性能。提高文件系统的性能:块高速缓存、磁盘驱动调度、目录项分解法
52. MTU (Maximum Transmission Unit)即最大传输单元,是网络中规定的一个帧最多能够携带的数据量,以字节为单位
54.在Internet上进行组播就叫IP组播,组播中的成员是动态的,一个主机可以参加某个特定的组,也可以在任意时间退出该细。在A、B、C、D和E类这5类地址中,A、B、C为单播地址,D类为组播址,E类地址为保留地址。发送方不必是组播组成员。不必知道有哪些成员。
65.全文搜索引擎是目前广泛应用的主流搜索引擎。全文搜索引擎功能模块由搜索器、检索器、用户接口和索引器组成
78.在VoIP系统中,网关的主要功能包括:号码查询、信号调制、路由寻址
79.网络故障管理的功能主要包括:维护错误日志、执行诊断检测、跟踪错误
80.关于IPSec的描述中,正确的是:在网络层提供安全服务、SA定义的逻辑连接是单向的
17.2 考卷2
- I/O中断一般由/0设备的控制器或者通道发出。I/O中新通常可分为两大类:I/O操作正常结束以及I/O异常,数据传送完毕、设备出错和键盘输入均产生I/O中断。指令出错属于程序性中断。
4.用户在编写程序时,若要在屏慕上画出一个红色的圆,需要使用系统调用。
10.在采用非抢占式调度的操作系统中,不能引起新进程调度的事件是:新创建的进程进入就绪队列
13.关于管程的叙述中,正确的是:管程是一种同步机制、引入管程是为了提高代码可读性、管程将共享变量及对共享变量的操作封装在一起
17.虚拟储存空间的大小受到下列哪一因素的限制
20.在文件系统中,文件的逻辑块与存储介质上物理块存放顺序一致的物理结构是:顺序结构
21.不能用于提高文件目录检索效率:限制子目录个数
25.调度时间不会影响磁盘读写性能
32.从操作系统的角度看,进程的必要组成成份是:进程控制块、数据、指令代码
33.现代操作系统中,引入线程的主要目的是:提高并发度、减少通信开销、线程之间的切换时间短、每个线程可以拥有独立的栈
35.在操作系统各种存储管理方法中,存在外碎片的是:动态分区、段式
36.在虚拟页式存储管理系统中,每个页表项中必须包含的是:页框号、有效位、修改位、访问位
38.FAT也就是Windows支持的,采用链接结构的物理结构文件分配表,FAt12、FAT16、FAT32均是Fat文件系统,分别采用了12位、16位、32位表示簇号。FAT16目录项只为文件名保留了8个字节的空间,只能支持 8个字符文件名。
17.3 考卷3
- 所谓多道程序设计,就是允许多个程序同时进入内存并运行。多到程序的并发执行是指它们在宏观上是同时进行的,但从微观上看,在单CPU系统中,它们仍然是顺序执行的。
- 引起进程阻塞的事件有: 请求系统服务、启动某种操作、新数据尚未到达(需要的数据没有准备好)与无新工作可做。
- pthread create是类Unix操作系统(Unix、 Linux、Mac OS X等)的创建线程的函数
19.在虚拟页式存储管理系统中,若采用请求调页方式(分为两部分:用于存放文件的文件区和用于存放对换页面的对换区。由于与进程有关的文件都放在文件区,故凡是未运行的页面都应该从文件区调入。),当用户需要装入一个新的页面时,其调入的页面来自磁盘文件区
24.UNIX操作系统中,对文件系统中空闲区的管理通常采用成组链接法
25.对于FAT32文件系统,它采用的是哪一种文件物理结构:链接结构
34.测试与设置指令(Test&Set)是解决互斥访问临界区的硬件方法。下列关于该指令功能的叙述中,哪些是正确的:测试W的值,若W=1,则返回重新测试、测试W的值,若W=0,置位W=1,进入临界区、退出临界区时,复位W=0。
35.下列各种内存管理方案中,哪些可以与虚拟存储技术结合使用:页式、段式、段页式
37.能够进行随机存取的文件物理结构只有连续结构与索引结构,多级索引结构属于索引结构的一种。
51.下一跳路由地址是指下一个路由(网关)的入口地址
77.在P2P网络中,Pastry、Tapestry、Chord、CAN采用了分布式结构化拓扑
17.4 考卷4
2.中断服务程序是固定在某个地址的代码段。
20.从用户角度看,文件控制块 (FCB) 中最重要的字段是:文件名
21.可以把文件划分成3类逻辑结构:无结构的字符流式文件(无结构、流式结构)、定长记录文件和不定长记录文件构成的记录树
33.调度算法是解决以何种次序对各就绪进程进程处理机的分配以及按何种时间比例让进程占用先机。其中,先来先服务、短作业优先最高响应比优先和时间片轮转调度算法均按照时间比例占用先机,高优先级优先是由进程优先数决定的。
35. 通常用于管理空闲物理内存的方法有:位示图表示法、空闲页面表、空闲块表。
36.将内存等分成大小为2的幂次方的内存块,称为页框
系统将虚拟地址空间等分为若干页面,大小与页框相同
虚拟页面在物理空间上不要求连续存放
硬件机制实现逻辑地址到物理地址的动态转换
39.进行设备分配时应该考虑:固有属性、分配算法、分配的安全性、独立性
17.5 考卷5
- 所谓程序并发执行是指两个或两个以上程序在计算机系统中同处于已开始执行且尚未结束的状态。程序并发执行产生了一些和程序顺序执行时不同的特性:1并发程序在执行期间具有相互制约关系:2程序与计算不在一一对应,3并发程序执行结果不可再现4.并发程序的执行过程失去了封闭性
18.实现虚拟页式存储管理的硬件基础是缺页中断机制
19.程序局部性原理,是指程序在执行时呈现出局部性规律,即在一段时间内,整个程序的执行仅限于程序中的某一部分。相应地,执行所访问的存储空间也局限于某个内存区域。空间局部性是指一旦程序访问了某个存储单示,其附近的存储单元也将被访问,程序代码执行具有顺序性。
20.从用户角度看,建立文件系统的主要目的是实现文件的按名存取
21.常用的文件物理结构有顺序结构、链接结构、索引结构和I节点结构。
22.使用文件系统时,通常要显式地进行close(操作,这样做的目的是:将文件控制块写入磁盘或缓存
23.优化设备分配方案与改善磁盘读写速度无关
24.树形目录结构的优点是:层次结构清晰,便于管理和保护,解决了重名的问题,易于实现子树中文件保护、保密和共享,查找速度加快。树形目录结构的缺点是,查找一人文件按路径名逐层检查,多次访问会影响速度,结构比较复杂
26.磁盘的/0控制主要采用的是DMA方式。
27.关于进程优先级的叙述中,正确的是
一般地,系统进程的优先级应高于用户进程的优先级
若采用静态优先级,即使进程等待的时间增加,其优先级也不会改变
采用动态优先级,如果某进程长时间得不到运行,系统会额外提升它的优先级
37.通常文件存储空间的分配管理的方法主要有4种:空块表、空闲块链表、位示图和成组链接法
39.通道是一个独立于CPU的专门/0控制的处理机,控制设备与内存直接进行数据交换。通道按照信息交换方式通常设立3种类型的通道:字节多路通道、数据选择通道和数组多路通道。
47.以大网地址物理地址、MAC地址,它是48位的Ethernet物理地址编码方法。IPv6是逻辑地址,和以太网地址无关。
17.6 考卷6
- 挂起的方式有3类:0把挂起原语调用者本身挂起,即自己挂起自己:挂起某个标识符的进程,0将某个指定的标志符及其全部或部分子孙挂起用的保存n进程的pb副本的内存区。为使进程从阳塞态转换为挂起态,使用的原语是suspend0。
10.在Pthread线程包关于条件变量的使用中,pthread mutex init0表示的是创建一个互斥量
11.同步机制应该遵循的准则有如下4条:空闲则入、忙则等待、有限等待和让权等待
19.时间局部性是指程序中存在大量循环
17.7 考卷7
17.8 考卷8
17.页号是地址的高位部分,页内地址是地址的低位部分。
36.在虚拟页式存储方案中,当进行页面置换时需要用到页表表项的哪些位:访问位、修改位
37.按照文件的用途划分的文件分类: 系统文件、库数文件与用户文件。
17.9 考卷9
- Pthread_yield(0);线程th_f运行后主动释放CPU给其他线程
12.为了保证计算机中临界资源的正确使用,进程在对临界资源访问前,必须首先调用进入区代码,然后执行临界区代码,最后执行退出区代码。P原语操作属于进入区。
17.利用高速缓冲存储器存放当前访问最频繁的少数活动页面的页号,这个高速缓冲器被称为“快表”。快表存放在缓冲器中
20.文件系统中,若将逻辑上连续的文件信息分散存放在若干不连续的磁盘块中,并将所有磁盘块的地址集中存放在一张表中,这种结构称为索引结构
23. 35,45,12,68,110,180,170,195(电梯调度)
110,68 45 35 12 170 180 195
30.32. PCB的内容可以分成调度信息和现场信息两大部分。调度信息供进程调度时使用,描述了进程当前所处的状况,它包括进程名、进程号、存储信息、优先级、当前状态、资源清单、“家族”关系、消息队列指针、进程队列指针和当前打开文件等,现场信息刻画了进程的运行情况,只记录那些可能被其他进程改变的寄存器,如程序状态字、时钟、界地址寄存器等。
33.对于运行批处理作业的大型计算中心,其调度算法的设计目标是:较大的吞吐量、较短的周转时间、较高的CPU利用率
34.为了合理使用计算机系统的资源,在作系统中采用的进程同步机制应遵循以下几条准则: 空闲则入、忙则等待、有限等待、让权等待。
36.下列关于虚拟存储管理方案的叙述中,哪些是正确的:
在虚存中,页面可能在内存与外存之间频繁地调度,有可能出现抖动或颠簸
抖动或颠簸可能会导致系统效率急剧下降
操作系统为每一个进程保持一个工作集
进程对内存有临界要求,当分配给进程的物理页面数小于该临界值时,缺页率上升
37.按照文件的保护方式划分的文件分类:可执行文件、只读文件、读写文件、无保护文件等。
40.
进程 | 最大需求(MAX) | 已分配(Allocation) | 需要(Need) | 总计(Available) | 可用 |
---|---|---|---|---|---|
P1 | 753 | 010 | 743 | ||
P2 | 322 | 200 | 122 | ||
P3 | 902 | 302 | 600 | ||
P4 | 222 | 211 | 011 | ||
P5 | 433 | 002 | 431 |
最大需求、已分配、总计是已知的
需要=最大需求 - 已分配(依次计算即可)
可用=总计() - 已分配之和 =
17.10 考卷10
2.临界区、中断服务程序都是属于互斥共享。内核调度模块属于软件级别,不存在同时共享和互斥共享。
22.访问磁盘时间分为3部分: 寻道时间Ts,旋转延时时间Tr和传输时间Tt,其中,寻道时间是机械动作的时间,因而所花费的时间最长,最短的是传输时间。23.
30.32.线程描述表记录的信息有: 线程1D、指令地址寄存器、处理器存器,硬件设备寄存器,栈现场状态等少量线程私有信息
33.对于交互式系统,其调度算法的设计目标是:较快的响应时间、较均衡的性能
34.下列哪些方法可以实现进程互斥:Peterson算法、Test-and-Set(TS)指令、Swap或Exchange指令、信号量
36.关于虚拟存储管理方案的叙述中,哪些是正确的:
采用先进先出页面置换算法(FIFO)可能导致Belady现象
出现抖动或颠簸现象时,系统用于调度页面所需要的时间比进程实际运行所占用的时间还多
工作集大小与工作集窗口尺寸密切相关
操作系统应为每个进程提供与工作集大小相等的物理页面数
进程对内存有临界要求,当分配给进程的物理页面数小于该临界值时,缺页率上升。
37.按照文件的存放时限划分的文件分类: 临时文件、永久性文件和档案文件等40.
17.11 考卷11
6.进程由指令、数据和讲程控制块 (PCB)3部分组成。PCB有3种组织方式:线性方法、索引方法与接方法
12.临界区是指进程中访问临界资源的一段代码
13.管程的互斥是由管程本身性能实现的,管程中一次只能有一个进程可以在管程内活动。
17.页式存储管理可以把一个逻辑连续的程序分散存放到几个不连续的内存区域中,并且保证程字的正确执行。物理地址的计算公式为:物理地址=内存号*块长+页内地址,分面物理页面采用的是空闲适应算法。页式存储器提供编程使用的逻辑地址由两部分组成:页号和页内地址,用户在编辑的时候无须考效啊分页的问题,使用连续的逻辑地址即可。
22.外存储设备存取的过程大致是: 读状态——置数据——置地址——置控制——读状态…,如此重复
30.32.线程的实现机制有3种途径: 用户级线程、内核级线程、混合实现方式
34.信箱通信机制中接收原语receive0操作功能是: 从指定信箱中取出一封信,存放到指定的内存地址中。
35. 移动技术可以集中分散的空闲区,提高内存的利用率,便于作业动态的扩充内存,采用移动技术要注意以下回题:
0移动技术会增加系统的开销:
0移动是有条件的。在采用移动技术时应该尽可能减少需要移动的作业教和信息量,
在内存中可以将进程以低地址区域移到高地址区域,可以将进程从高地址区域移到低地址区域。
39.设备分配时需要考虑公平性、共享性等多种因素,所以设备分配策略主要包括先来先服务、高优先级优先40.
17.12 考卷12
8.当使用进程创建原语创建进程时:申请PCB,填写PCB,放入就绪队列
9.10.
11.两个相互不感知(完全不了解其他进程是否存在)的进程,其潜在的控制问题是:两个进程相互不竞争、不协作,但可能造成互斥或死锁
13.共享内存方式进行进程间的通信要解决两个问题:一是怎样提供共享内存,二是公共内存中的读写互斥问题。操作系统般只提供要共享的内存空间,而处理进程间在公共内存中的互斥关系则是程序开发人员的责任。
18.20.构成文件内容的基本单位称为信息项
21.执行打开文件操作时由操作系统返回的信息是文件描述符。
22.实现创建文件操作的描述中,正确的是:
创建文件操作完成后,该文件得到一个新的文件控制块 (FCB)
创建文件操作完成后,操作系统给该文件分配一定的存储空间
实现创建文件操作时,需要检查文件名的合法性
创建文件时不需要检查文件的存取权限,读写文件时需要。
23.SCAN调度(从小到大,从大到小)
30.33.
进程按花费在计算和/0上时间不同而划分为两个类型:某些进程花费了大多数时间在计算上,称为计算密集型进程,而其他进程则在等待I/O上花费了大多数时间,称为I/O密集型进程。
34.36.在虚拟页式存储方案中,常用的页面调入策略有两种:请求调页和预调页。
37.磁盘上文件的物理结构及存取方式有: 连续结构(随机、顺序存取方式)、链接(顺序存取方式) 、索引 (顺序、随机存取方式) 没有链接结构,随机存取
40
17.13 考卷13
8.撤销进程的实质是撤进程PCB,具体撤销过程是:找到要被撤销进程的PCB,将它从所在的队列中除去,撤销属于该进程的一切“子孙进释放被撤销进程所占用的全部资源,并消去被撤销进程的PCB
10.13.消息缓冲区、消息队列、同步互斥信号量和收发消息原语
17.
18.
23.28.
35.下列各种存储管理方案中,可能产生内部碎片的是:虚拟页式、段页式、固定分区(内存碎片分为内部碎片和外部碎片,内部碎片是指已经分配出去的内存中,没有得到利用的内存空间;而外部碎片是指内存空间大小无法满足分配要求的碎片(还未分配出去))
36.在虚拟页式存储方案中,“固定分配、局部置换”策略的含义是:为每一个进程分配固定数目的内存页面、进程运行中出现缺页,只能在本进程的页面中进行置换。
37.“文件物理结构、存取方式”组合适合磁带上的文件是:连续结构、顺序存取
17.14 考卷14
8.当使用进程唤醒原语唤醒进程时,合理顺序:在等待队列中找到该进程PCB,修改PCB中进程状态为就绪,将其插入到就绪队列。
10.pthread_exit(线程th_f运行后正常退出)
20.Linux的EXT2文件系统不区分文件名的大小写
21.创建文件时可以设置缺省值的是文件的保存期限
22.28.
31.分布式操作系统的特点是:
系统内所有主机使用同一个操作系统
系统内资源深度共享
用户无需了解系统内本地主机或异地主机的差异,具有透明性
系统内各主机处于同等地位,不分主次
系统具有较高的可靠性
33.P、V操作可以实现进程间的同步与互斥,它的主要不足是:程序不易读懂、程序不利于修改和维护、正确性难以保证。
34.在下列存储管理方案中,可进行进程部分交换的是:页式、段式、段页式
36.在虚拟页式存储方案中,“可变分配、局部置换”策略的含义是:进程运行中出现缺页,只能在本进程的页面中进行置换、进程运行中,其内存页面可以动态增长或减少、为每一个进程分配一定数目的内存页面
17.15 考卷15
7.
8.当使用进程阻塞原语阻塞进程时:中断CPU执行,保存现场信息,修改PCB中进程状态为阻塞,将其插入到阻塞队列
9.线程操作pthread_yield表示线程让出CPU。
12.lock = FALSE语句属于哪一个区域:临界资源访问过程中的退出区
20.从使用角度关注文件的组织形式称为文件的逻辑结构
从查找文件角度关注文件的组织方式称为文件的逻辑结构
UNIX 操作系统中将I/O 设备看作是特殊文件
保存在永久性存储介质上以备查证和恢复时使用的文件称为档案文件
34.采用硬件方法可以实现进程的互斥,该方法的优点是:适用范围厂、操作简单、支持多个临界区
35.下列各种存储管理方案中,可以将整个进程进行交换的是:固定分区、可变分区
36.
17.16 考卷16
1718.
32.进程与程序有联系又有区别。进程是由程序、数据和进程控制块(PCB) 三部分组成。程序是由指令代码、数据等组成。
进程与程序都有数据、进程与程序都有指令代码
33.
35.存储保护的内容包括:保护系统程序不被用户有意或无意的侵犯,不允许用户程房读写不属于自己地空间的数据,如系统区地外空间、其他用户程序的地外空间。当发生地如越界或非法操作时,由硬件产生中断,进入操作系统外理。
36
37.
文件的物理结构有多种,其中链接结构的优点是:适合顺序存取,不适合随机存取、文件内容可以很容易动态增加、磁盘空间出现的碎片较少
17.17 考卷17
13.16.
17.
18
33.
printf(“%d”,i) //以十进制来输出i的值35内存分配表的组织方式主要有位示图表、空闲页面表、空闲块表
36
17.18 考卷18
1218
17.19 考卷19
30.33
17.20 考卷20
10.
17.21 考卷21
20.作为文件内容保存的对象:一组有序的信息项
17.22 考卷22
17.23 考卷23
17.24 考卷24
17.25 考卷25
17.26 考卷26
17.27 考卷27
20.文件系统所必须的功能:保证各用户文件的存放位置不冲突、防止任一用户对存储存空间的占而不用、允许在一定条件下由多个用户共享某些文件
22.在进行文件删除、文件建立、写文件等操作中都会访问和修改空闲空间登记表。在设计空闲空间登记表的数据结构时,一般会有四种不同的方案可以考虑:位示图、空闲块表、空闲块链表和空闲块成组链表。
17.28 考卷28
17.29 新增真考试卷2
11.
7.为了便于管理,系统把所有的PCB用适当方式组织起来,大致有三种组织方式:线性方式、索引方式和链接方式。
8.系统中进程的队列分为三类: 就绪队列、等待队列和运行队列。
22.访问磁盘时,首先要移动磁头臂到相应柱面上(磁道),然后旋转盘片将制定磁头定位在指定扇区上,最后控制磁头对扇区中的数据进行读写。所以磁盘访问的三要素是磁道、磁头和扇区。它们在访问中的正确顺序是磁道、磁头、扇区。
32.七状态进程模型把原来的就绪状态和阻塞状态进行了细分,增加了就绪挂起和阻塞挂起两个状态,这种做法的好处有
- 提高处理机效率:就绪进程表为空时,有空闲内存空间用千提交新进程,可提高处理机效率:
- 可为运行进程提供足够内存: 资源紧张时,可把某些进程对换至外存;
- 有利工调试,在调试时,挂起被调试进程,可方便对其地址空间进行读写
40.为解除死锁就要剥夺资源,考虑使用最经济合理的算法,必须考虑的因素有
- 进程的优先级,
- 进程已经运行了多长时间,该进程完成其任务还需要多长时间?
- 该进程使用的资源种类和数量? 这些资源能简单地被剥夺吗?
- 为完成其任务,进程还需要多少资源?
- 有多少进程要被撤销?
- 该进程被重新启动运行的次数?
61.RFC2778描述即时通信系统的功能,工作在应用层,定义了音频/视频聊天、应用共享、文件传输、文件共享、游戏邀请远程助理、白板等功能。
66.在网络管理的描述中,代理位于被管理的设备内部,可以把自身系统中发生的事件主动通知给管理者。管理者将管理要求通过管理操作指令传送给被管理系统中的代理,代理则直接管理被管理的设备。代理可能因为某种原因拒绝管理者的命令。个管理者可以和多个代理进行信息交换,同样一个代理也可以接受来自多个管理者的管理操作。
70. X.800即为OSI安全框架,包括安全攻击、安全机制、安全服务三部分。在X.800中将安全攻击分为两类: 被动攻击和主动政击。X.800区分可逆和不可逆加密机制。安全服务其目的在于利用一种或多种安全机制阳止安全攻击,但不能保证系统绝对安全。
73.数据使用的地址表示基本服务集BSS的ID、源地址、目的地址、发送结点地址域接送结点地址。