《现代操作系统专题1.pdf》由会员分享,可在线阅读,更多相关《现代操作系统专题1.pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1现代操作系统专题电子科技大学计算机学院罗 蕾现代操作系统专题电子科技大学计算机学院罗 蕾课程的组织形式课程的组织形式?以专题的形式、以以专题的形式、以Win2000/Linux为例讲述现代操作系统的相关技术为例讲述现代操作系统的相关技术系统概述系统概述进程、线程、进程、线程、SMP和微内核和微内核存储管理存储管理输入输入/输出和文件输出和文件网络管理网络管理安全管理安全管理课程目的课程目的?理论与实践相结合理论与实践相结合?了解现代操作系统的相关技术了解现代操作系统的相关技术参考资料参考资料?William Stallings,Operating System:Internals and D
2、esign Principles Fourth Edition?Helen Custer,Inside Windows NT?Microsoft:Windows2000 Server MCSE培训教材培训教材?Linux 操作系统内核分析操作系统内核分析考试形式?平常多次作业作为评分依据平常多次作业作为评分依据?每个人的作业的内容不能一样,否则无效每个人的作业的内容不能一样,否则无效计算机系统组成计算机系统组成?硬件基本构成硬件基本构成处理器:处理器:CPU主存储器主存储器输入输入/输出模块输出模块系统总线系统总线?软件构成软件构成系统软件系统软件应用软件应用软件工具软件工具软件2现代操作系统
3、特征现代操作系统特征?促使操作系统发展的硬件因素:促使操作系统发展的硬件因素:多处理器的计算机系统:大大提高机器速度多处理器的计算机系统:大大提高机器速度高速网络连接高速网络连接大小品种不断增加的内部、外部存储设备大小品种不断增加的内部、外部存储设备多媒体应用多媒体应用Internet和和Web访问访问客户客户/服务器计算服务器计算现代操作系统特征现代操作系统特征?实验用和商用操作系统使用下列方式设计:实验用和商用操作系统使用下列方式设计:微内核结构微内核结构多线程多线程对称多处理对称多处理分布式操作系统分布式操作系统面向对象设计面向对象设计微内核结构微内核结构?巨大内核(巨大内核(monol
4、ithic kernel)操作系统功能由大内核实现,包括:调度、文件系统、联网、设备驱动、存储管理等操作系统功能由大内核实现,包括:调度、文件系统、联网、设备驱动、存储管理等大内核一般是作为一个进程实现的,所有元素共享相同的地址空间大内核一般是作为一个进程实现的,所有元素共享相同的地址空间?微内核结构(微内核结构(microkernel architecture)内核基本功能:最基本调度、进程间通信内核基本功能:最基本调度、进程间通信其他操作系统服务是运行在用户模式下的进程:服务程序其他操作系统服务是运行在用户模式下的进程:服务程序简化实现,提供灵活性,很适合分布式环境简化实现,提供灵活性,很
5、适合分布式环境多线程技术多线程技术?把执行一个应用的进程划分成可以同时运行的线程把执行一个应用的进程划分成可以同时运行的线程?线程线程调度单元,包括:上下文环境和栈中自己的数据调度单元,包括:上下文环境和栈中自己的数据顺序执行,可中断顺序执行,可中断?进程进程一个或多个线程和相关系统资源的集合一个或多个线程和相关系统资源的集合对应一个正在执行的程序的概念对应一个正在执行的程序的概念一个应用程序分解成多个线程可降低复杂度、模块性好、并行性一个应用程序分解成多个线程可降低复杂度、模块性好、并行性对称多处理技术对称多处理技术?对称多处理(对称多处理(symmetric multiprocessing
6、,SMP)不仅指计算机硬件结构,反映该硬件结构的操作系统行为不仅指计算机硬件结构,反映该硬件结构的操作系统行为?对称多处理可定义为具有以下特征的一个独立计算机系统:对称多处理可定义为具有以下特征的一个独立计算机系统:有多处理器有多处理器这些处理器共享同一个主处理器和这些处理器共享同一个主处理器和I/O设备,它们之间通过通信总线或别的内部连接方案互相连接设备,它们之间通过通信总线或别的内部连接方案互相连接所有处理器都可执行相同的功能(因此称对称)所有处理器都可执行相同的功能(因此称对称)?SMP操作系统的优势操作系统的优势性能:并行能力性能:并行能力高可用性:单处理器的失败并不会使机器停止,系统
7、可继续运行,只是性能有所降低高可用性:单处理器的失败并不会使机器停止,系统可继续运行,只是性能有所降低增量扩展:用户可以通过添加额外的处理器增强系统的功能增量扩展:用户可以通过添加额外的处理器增强系统的功能可配置:可根据系统要求配置不同价格和性能的产品对称多处理技术可配置:可根据系统要求配置不同价格和性能的产品对称多处理技术3?Unix1965年麻省理工学院(年麻省理工学院(MIT)、美国电报电话公司()、美国电报电话公司(AT&T)的贝尔实验室()的贝尔实验室(Bell labs)和通用电气公司()和通用电气公司(GE)开始多用户分时操作系统)开始多用户分时操作系统Multics的开发工作。
8、的开发工作。1969年年Multics开始在开始在GE 645计算机系统上运行,但它未能实现原定目标计算机系统上运行,但它未能实现原定目标Unix继承了继承了Multics的文件系统的树形结构、的文件系统的树形结构、SHELL命令语言、面向过程的结构化设计方法和采用高级语言编写操作系统的特点。现代主流操作系统命令语言、面向过程的结构化设计方法和采用高级语言编写操作系统的特点。现代主流操作系统?Unix第一个值得注意的里程碑是第一个值得注意的里程碑是UNIX的第一次实用,即为满足的第一次实用,即为满足Bell Labs专利部对正文处理的要求而在专利部对正文处理的要求而在1971年运行在年运行在
9、PDP-11上。上。另一个重要的里程碑是用另一个重要的里程碑是用C语言重写了语言重写了UNIX系统,事实上今天所有的系统,事实上今天所有的UNIX实现版本都是用实现版本都是用C语言编写的。语言编写的。Unix系统一直是现代工程工作站的主流操作系统系统一直是现代工程工作站的主流操作系统IEEE成立了成立了POSIX 委员基金会专门负责委员基金会专门负责UNIX的标准化工作现代主流操作系统的标准化工作现代主流操作系统?Unix在在1988年年 UI(UNIX International)和)和 OSF(Open Software Foundation)两大业界集团便开始各自的)两大业界集团便开始各
10、自的UNIX标准化标准化UI以以AT&T与与Sun为代表,于为代表,于1989年底推出年底推出 UNIX System V Res 4.0,它将,它将 BSD 4.3 与与UNIX V.4 以前版本的用户界面统一成称为以前版本的用户界面统一成称为 Open Look 的图形界面的图形界面OSF则以则以DEC、HP和和IBM为支柱,也于为支柱,也于1990年发表了基于年发表了基于BSD 4.3 的的 OSF/1现代主流操作系统现代主流操作系统现代现代Unix系统系统?现代现代Unix内核内核增加其他现代操作系统设计特征增加其他现代操作系统设计特征有一个小的核心软件有一个小的核心软件,它以模块化的
11、风格编写它以模块化的风格编写提供许多操作系统进程所需的功能和服务提供许多操作系统进程所需的功能和服务每个外部圆圈表示相应的功能和以多种方式实现的接口每个外部圆圈表示相应的功能和以多种方式实现的接口公共设施公共设施虚拟存储器框架虚拟存储器框架Vnode/vfs接口接口调度框架调度框架流流块设备切换块设备切换切换切换文件映射文件映射匿名映射设备映射匿名映射设备映射磁盘驱动程序磁带驱动程序磁盘驱动程序磁带驱动程序网络驱动程序网络驱动程序tty驱动程序驱动程序系统进程分时进程系统进程分时进程RFSNFSFFSs5fselfa.outcoff现代现代Unix系统系统?系统系统V版本版本4(SVR4)AT
12、&T和和SUN联合开发的联合开发的SVR4结合结合SVR3,4.3BSD,MS Xenix SystemV和和SUNOS的特点的特点完全重写系统完全重写系统V的内核的内核新特点新特点:对实时处理的支持对实时处理的支持,进程调度类进程调度类,动态分配数据结构动态分配数据结构,虚拟存储管理虚拟存储管理,虚拟文件系统和可剥夺的内核虚拟文件系统和可剥夺的内核可运行在可运行在32位微处理器到超级计算机的很宽范围内的机器位微处理器到超级计算机的很宽范围内的机器4现代现代Unix系统系统?Solaris 2.xSolaris是是Sun基于基于SVR4的的Unix版本版本完全剥夺完全剥夺支持多线程的内核支持多
13、线程的内核完全支持完全支持SMP文件系统的面向对象的接口文件系统的面向对象的接口现代现代Unix系统系统?4.4 BSD4.x BSD广泛用于学院广泛用于学院,成为许多商业成为许多商业Unix的基础的基础4.4BSD是是Berkeley最后发布的最后发布的BSD,随后其设计和实现组织就解散随后其设计和实现组织就解散包含新的虚拟存储系统包含新的虚拟存储系统对内核结构进行改变及一系列其他特征的增强对内核结构进行改变及一系列其他特征的增强现代现代Unix系统系统?LinuxLinux开始是用于开始是用于IBM PC结构的一个结构的一个Unix变种变种1991年芬兰年芬兰Linus Torvalds在
14、在Internet上公布了最早的上公布了最早的Linux版本版本成功的关键在于它是自由软件基金会成功的关键在于它是自由软件基金会(FSF)赞助的自由软件包赞助的自由软件包Linux开发使用开发使用GNU工具工具现代现代Unix系统系统?LinuxLinux高质量内核高质量内核高度模块化和易于配置高度模块化和易于配置源代码源代码模块结构模块结构?大多数大多数Unix内核是整体式的内核是整体式的,任何修改需重新链接任何修改需重新链接,安装安装?Linux被组织成一组相对独立的块被组织成一组相对独立的块,称作可加载模块称作可加载模块现代现代Unix系统系统?Linux可加载模块有两个重要特征可加载模
15、块有两个重要特征:动态链接动态链接:内核模块可被加载和连接到内核内核模块可被加载和连接到内核可堆栈模块可堆栈模块:模块按层次排列模块按层次排列,当被高层的客户模块访问时当被高层的客户模块访问时,它们作为库它们作为库;当被低层模块访问时当被低层模块访问时,它们作为客户它们作为客户Win2000概述概述?历史历史最初的版本最初的版本DOS1.0:1981年年8月月,4000行汇编语言源代码行汇编语言源代码,使用使用Intel8086微处理器运行在微处理器运行在8KB的内存中的内存中当当IBM研制基于硬盘的研制基于硬盘的PC XT时时,1983年发布了年发布了DOS2.0,包含硬盘支持包含硬盘支持,
16、提供了层次目录提供了层次目录当当IBM在在1984年发布年发布PC AT时时,发布了发布了DOS3.01984年发布年发布DOS3.1支持支持PC间的联网间的联网,1987发布发布DOS3.35Win2000概述概述?历史历史1990年年,推出推出Win3.0,运行在运行在DOS之上之上89年开始开发年开始开发NT(New Technology)主设计师是主设计师是VMS 的设计师的设计师David N.Cutler1993年发布年发布WinNT3.1,同同Win3.1有相同的有相同的GUI,32位位OS,具有支持具有支持DOS/Win/OS2Win2000概述概述?历史历史WinNT4.0,
17、同同Win98有相同的有相同的GUI,WinNT3.x中作为中作为Win32子系统一部分的几个图形组件被移植到子系统一部分的几个图形组件被移植到WinNT执行程序中执行程序中2000年推出年推出Win2000,低层的执行程序和微内核与低层的执行程序和微内核与WinNT4.0在根本上是相同在根本上是相同.W2K增加分布处理的服务和功能增加分布处理的服务和功能核心元素是活动目录核心元素是活动目录(Active Directory)NT/Win2000的由来的由来?90年代的年代的OS的市场需求的市场需求可移植性可移植性:用可移植的语言开发,使用可移植的语言开发,使NT很方便的从一种处理器移到另一种
18、处理器很方便的从一种处理器移到另一种处理器多处理器及可伸缩性多处理器及可伸缩性分布式计算分布式计算符合符合POSIX标准标准政府认证的安全性政府认证的安全性:美国政府的安全级别:从美国政府的安全级别:从D到到A,D级安全级别最低,级安全级别最低,A级最高,级最高,B、C有几个子级有几个子级NT最初的目标是最初的目标是C2级,也就是说:系统资源的拥有者有权决定谁能存取,而级,也就是说:系统资源的拥有者有权决定谁能存取,而OS能检测出何时数据被存取及被谁存取。能检测出何时数据被存取及被谁存取。NT/Win2000的由来的由来?设计目标设计目标可扩充性可扩充性?Client/Server 结构Cli
19、ent/Server 结构 采用微内核的设计思想采用微内核的设计思想?NT=执行体(特权级)+保护子系统(用户态)NT=执行体(特权级)+保护子系统(用户态)?模块化模块化?用面向对象来代表系统资源用面向对象来代表系统资源NT/Win2000的由来的由来?设计目标设计目标可移植性可移植性?采用高级语言采用高级语言主要是C,有部分C+和汇编语言主要是C,有部分C+和汇编语言?与处理器有关的代码分离与处理器有关的代码分离?与平台有关的代码分离与平台有关的代码分离可靠性可靠性?NTFS文件系统NTFS文件系统?C2级C2级?虚拟内存管理虚拟内存管理NT/Win2000的由来的由来?设计目标设计目标兼
20、容性兼容性?Intel 处理器上运行时:二进制兼容已有的Windows,MS-DOS,OS/2Intel 处理器上运行时:二进制兼容已有的Windows,MS-DOS,OS/2?MIPS 处理器上运行时:二进制 兼容已有的Windows,MS-DOS,OS/2MIPS 处理器上运行时:二进制 兼容已有的Windows,MS-DOS,OS/2?为POSIX的应用程序提供源码级兼容为POSIX的应用程序提供源码级兼容?NT支持现有的文件系统:FAT,CDFS NT支持现有的文件系统:FAT,CDFS 6NT/Win2000的由来的由来?设计目标设计目标性能性能?采用了一种高速的消息传递机制LPC,
21、使SERVER与CLIENT应用间的通信加快采用了一种高速的消息传递机制LPC,使SERVER与CLIENT应用间的通信加快?NT的网络软件的主要部分做在执行体中,以提高速度,并可动态装入和卸出NT的网络软件的主要部分做在执行体中,以提高速度,并可动态装入和卸出Win2000?W2K两大平台共四种操作系统两大平台共四种操作系统第一类工作站平台第一类工作站平台:W2K Professional(windows2000专业版专业版)?是专为各种桌面计算机和便携机开发的新一代操作系统是专为各种桌面计算机和便携机开发的新一代操作系统?继承了Windows NT的先进技术,提供了高层次的安全性、稳定性和
22、系统性能继承了Windows NT的先进技术,提供了高层次的安全性、稳定性和系统性能?更加容易地使用计算机、安装(即插即用外设,直接升级)和配置系统、脱机工作和使用Internet等更加容易地使用计算机、安装(即插即用外设,直接升级)和配置系统、脱机工作和使用Internet等Win2000?W2K两大平台共四种操作系统两大平台共四种操作系统第二类服务器平台第二类服务器平台?Windows 2000 ServerWindows 2000 Server?Windows 2000 Advanced ServerWindows 2000 Advanced Server?Windows 2000 Da
23、ta center Server Windows 2000 Data center Server Win2000?W2K ServerServer为服务器开发的多用途操作系统,可为部门工作小组或中小型公司用户提供文件打印、软件应用、Web功能和通信等各种服务.为服务器开发的多用途操作系统,可为部门工作小组或中小型公司用户提供文件打印、软件应用、Web功能和通信等各种服务.它是一个性能更好、工作更加稳定、更容易管理的平台。最重要的改进是在它是一个性能更好、工作更加稳定、更容易管理的平台。最重要的改进是在“活动目录活动目录”目录服务技术的基础上,建立了一套全面的、分布式的底层服务。目录服务技术的基
24、础上,建立了一套全面的、分布式的底层服务。活动目录是集成在系统中的,采用了Internet的标准技术,是一套具有扩展性的多用途目录服务技术。它能有效地简化网络用户及资源的管理,并使用户更容易地找到企业网为他们提供的资源。活动目录是集成在系统中的,采用了Internet的标准技术,是一套具有扩展性的多用途目录服务技术。它能有效地简化网络用户及资源的管理,并使用户更容易地找到企业网为他们提供的资源。支持2路对称多处理器(SMP)系统支持2路对称多处理器(SMP)系统Win2000?W2K Advanced Server(Windows 2000高级服务器版)Advanced Server(Wind
25、ows 2000高级服务器版)更强的对称多处理器支持,支持数达到4路更强的对称多处理器支持,支持数达到4路更强大的群集功能。更强大的群集功能。更高的稳定性:可为核心业务提供更高的稳定性,在多种一般错误发生后一分钟内自动重启应用软件。例如,把两台基于Intel结构的服务器组成一个群集,可以获得很高的可用性和可管理性.更高的稳定性:可为核心业务提供更高的稳定性,在多种一般错误发生后一分钟内自动重启应用软件。例如,把两台基于Intel结构的服务器组成一个群集,可以获得很高的可用性和可管理性.Win2000?W2K Advanced Server(Windows 2000高级服务器版)Advanced
26、 Server(Windows 2000高级服务器版)网络负载平衡:为网络服务和应用程序提供高可用性和扩展能力,例如TCP/IP和Web服务。网络负载平衡:为网络服务和应用程序提供高可用性和扩展能力,例如TCP/IP和Web服务。组件负载平衡:为COM+组件提供高可用性和扩展能力。组件负载平衡:为COM+组件提供高可用性和扩展能力。高性能排序:Windows 2000 Advanced Server优化了大型数据集的排序功能。高性能排序:Windows 2000 Advanced Server优化了大型数据集的排序功能。7Win2000?W2K Data center ServerServer
27、包含所有的包含所有的W2K Advanced Server的特性,此外提供更多的内存和处理器的支持,适用于大型数据仓库、在线事务处理等重要应用中。的特性,此外提供更多的内存和处理器的支持,适用于大型数据仓库、在线事务处理等重要应用中。它支持16路对称多处理器系统以及高达64GB的物理内存它支持16路对称多处理器系统以及高达64GB的物理内存W2K构架构架WIN32应用程序应用程序WorkStation服务服务内核模式驱动程序内核模式驱动程序硬件抽象层硬件抽象层(HAL)硬件硬件Windows2000执行体执行体Server服务服务安全性安全性基本子系统基本子系统WIN32POSIX环境子系统环
28、境子系统用户模式内核模式用户模式内核模式POSIX应用程序应用程序用户模式层用户模式层?由一组被称为子系统的组件组成由一组被称为子系统的组件组成?子系统通过子系统通过I/O系统服务将系统服务将I/O请求传递到适当的内核模式驱动程序请求传递到适当的内核模式驱动程序?子系统屏蔽内核模式,使应用程序不必了解模式组件的任何东西子系统屏蔽内核模式,使应用程序不必了解模式组件的任何东西?环境子系统和基本子系统环境子系统和基本子系统用户模式层用户模式层?环境子系统环境子系统模拟不同的操作系统模拟不同的操作系统接受应用程序所调用的API,将API转换成W2K理解的格式,再传到内核模式组件接受应用程序所调用的A
29、PI,将API转换成W2K理解的格式,再传到内核模式组件Win32子系统:Win32/Win16/DOSWin32子系统:Win32/Win16/DOSPOSIXPOSIX环境子系统和应用程序不能直接访问硬件或设备驱动程序,它们被限制到指定的地址空间环境子系统和应用程序不能直接访问硬件或设备驱动程序,它们被限制到指定的地址空间用户模式层用户模式层?基本子系统基本子系统安全性子系统安全性子系统?创建安全令牌并跟踪与用户帐户有关的权利和权限创建安全令牌并跟踪与用户帐户有关的权利和权限?接受用户登录请求并进行登录身份验证接受用户登录请求并进行登录身份验证?跟踪被审核的系统资源跟踪被审核的系统资源工作
30、站服务工作站服务?提供API以访问网络重定向的网络基本子系统提供API以访问网络重定向的网络基本子系统?使W2K得以访问网络使W2K得以访问网络用户模式层用户模式层?基本子系统基本子系统服务器服务服务器服务?提供API以访问网络服务器的网络基本子系统提供API以访问网络服务器的网络基本子系统?使W2K得以提供网络资源使W2K得以提供网络资源8内核模式层内核模式层?具有对系统数据和硬件的访问权限具有对系统数据和硬件的访问权限?提供对内存的直接访问并在受保护的内存区执行提供对内存的直接访问并在受保护的内存区执行?由几个功能明确的组件组成:由几个功能明确的组件组成:执行程序执行程序硬件抽象层硬件抽象
31、层内核模式驱动程序集内核模式驱动程序集内核模式层内核模式层?执行程序执行程序执行大多数I/O操作和对象管理,执行程序包括的组件如下:执行大多数I/O操作和对象管理,执行程序包括的组件如下:?I/O管理,安全引用监视器I/O管理,安全引用监视器?进程间通信IPC进程间通信IPC?虚拟内存管理虚拟内存管理?进程管理进程管理?PnP管理PnP管理?电源管理电源管理?窗口管理器和图形设备接口窗口管理器和图形设备接口?对象管理对象管理内核模式层内核模式层?执行程序执行程序这些组件提供系统服务和内部例程这些组件提供系统服务和内部例程用户模式子系统和其他执行程序组件可使用系统服务用户模式子系统和其他执行程序
32、组件可使用系统服务执行程序内的其他组件可使用内部例程执行程序内的其他组件可使用内部例程内核模式层内核模式层?硬件抽象层(HAL)硬件抽象层(HAL)虚拟化或隐藏硬件接口详情,便于W2K的移植虚拟化或隐藏硬件接口详情,便于W2K的移植包含硬件特有的代码包含硬件特有的代码是作为动态链接库执行的,负责系统中每个组件所需的所有硬件级的支持和平台特有的支持是作为动态链接库执行的,负责系统中每个组件所需的所有硬件级的支持和平台特有的支持内核模式层内核模式层?内核模式驱动程序内核模式驱动程序所有内核模式驱动程序都包括一组系统定义的标准驱动程序例程和一些内部例程所有内核模式驱动程序都包括一组系统定义的标准驱动
33、程序例程和一些内部例程系统中所有其他组件与设备的连接表示为文件对象的打开操作系统中所有其他组件与设备的连接表示为文件对象的打开操作I/O管理定义文件对象,设备对象和驱动程序对象的对象类型I/O管理定义文件对象,设备对象和驱动程序对象的对象类型W2K对象对象?W2K大量使用面向对象设计概念W2K大量使用面向对象设计概念?面向对象方法简化了进程间资源和数据的共享面向对象方法简化了进程间资源和数据的共享?便于保护资源免受未经许可的访问便于保护资源免受未经许可的访问?W2K中的所有实体并非都是对象W2K中的所有实体并非都是对象?当数据访问是共享或受限制时,都使用对象当数据访问是共享或受限制时,都使用对
34、象9W2K对象对象?对象表示的实体有:文件,进程,线程,计时器和窗口对象表示的实体有:文件,进程,线程,计时器和窗口?W2K通过对象管理以一致的方法创建和管理所有的对象类型W2K通过对象管理以一致的方法创建和管理所有的对象类型?对象可以有与之相关联的安全信息,以安全描述符(SD)的形式表示对象可以有与之相关联的安全信息,以安全描述符(SD)的形式表示?安全信息可以用于限制对对象的访问,SD列出那些允许(或不允许)访问信号对象的用户,以及允许访问的类型(读,写,改变等)安全信息可以用于限制对对象的访问,SD列出那些允许(或不允许)访问信号对象的用户,以及允许访问的类型(读,写,改变等)?W2K不是成熟的面向对象的OSW2K不是成熟的面向对象的OS