《操作系统》第7章NT内核Windows操作系统课件

上传人:91274****mpsvz 文档编号:243739453 上传时间:2024-09-30 格式:PPT 页数:18 大小:578.50KB
返回 下载 相关 举报
《操作系统》第7章NT内核Windows操作系统课件_第1页
第1页 / 共18页
《操作系统》第7章NT内核Windows操作系统课件_第2页
第2页 / 共18页
《操作系统》第7章NT内核Windows操作系统课件_第3页
第3页 / 共18页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,操作系统原理,Principles of Operating System,1,7.1.1 NT内核Windows操作系统的特点,NT内核WINDOWS操作系统成功的关键是开放软件标准和兼容性。兼容性是指该操作系统执行其他操作系统环境下编写程序的能力(包括本系统的早期版本)。NT内核WINDOWS操作系统支持多操作系统运行环境。包括:MS-DOS、16位Windows、OS/2等。,NT内核WINDOWS操作系统符合POSIX,提供一个POSIX应用程序的执行环境。POSIX(Portable Operating System Interface for Computing Systems)是面向计算环境可移植操作系统接口,POSIX由美国电气电子工程师学会IEEE和ISO/IEC开发的标准系统。该标准是基于现有的UNIX实践和经验,描述了操作系统的调用服务接口,用于保证编制的应用程序可以在源代码一级上在多种操作系统上移植运行。,NT内核WINDOWS操作系统可运行在多种硬件平台,如Intel处理器、MIPS RISC处理器等。NT内核WINDOWS操作系统采用目前流行的图形用户界面和Win32应用程序接口子集。,2,NT是32位的多任务操作系统,克服了DOS的640KB的瓶颈限制。支持对称多CPU,支持多线程。,NT内核WINDOWS操作系统支持多重文件系统与异步I/O以及采用面向对象的软件开发技术。多重文件系统包括:MS-DOS的FAT16/32、OS/2的高性能文件系统HPFS、CDFS、NTFS。NTFS支持大容量外存。, NT内核WINDOWS操作系统内置网络功能,支持分布式计算和互操作性。NT内核WINDOWS操作系统采用先进的操作系统结构,客户/服务器模式、微内核结构、对象模型等。,安全可靠,安全性达到美国政府C2级安全标准。,3,NT内核操作的系统结构,层次结构。NT内核WINDOWS操作系统具有层次结构,但层次间的界线并不那么清晰,有许多模块实际上跨越了两个或多个层次。,客户/服务器结构。,在NT内核WINDOWS操作系统中采用了两种客户/服务器模式。,网络环境下的C/S模式。客户主要是驻留在网络工作站中,而服务器程序则驻留在网络服务器中。,本地机环境下的C/S模式,NT内核可分成两部分,一部分是用于提供各种服务的一组服务器进程;另一部分是内核,它用于处理客户和服务器之间的通信。,微内核结构,NT内核WINDOWS操作系统还引入了微内核结构,即在NT内核核心程序的下面有一个紧凑的微内核,对象模型,面向对象(Object)技术是基于“抽象”和“隐蔽”原则来控制大型软件的复杂度的。所谓的对象,是指在现实世界里具有相同属性、服从相同规则的一系列事物的抽象。“隐蔽”是指利用被封装的数据结构和一组对它操作的过程(函数),来表示系统中的某个对象。NT内核WINDOWS操作系统将所有的资源都看成对象,NT内核的服务大部分是对象服务。,4,7.2 NT内核Windows操作系统的体系结构,5,1.用户态进程的类型,如图7-1所示,用户态进程有四种基本类型:,系统支持进程,如登陆进程Winlogin。,服务进程,如事件日志服务。,用户应用程序,它们是Win32、16位Windows、MS-DOS、OS/2或POSIX五种应用程序之一。,环境子系统,负责向应用程序提供运行环境,NT内核WINDOWS操作系统提供以下几种运行环境:Win32、OS/2和POSIX、16位Windows、MS-DOS。,服务进程和用户应用程序是不能直接调用操作系统核心服务,必须通过子系统动态链接库(subsystem DLL)和系统交互。子系统动态链接库的作用是将文档化函数转换为Windows XP/Server 2003内部系统调用。,6,2.核心态组件,如图7-1所示,核心态组件包括以下内容:,内核(kernel),它包含最低层操作系统的功能,如线程调度,中断和异常处理,多处理机同步等。,执行体(Executive),它包含基本操作系统服务,如进程和线程管理器,虚拟存储器、对象管理器、安全监视器、本地过程调用等。,硬件抽象层HAL(Hardware Abstraction Layer),HAL将内核、设备驱动程序、执行体同硬件分隔开来,以适应多种硬件平台。,设备驱动程序(device drivers),它包括文件系统和硬件设备驱动程序,硬件设备驱动程序将用户的I/O函数调用转换为对特定硬件的I/O请求。,图形引擎,它包括实现图形用户接口(Graphical User Interface,GUI)的基本函数。,7,图形引擎,图形引擎包括实现图形设备接口(Graphical Device Interface,GDI)的基本函数,包括线条、文本、绘图和图形操作函数。应用程序调用标准的USER函数在显示器上创建窗口和按钮,窗口管理器传递这些请求到GDI,GDI再将这些请求传送给图形设备驱动程序,在这里将按照显示设备的要求将其规格化。显示驱动程序与视频小型端口驱动程序相配合来完成对视频显示的支持。每个视频小型端口驱动程序都对与之相关的显示驱动程序提供硬件级支持。,GDI提供了一组标准的函数,它使得应用程序可以同图形设备通信而不必知道关于这些设备的任何事情。GDI的各种函数在应用程序与图形设备之间起协调作用。GDI解释应用程序对图形输出的要求,并把它们发送到图形显示驱动程序。GDI也能够为应用程序提供使用不同图形输出设备的标准接口,这个接口可以让应用程序代码独立于硬件设备和硬件设备驱动程序。,8,环境子系统,环境子系统(Environment Subsystems)是一个用户态服务器,为特定的操作系统提供一个API。如Win32子系统、16位Windows环境子系统、MS-DOS环境子系统、OS/2环境子系统,POSIX环境子系统。Win32是唯一可见的环境子系统,用户可以透明地运行Win32、16位Windows、MS-DOS、OS/2和POSIX程序,给用户的感觉是NT内核WINDOWS操作系统可以运行几乎所有的应用程序。,Win32子系统主要部件:,Win32子系统进程CSRSS。,一些函数,如Gettempfile、Definedosdevice、ExitWindowsFx和几种自然语言支持函数。,核心态设备驱动程序Win32k.sys。包括窗口管理器控制窗口显示,管理屏幕输出。,子系统动态链接库(如User32.dll、Advapl32.dll、Gdi32.dll和Kernel32.d11),它调用Ntoskrnl.exe和Win32.sys将文档化的Win32APl函数转化为适当的非文档化的核心系统服务。,图形设备驱动程序,包括依赖于硬件的图形显示驱动程序、打印机驱动程序和视频小型端口驱动程序。,9,硬件抽象层HAL,硬件抽象层HAL(Hardware Abstraction Layer)将内核、设备驱动程序、执行体同硬件分隔,HAL隐藏各种与硬件有关的细节,如I/O接口、中断控制器、多处理机通信机制和依赖于硬件平台的函数等。HAL是NT内核WINDOWS操作系统在多种硬件平台可移植性成为可能的关键技术。,Windows NT系列操作系统设计的一个至关重要的方面就是在多种硬件平台上的可移植性,硬件抽象层(HAL)就是使这种可移植性成为可能的关键部分。HAL是一个可加载的核心态模块Hal.dll,它为运行在Windows NT/XP上的硬件提供低级接口。HAL隐藏各种与硬件有关的细节,例如I/O接口、中断控制器以及多处理机通信机制等任何体系结构专用的和依赖于计算机平台的函数。,HAL是一个软件层,用来为操作系统的上层隐藏硬件差异,以提高Windows NT系列操作系统的可移植性。HAL有一虚拟机接口,可为内核调度程序、可执行体和设计驱动程序所使用。这种方法的一个优点是每个设备驱动程序只需要一个版本,即它可运行于各种硬件平台,而无需移植驱动程序。HAL也支持对称多重处理。设备驱动程序映射设备并直接访问它们,但是映射内存的管理、配置I/O总线、设置DMA和处理母板等有关细节,都是由HAL接口提供的。,10,7.3.1 NT对象与句柄,1.对象,对象(Object)是一个广义资源的概念,是一个抽象的数据结构,在NT内核WINDOWS操作系统中用以表示所有的资源。对象是基于“抽象”和“隐蔽”原则来定义的,所谓的对象,是指在现实世界里具有相同属性、服从相同规则的一系列事物的抽象。用“隐蔽”原则定义,对象是数据和一组对它操作的过程(函数)的封装体,对象包括数据、数据的属性和一组对它操作的过程(函数)等三个成分。,NT内核中的各类实体如进程、线程、消息、存储器等,使用对象这一概念,相应地便有进程对象、线程对象、存储器对象等。NT内核WINDOWS操作系统将所有的资源都看成对象,NT内核的服务大部分是对象服务,NT内核WINDOWS操作系统访问和操纵其资源是一致的。通过对象句柄(Handle),所有对象采用同样的保护方法,因此简化了安全措施。,对象有两个部分,即对象头和对象体。对象头包含如下信息:对象名、对象目录、安全描述体、配额、打开句柄计数器、打开句柄数据库、内核/用户态、对象类型指针等。对象体的格式和内容随对象类而不同,对象体中列出对象类的属性。,11,2.句柄,Windows通过句柄识别每个窗体、控件、菜单和菜单项,当程序运行时,它所包含的每个部件都有一个惟一的句柄同其他的部件相区别,句柄在Windows API中具有举足轻重的作用。句柄是Windows用来标识由应用程序所建立和使用的对象的唯一整数(32位),Windows使用各种各样的句柄标识诸如应用程序实例、窗口、控制、位图和GDI对象等等。句柄是一个标识符,是拿来标识对象或者项目的。从数据类型上来看它只是一个32位的无符号整数。应用程序几乎总是通过调用一个Windows函数来获得一个句柄,之后其他的Windows函数就可以使用该句柄,以引用相应的对象。在Windows编程中会用到大量的句柄,比如:HINSTANCE(实例)、HWND(窗口)、HMENU(菜单)、HCURSOR(光标)、HPEN(画笔)、HFILE(文件)、HFONT(字体)、HBITMAP(位图)、HDC(设备描述表)、HICON(图标)等等。,12,NT线程状态,就绪(ready)状态。线程已具备执行的条件,等待CPU调度。调度程序从就绪队列中选中的线程进入备用状态。,备用(standby)状态,处于备用状态的线程已被指定为某一个CPU下的一个执行对象。正进行描述表切换,以进入执行状态。系统中每个处理机上只能有一个处于备用状态的线程。,执行(running)状态,已完成描述表切换,线程进入执行状态。直到出现被抢先、时间片用完、线程终止或进入等待状态的情况为止。,等待(waiting)状态,线程正等待某事件。当等待事件出现时,等待结束,并根据优先级进入执行或就绪状态。以下情况线程进入等待状态:线程等待同步对象,线程等待I/O,环境子系统导致线程将自己挂起。,转换(transition)状态,线程已结束等待状态,但线程的内核堆栈位于外存。当线程等待事件出现而它的内核堆栈处于外存时,线程进入转换状态。当线程内核堆栈被调回内存时,线程进入待调度就绪状态。,终止状态(Terminated):线程执行完毕就进入终止状态。一旦终止,由对象管理器来决定线程对象是否被删除,如果执行体有一指向线程对象的指针,它便可以将线程对象重新初始化,并再次使用它。,初始化状态(Initialized):线程创建过程中的线程状态。,13,7.4.4 NT线程调度算法,NT内核Windows操作系统线程调度算法采用动态优先级多级调度队列算法,每个线程有一个不高于进程基本优先级两级,不低于基本优先级两级范围为内的基本执行优先级,每个线程的动态优先级以线程的基本优先级为初始值,随着进程所做的工作类型的不同而向上浮动。,NT是个抢先多任务方式的操作系统,如果一个较高优先级线程由就绪状态变为执行状态时,内核将中断或抢先其他线程的执行,被抢夺的线程将被给予照顾,放在所在优先级队列的第一个。,14,NTFS概述,NTFS的技术特点如下:,兼容性和可扩充性,支持多个不同类型的文件系统,包括NTFS、DOS的FAT、OS/2的HPFS、CDFS等,支持符号连接,支持文件系统类型之间的联机动态转换。例如,可以将HPFS或FAT分区上文件系统改为NTFS格式。,可恢复性、可靠性和安全性,为了确保文件系统数据的完整性,满足可靠数据存储和访问的需求,NTFS提供了基于原子事务(atomic transaction)概念的文件系统可恢复性。,NTFS对关键文件系统信息还采用了冗余存储。这样,即使磁盘上的某个扇区损坏,NTFS仍可以访问卷上的关键数据。这种磁盘上文件系统数据的冗余存储与FAT和HPFS是不一样的,后者在磁盘上只有单个关键数据,因此如果不能读取这些关键数据,则整个卷的数据就会丢失。,为了保护敏感数据免受非法访问,文件系统应有一个综合的安全模型。NTFS的安全性直接来源于NT的对象模型,NTFS的基本思想是把文件和目录看成是对象和对象的集合。目录的内容不必受到下层的文件系统存储机制的束缚,可以把它们作为独立的实体来访问与复制。文件和目录对象都带有安全描述子,这些描述子作为该文件的一部分存储在磁盘上。进程在打开任何文件对象的句柄前,NT安全系统都验证该进程是否具有足够的权限。安全描述子和用户登录到系统并提供识别的密码结合起来共同确定了该进程的权限,从而保证了除非有管理员或文件拥有者的授权,否则无法访问文件。此外,NTFS支持加密文件系统(Encrpyted File System,EFS),可以阻止非授权用户访问加密文件。,15,数据冗余、数据容错和RAID数据管理,为了保护用户数据,文件系统应提供廉价的基于软件的数据冗余方案以替代较为昂贵的基于硬件的数据冗余方案。NT采用分层驱动器模型实现了数据冗余存储,提供了数据的容错性支持。,卷管理器能够映射或复制一个磁盘的数据到另一个磁盘,因此一个冗余副本总是可以获得的。这种支持通常称为RAID1。卷管理器也允许将数据按条写入到三个或更多的磁盘上,有关数据校验信息也保存在某个磁盘上。如果一个磁盘上的数据受损或无法访问,则可以通过异或操作来恢复。这种支持称为RAID5。,功能强大,性能优越,支持超大容量外存介质,充分利用现有外存硬件特性,支持超大容量外存介质,支持卷,支持卷的动态扩展。对文件缓冲池的新的实现技术(借用虚存机制),带区集(提高吞吐量)支持长文件名(可达255个字符,包括扩展名在内),并且可以有多个扩展名(以.隔开),用户可以选择是否区分大小写,文件名采用Unicode国际代码表示。,磁盘配额,在Windows 2000中增设了磁盘配额功能,使网上的诸多用户能有条不紊地使用磁盘服务器上的空间。磁盘配额用于监视并限制用户对磁盘空间的使用。磁盘配额是针对普通用户的,管理员不受配额限制。当用户的文件空间总量超过了配额时,将自动产生一个事件,使对磁盘的写操作宣告失败,该情况与磁盘已满时的情况类似。,16,17,18,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!