四级网络工程师操作系统部分1.操作系统概论计算机系统包括硬件系统,软件系统计算机系统的资源包括两大类硬件资源和软件资源硬件系统:中央处理器,内存储器,外存储器,以及各种类型的输入输出设备(键盘,鼠标显示器,打印机)软件系统:各种程序和数据软件系统又分为:应用软件,支撑软件(数据库,网络,多媒体),系统软件(操作系统,编译器)集中了资源管理功能和控制程序执行功能的一种软件称为操作系统2.操作系统的任务:组织和管理计算机系统中的硬件和软件资源向用户提供各种服务功能(一方面向程序开发和设计人员提供高效的程序设计接口二向使用计算机系统的用户提供接口)3.操作系统的特征并发,共享,随机4。操作系统的功能进程管理存储管理文件管理作业管理和设备管理,用户接口5.操作系统的发展1.手工制作2.早期批处理3.多道批处理4.分时系统6.UNIX系统C语言编写,多用户,多任务,分时操作系统,树形文件系统7.个人计算机操作系统20世纪70年代微软MSDOS单用户单任务1984年苹果操作系统1992微软交互式操作系统WINDOWS3.11995window951991linuxlinux遵循UNIX标准POSIX继承UNIX全部优点8.安卓系统linux2.6内核2007.11.5操作系统分类1.按用户界面的使用环境和功能特征批处理操作系统,分时操作系统,实时操作系统随后的发展多了个人操作系统,网络操作系统,分布式操作系统,嵌入式操作系统批处理操作系统:特点成批处理。目标系统资源利用率高作业吞吐率高(单位时间内计算机系统处理作业的个数)缺点:不能直接与计算机交互不适合调试程序重点1.1一般指令和特权指令运行模式:用户模式,特权模式为用户服务的用户模式称作为目态为系统专用的特权模式称为管态机器指令划分为一般指令和特权指令特权指令包括(输入输出指令,停机指令)1.2SPOOLing多道程序的基本思想是在内存中同时保持多大作业,主机可以以交替方式同时处理多个作业分时系统设计思想:分时操作系统将CPU的时间划分为若干个小片段称为时间片特点:多路性,交互性,独占性,及时性分时系统追求的目标是及时响应用户输入的交互命令,用来衡量系统及时响应的指标是响应时间,响应时间越短越好实时系统是使计算机能在规定的时间内及时响应外部事件的请求主要目标在严格时间范围内,对外部请求作出反应,系统具有高度可靠性几个方面的能力1实时时钟管理2.过载防护3.高可靠性嵌入式操作系统高可靠性,实时性,占有资源少,智能化能源管理。易于连接,低成本个人计算机操作系统单用户多任务网络操作系统(NOS)目标:相互通信及资源共享两种模式:集中式,分布式分布式操作系统特征:是一个统一的操作系统实现资源的深度共享透明性自治性集群是分布式系统的一种网络操作系统和分布式操作系统主要不同在于:网络操作系统可以构架与不同的操作系统网络操作系统不要求对网络资源透明的访问,对本地资源和异地资源访问区别对待分布式操作系统强调单一操作系统对整个分布式系统的管理,调度智能卡操作系统指令集有ISO/IEC7816-4提供的指令类型:数据管理类,通信控制类,安全控制类四个基本功能:资源管理,通信管理,安全管理,应用管理智能卡硬件资源:CPU,存储部件,通信接口操作系统结构整体式结构层次式结构微内核(客户机/服务器,典型的WINDOWSNT)操作系统第二章处理器的构成:运算器,控制器,一系列寄存器和高速缓存运算器:实现任何指令中的算术和逻辑运算控制器:负责控制程序的运行的流程寄存器:指令在CPU内部作出处理的过程中的暂存数据,地址及指令信息的存储设备。在计算机的存储系统中具有最快的访问速度高速缓存:位于CPU和物理内存之间,一般有内存管理单元管理,访问速度快于内存,低于寄存器1.处理器中的寄存器:用户可见寄存器(数据寄存器,地址寄存器,条件码寄存器)控制和状态寄存器(程序计数器PC,指令寄存器IR,程序状态字PSW)大致分为5类访问存储器指令,算术逻辑指令,I/0指令,控制转移指令,处理器控制指令2.特权指令非特权指令特权指令:只能由操作系统使用的指令,包括启动某设备指令,设置时钟指令,控制中断屏蔽的某些指令,清主存指令,建立保护指令)非特权指令:用户可以使用的2.1处理器的状态:划分为管态和目态管态一般指操作系统管理程序运行的状态,又称为特权态,系统态,目态一般指用户程序运行时的状态,又称为普通态,用户态目态-管态的转换通过中断或者异常管态-目态通过PSW指令(修改程序状态字)2.2程序状态字PSW包括(CPU的工作状态代码,条件码,中断屏蔽码)3存储体系作业和程序只有存放在主存储器(又称内部存储器或者内存)中才能运行3.1存储器的层次结构主要考虑的三个问题:容量,速度,成本速度:寄存器,高速缓存,内存,硬盘存储器,磁带机/光盘存储器3.2存储保护界地址保护,存储键4中断和异常4.1中断:CPU对系统中或系统外发生的异步事件的响应引起中断的事件:中断事件或中断源中断向量表:程序状态字+指令计数器中断技术解决了主机和外设并存工作的问题作用:能充分发挥处理器的使用效率提高系统的实时能力4.2异常是由正在执行的指令引发的中断和异常的分类典型的中断:时钟中断,输入输出中断,控制台,硬件故障;典型的异常:程序性中断。访管指令异常5中断系统中断系统的组成:中断系统的硬件中断装置和软件中断处理程序1.中断请求的接收2.中断响应3.中断处理中断信号的接收,响应和处理过程简要的归纳为:接收和响应中断,保护中断断点现场,分析中断变量,调用中断处理程序,中断处理结束回复现场,继续执行5.1几种典型的中断的处理I/0中断,时钟中断,硬件故障中断,程序性中断,系统服务请求(访管指令)5.2.中断优先级和中断屏蔽多级中断与中断优先级硬件决定了各个中断的优先级别在同一中断优先级中多个设备接口中同时又中断请求时:固定优先数,轮转法5.3.中断屏蔽(可屏蔽和不可屏蔽)机器故障中断不可屏蔽6.系统调用系统调用和一般过程调用区别系统调用:调用程序在用户态,被调用程序在系统态一般过程调用:在相同状态(核心或者用户态)系统调用分类:进程控制类,文件操作类,进程通信类,设备管理类,信息维护类7.I/O技术I/O结构,通道,直接存储器存取(DMA),以及缓冲技术通道:代替CPU对I/O操作的控制,从而使CPU和外设可以并行工作,所以称为I/O处理机DMA技术自动控制成块数据在内存和I/O单元之间的传送缓冲技术:数据暂存技术,设置一个缓冲区。采用缓冲区的根本目的:CPU处理数据的能力与设备传输数据速度不相匹配,需要用缓冲区来缓解速度的矛盾。8.时钟一般分为硬件时钟软件时钟用途分为绝对时钟相对时钟(又称间隔时钟)操作系统第三章进程线程模型1多道程序的设计模型采用多道程序的设计可以提高CPU的利用率1.1程序的顺序执行特点:顺序性,封闭性,程序执行结果的确定性,程序执行结果的可再现性1.2多道程序设计通常采用并行操作技术。多道程序设计环境的特点根本目的:提高整个操作系统的效率。衡量系统效率的尺度:系统吞吐量指在单位时间内系统所处理作业的道数。多道程序的特点:独立性,随机性,资源共享性1.3程序的并发执行并发执行,指两个或两个以上的程序在计算机中同处于以开始执行且尚未结束的状态并发程序在执行期间具有相互制约关系程序与计算不在一一对应并发程序执行结果不可再现(宏观上是同时进行的,但从微观上,在单个CPU中仍然是顺序执行的)1.4进程模型:进程控制块的概念从操作系统的角度:分为系统进程和用户进程(系统进程优先级高于用户进程)进程和程序的联系和区别联系:程序是构成进程的组成部分之一,从静态角度,进程是由程序,数据和进程控制块组成。区别:程序是静态的,进程是动态的进程的特性:并发,动态(动态产生,动态消亡),独立(相对完整的资源分配单位),交往(相互作用),异步(相互独立不可预知的前进)。1.5进程的状态及状态转换三状态:运行就绪等待就绪-运行进程被调度的程序选中运行-就绪时间片用完运行-等待等待某事件发生等待-就绪等待的事件已经发生五状态:运行,就绪,阻塞,创建,结束状态转换:创建进程,提交,调度运行,释放,超时,事件等待,事件出现。七状态:运行阻塞,创建,结束,就绪挂起,阻塞挂起,就绪新引入的状态(挂起和激活)1.6进程控制块PCB分为调度信息和现场信息调度信息包括(进程名,进程号,存储信息,优先级,当前状态,资源清单,消息队列指针,进程队列指针,和当前打开文件)现场信息(程序状态字,时钟,界地址)进程的组成(程序,数据和进程控制块)FCB组织(线性方式,索引方式,链接方式)进程的队列(就绪队列,等待,运行)1.7进程控制通过原语(由若干条指令所构成,用来实现某个特定的操作)进程控制原语:创建进程,撤销进程,挂起进程,激活进程,阻塞进程,唤醒进程,以及改变进程优先级。创建原语,撤销原语,阻塞原语,唤醒原语。UNIX通过fork()函数创建子进程1.8线程模型更小的独立运行的基本单位-线程引入线程为了减少并发执行时所付出的时间和空间开销进程拥有两个基本属性:是一个可拥有资源的独立单位,又是一个可以独立调度和分派的基本单位1.8.1线程的基本概念是进程中的一个实体,是CPU调度和分派的基本单位一个线程可以创建和撤销另一个线程,同一个进程的多个线程之间可以并发执行线程特性:每个线程有一个唯一的标识符和一张线程描述表。不同的线程可以执行相同的程序。同一个进程中的各个线程共享该进程的内存地址空间线程是处理器的独立调度单位多个线程可以并发执行线程的好处:花费时间少创建的速度比进程块,系统开销少,两线程的切换花费时间少能独立运行线程和进程比较线程又称为轻量级进程传统的进程称为重量级进程调度:线程作为调度和分派的基本单位,把进程作为资源拥有的基本单位。并发性:拥有资源:线程不拥有系统资源系统开销:进程的开销远大于线程的开销1.8.2线程的实现机制第一种:用户级线程不依赖于内核LINUX第二种:内核级线程依赖内核windows第三种:混合实现方式solaris1.9进程(线程)调度一般分为:高级调度(作业调度),中级调度,低级调度(进程(线程)调度)进程(线性)调度即处理机调度2.0调度算法的设计原则2.0.1进程行为:当一个进程等外部设备完成工作而被阻塞的行为属于I/O某些花费了绝大多数时间在计算上面的称为计算密集型在等待I/0花费了绝大多数的时间称为I/0密集型系统分类:通常分为批处理交互式实时系统2.1调度算法的设计目标公平,系统策略的强制执行另一个就是保持系统的所有部分尽可能忙碌通常检查三个指标:吞吐量,周转时间,CPU利用率周转时间:从一个批处理作业提交时刻开始直到改作业完成时刻为止统计的平均时间2.2进程(线程)调度算法先来先服务(非抢占式)最短作业优先(非抢占式)最短剩余时间优先(抢占式SPTN)轮转法(R-R)分成一个个时间片影响时间片的因素(系统响应时间,就绪进程的数目,计算机的处理能力)应该将时间片设为20-50ms最高优先级算法多级反馈队列算法(综合了先进先出,时间片,可抢占式)最短进程优先实时系统中的调度算法1)速率单调调度算法(RMS)2)最早最终时限优先调度(EDF)第四单元并发与同步进程进程间的同步和互斥关系进程同步是指多个进程中发生的事件存在某种时序关系,必须协同工作,相互配合,以共同的完成一个任务进程互斥是指由于共享资源所要求的排他性,进程间要相互竞争,以使用这些互斥资源进程互斥的解决方法:由竞争各方平等协商,二引入进程管理者临界资源是指计算机系统中的需要互斥使用的硬件或软件资源计算机中的资源共享的程度可分为三次:互斥,死锁,饥饿。互斥是指多个进程不能同时使用同一个资源。死锁是指避免多个进程互不相让,避免出现都得不到足够资源的情况饥饿避免某些进程一直得不到资源或得到资源的概率很小临界资源访问过程分成:进入区,临界区,退出区,剩余区。遵循的准则:空闲则入,忙泽等待,有限等待,让权等待管程:一个管程由过程变量数据结构等组成的集合一个管程由四个