1、范立南 刘飒 编著北京大学出版社,操作系统实用教程第1章操作系统概述,第1章操作系统概述,1.1 操作系统的定义 1.2 操作系统的功能 1.3 操作系统的分类和发展 1.4 操作系统的实现,1.1操作系统的定义,1.1.1 计算机系统层次结构,图1-1计算机系统的层次视图,1.1操作系统的定义,近年来,大型软件都是采用层次式结构进行构建的,也就是将一个软件分成若干个层次。在此,同样可以用一个层次式的0S模型来描述操作系统,该模型分为三个层次(如图1-2所示),包括:用户接口;对对象操纵和管理的软件集合;操作系统对象。,1.1操作系统的定义,图1-2 0S层次模型,1.1操作系统的定义,1.1
2、.2 操作系统的定义狭义操作系统包含程序:核心态运行程序,用户态运行的命令解释器和系统调用库。广义操作系统包含程序:除上述外,许多提供系统常用功能的实用程序,库程序。因此,操作系统可以被定义为集如下三方面为一体的程序集合:(1)控制和管理计算机系统的硬件和软件资源;(2)合理的组织计算机的工作流程;(3)方便用户使用。管理目标:使硬件、软件资源的利用率最高;服务宗旨:给用户尽可能多的服务和最大的方便;服务项目:程序界面由系统调用命令组成,给用户编程提供方便;联机用户界面由键盘命令、屏幕命令组成;脱机用户界面作业控制命令。,1.1操作系统的定义,1.1.3 操作系统的发展 1人工操作阶段 2早期
3、的批处理 3多道程序系统 4分时操作系统 5实时操作系统 6通用操作系统,1.2 操作系统的功能,1.2.1 操作系统在计算机系统中的地位及运行环境1操作系统在计算机系统中的地位(1)计算机系统管理中心(相当于社会中的政府地位);(2)最复杂最精确的人工开发的管理系统;(3)在计算机系统中不可缺少,如果缺少操作系统,用户不可能上机使用计算机资源。2操作系统运行环境 操作系统是一个众多程序模块的集合。根据运行环境,这些模块大致分为3类:第1类是在系统初启时便与用户程序一起主动参与并发运行的,如作业管理程序、输入输出程序等。它们由时钟中断、外设中断所驱动。第2类是直接面对用户态(亦称常态、或目态)
4、程序的,这是一些“被动”地为用户服务的程序。这类程序的每一个模块都与一条系统调用指令对应,仅当用户执行系统调用指令时,对应的程序模块才被调用、被执行。系统调用指令的执行是经过陷入中断机构处理的。因此从这个意义上说,第2类程序也是由中断驱动的。第3类是那些既不主动运行也不直接面对用户程序的、隐藏在操作系统内部的、由前2类程序调用的模块。既然前2类程序是由中断驱动的,那么第3类程序也是由中断驱动的。应当注意,操作系统本身的代码运行在核心态(亦称管态、特态)。从用户态进入核心态的惟一途径是中断。,1.2 操作系统的功能,1.2.2 操作系统的特征 操作系统具有五大特征,其中前两项是操作系统的基本特征
5、,不具备这两项的管理程序不能被称为操作系统。1并发性 2共享性 3虚拟性 4异步性 5可重构性,1.2 操作系统的功能,1.2.3 操作系统的功能 从资源管理的角度看,操作系统主要 功能分四大模块,包括处理机管理,存储器管理,设备管理,文件、作业管理、通信事务管理。此外,为了方便用户使用操作系统,还给用户提供了一个友好的用户接口。,1.2 操作系统的功能,1.2.4 操作系统的结构设计模式 1模块化结构 2层次化结构 3微内核OS结构 4客户/服务器模式 5对象模式 6对称多处理模式,1.2 操作系统的功能,1.2.5 操作系统的设计规范 1系统效率 系统效率是操作系统的一个重要性能指标。它包
6、括资源利用率(高)、吞吐量(大)、周转时间(短)及响应时间(少)等。2系统可靠性 系统可靠性是指系统发现、诊断和恢复硬件与软件故障的能力。可以通过以下三个指标说明。可靠性R(Reliability):通常用系统的平均无故障时间MTBF(Mean Time Failures)来度量。指系统能正常工作的平均时间值。R越大,系统可靠性越高。可维护性S(Serviceability):通常用平均故障修复时间MTRF(Mean Time Repair Fault)来度量。指从故障发生到故障修复所需要的平均时间。S越小,系统可修复能力越强,可维护性越高。可用性A(Availability):指系统运行的整
7、个时间内,能正常工作的概率。,1.2 操作系统的功能,3可移植性 可移植性是指把一个操作系统从一种硬件环境移植到另一种硬件环境时,系统仍能正常工作的能力。操作系统发生移植时,代码修改的量越小,系统效率越高。4可伸缩性 可伸缩性是指操作系统对添加软、硬件资源的适应能力,尤其是指可添加到硬件中的CPU资源的能力。亦即操作系统可运行在不同种类的计算机上,例如从原来的单处理机扩充到多处理机的系统上,操作系统仍能正常运行。5兼容性 它主要指软件的兼容性,是操作系统能够执行为其他版本操作系统或为属同一系列的早期版本操作系统所编写的软件的能力。6安全性 安全性是指操作系统应具有一定的安全保护措施,包括保护和
8、保密。诸如密码设置、账号检查、系统接入检测、各用户资源分配和资源保护、用户的资源不受他人侵犯等。,1.3 操作系统的分类和发展,1.3.1 操作系统的分类1批处理操作系统 批处理操作系统是一种早期的大型机用操作系统。批处理出现的目的在于提高系统资源的利用率和系统的吞吐量,现代操作系统大都具有批处理功能。(1)单道批量处理系统 单道批处理系统是操作系统的雏形。优点是:自动性。顺利情况下,磁带上的作业可一个接一个地运行,无需人工干预。顺序性。按进入磁带的顺序进入主存。单道性。主存中只有一个作业在运行。缺点是:一次只能运行一个作业,这对于昂贵的计算机系统来说,资源的利用率就显得有点低了。,1.3 操
9、作系统的分类和发展,(2)多道批处理系统 多道批处理系统,就是在外存中存在有大量作业,并将这些作业按一定要求排成队列,从这些队列中,选出几个作业进入内存多道运行。当有作业运行完成退出系统时,就自动从作业队列中选取若干作业进入内存,从而使作业批量运行,而无需人工干预。在OS中引入多道程序设计技术可带来以下好处:提高CPU的利用率。可提高内存和I/O设备利用率。增加系统吞吐量。多道批处理系统的特征:多道性、无序性、调度性。多道批处理系统的优缺点:资源利用率高、系统吞吐量大、平均周转时间长、无交互能力。,1.3 操作系统的分类和发展,2分时操作系统 分时系统实现中的关键问题是及时接收、及时处理。一般
10、采用时间片轮转的方式,使一台计算机为多个终端用户服务,能保证足够快的响应时间,并提供交互会话能力。因此它具有下述特点:(1)交互性。(2)及时性。(3)多用户同时性。(4)独立性。分时系统技术为现代操作系统的设计奠定了基础,也为网络时代的到来开辟了新路。,1.3 操作系统的分类和发展,3实时操作系统 实时系统是另外一类联机的操作系统。它主要随着计算机应用于实时控制和实时信息处理领域中而发展起来的。所谓“实时”就是表示要“及时”,实时系统就是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对事件的处理,并控制所有实时任务协调一致地运行。实时系统的主要特点是提供即时响应和高可靠性,往往
11、具有一定的专用性。实时系统在一般领域具有五个独特的要求:决定性、响应性、用户控制、可靠性和弱失效操作。实时系统的特征为多路性、独立性、及时性、交互性、高可靠性。实时系统与批处理系统、分时系统相比,资源的利用率可能较低。,1.3 操作系统的分类和发展,实时系统与分时系统是有区别的,主要是:(1)分时系统提供一种随时可供多个用户使用的、通用性很强的计算机系统工程,用户与系统之间具有较强的交互作用或会话能力;而实时系统的交互作用能力相对来说较差。一般地,实时系统是具有特殊用途的专用系统,仅允许终端操作员访问数量有限的专用程序,即命令较简单,操作员不能书写程序或修改一组已存在的程序。(2)分时系统对响
12、应时间的要求是以人们能接受的等待时间为依据的,其数量级通常规定为秒;而实时系统对响应时间一般有严格要求,它是以控制过程或信息处理过程所能接受的延迟来确定的,数量级可达毫秒,甚至微秒级。(3)虽然分时系统也要求系统可靠,但实时系统对可靠性的要求更高。因为实时系统控制、管理的目标往往是重要的经济、军事、商业目标,而且需要现场立即进行处理,任何差错都可能带来巨大的经济损失,甚至引发灾难性的后果。因此,在实时系统中必须采取相应的硬件和软件措施来提高系统的可靠性,如硬件往往采取双机工作方式,软件加入多种安全保护措施等。,1.3 操作系统的分类和发展,4通用操作系统 批处理系统、分时系统和实时系统是操作系
13、统的三种基本类型,在此基础上又发展了具有多种类型操作特征的操作系统,称为通用操作系统。它可以同时兼有批处理、分时、实时处理和多重处理的功能,或其中两种以上的功能。5个人计算机上的操作系统 个人计算机上的操作系统是一联机的交互式的单用户操作系统,它提供的联机交互功能与通用分时系统所提供的十分相似。6网络操作系统 计算机网络是通过通信设施将物理上分散的具有自治功能的多计算机系统互连起来,实现具有网络通信、资源管理、网络服务、网络管理和相互操作能力功能的系统。计算机网络按拓扑结构可以分为星形网络、树形网络、总线型网络、环形网络以及网状型网络。计算机网络按照地域范围又可分为广域网和局域网。配置在网络上
14、的操作系统就是网络操作系统。网络操作系统的研制开发是在原来各自计算机操作系统的基础上进行的。按照网络体系结构的各个协议标准进行开发,包括网络管理、通信、资源共享、系统安全和多种网络应用服务等。,1.3 操作系统的分类和发展,7分布式操作系统 所谓分布式处理系统,是指由多个分散的处理单元,经互连网络的连接而形成的系统。其中,每个处理单元既具有高度的自治性,又相互协同,能在系统范围内实现资源管理、动态地分配任务,并能并行地运行分布式程序。分布式系统中的各项系统工作对用户来说完全透明。分布式操作系统具有网络操作系统的功能,是网络操作系统的更高级形式,比网络操作系统更有特色、更有优点。其优点在于它的分
15、布式,这种分布式可以以较低成本获得较高的运算性能。而分布式的可靠性又是其他系统所望尘莫及的,在一个CPU出现故障时,整个系统仍能正常工作,并不影响整个任务的运行,只是速度略慢一些。这种高可靠性环境,特别适用于高新技术领域。现代操作系统将分布式系统、网络操作系统统称为分布式操作系统。,1.3 操作系统的分类和发展,1.3.2 操作系统的发展 进入20世纪80年代,大规模集成电路工艺技术的飞跃发展,微处理机的出现和发展,掀起了计算机大发展、大普及的浪潮。一方面迎来了个人操作系统的时代,另一方面又向计算机网络、分布式处理、巨型计算机和智能化方向发展,操作系统有了进一步发展。1大型机操作系统 2服务器
16、操作系统 3多处理机操作系统 4个人计算机操作系统 5实时操作系统 6嵌入式操作系统 7智能卡操作系统,1.3 操作系统的分类和发展,1.3.3 操作系统的实例 随着大规模和超大规模集成电路技术的发展,面向个人使用的微型计算机得到了极大的发展和普及,微机操作系统也得以发展。早期微机操作系统基本上是单用户系统。所有资源采用独占方式。微机操作系统通常提供较强的文件管理功能,通过命令解释器支持用户以交互方式使用计算机,微机操作系统随着微机复杂系统向多用户多任务系统及多媒体方向发展,为计算机走向千家万户,遍及各行各业、深入各个领域打下了坚实的基础。较典型的微机操作系统MS-DOS、Windows、UN
17、IX、Linux的运行环境可以通过实际的操作进行了解和掌握。,1.4 操作系统的实现,1.4.1 操作系统开发与升级1交叉开发(1)建立交叉开发环境,主要包括五方面:目标机:操作系统将运行的机器;工作机:开发操作系统的机器;交叉编译:在工作机上将源代码编译成目标机可运行代码;模拟调试工具:在工作机上模拟执行目标机代码;内核生成环境:工作机上编译链接工具。(2)在交叉环境开发后到目标机运行。2增量开发在已有操作系统上作内核,驱动程序更新和升级。增量开发体现在“更新”上,主要包括四方面:编译系统更新和升级;内核调试器更新和升级;内核生成环境更新和升级;打包工具(生成driver,boot盘,系统安
18、装盘)更新和升级。,1.4 操作系统的实现,1.4.2 操作系统的安装1.4.3 系统启动与关机,范立南 刘飒 编著北京大学出版社,操作系统实用教程第2章 linux操作系统简介,第2章 linux操作系统简介,2.1 Linux操作系统的概述2.2 Linux操作系统的使用,2.1 Linux操作系统的概述,2.1.1 Linux操作系统的历史 Linux可以看做是Unix系统的一种。它具有最新Unix的全部功能包括真正的多任务、虚拟存储、共享库函数、即时负载、优越的存储管理和TCPIP、UUCP网络工具。Linux系统及其发展均符合POSIX标准。其内核支持Ethernet、PPP、SLI
19、P、NFS、AX25、IPXSPX(Novell)、NCP(Novell)等网络类型。系统应用包括telnet、ftp、mail、gopher、talk、term、news等全套Unix工具包。此外还具有x图形库,以及xterm、fvwm、xxgdb、mosaic、xv、xman等全部X-Window应用程序。,2.1 Linux操作系统的概述,目前比较流行的几个Linux版本有:Slackware Linux:这是最早出现的Linux发行版本。它比较适合有经验的Linux老手,对于那些想学习系统是怎么工作的并想安装和编译他们自己的软件的人来说这是最好的。不过,现在使用这一版本的人越来越少了。
20、不建议大家使用。Red Hat Linux:这是最风行的一种发行版本。其因为采用一个头带红帽子的人作为吉祥物而得名的。它一度成为Linux的代名词。它支持的硬件平台多,具有优秀的安装界面、独特的RPM升级方式、丰富的软件包、并且安全性能好、系统管理界面便捷。Debian Linux:这是由自由软件基金会发行的,是完全由网络上的Linux爱好者负责维护的发行版本。软件极丰富,升级容易,软件间联系强,安全性较佳。不过该发行版本更新太频繁,不易把握。,2.1 Linux操作系统的概述,2.1.2 Linux操作系统的特点 1自由开放的源代码 2真正的多用户多任务系统 3良好的用户界面 4强大的网络功
21、能 5可靠的系统安全 6良好的可移植性 7完整的开发平台 8与UNIX兼容,2.1 Linux操作系统的概述,2.1.3 Linux操作系统的设计原理 Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途,同时它们都尽可能被编写得更好。其中第一条详细的讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。,2.1 Linux操作系统的概述,2.1.4 Linux操作系统的内核模块 Linux内核能够根据需要装载或卸载任意内核代码段。这些可装载的内核模块运行于特权内核模式,所以这些内核模块能
22、够完全访问其所运行的计算机的硬件。Linux环境下模块支持体现在以下三个方面:模块管理(module management)允许该模块被导入内存并能与内核的其他模块进行通信。驱动程序注册(driver registration)允许该模块告诉其他模块一个新的驱动程序已经可以使用。冲突解决机制(conflict-resolution mechanism)允许不同的设备驱动器保留硬件资源,并且保护那些被其他驱动器突发使用的资源。,2.2 Linux操作系统的使用,221 Linux系统引导 系统的引导过程是指计算机启动时,由系统BIOS以及操作系统引导程序将操作系统内核可执行代码逐级装入内存并开始
23、执行,直到系统控制台显示“login:”登录提示符为止的系统引导阶段。在这个执行过程中需要进行许多初始化操作以便为用户提供各种服务,如编辑文件、打印以及网名服务等。1Linux引导程序的基本概念 在Red Hat Linux装载系统前,它必须由一个引导装载程序(Boot Loader,启动管理程序)中的特定指令告诉它去引导系统。这个程序一般位于系统的主硬盘驱动器或其他知道如何引导Linux内核的媒介驱动器上。Linux默认选择GRUB(GRand Unified Bootloader)作为引导装载程序。GRUB是一个多重启动管理器,它可以在多个操作系统共存时选择引导哪个系统。,2.2 Linu
24、x操作系统的使用,2引导程序菜单界面 3设置引导程序的密码 本节主要讲述如何使用以下两种方法设置GRUB开启系统的密码:一是直接在GRUB配置文件中加密,但此时设置的密码能在GRUB配置文件etcgrubconf中直接看到,因而安全性不够;另一种方法就是通过md5进行加密和校验,这种办法值得推荐,在安全方面能够得到保证。(1)直接在GRUB配置文件中设置密码(2)用md5加密校验GRUB密码,2.2 Linux操作系统的使用,4系统引导的过程 下面以Red Hat 9.0和i386平台为例,当用户打开PC的电源,BIOS开机自检,按BIOS中设置的启动设备(通常是硬盘)启动,接着启动设备上安装
25、的引导程序lilo或grub开始引导Linux,Linux首先进行内核的引导,接下来执行init程序,init程序调用了rc.sysinit和rc等程序,rc.sysinit和rc当完成系统初始化和运行服务的任务后,返回init;init启动了mingetty后,打开了终端供用户登录系统,用户登录成功后进入了Shell,这样就完成了从开机到登录的整个启动过程。,2.2 Linux操作系统的使用,2.2.2 文件存取权限和所有权限每一个目录和文件都有一个所有者、一个分组和一系列存取权限。存取权限本身又分为对应的所有者、分组和全体用户的几个组成部分。文件的存取权限是使用长格式化文件列表命令(ls-
26、l)列文件清单时出现在最左边的第一数据段。这个数据段又可以被分解为10个标志位。1类型标志位存取权限数据段的第一位,或者第一个字母表示的是这个项目的类型,许多不同的项目会用到这个标志位:-表示该项目是一个普通文件;d表示该项目是一个目录;l表示该项目是一个符号链接;s表示该项目是一个可执行文件,不论谁都可以像它的所有者那样调用它运行;c表示该项目是一个字符设备驱动程序;b表示该项目是一个块设备驱动程序。,2.2 Linux操作系统的使用,2存取权限三位组存取权限的其余部分每三位一组,分为三组。类型位后面的第1个三位组定义了其所有者的存取权限。第2个三位组定义了其所在分组的存取权限;第3个三位组
27、则说明了系统上任何人的存取权限。从上面的介绍可以看出,认真设置这些标志位是非常重要的。3解读三位组解读各个三位组的方法是完全一样的。每一个三位组是由3个不同的数据位组成的:读标志位(r)写标志位(w)执行标志位(x)这些标志位永远都按照同一个顺序显示为rwx的形式。区别某个标志位是处于允许(on)还是禁止(off)的状态就要看该标志位是显示为一个字母还是一个连字符(-)。举例来说,在rw-存取权限数据段表示读标志位在允许状态、写标志位在允许状态,但是执行标志位就是禁止状态。所以这个三位组就表示具有读和写的权限,但是没有可执行权限。,2.2 Linux操作系统的使用,2.2.3 常用命令 查询命
28、令说明的man命令、列出文件列表的ls命令、切换目录的cd命令、建立目录的mkdir命令、删除目录的rmdir命令、拷贝文件的cp命令、删除文件或目录的rm命令,2.2 Linux操作系统的使用,2.2.4 vi的用法 任何计算机用户最常做的事之一就是创建和编辑文件,包括文档、报告和文字等。在Linux/Unix操作系统中vi是一个有效的、相对简单的全屏幕编辑。使用vi,只要知道少量基本命令,然后,就能逐步扩大应用能力,去使用大量更复杂的命令。2.2.5 实例Linux运行一个用户程序,范立南 刘飒 编著北京大学出版社,操作系统实用教程第3章进程管理,第3章进程管理,3.1 并发控制3.2 进
29、程的定义和特征3.3 内核中进程的实现3.4 线程模型3.5 Linux的进程管理,3.1 并发控制,3.1.1 多道程序设计1程序的顺序执行(1)顺序性 处理机的操作严格按照程序所规定的顺序执行。程序中一条指令的执行结束是下一条指令开始执行的充分必要条件。(2)封闭性 程序是在封闭的环境下执行的。即程序运行时独占全机资源,资源的状态(除初始状态外)只有本程序才能改变它,其执行结果不受外界因素的影响。(3)可再现性 只要程序执行时的环境和初始条件相同的情况下,程序执行的最终结果与执行过程中向前推进的速度无关。多次重复执行该程序都将获得相同的结果。程序顺序执行的以上三个特点,为程序员在单道环境下
30、检测和校正程序的错误带来了极大的方便。,3.1 并发控制,图3-1 程序的顺序执行,2前趋图 前趋图(Precedence Graph)是一个有向无循环图,通常被记为DAG(Directed Acyclic Graph)。它用于描述进程之间执行的前后关系,图中的每一个结点可用于表示一个程序段或进程,乃至是一条语句;图中的每一条有向边表示相邻结点之间的前趋关系(Precedence Relation),也称偏序(Partial Order)关系,记为SiSj,即Sj仅在Si执行完成后才能开始执行,称Sj是Si直接后继,而称Si是Sj的直接前趋。此外,图中的每个结点还具有一个重量(Weight),
31、用来表示该结点所含有的程序量或结点执行所需的时间。示例程序顺序执行过程的图3-1就是一个简单的前趋图。注意,前趋图中必须不存在循环。,3.1 并发控制,图3-2示出了输入、计算和打印这三个程序对一批作业进行处理的情况。,图3-2 并发执行时的前趋图,3.1 并发控制,3.1.2 程序的并发执行对于具有下述四条语句的程序段:S l:a:=x+2S2:b:=y+4S3:C:=a+bS4:d:=c+b可画出图3-3所示的前趋关系可以看出:S3必须在a和b被赋值后方能执行;S4必须在S3之后执行;但S1和S2则可以并发执行,因为它们彼此互不依赖。,图3-3 四条语句的前趋关系,3.1 并发控制,根据前
32、趋图可以较为直观的描述多道环境中的各个程序的相互次序,了解到哪些程序是可以并发执行的。但是,由于多道环境下的并发程序共享了计算机系统内的各种软、硬件资源,所以使得并发程序的执行产生了与程序的顺序执行不同的新特性。程序并发执行的特点如下:1失去程序的封闭性和可再现性2并发程序之间具有相互制约关系3程序与程序的执行不再意一一对应4独立性,3.2 进程的定义和特征,3.2.1 进程的定义 进程是可并发执行的程序在一个数据集合上的运行过程,它是系统资源分配与调度的一个独立单位。,3.2 进程的定义和特征,3.2.2 进程的特征进程具有以下五大特征。1动态性2并发性3独立性4异步性5结构性,3.2 进程
33、的定义和特征,3.2.3 进程与程序的区别和联系 进程和程序是两个既有联系又有区别的概念。进程与程序的区别和联系可以简述如下:(1)进程是程序的执行过程,是一个动态的概念;而程序是完成某特定功能的指令的有序集合,是一个静态的概念。(2)进程具有并发性、独立性和异步性,而程序不具备这些特征。(3)进程是具有结构的。为了描述进程的运行变化过程,操作系统为每个进程提供了一个特定数据结构的表格:PCB表。进程包括程序、数据和记录进程状态信息的进程控制块PCB组成。(4)进程和程序并非是一一对应的。即一个程序可以对应多个进程,一个进程也可以包含多个程序。多个进程可以对应同一个程序,但它们又是彼此分离的多
34、个执行序列。,3.2 进程的定义和特征,3.2.4 进程与作业的区别 一个进程是一个程序对某个数据集的执行过程,是分配资源的基本单位。作业是用户需要计算机完成某项任务,而要求计算机所做工作的集合。一个作业的完成要经过作业提交、作业收容(后备)、作业执行和作业完成4个阶段。而进程是已提交完毕的程序所执行过程的描述,是资源分配的基本单位。其主要区别如下:(1)作业是用户向计算机提交任务的任务实体。在用户向计算机提交作业之后,系统将它放入外存中的作业等待队列中等待执行。而进程则是完成用户任务的执行实体,是向系统申请分配资源的基本单位。任一进程,只要它被创建,总有相应的部分存在于内存中。(2)一个作业
35、可由多个进程组成。且必须至少由一个进程组成,但反过来不成立。(3)作业的概念主要用在批处理系统中。分时系统中没有作业的概念。进程的概念几乎用在所有的多道程序系统中。,3.2 进程的定义和特征,3.2.5 操作系统与进程的控制执行1内核和微核 操作系统的内核(kernel)是基于硬件的第1层软件,它包含管理并发活动的基本程序,而这些基本程序本身最好不是并发执行的。目前商用操作系统内核包括进程控制、进程调度、进程间通信、进程同步、中断处理、设备驱动模块、时钟管理等。,3.2 进程的定义和特征,对传统的内核模块进行分析后发现能剥离与硬件无关的代码,使操作系统最基本的功能放在一个小核心中,其他功能尽量放到核外,通过调用小核心来实现,这就是当今流行的微核技术。这样的小核心称为微核(micro kernel)或微内核,它仅提供四类小型服务:进程间通信(IPC,InterProcess Communication);底层输入输出;有限调度和有限进程控制;最低级的存储管理。,3.2 进程的定义和特征,微核的代码量大体控制在10KB100KB之间。微核是对传统内核涵义的回归与进一步提炼,它有四种优点:(1)简化了代码的维护工作(2)系统崩溃的风险很小(3)方便于移植(4)灵活性,3.2 进程的定义和特征,