1、操作系统原理操作系统原理principles of operating systems作者申明作者申明 本版内容的著作权为作者所有。因为教学目的使本版内容的著作权为作者所有。因为教学目的使用本版内容时,请注明所用资料来自本网站或由用本版内容时,请注明所用资料来自本网站或由本作者发送,并保留作者版权标记本作者发送,并保留作者版权标记“ 2007 ”。将本版内容用于其他目的前,须征得作者同意。将本版内容用于其他目的前,须征得作者同意。 2007年8月26 6个问题个问题l操作系统是什么操作系统是什么? ?l为什么需要操作为什么需要操作系统系统? ?l操作系统如何工操作系统如何工作作? ?l这门课学
2、什么这门课学什么? ?l为什么要学这门为什么要学这门课课? ?l这门课如何学这门课如何学? ?以上关于以上关于WhatWhat、WhyWhy、hoWhoW的的6 6个问题统个问题统称为称为6W6W问题或问题或3W3W问题问题 2007年8月3l第一章第一章 概论概论l第二章第二章 CPUCPU管理管理l第三章第三章 内存管理内存管理l第四章第四章 文件系统文件系统l第五章第五章 设备管理设备管理l第六章第六章 进程通信进程通信l第七章第七章 分布式、并行和网络操作系统分布式、并行和网络操作系统l第八章第八章 性能和设计性能和设计 操作系统原理操作系统原理 2007年8月4第一章第一章 总论总论
3、1.1 1.1 操作系统是什么与为什么操作系统是什么与为什么1.2 1.2 操作系统大致如何工作操作系统大致如何工作1.3 1.3 从各种角度总瞰操作系统从各种角度总瞰操作系统1.4 1.4 操作系统发展简史操作系统发展简史1.5 1.5 目前常用操作系统目前常用操作系统 2007年8月51.1 1.1 操作系统是什么与为什么操作系统是什么与为什么1.1.1 1.1.1 你所用过的操作系统你所用过的操作系统1.1.2 1.1.2 操作系统是什么与为什么操作系统是什么与为什么1.1.3 1.1.3 操作系统规模、数量和重要性操作系统规模、数量和重要性 2007年8月61.1.1 1.1.1 你所
4、用过的操作系统你所用过的操作系统你知道下列哪些是操作系统吗? 极品飞车极品飞车 DOS LINUX WINDOWS TURBO-C WORD FOXPRO UNIX TURBO-ASM VI 一个一个C C语言源程序语言源程序 2007年8月7 目前常见操作系统目前常见操作系统l微软:微软:Windows系列(以前系列(以前MS-DOS)lUNIX:Solaris,AIX,HP UX,SVR4,BSD,ULTRIX.l自由软件:自由软件:Linux,freeBSD,Minix,Xinu, lIBM:AIX,zOS(OS/390),OS/2,OS/4000,PC DOSl其他:其他:Mac OS
5、,NetWare, 2007年8月8 你用过的操作系统能做什么你用过的操作系统能做什么? ?l启动、结束用户程序启动、结束用户程序l系统调用:例如系统调用:例如INT指令指令l各种工具和命令:资源管理器各种工具和命令:资源管理器 dir copy del format lWINDOWS、UNIX 等提供多任务或多等提供多任务或多用户环境用户环境 2007年8月9你知道操作系统不能做什么?l不做天气预报l不做房屋设计l不是编译程序总之,操作系统不直接解决最终具体应用问题,也不负责编译源程序. 2007年8月101.1.2 1.1.2 操作系统是什么与为什么操作系统是什么与为什么操作系统为你完成所
6、有操作系统为你完成所有 “ “硬件相关、应用无关硬件相关、应用无关”的工作,以给你的工作,以给你 方便、效率、安全方便、效率、安全 2007年8月11操作系统的定义操作系统的定义操作系统(操作系统(operating systemoperating system,简称,简称OSOS)是计算)是计算机中最重要的系统软件,是这样的一组系统程序机中最重要的系统软件,是这样的一组系统程序的集成:这些系统程序在用户对计算机的使用中,的集成:这些系统程序在用户对计算机的使用中,即在用户程序中和用户操作中,负责完成所有与即在用户程序中和用户操作中,负责完成所有与硬件因素相关的(硬件相关)和任何用户共需的硬件
7、因素相关的(硬件相关)和任何用户共需的(应用无关)基本使用工作,并解决这些基本使(应用无关)基本使用工作,并解决这些基本使用工作中的效率和安全问题,为使用户(操作和用工作中的效率和安全问题,为使用户(操作和上层程序)能方便、高效、安全地使用计算机系上层程序)能方便、高效、安全地使用计算机系统,而从最底层统一提供所有通用的帮助和管理统,而从最底层统一提供所有通用的帮助和管理 2007年8月12OSOS定义定义用户对计算机的使用要求用户对计算机的使用要求硬件接口使用特性硬件接口使用特性差差距距其他所有软件(硬件无关、应用相关其他所有软件(硬件无关、应用相关OSOS(硬件相关、应用无关)(硬件相关、
8、应用无关) 2007年8月13OSOS定义定义 2007年8月14操作系统是以下诸系统程序的集成操作系统是以下诸系统程序的集成 (1 1)用户程序的启动、中止)用户程序的启动、中止(2 2)系统调用)系统调用用户程序用户程序运行过程中运行过程中对操作对操作系统的调用系统的调用(3 3)为常用基本操作提供实用程序)为常用基本操作提供实用程序(4 4)改善基本使用中的效率和安全问题)改善基本使用中的效率和安全问题 2007年8月15硬件相关硬件相关 应用无关应用无关l涉及物理地址、设备接口寄存器、设备接口缓冲区l代码量大,需硬件知识l需随硬件的变化而变化l所有应用、用户共需l工作过程雷同l与应用无
9、直接关系回1.2.2.1系统调用 2007年8月161.1.3 1.1.3 操作系统的规模、数量与重要性操作系统的规模、数量与重要性l从从55年出现到现在共年出现到现在共45年,年,OS有多少个?有多少个?lUNIX的变种数量的变种数量l每个每个OS的版本数量、规模(源码行数)和运行的版本数量、规模(源码行数)和运行开销(占内外存空间和开销(占内外存空间和CPU时间)、研发成本、时间)、研发成本、价格价格lSolarislAIXlLinuxlWindowsl操作系统的重要性:无处不在,缺之不可操作系统的重要性:无处不在,缺之不可 2007年8月17 操作系统工作目的和益处操作系统工作目的和益处
10、l减轻用户编程负担l统一管理l使操作系统方便、安全、效率的工作l用户专心于应用本身 2007年8月18 1.2.1 OS的第的第1个工作:启动和结束程序个工作:启动和结束程序 1.2.2 OS的第的第2个工作:用户程序对个工作:用户程序对OS的调用的调用 1.2.3 OS的第的第3个工作:为常用操作提供程序个工作:为常用操作提供程序 1.2.4 OS的第的第4个工作:解决效率和安全问题个工作:解决效率和安全问题1.2 1.2 操作系统大致如何工作操作系统大致如何工作回章首 2007年8月191.2.1 OS1.2.1 OS工作工作1 1:负责启动和结束程序:负责启动和结束程序程序的六种启动方式
11、(其中前程序的六种启动方式(其中前4由由OS负责提供)负责提供)鼠标方式启动鼠标方式启动命令方式启动命令方式启动批方式启动批方式启动程序中启动方式程序中启动方式纯硬件启动方式纯硬件启动方式自启方式(自启方式(OS本身的启动方式)本身的启动方式)程序的两种结束方式程序的两种结束方式正常结束正常结束非正常结束非正常结束 2007年8月20程序的启动程序的启动l程序执行的两个前提程序执行的两个前提 1.程序在内存中(装入)程序在内存中(装入)2.PC被置为程序在内存的入口地址被置为程序在内存的入口地址l程序由程序由、以、以来启动和装入?来启动和装入? 这两个问题的答案形成六种启动方式。这两个问题的答
12、案形成六种启动方式。 2007年8月21程序第程序第1 1种启动方式:鼠标方式启动种启动方式:鼠标方式启动l简单简单l形象形象l免记免记l交互性强交互性强l实现相对繁琐些实现相对繁琐些l响应相对慢些响应相对慢些l操作有时比命令操作有时比命令 方式慢方式慢(带参数的非交带参数的非交 互程序时互程序时,例如格式化盘例如格式化盘) 2007年8月22程序第程序第2 2种启动方式:命令方式种启动方式:命令方式l命令方式是通过键入程序名命令方式是通过键入程序名(及参数及参数)来启动程序。来启动程序。 例如:例如:CFORMAT A:或:或 #mkfs /dev/fd1l命令方式在不同命令方式在不同OS下
13、的不同体现:下的不同体现:lLINUX、UNIX、DOS下:命令提示符与命令行下:命令提示符与命令行lWINDOW下:下:开始开始运行:命令行窗口运行:命令行窗口 开始开始程序程序MSDOS:MSDOS窗口窗口l命令方式的实现:命令解释器命令方式的实现:命令解释器(程序程序),图图(下张片下张片)l命令方式的特点和评价:过去最常用的启动方式命令方式的特点和评价:过去最常用的启动方式l需记程序名和位置需记程序名和位置 l l交互性较强交互性较强l有时操作比鼠标方式快有时操作比鼠标方式快(需参数的非交互程序需参数的非交互程序,如格式化盘如格式化盘) 2007年8月23命令启动方式的工作过程命令启动
14、方式的工作过程 2007年8月24关于命令方式的几个思考问题关于命令方式的几个思考问题提问1:既然开机通电状态任一时刻都有程序在运:既然开机通电状态任一时刻都有程序在运行,或者说是有指令在执行,那么在行,或者说是有指令在执行,那么在PC上当上当C后空(即当光标紧挨在后空(即当光标紧挨在C后闪)而操作者走开后闪)而操作者走开已久未归时,机器上是在运行程序吗?如果是的已久未归时,机器上是在运行程序吗?如果是的话,是什么程序?话,是什么程序?提问2:当你为了以参数:当你为了以参数P执行程序执行程序A,而在,而在C后后打入一条命令打入一条命令“回车回车”,从你开始打命令到,从你开始打命令到打下了命令尾
15、的回车,直到程序打下了命令尾的回车,直到程序A内的第一条指内的第一条指令执行前,计算机在做些什么?令执行前,计算机在做些什么?提问3:(如如PC机上机上)从你的程序的最后一条指令执从你的程序的最后一条指令执行完到下一行完到下一C出现之间,计算机在做些什么?出现之间,计算机在做些什么? 2007年8月25程序第程序第3 3种启动方式:批方式种启动方式:批方式l引例:引例:l批方式是指将若干条命令放在一个文件中,该文批方式是指将若干条命令放在一个文件中,该文件可以在需要时象程序一样被启动执行(命令方件可以在需要时象程序一样被启动执行(命令方式或鼠标方式),其执行过程是由计算机自动连式或鼠标方式),
16、其执行过程是由计算机自动连续顺序地执行该文件中的这组命令。续顺序地执行该文件中的这组命令。l批方式的实现和工作过程:批方式的实现和工作过程: 图图l有关概念:批文件、脚本文件或程序有关概念:批文件、脚本文件或程序(script)(script)、SHELLSHELL程序或文件程序或文件( (SHELL script),SHELL script),作业与作业步作业与作业步l批方式的特点和用途:批方式的特点和用途:l批批文件的名字与位置文件的名字与位置: :少数由系统规定少数由系统规定, ,多数由用户自定多数由用户自定回小节首 2007年8月26批方式之引例(教材批方式之引例(教材P11P11)l
17、 批文件批文件sh1sh1之内容:之内容:cdcd /usr/man/man1 /usr/man/man1ls/home/dragon/sclsls/home/dragon/sclsmjnmjn=1=1while test $mjnwhile test $mjn != 236 != 236do do mjflong=head -n $mjn /home/dragon/scls|tailmjflong=head -n $mjn /home/dragon/scls|tail -n 1 -n 1mjf=basename $mjflongmjf=basename $mjflong .2 .2man -
18、S 2 $mjf|cat -s|head -n 2|tail -n 1 /home/dragon/sclistman -S 2 $mjf|cat -s|head -n 2|tail -n 1 /home/dragon/sclistmjnmjn=$mjn+1=$mjn+1done 2007年8月27批方式之引例批方式之引例l批文件批文件sh1之编调运行方法:之编调运行方法: 1.编写编写SHELL程序程序 2.用编辑程序将用编辑程序将SHELL程序输入并保存在文件程序输入并保存在文件 SH1中中 3.#SH1回车回车 4.观察运行结果,不正确则转观察运行结果,不正确则转1,正确则转,正确则转5
19、5.当需要时,运行当需要时,运行SH1(同步骤同步骤3)回批方式 2007年8月28批方式的实现批方式的实现( (通常由命令解释器实现通常由命令解释器实现) )回批方式 2007年8月29批方式的优点批方式的优点l程序间可以连续执行,不经人工干涉。程序间可以连续执行,不经人工干涉。l命令可以设计成有顺序、分支和循环控制命令可以设计成有顺序、分支和循环控制的形式,称为作业控制语言,使程序可以的形式,称为作业控制语言,使程序可以组合执行组合执行。回批方式 2007年8月30批方式的用途批方式的用途l把现有的程序组合起来实现更复杂的功能把现有的程序组合起来实现更复杂的功能l特别的自动执行批文件特别的
20、自动执行批文件( (放在根目录下或用户主放在根目录下或用户主目录下目录下),),用来自动执行每次开机或登录时的例行用来自动执行每次开机或登录时的例行工作工作例例l启动诸如中文环境这样的集成软件或一些参数复启动诸如中文环境这样的集成软件或一些参数复杂的软件,简单方便,不必要求用户了解相应启杂的软件,简单方便,不必要求用户了解相应启动步骤动步骤( (装字库装字库/ /启动程序启动程序/ /装输入法等)和参数装输入法等)和参数例例回批方式 2007年8月31 自动批文件例自动批文件例MSDOS下自动批文件下自动批文件AUTOEXEC.BAT在开机时在开机时第一个命令提示符出现前自动执行。第一个命令提
21、示符出现前自动执行。 path c:dos prompt $p$g 2007年8月32通过批文件启动中文环境的例子通过批文件启动中文环境的例子:l MSDOS下通过下通过.BAT文件而启动一个中文环境。文件而启动一个中文环境。 C:UCDOSRD16 %1 C:UCDOSKNL %2 C:UCDOSPY c:ucdoswbl 启动启动SPDOS中文环境中文环境 C: CD SPDOS splib/1 spdos wbx 2007年8月33程序第程序第4 4种启动方式:程序中启动方式种启动方式:程序中启动方式lWhat:在一个程序中启动另一程序:在一个程序中启动另一程序lWhy(引例引例):编译
22、器、并发程序设计、窗口程序编译器、并发程序设计、窗口程序等等lhoW:图图 被启动的程序名由用户键入,或由被启动的程序名由用户键入,或由启动方预存或动态计算产生启动方预存或动态计算产生l特点与作用(再看特点与作用(再看Why):):l实际应用中经常需要程序中启动方式实际应用中经常需要程序中启动方式l便于程序的灵活方便启动与动态自动启动便于程序的灵活方便启动与动态自动启动l前三种启动方式在内部实现时最终都是由程序中启前三种启动方式在内部实现时最终都是由程序中启动方式实现的动方式实现的l程序中启动方式与子程序调用的比较程序中启动方式与子程序调用的比较回小节首 2007年8月34程序中启动方式的工作
23、过程程序中启动方式的工作过程 2007年8月35程序第程序第5 5种启动方式:纯硬件启动方式种启动方式:纯硬件启动方式l是最早期的计算机工作方式是最早期的计算机工作方式l工作过程:工作过程:图图lWhy那时用、而现在不用纯硬件启动方式?那时用、而现在不用纯硬件启动方式?l纯硬件装入要求用户程序顺序连续存放,且一个存纯硬件装入要求用户程序顺序连续存放,且一个存储介质限存一个文件,否则硬件太复杂储介质限存一个文件,否则硬件太复杂l纯硬件启动方式下,每运行一个程序都要经过人工纯硬件启动方式下,每运行一个程序都要经过人工判断和操作,效率低且不灵活判断和操作,效率低且不灵活l硬件有限的复杂程度不能对读入
24、的程序和数据做充硬件有限的复杂程度不能对读入的程序和数据做充分的正确性检查分的正确性检查回小节首 2007年8月36纯硬件启动方式的工作过程纯硬件启动方式的工作过程 2007年8月37程序第程序第6 6种启动方式:自启种启动方式:自启l自启方式是指由程序自身来装入与启动自己自启方式是指由程序自身来装入与启动自己(What)l工作过程:工作过程:图图 (hoW)l悖论与实质的部分自装入悖论与实质的部分自装入l特点与作用:特点与作用:早期用的较多早期用的较多,现除现除OS外已基本不用外已基本不用 (Why)l要求顺序连续存放,且独占一个存储介质要求顺序连续存放,且独占一个存储介质l编程麻烦,操作麻
25、烦,存放受限编程麻烦,操作麻烦,存放受限l保密性好,占用内存少,启动快,独立性强,适应保密性好,占用内存少,启动快,独立性强,适应性强,兼容性强性强,兼容性强l所有操作系统都是自启程序所有操作系统都是自启程序l自启与自动批文件、独立程序的比较自启与自动批文件、独立程序的比较回小节首 2007年8月38自启方式的工作过程自启方式的工作过程 2007年8月39程序结束程序结束l引问:程序执行完最后一条指令后,下一条执行引问:程序执行完最后一条指令后,下一条执行什么指令?什么指令?这与程序是否正常结束有关这与程序是否正常结束有关l程序结束程序结束 正常结束正常结束 非正常结束非正常结束l思考问题:自
26、启程序如何结束?思考问题:自启程序如何结束?l非正常结束处理及监控需要、运行帮助等原因,非正常结束处理及监控需要、运行帮助等原因,导致导致OS须常驻内存须常驻内存对比分析表回小节首 2007年8月40正常结束与非正常结束对比分析正常结束与非正常结束对比分析正常结束正常结束非正常结束非正常结束解释解释程序在按本身的逻程序在按本身的逻辑有效地完成预定功辑有效地完成预定功能后结束, 或者预料之能后结束, 或者预料之中的错误结束中的错误结束发生了某些预料发生了某些预料之外的错误而导致之外的错误而导致程序在没有完成预程序在没有完成预定功能时提前结束定功能时提前结束结束时机结束时机预料之中, 预先知道预料
27、之中, 预先知道在哪结束在哪结束随时可能发生的,随时可能发生的,不可预测的不可预测的结束处理结束处理报告结果信息或错误原因、 释放所用空间报告结果信息或错误原因、 释放所用空间与设备、记录使用情况与记帐等与设备、记录使用情况与记帐等结束方式结束方式“程序结束” 系统调“程序结束” 系统调用指令用指令中断处理或系统中断处理或系统瘫痪瘫痪 2007年8月411.2.2 OS1.2.2 OS工作工作2:2:用户程序中对用户程序中对OSOS的调用的调用系统调用和中断系统调用和中断1.2.2.1 1.2.2.1 系统调用的功能内容、作用和使用方式系统调用的功能内容、作用和使用方式1.2.2.2 1.2.
28、2.2 系统调用指令的实现及其特殊性系统调用指令的实现及其特殊性1.2.2.3 1.2.2.3 中断中断系统调用:系统调用:system call system call (本课中有时简称本课中有时简称SCSC)中断:中断:interruptinterrupt回节首 2007年8月421.2.2.1 1.2.2.1 系统调用的功能、作用和用法系统调用的功能、作用和用法l系统调用就是系统调用就是,这是,这是一种特殊形式的调用一种特殊形式的调用(该特殊性见该特殊性见1.2.2.2分析分析),其功能内容是与中断一起完成其功能内容是与中断一起完成,例如打印、读写盘等各种例如打印、读写盘等各种I/O工作
29、工作 (What)l例(汇编程序员观点)例(汇编程序员观点) l系统调用的控制流程系统调用的控制流程 图图 (hoW)l转转OS并返回并返回,OS中对应每个系统调用有一段代码中对应每个系统调用有一段代码l系统调用的作用:参看硬相应无的作用系统调用的作用:参看硬相应无的作用 (Why)l有关概念:独立程序(有关概念:独立程序(standalone),),非独立程序非独立程序lWHY我很少接触系统调用我很少接触系统调用?(高级语言程序员观点高级语言程序员观点)函数与系统调用(函数与系统调用(OS)的关系:)的关系: 2007年8月43系统调用指令的功能内容列举系统调用指令的功能内容列举l系统调用(
30、系统调用(system call)l系统调用包括:系统调用包括:l外存文件与目录的读写外存文件与目录的读写l各种各种I/O设备的使用设备的使用l在一个程序中启动另一个程序在一个程序中启动另一个程序l查询和统计系统资源使用情况查询和统计系统资源使用情况 2007年8月44l 程序段程序段1:利用系统调用打利用系统调用打印(用印(用INT语句调用语句调用DOS的功能来完成)的功能来完成) MOVE AH,05H MOVE DL,Char INT 21H当当INT返回时,打印已经完成返回时,打印已经完成系统调用例(汇编程序员观点):打印系统调用例(汇编程序员观点):打印5 5字符字符 l 程序段程序
31、段2:不用系统调用,不用系统调用,而用而用IN/OUT语句直接读语句直接读写打印机的接口寄存器写打印机的接口寄存器 MOVE I,0L1:MOVE I,I+1 CMP I,5 JNC L3 打完五个字符打完五个字符 MOVE A,IL2:IN ADDR1,B 状态寄存器状态寄存器 OR B,BS 状态位选择码状态位选择码 JNC L2 未准备好未准备好 OUT ADDR2,A 打印打印,数据寄存器数据寄存器 JMP L1L3:RET 2007年8月45系统调用的控制流程系统调用的控制流程 2007年8月46WHYWHY我很少接触系统调用我很少接触系统调用?(?(高级语言程序员观点高级语言程序员
32、观点) )函数(库)与系统调用函数(库)与系统调用(OS)(OS)的关系的关系l通常仅汇编程序员才会接触到系统调用通常仅汇编程序员才会接触到系统调用,而高级而高级语言程序员通常接触不到系统调用语言程序员通常接触不到系统调用,只接触函数只接触函数l函数与系统调用(函数与系统调用(OS)的层次关系)的层次关系 图图l函数库完成的工作通常是硬件无关、应用相关的函数库完成的工作通常是硬件无关、应用相关的 系统调用(系统调用(OS)完成的工作是硬相应无的完成的工作是硬相应无的l函数实现代码中硬相应无工作通过系统调用实现函数实现代码中硬相应无工作通过系统调用实现 图图l函数调用指令(如函数调用指令(如CA
33、LL)与系统调用指令(如)与系统调用指令(如INT)的异同(见)的异同(见1.2.2.2 )l特殊情况:系统调用函数库特殊情况:系统调用函数库 2007年8月47函数与系统调用(函数与系统调用(OSOS)的层次关系)的层次关系 2007年8月48高级语言中对操作系统的高级语言中对操作系统的“间接间接”调用调用 2007年8月491.2.2.2 1.2.2.2 系统调用指令系统调用指令的的实现实现及其及其特殊性特殊性机器、机器、OSOS与系统调用指令间的关系与系统调用指令间的关系系统调用指令的实现机制(借助中断机制)系统调用指令的实现机制(借助中断机制)lINT/IRETINT/IRET指令内部
34、执行过程(图)指令内部执行过程(图)l对比:对比:CALL/RETCALL/RET指令内部执行过程(图)指令内部执行过程(图)lOS内部如何从内部如何从SC功能号得到调用地址(图)功能号得到调用地址(图)系统调用指令的特殊性系统调用指令的特殊性l用于改变程序流程的各种机制比较(表用于改变程序流程的各种机制比较(表12)l系统调用指令特点系统调用指令特点(与子程序调用区别与子程序调用区别)回小节首 2007年8月50机器、机器、OSOS和系统调用指令间的关系和系统调用指令间的关系l每种每种OS提供几十至几百个系统调用提供几十至几百个系统调用l每种机器都提供一对系统调用与返回指令每种机器都提供一对
35、系统调用与返回指令:lSC指令用于从指令用于从AP进入进入OS,SC返回指令用于从返回指令用于从OS返返回回APl例例:SUNTRAP指令指令,SGI工作站工作站SYSCALL,IBMPCINTlSC指令由机器提供,而其调用的功能由指令由机器提供,而其调用的功能由OS提供提供l机器、机器、OS和系统调用指令间的关系和系统调用指令间的关系(下页下页) 2007年8月51机器、机器、OSOS和系统调用指令间的关系和系统调用指令间的关系l同一种机器上同一同一种机器上同一OS中中,不同不同SC用同一条用同一条SC指指令令,但指令参数但指令参数(功能号或寄存器功能号或寄存器)约定不同约定不同l不同机器,
36、若不同机器,若CPU同则同则SC指令名(码)同,若指令名(码)同,若不同不同CPU则则SC指令名(码)不同。指令名(码)不同。l同一机器不同同一机器不同OS中中SC指令(格式)相同(但功指令(格式)相同(但功能号对应关系不同,参数含义不同)能号对应关系不同,参数含义不同)l同一种操作系统在不同机器上的不同版本,其系同一种操作系统在不同机器上的不同版本,其系统调用指令是不同的统调用指令是不同的 2007年8月52INT/IRETINT/IRET指令内部执行过程(图)指令内部执行过程(图) 2007年8月53对比:对比:CALL/RETCALL/RET内部执行过程内部执行过程(图)(图) 2007
37、年8月54OSOS内部内部如何从如何从SCSC功能号功能号得到得到调用地址调用地址(图)(图) 2007年8月55系统调用指令特点系统调用指令特点( (与子程序调用区别与子程序调用区别) )l同一程序中不包含被调用的代码同一程序中不包含被调用的代码l调用地址和返回地址都不固定调用地址和返回地址都不固定(不用写在程序中不用写在程序中)l由系统态由系统态/用户态的自动转换所保证的安全接口用户态的自动转换所保证的安全接口 2007年8月561.2.2.3 1.2.2.3 中断中断l中断是指计算机在执行程序过程中中断是指计算机在执行程序过程中, ,当遇到需马当遇到需马上处理的事件时暂停当前正在运行的程
38、序上处理的事件时暂停当前正在运行的程序, ,转去转去执行有关服务程序执行有关服务程序, ,处理完后自动返回原程序处理完后自动返回原程序图图lWHY用户程序有时需以中断方式进入用户程序有时需以中断方式进入OSl中断的实现机制:中断的实现机制:l中断的检测中断的检测 图图l中断向量表中断向量表l多级中断与中断屏蔽多级中断与中断屏蔽l可抢先与不可抢先可抢先与不可抢先l中断类型:外部与内部中断,中断和异常中断类型:外部与内部中断,中断和异常回小节首 2007年8月57中断机制的流程变化(图)中断机制的流程变化(图) 2007年8月58在在提供中断机制提供中断机制的的计算机系统计算机系统中中每条指令执行
39、过程每条指令执行过程 2007年8月591.2.3 OS1.2.3 OS工作工作3 3:为常用操作提供实用程序:为常用操作提供实用程序l常用基本操作:查看磁盘内容,文件复制,文件常用基本操作:查看磁盘内容,文件复制,文件删除与移动,目录建删等。删除与移动,目录建删等。l操作系统所提供的实用程序操作系统所提供的实用程序lWindows的资源管理器的资源管理器l现代现代UNIX和和LINUX提供上千条命令提供上千条命令l内部命令与外部命令内部命令与外部命令回节首 2007年8月601.2.4 OS1.2.4 OS工作工作4 4:解决效率和安全问题:解决效率和安全问题lOS负责计算机使用中的效率和安
40、全问题中的硬负责计算机使用中的效率和安全问题中的硬相应无内容相应无内容l操作系统采用了大量技术来提高机器效率和人的操作系统采用了大量技术来提高机器效率和人的效率,并确保安全问题效率,并确保安全问题l并发,多任务,多用户,分时并发,多任务,多用户,分时l多道,虚存,多道,虚存,l文件或设备的共享技术,链接,假脱机,等文件或设备的共享技术,链接,假脱机,等l这些技术将在全课各章中逐步学习这些技术将在全课各章中逐步学习l本小节重点介绍并发技术本小节重点介绍并发技术回节首 2007年8月61并发技术并发技术 1.2.4.1 并发之并发之WHY 1.2.4.2 有关概念(有关概念(WHAT) 1.2.4
41、.3 并发实现中要考虑的问题(并发实现中要考虑的问题(HOW) 2007年8月621.2.4.1 1.2.4.1 并发之并发之WHYWHYl并发前:并发前: 当程序在执行当程序在执行I/O时,时,CPU处于空闲状态处于空闲状态l并发后:并发后: 当一个程序(进程)在执行当一个程序(进程)在执行I/O时,时,CPU运行另运行另一个程序(进程)。一个程序(进程)。lCPU利用率及与当时成本的对比利用率及与当时成本的对比 2007年8月63PDPD与与PXPX执行过程的主要不同之处执行过程的主要不同之处( (图图) ) 2007年8月641.2.4.2 1.2.4.2 有关概念(有关概念(WHATW
42、HAT)l并发和并行并发和并行l等待时暂退等待时暂退CPU而让另一程序运行(多用户下举例)而让另一程序运行(多用户下举例)l并发是程序间的假并行,并发是程序间的假并行,CPU与与I/O间的真并行间的真并行l进程和程序进程和程序l多任务、单任务、多用户(同时)、单用户多任务、单任务、多用户(同时)、单用户l单任务一定单用户单任务一定单用户l多任务可能单用户或多用户多任务可能单用户或多用户l多用户一定多任务多用户一定多任务回小节首 2007年8月65进程与程序进程与程序l在并发环境下,一个正在执行中的程序称为进程。在并发环境下,一个正在执行中的程序称为进程。l内存中的进程(动态)比外存上的程序(静
43、态)要内存中的进程(动态)比外存上的程序(静态)要多很多内容(栈,动态数据,状态信息等)。多很多内容(栈,动态数据,状态信息等)。l一个进程可对应多个程序(代码覆盖一个进程可对应多个程序(代码覆盖l一个程序可对应多个进程(例如开两个一个程序可对应多个进程(例如开两个WORD窗口)窗口)l通常,每个进程由进程标识符(pid,一个整数,又称进程号)唯一标别。进程通常只有号,没有名。l详细关系与比较见教材详细关系与比较见教材P31-32 2007年8月661.2.4.3 1.2.4.3 并发实现中要考虑的问题并发实现中要考虑的问题( (HOW)HOW)l现场保存与恢复,进程切换现场保存与恢复,进程切
44、换 图图 l进程调度:从多个就绪进程中选一个进程调度:从多个就绪进程中选一个l中断技术:用于通知进程等待的事件已完成中断技术:用于通知进程等待的事件已完成l进程三态:运行,就绪,等待进程三态:运行,就绪,等待l进程层次进程层次 图图l分时分时(时间片时间片):多用户交互下多用户交互下的的速度、公平和特权速度、公平和特权l进程通讯(进程通讯(IPC)l其他资源的并发共享其他资源的并发共享:内存内存(多道多道),外设外设,数据等数据等l安全安全并发实现中的这并发实现中的这些内容将在以后各章些内容将在以后各章中详细讲解!中详细讲解!回小节首 2007年8月67进程切换的工作内容与过程(图)进程切换的
45、工作内容与过程(图) 2007年8月68进程层次(图)进程层次(图) 2007年8月691.3 1.3 从各种角度看从各种角度看OSOS 1.3.1 操作系统的结构操作系统的结构 1.3.2 操作系统的接口(使用方式)操作系统的接口(使用方式) 1.3.3 操作系统工作过程操作系统工作过程 1.3.4 操作系统的特点操作系统的特点 1.3.5 操作系统的类型操作系统的类型 1.3.6 OS的各种别名、比方和观点的各种别名、比方和观点 2007年8月701.3.1 1.3.1 操作系统的结构操作系统的结构 静态结构l三层:核心、命令解释器、实用程序l核心结构l单体结构l微核结构l(DOS)图 动
46、态结构l多任务下一组动态进程的集合l特点:l进程不停建撤l用户、系统进程l父子进程层次关系 2007年8月操作系统结构操作系统结构回节首 2007年8月721.3.2 OS1.3.2 OS的接口(使用方式)的接口(使用方式)l交互界面交互界面l登录与注销登录与注销l命令命令l窗口界面窗口界面l编程界面编程界面lSHELL编程编程l系统调用:个数(系统调用:个数(LINUX有有200多个多个SC)l其他编程:其他编程:l相关工具:编辑,编译,调试等相关工具:编辑,编译,调试等l系统管理界面:有关配置文件、交互和编程界面系统管理界面:有关配置文件、交互和编程界面参见上图回节首 2007年8月731
47、.3.3 1.3.3 操作系统工作过程操作系统工作过程回节首 2007年8月741.3.4 1.3.4 操作系统的特点操作系统的特点l硬件相关、应用无关硬件相关、应用无关l常驻内存常驻内存l中断驱动中断驱动l权威性权威性l并发并发l庞大、复杂庞大、复杂l重要性(无处不在、无时不有)重要性(无处不在、无时不有) 回节首 2007年8月751.3.5 1.3.5 操作系统的类型操作系统的类型l传统(传统(traditionaltraditional)操作系统、现代)操作系统、现代(contemporarycontemporary)操作系统)操作系统l按其下的按其下的硬件规模硬件规模分:微机、小型机
48、、大分:微机、小型机、大型机操作系统型机操作系统l按按资源共享的级别资源共享的级别分:单任务、多任务、分:单任务、多任务、单用户、多用户、单道、多道操作系统单用户、多用户、单道、多道操作系统l按按所允许的交互类型所允许的交互类型分:批处理、分时分:批处理、分时处理、个人机、实时操作系统处理、个人机、实时操作系统回节首 2007年8月761.3.6 1.3.6 操作系统的别名、比方、观点操作系统的别名、比方、观点l别名别名:监控系统、执行系统、控制系统等:监控系统、执行系统、控制系统等l比方:差距、桥梁、环境、政府、中介等比方:差距、桥梁、环境、政府、中介等l观点:观点:l操作系统的操作系统的虚
49、拟机虚拟机观点观点l操作系统的操作系统的资源管理资源管理观点和四大功能划分观点和四大功能划分(CPU/MM/IO/FS)回节首 2007年8月771.4 1.4 操作系统发展简史操作系统发展简史第一代第一代 单任务操作系统(单任务操作系统(1955年年1962年)年)第二代第二代 多任务和多用户操作系统多任务和多用户操作系统(60和和70年代年代)第三代第三代 结构化与小型化操作系统结构化与小型化操作系统(70和和80年代)年代)第四代第四代 并行与分布操作系统(并行与分布操作系统(80年代末开始)年代末开始)回章首 2007年8月78操作系统出现前的计算机使用方式操作系统出现前的计算机使用方
50、式第一阶段:手工交互手工交互第二阶段:手工批处理手工批处理 2007年8月79手工交互方式的特点手工交互方式的特点(1) 程序设计直接编制二进制目标程序程序设计直接编制二进制目标程序 (2) 输入输出设备主要是纸带和卡片输入输出设备主要是纸带和卡片 (3) 程序员上机必须预约机时程序员上机必须预约机时(4) 程序员自己上机操作程序员自己上机操作 (5) 程序的启动与结束处理都以手工方式进行程序的启动与结束处理都以手工方式进行(6) 程序员的操作以交互方式进行程序员的操作以交互方式进行(控制台控制台) (7) 单用户方式单用户方式(8) 程序执行过程得不到任何帮助,程序都是程序执行过程得不到任何
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。