您好,欢迎访问三七文档
第1章:操作系统概述1.1操作系统基本概念1.1.1操作系统概念计算机系统自下而上可分为:硬件、操作系统、应用程序和用户;操作系统控制和协调各用户的应用程序对硬件的分配与使用;它是系统软件1.1.2操作系统的特征1.并发:两个或多个事件在同一时间间隔内发生;因此它具有处理和调度多个程序同时执行的能力;引入进程的目的使程序并发执行;微观上分时交替执行,通过分时实现2.共享:系统中的资源可供内存中多个并发的进程共同使用。可分为两种:(1)互斥共享:如打印机、磁带机等。此资源被占用,其他进程访问该资源必须等待,这类资源被称为临界资源或独占资源(2)同时访问:“同时”往往宏观上,而微观上这些进程可能是交替对该资源进行访问,例如磁盘并发与共享是操作系统两个最基本的特征3.虚拟:把物理上实体变化为若干个逻辑上的事物,虚拟技术。虚拟处理器、虚拟内存、虚拟外部设备等。可分为时分复用技术(如处理器分时共享)、空分复用(如虚拟存储器)4.异步:由于资源有限,多个程序并发执行,进程执行不是一贯到底而是走走停停,以不可预知的速度前行。需要采用同步机制,使每次运行结果一致1.1.3操作系统的目标与功能操作系统(工人)应有:处理机、存储器、设备和文件管理(工人有熟练的技能);还必须向用户(雇主)提供接口;可用来扩充机器(机器有工人后功能更好的发挥)1.操作系统作为计算机系统资源的管理者(1)处理机分配和运行都是以进程为基本单位,因而对处理机的管理可归结为对进程的管理(2)存储器管理是为了给多道程序运行提供良好的环境,方便用户使用以及提高内存利用率(3)文件管理是操作系统负责管理文件系统(4)设备管理主要任务是完成用户I/O请求,方便用户使用各种设备,并提高设备利用率(工人负责,雇主不需要关注)2.操作系统作为用户与计算机硬件系统之间的接口(1)命令接口:分为联机命令接口(交互式命令接口)适用于分时或实时系统接口,由一组键盘操作命令组成;脱机命令接口(批处理命令接口)适用于批处理系统,它由一组作业控制命令(作业控制语句)组成,应写一份作业说明书连同作业一起提交给系统联机命令:雇主说一句话,工人做一件事并反馈,强调交互性;脱机命令:雇主把要做的事写在清单上,工人按清单逐条完成(2)程序接口:由一组系统调用命令(广义指令)组成。是操作系统提供给应用程序使用内核功能的接口(3)图形接口GUI3.操作系统用作扩充机(虚拟机)工人操作了机器,机器便有了很大的作用,工人便成了扩充机器1.2操作系统的发展与分类1.2.1手工操作阶段(无操作系统)缺点:(1)用户独占全机(2)CPU利用率低1.2.2批处理阶段(操作系统出现)为了解决人机矛盾及CPU与I/O速度不匹配矛盾1.单道批处理:系统对作业处理是成批的,但内存中始终保持一道作业。特征:(1)自动性:一批作业逐个依次运行(2)顺序性:顺序装入内存,顺序的被执行(3)单道性:内存中仅一道程序在执行,只有执行完或者发生异常才调用下一程序问题:每当运行期间发出I/O请求,高速的CPU便处于等待低速的I/O完成状态2.多道批处理:装入多个程序在内存中,当某一个程序因I/O请求而暂停运行时,CPU便立即转去运行另一道程序,特点:多道、宏观上并行、微观上串行,需要解决的问题:(1)如何分配处理器(2)多道程序内存分配问题(3)I/O设备如何分配(4)如何组织和存放大量数据,以便于用户和保证其安全性和一致性优点:资源利用率高,系统吞吐量大,CPU保持忙碌;缺点:用户响应时间长,不提供人机交互1.2.3分时操作系统实现的关键:如何使用户能与自己的作业进行交互,即当用户在自己终端上键入命令时,系统应能及时接收并处理该命令,再将结果返回给用户。特征:(1)同时性:多个终端使用一台计算机(2)交互性:进行人-机对话(3)独立性:互不干扰,感觉自己在独占全机(4)及时性:在很短时间内得到响应1.2.4实时操作系统(1)硬实时系统:某个动作必须绝对地在规定时间内完成,如飞行器的飞行自动控制系统(2)软实时系统:偶尔运行违反时间规定,不会引起永久性损害,如飞机票务系统特点:及时性和可靠性1.2.5网络操作系统和分布式操作系统网络操作系统特点:网络中各种资源的共享以及各台计算机之间的通信分布式操作系统特点:分布性和并行性。若干台计算机协同完成同一任务1.2.6个人计算机操作系统1.3操作系统运行环境1.3.1操作系统的运行机制操作系统中通常CPU执行内核程序和用户自编的系统外层程序,前者管理后者,管理程序要执行一些特权指令,例如I/O指令、置中断指令、存取用于内存保护的寄存器等。划分了用户态(目态)和核心态(管态)一些与硬件关联紧密的模块,如时钟管理、中断处理等处于最底层,其次是运行较高的程序,如进程管理、存储器管理等,这两部分构成了操作系统内核,工作在核心态,内核包括:1.时钟管理:时钟是最关键的设备,一个功能是计时,二是通过时钟中断管理,实现进程的切换,例如,在分时操作系统中,采用时间片轮转调度实现2.中断机制:为了提高多道程序运行环境中CPU的利用率,主要针对外部设备,例如键盘信息输入、进程管理和调度、系统调用等,现代操作系统是靠中断驱动的软件中断机制中只有一小部分属于内核,负责保护和恢复中断现场信息,转移控制权到相关处理程序,这样可以减少中断处理时间,提高系统并行处理能力。3.原语:操作系统底层必然是一些可被调用的公用小程序,各自完成规定的操作。特点:(1)处理操作系统底层(2)具有原子性,操作一气呵成(3)运行时间短,调用频繁定义原语的直接方法是关闭中断,让其所有动作不可分割的执行4.系统控制的数据结构及处理:为实现有效管理,需要基本操作:(1)进程管理(2)存储器管理(3)设备管理核心态指令实际上包括系统调用指令和一些针对时钟、中断和原语的操作指令1.3.2中断和异常概念系统不允许用户程序实现核心态功能,而它们又必须使用这些功能,在核心态建立一些“门”,通过中断或异常,运行用户态的CPU会立即进入核心态,通过硬件实现的;提高资源利用率就需要在程序并未使用某种资源的时候,把它对那种资源的占有权释放,此行为需要中断实现中断(也称外中断),指来自CPU执行以外的时间的发生,如设备发出的I/O结束中断、时钟中断,这类中断与当前处理机运行程序无关。异常(也称内中断或陷入Trap),源自CPU执行指令内部的事件,有非法操作码、地址越界、算术溢出、虚存缺页1.3.3系统调用(运行在核心态)用户在程序中调用操作系统所提供的一些子功能。可分为设备管理、文件管理、进程控制、进程通信和内存管理,显然系统调用运行在核心态用户态转入核心态例子:(1)系统调用(2)中断(3)用户执行了错误状态(4)用户程序企图执行特权指令用户态转为核心态会用到访管指令,访管指令是在用户态使用的,不可能是特权指令1.4操作系统体系结构1.4.1大内核与微内核大内核将操作系统主要功能模块都作为一个紧密联系的整体运行在核心态微内核将程序中最基本的功能(如进程管理)保留在内核,而将那些不需要在核心态执行的执行的功能移到用户态执行,从而降低内核设计复杂性;微内核有效的分离了内核与服务,服务与服务,使得他们之间接口更加清晰。微内核最大问题是性能的问题,因为需要频繁的在核心态和用户态之间进行切换,操作系统执行开销大。因此有的操作系统将那些频繁使用的系统服务又移回到内核第2章进程管理2.1进程与线程2.1.1进程概念与特征1.进程的概念:更好的描述和控制程序的并发执行,实现操作系统并发和共享;进程控制块(PCB),系统利用PCB描述进程基本情况和运行状态,创建进程就是创建PCB;进程是系统进行资源分配和调度的一个独立单位2.进程的特征:动态性、并发性、独立性(凡未建立PCB的程序都不能作为独立单位运行)、异步性(操作系统必须配置相应进程同步机制)、结构性2.1.2进程的状态与转换(1)运行状态:进程在单处理机上运行,每个时刻最多一个进程运行(2)就绪状态:获得除处理机外的所有所需资源,一旦得到处理机便开始运行(3)阻塞状态(等待状态):进程等待某一事件而暂停运行(如等待某资源可用或I/O完成)(4)创建状态:申请一个空白PCB,向其中填写控制和管理进程信息,系统为该进程分配运行所需资源,最后把该进程转入就绪状态(5)结束状态:系统先置改进程为结束状态,然后回收释放资源基本状态转换:(1)就绪-运行:获得处理机(分配处理机时间片)(2)运行-就绪:时间片用完,让出处理机,此外在可剥夺系统中,有更高级进程就绪时,进程让出处理机转化为就绪状态(3)运行-阻塞:进程请求某一资源(如外设)的使用或等待某一事件的发生(I/O完成)(4)阻塞-就绪:进程等待事件到来,如I/O结束或中断结束,中断处理程序将进程由阻塞变为就绪注:运行-阻塞是主动行为,阻塞-就绪是被动行为2.1.3进程控制一般把进程控制用的程序段称为原语1.进程的创建:允许一个进程创建另一个进程(父子进程),操作系统中终端用户登录系统、作业调度、系统提供服务、用户程序的应用请求都会引起进程的创建,创建如下:(1)为新进程分配一个唯一的标识号,并申请一块空白的PCB(2)为进程分配资源,为新进程的数据和程序以及用户栈分配必要的内存空间,如资源不足,不是分配失败,而是“等待状态”(3)初始化PCB,包括初始化标志信息,初始化处理机状态信息和初始化处理机控制信息,以及设置进程优先级2.进程的终止:①正常结束②异常结束(如存储区越界、保护错、非法指令、特权指令错、I/O故障)③外界干预;进程终止步骤:(1)根据终止进程的标识符,检索PCB(2)若被终止进程处于运行状态,立即终止进程执行,把处理机资源分配给其他进程(3)若该进程有子进程,应将其终止(4)将该进程所拥有资源全部归还给操作系统(或父进程)(5)将该PCB从队列(链表)中删除3.进程的阻塞与唤醒:如请求资源失败、等待某种操作完成、新数据尚未到达,系统自动执行阻塞原语(Block),是一个主动行为,也只有运行状态的进程才能阻塞,阻塞原语:(1)找到此PCB(2)若该进程为运行状态,保护其现场,将其转化为阻塞状态(3)将该PCB插入相应事件等待队列中若期待的事件出现,调用唤醒原语(Wakeup),被动行为,唤醒原语:(1)在该事件的等待队列中找到相应PCB(2)将其从等待队列中移出,并置就绪状态(3)把该PCB插入就绪队列中,等待调度程序调度4.进程的切换:任何进程都是在操作系统内核的支持下运行的,进程切换:(1)保存处理机上下文,包括程序计数器和其他寄存器(2)更新PCB(3)把进程的PCB移入相应的队列中(4)选择另一个进程,更新其PCB(5)更新内存管理的数据结构(6)恢复处理机上下文2.1.4进程的组织(组成)1.进程控制块(PCB):常驻内存,包括进程描述信息、进程控制和管理信息、资源分配清单和处理机相关信息2.程序段:多个进程可以运行同一程序3.数据段2.1.5进程的通信(高级通信方式)1.共享存储:通信进程之间存在一个共享空间,通过对这片空间进行读写操作实现进程信息交换。需要使用同步互斥工具(如PV操作),操作系统只提供通信进程可共享的存储空间和同步互斥工具。进程运行期间不能访问其他进程空间,而进程中的线程是共享进程的注:简单理解:甲和乙中间有个大布袋,甲和乙交换物品通过大布袋进行,而不能直接交换2.消息传递:进程间的消息是以格式化的信息为单位的,进程之间通过操作系统提供的发送消息和接收消息两个原语进行数据交换(1)直接通信方式:发送进程直接把消息发送给接收进程,并将它挂在接收进程的消息缓冲区队列上,接收进程从消息缓冲队列中取得消息。(2)间接通信方式:发送进程将消息发送到中间实体(信箱)接收进程从信箱中取得消息,广泛应用于计算机网络简单理解:甲要告诉乙一些事情,就要写信,然后通过邮差交给乙,直接通信就是邮差把信直接送到乙手里,间接通信就是乙家门口有个邮箱,邮差把信放到邮箱里。3.管道通信:消息传递的一种特殊方式,“管道”是指用于连接一个读进程和一个写进
本文标题:操作系统总结
链接地址:https://www.777doc.com/doc-1460617 .html