操作系统电子教案制作人:安徽电大滁州分校孙灏2002年9月一、课程的性质、目的和任务•《操作系统》是中央电大电子与信息工程类计算机专业学生和必修的公共基本课之一,是一门涉及较多硬件知识的计算机系统软件课程。在计算机软硬件课程的设置上,它起着承上启下的作用。操作系统对计算机系统资源实施管理,是所有其他软件与计算机硬件的唯一接口,所有用户在使用计算机时都要得到操作系统提供的服务。因此,本课程的目的和任务是使学生通过本课程的学习,理解操作系统的基本概念和主要功能,掌握UNIX操作系统的使用和一般管理方法。二、课程的教学要求•基本概念–多道程序设计、并发、分时、作业、进程、互斥与同步、周转时间、吞吐量、重定位、连接、虚拟存储、虚拟设备、死锁、线程•基本知识–计算机系统资源(文件、设备、处理机、存储器)的管理策略•重点–进程概念、存储管理的各种策略、文件系统的管理、设备管理和配置•难点–进程的概念及其与程序的区别、进程间同步与互斥的正确实现、虚拟设备与虚拟存储三、教学方法与教学形式及建议•采用多种教学方法和教学形式–面授、上机实践、小组讨论、网上学习、网上答疑、网上作业等。•教学建议–学生自主学习时,应当及时浏览三级电大在线及省电大、我校主页,获取动态教学信息。第一章操作系统引论•学习重点–什么是操作系统–操作系统的主要功能–操作系统的基本特征–操作系统的主要类型–UNIX命令的一般格式什么是操作系统•操作系统是管理、控制计算机内各种资源、有效地组织多道程序运行的系统软件,是用户和计算机之间的接口。•如何理解操作系统的定义–操作系统是什么:操作系统是软件,而且是系统软件;–操作系统管什么:管理、控制系统内各种资源,有效地组织多道程序的运行;–操作系统有何用:提供众多服务,方便用户使用,扩充硬件功能。•操作系统的地位–是整个系统的控制中心,既管软件,又管硬件;–它为其它软件提供运行环境操作系统的主要功能•配置操作系统的目的–提供一个计算机用户与计算机硬件系统的接口,使计算机系统易于使用;–有效地控制和管理计算机中的各种资源,使之得到更有效的利用;–合理地组织计算机的工作流程,以改善系统性能。•操作系统的主要功能–存储器管理:内存分配、地址映射、内存保护和内存扩充–处理机管理:作业和进程调度、进程控制和进程通信–设备管理:缓冲区管理、设备分配、设备驱动和设备无关性–文件管理:文件存储空间的管理、文件操作的一般管理、目录管理、文件的读写管理和存取控制–用户界面管理:命令界面、程序界面和图形界面操作系统的特征•并发:两个或两个以上的活动在同一时间间隔中进行•共享:计算机系统中资源为多个任务所共用•异步性:在多道程序环境下,各程序的执行有“走走停停”的性质,即程序在什么时候运行、在运行过程中是否被其它事情打断、向前推进的速度都是不可预知的,由程序执行时的现场决定;同一程序在相同的初始条件下,无论何时运行都应获得相同的结果。•虚拟性:是指一个物理上的实体变为若干个逻辑上的实物。操作系统的主要类型•一、批处理系统•1、单道批处理(内存中内有一道作业)–批处理:是指计算机系统对一批作业自动处理的一种技术。•联机批处理:作业的自动处理受到监督程序的控制。CPU的利用率不高,不能很好地利用系统资源。•脱机批处理:为克服联机批处理的缺点,引入脱机批处理。模型图如下2、多道批处理系统(内存中可以有多道作业,在管理程序的控制下交替执行)–多道程序设计:是指同时把多个作业放入内存并允许它们交替执行,共享系统中的各类资源,当一道程序因某种原因而暂停执行时,CPU立即执行另一道程序。•3、特点:多道、成批•4、优点:资源利用率高、系统吞吐量大•5、缺点:等待时间长、无交互能力,用户无法干预脱机批处理模型图操作系统的主要类型•二、分时系统•1、分时技术:就是把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业。若某个作业在分配给它时间片内不能完成任务时,则该作业暂时中断,把处理机交给另一个作业。2、特点•同时性:若干个用户同时上机使用计算机系统。•交互性:用户能方便地与系统进行人机对话。•独立性:系统中各用户可以彼此独立地操作,互不干扰或破坏。•及时性:用户能在很短的时间内得到系统的响应。•3、优点•响应快、界面友好•多用户、便于普及•便于资源共享操作系统主要类型•三、实时系统•1、是指计算机对于外来信息能够以足够快的速度进行处理,并在被控制对象允许的范围内作出快速响应。•2、实时系统的典型应用–过程控制系统、信息查询系统、事务处理系统•3、实时系统与分时系统的区别–交互能力较弱,系统专用–响应时间更严格、及时–可靠性要求更高操作系统主要类型•四、网络操作系统•1、计算机网络是计算机技术和通信技术相接合的产物。•2、定义:一般建立在各个主机的本地操作系统基础之上,其功能是实现网络通信、资源共享和保护,以及提供网络服务和网络接口等。•3、功能–网络通信–资源共享和保护–网络服务–网络接口操作系统主要类型•五、分布式操作系统–1、概念:把大量的计算机组织起来,通过高速网络连接。–2、特征:•分布式处理•模块化结构•利用信息通信•实施整体控制–特点•透明性•灵活性•可靠性•高性能•可扩充性UNIX命令的一般格式•1、现代操作系统的三种界面:命令界面、图形界面、系统调用界面。•2、UNIX命令的一般格式–命令名[选项][参数]–说明•命令名可以是UNIX系统提供的命令,也可以是应用程序名,是由小写字母组成。•选项用来扩充命令的特性或功能,往往是一个一个字母,在字母前面有一个“—”,可有可无。•参数是命令的自变量,表示命令将要处理的对象,可有可无。第二章进程管理•学习重点–什么是进程,进程与程序的区别与联系–进程的基本状态及其变化–进程由哪些部分组成,进程控制块的作用–什么是进程的同步与互斥–临界资源、临界区–什么是信号量,P、V操作的动作。–进程间简单同步与互斥的实现进程的概念•进程的概念–程序在并发环境下的执行过程(本教材中的定义)–进程是可以和其它计算并发执行的计算–进程是程序的一次执行,是在给定区域中的一组指令序列的执行过程。–简单来说就是一个程序在给定活动空间和初始条件下,在一个处理机上的执行过程。–进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。–进程可定义为一个数据结构和能在其上进行操作的一个程序。•进程与程序的区别–程序是静态的概念,而进程是动态的概念,有一定的生存期。–进程是一个能独立运行的单位,也是资源分配和调度的独立单位–程序和进程无一一对应关系。–各个进程在并发执行过程中会产生相互制约的关系进程的特征•动态性:它是程序的执行过程,有生有亡•并发性:引入进程的目的正是为了使程序能与其它程序并发执行。•调度性(独立性):是一个能独立运行的单位,也是资源分配和调度的独立单位•异步性:进程间的相互制约使进程的执行具有间断性,即各进程向前推进的速度是不可预知的。•结构特征:进程有一定的结构,由程序段、数据段、PCB组成。为了描述进程的运动变化过程,并便之能独立运行,而为每一个进程配置一个PCB。进程的状态和组成•进程的基本状态–运行态:是指已分配到CPU,它的程序正在处理机上运行时的状态。–就绪态:已具备运行条件,但CPU为其它进程占用时所处的状态。–阻塞态:是指进程因等待某种事件发生而暂时不能运行的状态。运行态就绪态阻塞态进程状态及其转换进程的组成•进程的组成:数据段、程序段、进程控制块•进程控制块的组成•进程控制块的作用:PCB是进程存在的唯一标志;OS根据PCB管理进程;利用PCB实现进程的动态、并发;每个进程有唯一的PCB。PCB程序部分数据集合进程的组成模型进程控制块的组成•PCB描述进程的执行情况。它与进程共存亡:创建进程、产生PCB、撤消进程、系统回收PCB。它包含进程的描述信息和控制信息,例如进程名、特征信息、进程状态信息、调度优先权、通信信息、中断现场保护、程序和数据地址等等。PCB是进程存在的唯一标志。也是系统管理和控制进程的依据。•描述信息–进程名或进程标志符:每个进程都有一个唯一的进程名或进程标志符,在识别一个进程时,进程名或进程标志符代表一个进程。–用户名或用户标志号:每个进程都隶属于某个用户,用户名或用户标志号有利于资源共享与保护。–家族关系:反映父子进程间的隶属关系。•控制信息–进程当前状态、进程优先级、程序开始地址、各种计时信息、通信信息•资源管理信息•CPU现场信息进程管理及有关命令•原语操作–是机器指令的延伸,往往是为完成某些特定的功能而编制的一段系统程序。具有不可分割性。•进程创建–功能:为被创建进程形成一个PCB,并填入相应的初始值。–步骤:①申请一个空闲的PCB②为新进程分配资源③将新进程的PCB初始化④将新进程加到就绪队列中。•进程终止–功能:收回并终止进程所占用的全部资源,并撤消它的PCB。–步骤:①从系统的PCB中找到指定进程的PCB。②回收该进程所占用的资源③若该进程还有子孙进程,则还要终止其所有子孙进程,并回收它们所占用的全部资源。④释放被终止进程的PCB,并从原来的队列中移走。进程管理及有关命令•进程阻塞–功能:将进程由执行态转为就绪态。–步骤:①立即停止当前进程的执行②将现行进程的CPU现场送到该进程的PCB现场保护区保存起来,以便将来重新运行时恢复此时的现场③把该进程PCB中的现行状态由“执行”改为“阻塞”,把它插入到具有相同事件的阻塞队列中④转到进程调度程序,重新从就绪队列挑选合适的进程投入运行。•进程唤醒–功能:将进程由阻塞态变为就绪态–步骤:①把被阻塞进程从相应的队列中摘下来②将现行状态改为就绪态,然后把该进程插入到就绪队列中进程管理命令•UNIX中的进程状态–核心态:又称管态,是OS管理程序执行时所处的状态,它具有较高的特权,能执行所有指令,访问所有的寄存器和存储区。–用户态:又称目态,是用户程序执行时所处的状态,它只能执行规定的指令,访问特定的寄存器和存储区。–UNIX中的十种进程状态:用户态运行、核心态运行、在内存就绪、在内存睡眠、在外存就绪、在外存睡眠、在内存暂停、创建态、在外存暂停、终止态•UNIX的进程组成–进程控制块、进程执行的程序、程序执行时所用的数据、进程运行时所用的工作区。进程管理的基本命令•进程的管理主要包括创建进程、撤消进程、挂起进程、恢复进程、改变进程优先级、封锁进程、唤醒进程、调度进程等。在UNIX系统中,进程的状态分为10种。相关的基本命令有:–ps——检查系统中当前存在的进程的状态。–sleep——使进程暂停执行一段时间(参数单位为秒)。–&——使键入的命令进入后台运行。–wait——等待后台进程结束。–kill——终止一个进程的运行。–nice——以不同的优先级执行一条命令。进程的相互作用和通信•进程同步:是指对多个相关进程在执行次序上的协调。•进程互斥:在OS中,当一个进程进入临界区时,另一个进程必须等待,当占用临界资源的进程退出临界区后,另一个进程被允许去访问此临界资源。这种进程间的相互制约关系,称为互斥。是同步的一种特殊情况。(参见教材57页例题)临界资源、临界区•1、临界资源–一次仅允许一个进程使用的共享资源。•2、临界区–由每个进程访问的那段程序。•3、互斥进程访问临界区的准则–空闲让进:若有多个进程要求进入临界区,一次仅允许一个进程进入。–忙则等待:任何时候,处于临界区的进程只能有一个,若已有进程进入临界区,则其它进程必须等待。–有限等待:进入临界区的进程必须在有限的时间内退出。–让权等待:若进程不能进入自己的临界区,则应让出CPU。同步机制及其应用•用锁操作原语实现互斥–锁:在同步机构中,常用一个变量来代表临界资源的状态,称为锁。通常用“0”代表资源可用,用“1”代表资源已被占用。–关锁算法:①考察锁的状态是0还是1;②若原来是0,将锁位置为1;③若原来是1,则返回第一步继续考察。–开锁算法:当进程使用完临界资源后,将锁置为0–步骤:关锁;执行临界区程序;开锁•信息量及P、V操作原语–信