《操作系统概论重点整理年张琼声版》由会员分享,可在线阅读,更多相关《操作系统概论重点整理年张琼声版(18页珍藏版)》请在金锄头文库上搜索。
1、操作系统概论-02323(2017 年张琼声版本)第一章:操作系统简介操作系统概念:操作系统是一种复杂的系统软件,是不同程序代码、数据结构、 初始化文件的集合,可执行。操作系统是提供计算机用户与计算机硬件之间的接口,并管理计算机软件和硬件 资源,并且通过这个接口使应用程序的开发变得简单、高效。接口是两个不同部分的交接面。接口分为硬件接口和软件接口,计算机的所有功 能最终都是由硬件的操作来实现的,计算机屏蔽了对硬件操作的细节。 操作系统完成的两个目标:Q与硬件相互作用,为包含在所有硬件平台上的所有底层可编程部件提供服务。Q为运行在计算机系统上的应用程序(即用户程序)提供执行环境 现代计算机特点是
2、支持多任务,一方面保证用户程序的顺利执行,另一方面使 计算机系统资源得到高效的利用,保证计算机系统的高性能 操作系统的功能:处理机管理、内存管理、设备管理、文件管理。 操作系统的发展:无操作系统-单道批处理系统-多道批处理系统-微机操作系-实时操作系统 无操作系统阶段:电子管,无存储设备,第一台:1946 年宾夕法尼亚大学的埃 尼阿克 单道批处理系统:晶体管,磁性存储设备,内存中有一道批处理作业,计算机资 源被用户作业独占。吞吐量是指单位时间内计算机系统处理的作业量 多道程序系统:集成电路芯片,出现了分时操作系统(多个终端)。微机操作系统:第一台Intel公司顾问GaryKildall编写的C
3、P/M系统,是一台磁 盘操作系统,用于 Intel8080.实时操作系统:广泛应用于各种工业现场的自动控制、海底探测、智能机器人和 航空航天等。 批处理、实时、分时系统的优缺点比较: 单道批处理系统:自动性、顺序性、单道性。优点:减少了等待人工操作的时间 缺点:CPU资源不能得到有效的利用。多道批处理系统:多道性、无序性、调度性、复杂性。优点:能够使CPU和内存 IO资源得到充分利用,提高系统的吞吐量。缺点:系统平均周转时间长,缺乏 交互能力。 分时系统:多路性、及时性、交互性、独立性。优点:提供了人机交互,可以使 用户通过不同终端分享主机。缺点:不能及时接收及时处理用户命令。 实时操作系统(
4、用户实时控制和实时信息处理):多路性、独立性、及时性、交 互性、可靠性。在实时系统中,往往采取多级容错措施来保证系统安全和数据安 全。操作系统产品:主机操作系统(批处理、事务处理(银行支票处理或航班预 订)、分时处理),微机操作系统,服务器操作系统、嵌入式操作系统(物联网 操作系统) 操作系统特征:并发(多个事件在同一时间间隔内同时发生)、共享、虚拟、异 步操作系统功能: 内存管理:任务是为多道程序的运行提供良好的运行环境,方便用户使用内存, 提高内存利用率,以及从逻辑上扩充内存实现虚拟存储。它具有内存分配、内存 保护、地址映射和内存扩充(借助与虚拟存储技术)等功能。进程管理 文件管理:存储空
5、间的管理-目录管理-文件的读写管理和权限控制设备管理 提供用户接口:命令接口,图形用户接口,程序接口 操作系统体系结构: 简单的监控程序模型单体结构模型层次结构模型客户服务器模型与微内 核结构动态可扩展结构模型单体内核是操作系统中最早、最常见的体系结构(UNIX/MS-DOS/Linux/MAC OS X/BSD)层次结构最经典的例子Dijjkstra的THE系统指令的执行:程序是指令的集合,程序的执行就是按照某种控制流执行指令的过 程。一个单一指令需要的处理称为指令周期,包括取指周期和执行周期第二章:进程管理 程序的顺序执行特点:顺序性,封闭性、可再现性 程序的并发执行特点:间断性、失去封闭
6、性、不可再现性进程的概念:Q进程是允许并发的程序在某个数据集合上的运行过程Q进程是正文段、用户数据段和进程控制块共同组成的执行环境。正文段存放被 执行的机器指令,用户数据段存放进程在执行时要操作的用户数据,进程控制块 存放程序的执行环境,操作系统通过这些描述和管理进程。进程代表了程序的执行过程,是一个动态的实体,它随着指令的执行而不断变化, 在某个特定时刻的进程内容被称为进程映像。进程的特征:并发性、独立性、异步性、动态性、结构特征。进程和程序的区别:程序是静态的,进程是动态的Q程序是永久的,进程是暂时存在的程序和进程存在的实体不同。程序是指令的集合,进程是由正文段、用户数据 段、进程控制块组
7、成 进程和程序的联系: 进程是程序的一次执行,进程总是对应至少一个特定的程序,执行程序的代码, 一个程序可以对应多个进程。进程控制块: 进程实体存在的标志是操作系统管理进程所使用的数据结构进程控制块 进程控制块是进程实体的一部分,是操作系统中最重要的数据结构,进程控制块 中记录了操作系统所需要的,用户描述进程情况以及控制进程运行所需要的全部 信息,进程控制块是操作系统感知进程存在的唯一标志。进程控制块中的信息:进程标识符信息、处理机状态信息、进程调度信息、进程 控制信息进程的组织:链接方式、索引方式、进程队列 进程的控制:进程的创建阻塞唤醒终止创建的条件:1)用户登录 2)作业调度 3)提供服
8、务4)应用请求 阻塞的条件:1)请求系统服务 2)数据尚未到达 3)无工作可做 4)启动某种 操作 操作系统内核 操作系统内核是计算机硬件的第一次扩充,内核执行操作系统与硬件密切相 关,执行频率高的模块,常驻内存。操作系统内核的功能:1)支撑功能2)资源管理功能 支撑功能包括:中断处理、时钟管理和原语操作,原语操作是一组在执行过程 中不能中断的操作资源管理功能包括:进程管理、存储器管理和设备管理 中断:中断是改变计算机执行指令顺序的一种事件,这种事件与 CPU 芯片内外 部硬件电路产生的电信号相对应。中断的目的:能有效提高 CPU 的利用率,改善系统性能,支持系统的异步性。 引用中断机制前,采
9、用的是反复轮询的方式,来检测本次I/O是否结束。 中断类型1)同步中断(内部中断或异常)2)异步中断(外部中断) 同步中断是当指令执行时由CPU控制单元产生的,如除法出错,调试、溢出、 浮点出错等异步中断是由其他硬件设备随机产生的,可分为外部可屏蔽中断(I/O设备产 生)和外部不可屏蔽中断(紧急事件产生,硬件故障等)引起中断的原因:1)人为设置中断2程序性事故3) I/O设备4)硬件故障 5)外部事件单重中断的处理过程:CPu在反复执行指令的过程中,每执行完一条执行,都 会检查是否有外部中断的到来,如果有中断信号,则转中断处理。 时钟管理: 计算机的很多活动都是由定时测量来控制的,两种定时测量
10、:1)保存当前的系 统时间和日期 2)维持定时器,操作系统依靠时钟硬件和时钟驱动程序来完成 上述两种测量 时钟硬件(可编程间隔定时器)的功能:按照指定的时间间隔产生时钟中断, 测量逝去的时间,并触发与时间有关的操作时钟软件(时钟驱动程序)功能:1)维护日期和时间2)递减当前进程在一个 时间片内的剩余执行时间,并检查是否为0,防止进程运行超时3)对CPU的 使用情况记账 4)递减报警计数器操作系统内核可以利用时钟机制防止一个进程垄断CPU或者其他资源两个时钟源:实时时钟(RTC/CMOS)和。$时钟. 系统调用:系统调用是一群事先定义好的模块,他们提供一条管道让应用程序或用户能由此得到核心程序的
11、服务。系统调用是系统程序与用户程序之间的接口系统调用与一般函数调用的区别:1)系统调用运行在系统态,一般函数运行在用户态2)系统调用与一般函数的执行过程不同,系统调用中断时,由系统找相应 的系统调用子程序3)系统调用要进行中断处理,比一般函数多了一些系统开销 进程同步:操作系统同步机制的主要任务就是保证在多任务共享系统资源的情况下,程序 执行能得到正确的结果。同时,同步机制需要解决进程执行的协调问题。 进程同步的概念:在多任务系统中,进程一般存在资源共享关系和相互合作的 关系。进程同步有两个任务:1)对具有共享资源关系的进程,保证以互斥的方 式访问临界资源。临界资源是必须以互斥方式访问的共享资
12、源。2)对具有相互 合作关系的进程,要保证相互合作的诸进程协调执行。同步机制应遵循的准则:1)空闲让进2)忙则等待3)有限等待4)让权等待 信号量机制(wait signal)对不同的共享资源设置称为信号量的变量,用信 号量的取值标识资源的使用状况,或某种事件的发生。一、整型信号量机制:用整型变量值来标记资源的使用情况。若整型量0,说明有可用资源;若整型 量=0,说明资源忙,进程必须等待。对于一次只允许一个进程访问的临界资 源,可定义一个用户互斥的整型信号量,并将其初始化为1,整型信号量的值 只能通过两个特定的原子操作wait和signal来改变。Var s integer;Wait(s) /
13、申请资源While s=0 do no-op;S=s-1; /占用资源signal(s) /释放资源s=s+1;整型信号量的互斥:初始变量为1整型信号量的协调:初始变量为0总结:1)整型信号量的值只能由wait和signal操作改变2) wait和signal的操作都是原子操作,即在这两个操作中对信号量 的访问是不能被中断的3) 原子操作可以通过关中断来实现4) 整型信号量机制的实例:linux中的自旋锁SpinLock5) 不同的资源对应不同的信号量,并不是系统中所有资源都用同一 个信号量标识二、记录型信号量机制:代码:Type semaphore = recordValue : integ
14、er; /资源数量L : list of process; /阻塞队列Procedure wait(s)Var s : semaphore;Begins.value = s.value-1; /申请资源if s.value 0 then block(s.L) /此时资源无,自我阻塞进入阻塞队列 endprocedure signal(s)var s:semaphore;begins.value=s.value +1; /释放一个资源if s.value =0 then wakeup(s.L); /释放后发现还有阻塞,则唤醒阻塞中 的进程end记录型信号量的优点是不存在忙等,采取了让权等待的策略
15、三、AND 型信号量的机制基本思想是将进程在整个运行过程中所需要的所有资源一次性的全部分配给进 程,待进程使用完之后再一起释放。只要还有一个资源不能分配给该进程,其 他所有可能为之分配的资源也不分配给它。管程:管程是描述共享资源的数据结构和在数据结构上的共享资源的管理程序 的集合进程通信:进程之间的高级通信机制分为:共享存储器系统、消息传递系统、 管道通信系统。线程:在操作系统中,进程是进行资源分配和独立执行的基本单位,为了进一 步提高程序的并发性,减少系统开销,在操作系统中引入了线程的概念。线程是进程中的一个实体,是被系统独立调度和分派的基本单位。线程在运行 中存在间断性,也有就绪、执行、阻塞三种形态。第三章:进程调度与死锁进程调度的功能是按照某种策略或算法从就绪态进程中为当前空闲的cpu选择 在其上运行的新进程。选择调度方式和算法的若干准则:1) 周转时间短 周转时间是指从作业被提交给系统开始,到作业完成为止系统的平均周转时间T等于N各作业的周转时间之和除以nT=(t1+t2+t3+tn)/n作业的周转时间T与系统为它提供的服务时间TS之比为W, W二T/TS,被称为带权周转时间,那么n个作业的平均带权周转时间为:T=(t1/ts1+t2/t