收藏 分销(赏)

Windows操作系统.ppt

上传人:仙人****88 文档编号:14760391 上传时间:2026-11-14 格式:PPT 页数:116 大小:1.24MB 下载积分:10 金币
下载 相关
Windows操作系统.ppt_第1页
第1页 / 共116页
Windows操作系统.ppt_第2页
第2页 / 共116页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Windows,操作系统核心技术,参考教材,尤晋元等,,Windows,操作系统原理,机械工业出版社,,2001,David A.Solomon,Windows NT,技术内幕,清华大学出版社,,1999,年,7,月,本课程内容,含盖操作系统原理课程的全部理论内容以及,Windows 2000/XP,操作系统构成的各个方面,10,讲的内容依次是:,第,1,讲 操作系统概述,第,2,讲,Windows 2000,XP,的体系结构,第,3,讲 进程管理,第,4,讲 存储管理,第,5,讲 文件系统,第,6,讲,I/O,系统,第,7,讲 网络,第,8,讲,windows,安全,第,9,讲 应用程序设计,第,10,讲 驱动程序设计,操作系统概述,发展与分类,计算机系统结构与特点,定义,按人的要求接收、存储信息,自动进行数据处理和计算,并输出结果的机器系统。,特点,计算、判断、存储、精确、快速、通用、易用、联网,组成,硬件、软件,计算机系统概观,计算机系统,(,层次结构,),软件,硬件及固件(裸机),应用软件,系统软件,编辑软件,编译软件,操作系统,计算机组织,指运算器、存储器、控制器、,I/O,部件间的相互连接,作为,计算机系统结构,的逻辑和物理实现,任务是提高性价比,实现计算机在指令级的功能和特性;,计算机系统结构,从程序设计人员角度看到的计算机属性,处于机器语言级;,存储程序原理,是了解计算机组织的关键,基于此构造的计算机称为存储程序计算机(冯,.,诺伊曼机),基本点:,指令驱动,即程序由指令组成,并和数据一起存放在计算机存储器中,地位:,紧贴硬件之上,其它软件之下,是其他软件的共同环境,定义:,系统软件,程序模块的集合,资源管理和用户接口功能,应用用户,应用开发人员,操作系统,开发人员,计算机硬件,操作系统,系统工具,用户应用,操作系统概念,操作系统特征,并发性 多程序同时推进,单,CPU,环境 用户程序之间、用户程序与操作系统之间,多,CPU,环境 宏观、微观并发,分布式环境 多计算机并存,共享性,系统的各种资源共享,随机性,运行状态不确定,要求操作系统设计与实现要充分考虑各种可能,操作系统作用,OS,是计算机硬件、软件资源的管理者,管理对象包括:,CPU,、,存储器、外部设备、信息(数据和软件);,管理的内容:,资源的当前状态(数量和使用情况)、资源的分配、回收和访问操作,相应管理策略(包括用户权限)。,OS,是用户使用系统硬件、软件的接口,系统命令,(命令行、菜单式、命令脚本式、图形用户接口,GUI,);,系统调用,(形式上类似于过程调用,在应用编程中使用)。,OS,是扩展机,(extended machine)/,虚拟机,(virtual machine),。,在裸机上添加:,设备管理、文件管理、存储管理(针对内存和外存)、处理机管理(针对,CPU,);,合理组织工作流程,:作业管理、进程管理。,几项重要功能,进程管理,主要是对处理器进行管理,解决处理器实施分配调度策略;,协调多道程序间的关系,存储管理,管理内存资源,内外存结合实现虚拟存储器,解决内存不够问题,文件管理,信息资源以文件方式存放在外存,方便、安全的访问,作业管理,为用户提供使用机器的手段,设备管理,管理所有,I/O,设备及其支持设备,引入操作系统的目标,有效性,(系统管理人员的观点),管理和分配硬件、软件资源,合理地组织计算机的工作流程,方便性,(用户的观点),提供良好的、一致的用户接口,弥补硬件系统的类型和数量差别,可扩充性,(开放的观点),硬件的类型和规模、操作系统本身的功能和管理策略、多个系统之间的资源共享和互操作,操作系统历史,主要讨论操作系统的外部特征,发展动力,提高资源的利用率和系统性能:,计算机发展的初期,计算机系统昂贵,用作集中计算,方便用户:,用户上机、调试程序,分散计算时的事务处理和非专业用户(商业和办公、家庭),器件的发展:,CPU,的位宽度(指令和数据)、快速外存,手工操作,集中计算(计算中心),计算机资源昂贵;,用户既是程序员,又是操作员;用户是计算机专业人员;,编程语言:为机器语言;,输入输出:纸带或卡片;,工作特点,用户独占全机:不出现资源被其他用户占用,资源利用率低;,CPU,等待用户:计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;,CPU,利用率低;,提高效率的途径,专门的操作员,批处理,批处理系统,利用磁带把若干个作业分类编成作业执行序列,每个批作业由一个专门的监督程序(,Monitor,),自动依次处理。可使用汇编语言开发。,批处理中的作业的组成:用户程序、数据、作业说明书(作业控制语言),监督程序发展为执行系统,(executive system),,,常驻内存,主要问题,CPU,和,I/O,设备使用忙闲不均(取决于当前作业的特性)。,对计算为主的作业,外设空闲;,对,I/O,为主的作业,,CPU,空闲;,多道批处理系统,利用多道批处理提高资源的利用率。,多道批处理的运行特征,多道:内存中同时存放几个作业;,宏观上并行运行:都处于运行状态,但都未运行完;,微观上串行运行:各作业交替使用,CPU,;,优点:,资源利用率高:,CPU,和内存利用率较高;,作业吞吐量大:单位时间内完成的工作总量大;,缺点:,用户交互性差:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改;,作业平均周转时间长:短作业的周转时间显著增长;,分时系统,“分时”的含义分时是指多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源。,多个用户分时:,单个用户使用计算机的效率低,因而允许多个应用程序同时在内存中,分别服务于不同的用户。有用户输入时由,CPU,执行,处理完一次用户输入后程序暂停,等待下一次用户输入,时走时停,前台和后台程序分时:,后台程序不占用终端输入输出,不与用户交互现在的图形用户界面,(GUI),,,除当前交互的程序,(,输入焦点,),之外,其他程序均作为后台,通常按时间片,(time slice),分配:,各个程序在,CPU,上执行的轮换时间。,批处理:,交互性差提高对,CPU,利用率;,分时处理:,用户与应用程序随时交互,控制程序运行,适于商业和办公事务,处理缩短响应时间,用高级语言书写,OS,Unix,特色,不兼容,一直困难。,可移植,OS,标准出现:,POSIX,、,SVID,、,XPG,通用,OS,面向个人应用,WINDOWS,LINUX,两大发展方向:宏观、微观,宏观:大规模,分布式,微观:嵌入式,操作系统分类,批处理,(Batch Processing Operation System),分时,(Time Sharing Operating System),实时,(Real Time Operating System),多处理,(Multi-processor Operating System),嵌入式,(Embedded OS),个人计算机,OS(Personal OS),NOS(Network Operating System),分布式,OS(Distributed OS),批处理系统中作业处理及状态,单道,(,uniprogramming,),和多道批处理的比较,多道程序系统和多处理系统,(multiprocessing system),的区别:前者指多个程序同时在内存中交替运行,后者指多个处理器。,分时系统的特征,多路性:多个用户同时工作。,共享系统资源,提高了资源利用率。,节省维护开支,可靠性高:笨终端至今仍在使用。,促进了计算机的普遍应用,提高资源利用率:远地用户通过终端(较便宜)联机使用。,独立性:各用户独立操作,互不干扰。,交互性:系统能及时对用户的操作进行响应,显著提高调试和修改程序的效率:缩短了周转时间。,分时系统的主要问题,及时接受输入:多个,I/O,端口,设立多路缓冲区,及时响应:,提高对换速度(快速外存)、,限制用户数目、,缩短时间片(可能引起对换次数增多,开销增大,程序总运行时间增大),减少对换信息量:,可重入代码,(re-entrant code),;,请求页式存储管理:只对换部分程序,实时系统的特征,实时时钟管理:,提供系统日期和时间、定时和延时等时钟管理功能;,过载保护:,缓冲区排队,丢弃某些任务,动态调整任务周期;,过载是指进入系统的任务数目超出系统的处理能力。,高度可靠性和安全性:,容错能力(如故障自动复位)和冗余备份(双机,关键部件);,实时操作系统主要用于过程控制、事务处理等有实时要求的领域,其主要特征是实时性和可靠性。,实时操作系统,实时系统与批处理系统和分时系统的区别,专用系统:,许多实时系统是专用系统,而批处理与分时系统通常是通用系统。,实时控制:,实时系统用于控制实时过程,要求对外部事件的迅速响应,具有较强的中断处理机构。,高可靠性:,实时系统用于控制重要过程,要求高度可靠,具有较高冗余。如双机系统。,事件驱动和队列驱动:,实时系统的,工作方式,:接受外部消息,分析消息,调用相应处理程序进行处理。,可与,通用系统,结合成通用实时系统,:实时处理前台作业,批处理为后台作业。,多处理操作系统,非对称式多处理,(Asymmetric Multiprocessing,ASMP),:,又称主从模式,(Master-slave mode),。,主处理器,:只有一个,运行,OS,。,管理整个系统的资源,为从处理器分配任务;,从处理器:,可有多个,执行应用程序或,I/O,处理。,特点:,不同性质任务的,负载,不均,,可靠性,不够高,不易,移植,(通常要求硬件也是,非对称,)。,对称式多处理,(Symmetric Multiprocessing,SMP),OS,交替在各个处理器上执行。任务,负载较为平均,,,性能调节容易,傻瓜式,对称多处理机与非对称多处理机的比较,网络操作系统,在通用操作系统功能的基础上提供网络通信和网络服务功能的操作系统,网络操作系统为网上计算机进行方便而有效的网络资源共享,提供网络用户所需各种服务的软件和相关规程的集合,网络功能与操作系统的结合程度是网络操作系统的,重要性能指标,早期作法是通用操作系统附加网络软件,过渡到网络功能成为操作系统的有机组成部分,区别:,网络功能的强弱、使用是否方便,例,MS OS:,MS DOS,MS Windows 3.x,Windows 95,Windows NT,Windows 2000,UNIX:,BSD,SCO UNIX,AIX,Solaris,Linux,NOS:,Novell Netware,RTOS:,VxWorks,pSoS,Nucleus,研究操作系统的几种观点,软件观点,外在特性:命令集、界面,内在特性:具有一般软件不具备的特殊结构,资源管理观点,分配、回收、竞争、保护,进程观点,将操作系统当作若干个可同时独立运行的程序,-,进程,虚拟机,屏蔽硬件,多个层次,服务提供者,用户角度,Windows,操作系统历程,开发过程,版本及其特点,Win3x,Win9x,Win2000,Winxp,www.winhistory.de/more/win1.htm,Windows 1.X,(1985,年,11,月,),已有多,窗口输出、,多,任务处理,功能、,初步具有图形界面,;,Windows 2.X,(1987,年,11,月,),具有图形界面,而且已具有,Windows 3.1,的系统原型。如应用程序的添加、支持磁盘扩充、支持多种外设接口等,开始受到外界的重视与关注;,Windows/286 V2.1,及,Windows/386 V2.1,(1988,1989,年,),因当时,Windows,的速度过慢而仍未普及,故推出此版本,修正核心程序,(,如:,I/O,、,内存、,CPU,等的控制,),并以结构化语言改写使得速度大幅提升;,Windows 3.0,英文版,(1990,年,5,月,),除了改正,Windows 2.X,版的错误外,使得图形用户界面正式进入个人,PC,的领域;拥有真正,GUI,的操作系统;除此之外,还提供一个非常完善的用户环境。增强了多任务处理、,GUI,、,存储管理等能力;,Windows 3.0,中文版,(1991,年,7,月,31,日,),,中文化的操作界面,主要添加了中文输入法及汉字库的支持;,Windows 95,英文版,(1992,年,4,月,),Windows 95,中文版,(1993,年,8,月,),除英文版功能外,还新增如多显卡支持、打印机驱动、兼容性与稳定性等。,Windows 95,中文版新特性,(1995,年,8,月,),真正,32,位的操作系统,全新的工作桌面,支持长文件名,支持硬件的即插即用,32,位可抢先,(Preemptive),多任务系统,全新的多媒体享受,强大的网络支持,更友好的安装、操作界面,Windows1.01,Windows1.02,Windows1.03,Windows 2.xx,Windows NT,体系结构,Windows 2000,的特点,支持对称多处理机,真正的,32,位操作系统:除,16,位应用的支持代码,没有,16,位的代码;兼容,16,位,Windows,应用,完全的代码可重入,(reentrant),:,同一段代码可由多个应用同时访问;,图形用户界面,GUI,(,和字符用户界面),抢先式多任务和多线程,虚拟存储:段页式,(,有存储保护,),文件系统:,NTFS(HPFS),,,支持安全控制,设备驱动程序:,VxD(virtual,driver),可移植:适用于多种硬件平台,容错能力,面向对象特性:用对象来表示所有资源。,Windows 2000/XP,的体系结构,本章要点,操作系统的设计目标,操作系统的设计阶段,几种常见的操作系统体系结构范型,Windows 2000/XP,的操作系统模型,Windows 2000/XP,的体系结构,Windows 2000/XP,的重要组成部分,Windows 2000/XP,的系统机制,Windows 2000/XP,注册表、服务控制与管理机制,操作系统的设计问题,操作系统设计有着不同于一般应用系统设计的特征,复杂程度高,研制周期长,正确性难以保证,解决途径,良好的操作系统结构,先进的开发方法和工程化的管理方法,高效的开发工具,操作系统的设计目标,可靠性:,正确性和健壮性,主要指并发、共享及其引起的不确定性,高效性:,提高系统的运行效率,易维护性:,易读、易扩充、易剪裁、易修改性,易移植性:,一次开发,多处使用,安全性:,计算机软件系统安全性的基础,可适应性,简明性,目态,管态,用户态,管态,Windows 2000/XP,的设计目标,总原则:市场需求,驱动,设计目标,需求:,提供一个真,32,位抢占式可重入的虚拟内存操作系统,能够在多种硬件体系结构和平台上运行,能够在对称多处理系统上运行并具有良好的可伸缩性,优秀的分布式计算平台,既可作为网络客户,又可作为网络服务器,可运行多数现有,16,位,MS-DOS,和,Microsoft Windows 3.1,应用程序,符合对,POSLX 1003.1,的要求,符合政府和企业对操作系统安全性的要求,支持,Unicode,,,适应全球市场的需要,Windows 2000/XP,的设计目标:,可扩充性,可移植性,可靠性及坚固性,兼容性,性能,操作系统的设计考虑,功能设计:,操作系统应具备哪些功能,算法设计:,选择和设计满足系统功能的算法和策略,并分析和估算其效能,结构设计:,选择合适的操作系统结构,操作系统结构设计,按照系统的功能和特性要求,选择合适的结构,使用相应的结构设计方法将系统逐步地分解、抽象和综合,使操作系统结构清晰、简单、可靠、易读、易修改,而且使用方便,适应性强,操作系统体系结构问题,程序结构,程序结构的两层含义:整体结构、局部结构,程序的结构良好的准则,软件结构,操作系统体系结构,大型软件,模块划分、接口定义复杂,并发性,接口复杂、信息交换频繁,计算机体系结构日益复杂,应用扩大、使用要求提高使得操作系统体系结构日趋复杂,几种常见的操作系统结构,模块组合结构,模块组合结构的特点与适应性,模块间转接随便,数据基本上作为全程量处理,常常关中断,系统的并发性难以提高,层次结构,层次结构设计方法的核心思想,例如,E.W.Dijkstra,的,THE,系统:,1,2,3,4,5,处理器分配和多道程序,内存和磁盘管理,操作员,进程通信,输入,/,输出管理,用户程序,操作员,0,分层原则,与硬件相关的,最底层,计算机具有多操作方式,多操作方式共有的基本部分放在内层,具体操作方式相关的方在外层;,OS,基于进程的概念,内核放在内层;内层中又分多层,,公用功能在最内层,。,层次结构的特点,分解成许多功能单一的模块,各模块之间有清晰的组织结构和依赖关系,具有更高的可读性和可适应性,层次结构是单向依赖的,上层模块建立在下层基础上,设计了比较可靠的基础,很容易增加或替换掉一层而不影响其它层次,便于修改、扩充,层次结构的层间关系,全序:同层模块不互相调用,各层简单向,半序:有循环,第,3,层,第,2,层,第,1,层,第,0,层,全序,半序,进程分层结构,实现代价较大:,必须设立一个进程控制块,用以保留进程的状态信息,增加了内存开销,进程之间的控制转移、状态保留及信息传送,均由核心去管理,时间消耗多,效率下降,系统并发活动过多,调度负担过重,且同步操作过于分散,易于造成死锁,影响了系统的安全性,层次结构的两种类型,核心,层次管程结构,进程:并发单位,类程:专用资源的抽象,管程:共享资源的抽象,一个动态的系统由内核和一组有限个满足规定调用关系的进程,P,、,类程,C,和管程,M,构成,。,其中进程是系统中唯一能动的成份,管程和类程都是被动成份,优点,采用层次管程结构的系统结构清晰、统一,同步操作相对集中,系统安全性较高,用高级语言书写程序,研制周期短,通过编译技术获取更高的灵活性和效率,只用一种概念描述并发,减少了不必要的并行性,减少了系统开销。,缺点:,管程嵌套问题比较难于高效的解决,不便于管理多个资源和全局性资源,虚拟机结构,如,IBM,大型机上的系列操作系统,基本思想:,系统应该提供,多道程序能力,及,一个比裸机有更方便扩展界面的计算机,。但二者的实现应相互独立,特点,虚拟机概念可以实现完全保护,用软件从硬件逐层扩展,虚拟机方法把多道程序和扩展机器的功能完全分开,使每一部分都简单、灵活,更易于维护。,370,裸机,VM/370,CMS,CMS,CMS,系统调用陷入,I/O,指令陷入,若干个,370,虚拟机,CMS:,会话监控系统,微内核(客户,/,服务器结构),CMU,的,Mach,、,早期的,Windows NT,非常适宜于应用在网络环境下,应用于分布式处理的计算环境中,由下面两大部分组成,运行在核心态的“微”内核,用户态,以,C/S,模式运行的若干进程,通过内核进行通信,主要特点,机制(内核)与策略(服务进程)分离比较彻底,可靠,灵活,适合分布式计算的需求,缺点:,效率较低,其它体系结构,外展式核心(,Exokernels,),这种观点认为操作系统应该只负责在竞争的用户之间安全、有效的分配计算资源,传统操作系统的绝大部分功能应该在系统库中以可选的方式链接进用户程序,可扩展系统,可扩展系统认为应该将尽可能多的模块以一种受保护的方式放进核心当中。操作系统的构造者可以先构造从一个只包含稍微多于核心保护机制的一个最小核心。而其它的功能则通过不断的往核心中添加受保护的模块实现。,2.2 Windows 2000/XP,系统模型,融合了分层操作系统和微内核操作系统的设计思想,使用面向对象的分析与设计,采用整体式的实现,Windows 2000/XP,通过硬件机制实现了核心态以及用户态两个特权级别。对性能影响很大的操作系统组件运行在核心态。,核心内没有保护,。,Windows 2000/XP,的核心态组件使用了面向对象设计原则,出于可移植性以及效率因素的考虑,大部分代码使用了基于,C,语言的对象实现。,Windows 2000/XP,的很多系统服务运行在核心态,这使得,Windows 2000/XP,更加高效,而且也是相当稳定的。,系统支持进程,服务进程,用户程序,环境子系统,子系统动态链接库,图形引擎,执行体,核心,设备驱动,HAL,用户态,核心态,Windows 2000/XP,的构成,用户态组件,系统支持进程,(,system support process,),,不是,Windows 2000/XP,服务,不由服务控制器启动。,服务进程,(,service process,),,Windows 2000/XP,的服务。,环境子系统,(,enviroment,subsystems,),,它们向应用程序提供操作系统功能调用接口包括:,Win32,、,POSIX,和,OS/2 1.2,。,应用程序,(,user applications,),,五种类型:,Win32,、,Windows 3.1,、,MS-DOS,、,POSIX,或,OS/2 1.2,。,子系统动态链接库,:调用层转换和映射,核心态组件,核心(,kernel,),包含了最低级的操作系统功能,例如线程调度、中断和异常调度、多处理器同步等。同时它也提供了执行体(,Executive,),用来实现高级结构的一组例程和基本对象。,执行体,包含基本的操作系统服务,例如内存管理器、进程和线程管理、安全控制、,I/O,以及进程间的通信。,硬件抽象层(,HAL,Hardware Abstraction Layer,),将内核、设备驱动程序以及执行体同硬件分隔开来,实现硬件映射。,设备驱动程序(,Device Drivers,),包括文件系统和硬件设备驱动程序等,其中硬件设备驱动程序将用户的,I/O,函数调用转换为对特定硬件设备的,I/O,请求。,图形引擎,包含了实现图形用户界面(,GUI,,,Graphical User Interface,),的基本函数。,可移植性的获得,两种方法,分层的设计,依赖于处理器体系结构或平台的系统底层部分被隔离在单独的模块之中,系统的高层可以被屏蔽在千差万别的硬件平台之外。提供操作系统可移植性的,两个关键组件是,HAL,和内核。,依赖于体系结构的功能在内核中实现,在相同体系结构中,因计算机而异的功能在,HAL,中实现。,Windows 2000/XP,大量使用高级语言,执行体、设备驱动程序等用,C,语言编写,图形用户界面用,C+,编写。只有那些必须和系统硬件直接通信的操作系统部分,或性能极度敏感的部分是用汇编语言编写的。汇编语言代码分布集中且少。,对称多处理器支持,代码对多处理器的可伸缩性好,完善的,I,PC,和锁机制解决资源竞争问题,核心态组件代码可重入程度极高,多优先级抢占式调度(利用系统陷阱调度),多数核心态组件代码都可以被抢占,由,NTOSKRNL.EXE,屏蔽,SMP,硬件设置,绝大多数组件不可见、也无需关心,。,2.3 Windows 2000/XP,的构成,P43,图,2-5 windows2000/xp,体系结构,内核,内核对象,硬件支持,硬件抽象层,执行体,驱动程序,环境子系统与动态链接库,Win32,Posix,Os/2,Ntdll.dll,系统支持进程,内核,功能,线程安排和调度,陷阱处理和异常调度,中断处理和调度,多处理器同步,供执行体使用的基本内核对象,始终运行在核心态,代码精简,可移植性好。除了中断服务例程(,ISR,,,interrupt service routine,),,正在运行的线程不能抢先内核。,内核对象,帮助控制、处理并支持执行体对象的操作,以降低系统策略代价,控制对象,这个对象集和包括内核进程对象、异步过程调用(,APC,,,asynchronous procedure call,),对象、延迟过程调用(,DPC,,,deferred procedure call,),对象和几个由,I/O,系统使用的对象,例如中断对象。,调度程序对象集合负责同步操作并影响线程调度。调度程序对象包括内核线程、互斥体(,Mutex,)、,事件(,Event,)、,内核事件对、信号量(,Semaphore,)、,定时器和可等待定时器,内核与硬件,使得执行体和设备驱动程序同硬件无关,实现手段:一组在多个体系结构上可移植、同语义的接口,内核也有部分代码不具有移植性,支持虚拟,8086,模式的代码,用以运行一些古老的,16,位,DOS,程序,高速缓存管理,描述表切换,硬件抽象层(,HAL,),实际硬件与,Windows 2000/XP,抽象计算机描述的接口层和功能映射层,隐藏各种与硬件有关的细节,例如,I/O,接口、中断控制器以及多处理器通信机制等,实现多种硬件平台上的可移植性,执行体,提供的功能性调用,从用户态导出并且可以调用的函数。这些函数的接口在,NTDLL.DLL,中。通过,Win32API,或一些其他的环境子系统可以对它们进行访问。,从用户态导出并且可以调用的函数,但当前通过任何文档化的子系统函数都不能使用。,在,Windows 2000 DDK,中已经导出并且文档化的核心态调用的函数。,在核心态组件中调用但没有文档化的函数。例如在执行体内部使用的内部支持例程。,组件内部的函数。,包含的功能实体,进程和线程管理器创建及中止进程和线程。对进程和线程的基本支持在,Windows 2000,内核中实现,而执行体给这些低级对象添加附加语义和功能。,虚拟内存管理器实现“虚拟内存”。内存管理器也为高速缓存管理器提供基本的支持。,安全引用监视器在本地计算机上执行安全策略。它保护了操作系统资源,执行运行时对象的保护和监视。,I/O,系统执行独立于设备的输入,/,输出,并为进一步处理调用适当的设备驱动程序。,高速缓存管理器通过将最近引用的磁盘数据驻留在主内存中来提高文件,I/O,的性能,并且通过在把更新数据发送到磁盘之前将它们在内存中保持一个短的时间来延缓磁盘的写操作,这样就可以实现快速访问。,对象管理:创建、管理以及删除,Windows 2000/XP,的执行体对象和用于代表操作系统资源的抽象数据类型,例如进程、线程和各种同步对象。,本地过程调用(,LPC,,,Local Procedure Call,),机制,在同一台计算机上的客户进程和服务进程之间传递信息。,LPC,是一个灵活的、经过优化的“远程过程调用”(,RPC,,,Remote Procedure Call,),版本。,一组广泛的公用运行时函数,例如字符串处理、算术运算、数据类型转换和完全结构处理。,执行体支持例程,例如系统内存分配(页交换区和非页交换区)、互锁内存访问和两种特殊类型的同步对象:资源和快速互斥体。,设备驱动程序,可加载的核心态模块,I/O,系统和相关硬件之间的接口,使用,WDM,以及加强的,WDM,方式,分类,硬件设备驱动程序操作硬件。,文件系统驱动程序接受面向文件的,I/O,请求,并把它们转化为对特殊设备的,I/O,请求。,过滤器驱动程序截取,I/O,并在传递,I/O,到下一层之前执行某些特定处理。,环境子系统,将基本的执行体系统服务的某些子集以特定的形态展示给应用程序,函数调用不能在不同子系统之间混用,因此每一个可执行的映像都受限于唯一的子系统,三种环境子系统:,POSIX,、,OS/2,和,Win32,(,OS/2,只能用于,x86,系统),Win32,子系统必须始终处于运行状态,其他两个子系统只是在需要时才被启动,,Win32,子系统是,Windows 2000/XP,运行的基本条件之一。,Win32,子系统,Win32,环境子系统进程,CSRSS,,,包括对下列功能的支持:控制台(文本)窗口、创建及删除进程与线程、支持,16,位,DOS,虚拟机(,VDM,),进程的部分。,核心态设备驱动程序(,WIN32K.SYS,)。,图形设备接口(,GDI,,,Graphics Device Interfaces,),子系统动态链接库,它调用,NTOSKRNL.EXE,和,WIN32.SYS,将文档化的,Win32 API,函数转化为适当的非文档化的核心系统服务。,图形设备驱动程序,包括依赖于硬件的图形显示驱动程序、打印机驱动程序和视频小型端口驱动程序。,其他混杂的函数,如几种自然语言支持函数。,POSIX,子系统,设计的强迫性目标,实现了,POSIX.1,,,功能局限,用处不大,Windows XP,实际上并不包含,POSIX,子系统,今后产品的,POSIX/UNIX,子系统将大大加强,P49,图,2-7,interix,的体系结构,NTDLL,主要用于子系统动态链接库的特殊系统支持库,功能,提供系统调用入口,为子系统、子系统动态链接库、及其他本机映像提供内部支持函数,NTDLL,也包含许多支持函数,例如映像加载程序、堆管理器和,Win32,子系统进程通信函数以及通用运行库。,用户态异步过程调用(,APC,),调度器和异常调度器。,系统支持进程,Idle,进程,系统进程,会话管理器,SMSS,Win32,子系统,CSRSS,登录进程,WINLOGIN,本地安全身份验证服务器,LSASS,服务控制器,SERVICES,及其相关的服务进程,Windows 2000/XP,的系统机制,陷阱调度,包括中断、延迟过程调用(,DPC,,,Deferred Procedure Call,)、,异步过程调用(,APC,,,Asynchronous Procedure Call,)、,异常调度(,Exception Dispatching,),和系统服务调度(,System Service Dispatching,),执行体对象管理器(,Executive Object Manager,),同步(,Synchronization,),,包括自旋锁(,Spin lock,)、,内核调度程序对象(,Kernel Dispatcher Objects,),本地过程调用(,LPC,,,Local Procedure Call,),陷阱调度,当异常或中断发生时,硬件或软件可以检测到,处理器会从用户态切换到核心态,并将控制转交给内核的陷阱处理程序,该模块检测异常和中断的类型,并将控制交给处理相应情况的代码,异常调度,程序,中断服务例程,系统服务,异常处理程序,虚拟存储器,页面管理程序,虚拟地址异常,软,/,硬件异常,异常结构,中断,系统服务调用,陷阱处理程序,异常和中断,中断是异步事件,可能随时发生,与处理器正在执行的内容无关。中断主要由,I/O,设备、处理器时钟或定时器产生,可以被启用或禁用,异常是同步事件,它是某一特定指令执行的结果。在相同条件下,异常可以重现。例如内存访问错误、调试指令以及被零除。,系统服务调用也视作异常。,软件和硬件都可以产生异常和中断。,陷阱帧:完整的线程描述表的子集,用于现场保护,陷阱处理程序处理少量事件,多数转交给其他的内核或执行体模块处理,中断调度,中断分类和优先级,中断请求级别(,IRQL,,,Interrupt Request Level,),硬件中断,软件中断,APC,异步过程调用,DPC,延迟过程调用,P53,图,2-9,中断请求级别,硬件中断处理过程,保存计算机的状态,禁用中断,调用中断调度程序,提高处理器的,IRQL,到中断源的级别,重新启用中断,在中断分配表中查找处理特定中断的例程,服务例程执行,降低处理器的,IRQL,到该中断发生前的级别,加载保存的机器状态,中断返回,软件中断的处理,延迟过程调用,P56,图,2-10,延迟过程调用的提交,异步过程调用,apc,异步过程调用为用户程序和系统代码提供了一种在特殊用户线程的描述表(一个特殊的进程地址空间)中执行代码的方法,有用户态,APC,和核心态,APC,异常调度,异常直接由运行程序的执行所产生。,除了那些可由陷阱处理程序解决的简单异常外,所有异常都是由异常调度程序接管,结构化异常处理,基于框架的异常处理程序,异常调度过程,P59,图,2-11,异常调度,系统服务调度,在,Alpha,处理器上执行,syscall,指令或在,Intel x86,处理器上执行,int,2E,指令都会引起系统服务调度,系统服务调度程序将依次作下面几件事:,校验参数,调用者的参数从线程的用户堆栈复制到它的核心堆栈中,执行系统服务,P60,图,2-12,系统服务调度,对象管理器,执行体组件之一,用于创建、删除、保护和跟踪对象,提供使用系统范围内资源使用的公共、一致的机制,实现对象的集中保护,实现了资源的访问控制,对象管理器有一套对象命名方案和统一的保留规则,能够容易地操纵现有对象,执行体对象,由执行体的各种组件实现,进程管理器、内存管理器、,I/O,子系统等,内核对象,由内核实现的原始的对象集合,这些对象对用户态代码是不可见的,它们仅在执行体内创建和使用,内核对象提供了一些基本性能,许多执行体对象内包含着一个或多个内核对象。,对象命名,对象头:存储对象管理信息和描述信息,类型对象:保存特定对象类型的类型信息,对象的生存周期,对象方法,对象句柄,对象安全,配额和资源记帐,同步机制,内核同步,内核的临界区是修改共用数据结构的代码段,最大问题是中断,自旋锁,执行体同步,自旋锁使用的限制,被保护的资源必须被快速访问,并且没有与其他代码的复杂的交互作用。,临界区代码不能换出内存,不能引用可分页数据,不能调用外部程序(包括系统服务),不能生成中断或异常情况。,调度程序对象,本地过程调用,一个用于高速信息传输的进程间通信机制(使用共享内存),LPC,常常被使用在一个服务器进程与该服务器的一个或多个客户进程之间,以及在两个用户态进程之间或一个核心态组件和一个用户态进程之间,常被视作经过高度优化的,RPC,的本地版本,LPC,的三种交换信息的方法:,使用包含信息的缓冲区调用,LPC,可以发送少于,256,字节的信息。然后,这个信息又从发送进程的地址空间复制到系统地址空间,再从那里拷贝到接收进程的地址空间。,如果用户和服务器想交换大于,256,字节的数据,那么他们可以选择使用双方都映射了的共享区。发送方将信息数据放到共享区,然后向接收方发送一小段信息表明在共享区的什么地方可以找到数据。,当服务器想读或写大量数据,而共享区又太小时,数据可以直接从客户地址空间读出或向客户地址空间写入。,系统工作线程,代表其它线程履行职责,三种系统工作线程,延迟工作线程运行在优先级,12,,处理非时间关键的工作项,它们的堆栈在等待工作项时可以被换出到页交换文件。,关键工作线程运行在优先级,13,,处理时间关键工作项,在,windows2000 server,中它们的堆栈始终在物理内存中。,一个单独的高度关键工作线程运行在优先级,15,,堆栈也始终在物理内存中,处理管理器使用这种工作线程的“收割机”功能释放终止的线程。,注册表,是一个数据库,结构与磁盘的逻辑结构相似,存储所有关于系统和每个用户的设置信息,Windows 2000,系统管理机制的关键数据库,组成 主键,+,键值,目录,+,文件,主键可以包含若干主键(或称为该主键的子键)和键值,键值则存储数据,可有不同数据类型,顶级主键称为根键,六个根键,HKEY_CURRENT_USER,存储与当前登录用户有关的信息。,HKEY_USER,存储了所有用户的信息。,HKEY_CLASSES_ROOT,存储与文件类型和,COM,对象相关的信息,HKEY_LOCAL_MACHINE,存储与系统设置相关的信息,HKEY_PERFORMANCE_DATA,存储与系统性能相关的信息,HKEY_CURRENT_CONFIG,存储了当前硬件配置文件的信息,Window 2000/XP,服务,Win32,服务由三部组成:,服务应用程序,服务控制程序(,SCP,),服务控制管理器(,SCM,),服务帐号,本地系统帐号方式,备用帐号方式,服务的控制,服务的启动,正常启动,特殊启
展开阅读全文

开通  VIP、SVIP  下载更划算
下载10份以上建议开通 VIP 会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        关注我们

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服