Windows操作系统_第1页
Windows操作系统_第2页
Windows操作系统_第3页
Windows操作系统_第4页
Windows操作系统_第5页
已阅读5页,还剩111页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、参考教材本课程内容第1讲 操作系统概述第2讲 Windows 2000XP 的体系结构第3讲 进程管理第4讲 存储管理第5讲 文件系统第6讲 I/O系统第7讲 网络第8讲 windows安全第9讲 应用程序设计第10讲 驱动程序设计操作系统概述计算机系统概观计算机系统计算机系统( (层次结构层次结构) )软件软件硬件及固件(裸机)硬件及固件(裸机)应用软件系统软件编辑软件,编译软件操作系统操作系统 指运算器、存储器、控制器、I/O部件间的相互连接作为计算机系统结构的逻辑和物理实现,任务是提高性价比,实现计算机在指令级的功能和特性;计算机系统结构 从程序设计人员角度看到的计算机属性,处于机器语言

2、级;基于此构造的计算机称为存储程序计算机(冯.诺伊曼机)基本点:指令驱动, 即程序由指令组成,并和数据一起存放在计算机存储器中应用用户应用开发人员操作系统开发人员计算机硬件操作系统系统工具用户应用操作系统概念操作系统特征单CPU环境 用户程序之间、用户程序与操作系统之间多CPU环境 宏观、微观并发 分布式环境 多计算机并存系统的各种资源共享运行状态不确定要求操作系统设计与实现要充分考虑各种可能操作系统作用管理对象包括:CPU、存储器、外部设备、信息(数据和软件);管理的内容:资源的当前状态(数量和使用情况)、资源的分配、回收和访问操作,相应管理策略(包括用户权限)。系统命令(命令行、菜单式、命

3、令脚本式、图形用户接口GUI);系统调用(形式上类似于过程调用,在应用编程中使用)。在裸机上添加:设备管理、文件管理、存储管理(针对内存和外存)、处理机管理(针对CPU);合理组织工作流程:作业管理、进程管理。进程管理主要是对处理器进行管理解决处理器实施分配调度策略;协调多道程序间的关系存储管理管理内存资源内外存结合实现虚拟存储器,解决内存不够问题文件管理信息资源以文件方式存放在外存方便、安全的访问作业管理 为用户提供使用机器的手段设备管理 管理所有I/O设备及其支持设备引入操作系统的目标管理和分配硬件、软件资源,合理地组织计算机的工作流程提供良好的、一致的用户接口,弥补硬件系统的类型和数量差

4、别硬件的类型和规模、操作系统本身的功能和管理策略、多个系统之间的资源共享和互操作 操作系统历史提高资源的利用率和系统性能:计算机发展的初期,计算机系统昂贵,用作集中计算方便用户:用户上机、调试程序,分散计算时的事务处理和非专业用户(商业和办公、家庭)器件的发展:CPU的位宽度(指令和数据)、快速外存集中计算(计算中心),计算机资源昂贵;用户既是程序员,又是操作员;用户是计算机专业人员;编程语言:为机器语言;输入输出:纸带或卡片;工作特点用户独占全机:不出现资源被其他用户占用,资源利用率低;CPU等待用户:计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;CPU利用率低;提高效率的途径

5、专门的操作员,批处理利用磁带把若干个作业分类编成作业执行序列,每个批作业由一个专门的监督程序(Monitor)自动依次处理。可使用汇编语言开发。批处理中的作业的组成:用户程序、数据、作业说明书(作业控制语言)监督程序发展为执行系统(executive system),常驻内存主要问题CPU和I/O设备使用忙闲不均(取决于当前作业的特性)。对计算为主的作业,外设空闲;对I/O为主的作业,CPU空闲;利用多道批处理提高资源的利用率。多道批处理的运行特征多道:内存中同时存放几个作业;宏观上并行运行:都处于运行状态,但都未运行完;微观上串行运行:各作业交替使用CPU;优点:资源利用率高:CPU和内存利

6、用率较高;作业吞吐量大:单位时间内完成的工作总量大;缺点:用户交互性差:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改;作业平均周转时间长:短作业的周转时间显著增长;“分时”的含义分时是指多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源。多个用户分时:单个用户使用计算机的效率低,因而允许多个应用程序同时在内存中,分别服务于不同的用户。有用户输入时由CPU执行,处理完一次用户输入后程序暂停,等待下一次用户输入时走时停前台和后台程序分时:后台程序不占用终端输入输出,不与用户交互现在的图形用户界面(GUI),除当前交互的程序(输入焦点)之外,其他程序均作为后台通常按时间片(t

7、ime slice)分配:各个程序在CPU上执行的轮换时间。批处理: 交互性差提高对CPU利用率;分时处理:用户与应用程序随时交互,控制程序运行,适于商业和办公事务 处理缩短响应时间Unix特色不兼容,一直困难。可移植OS标准出现:POSIX、SVID、XPG面向个人应用WINDOWS, LINUX宏观:大规模,分布式微观:嵌入式操作系统分类批处理(Batch Processing Operation System)分时(Time Sharing Operating System)实时 (Real Time Operating System)多处理 (Multi-processor Opera

8、ting System)嵌入式 (Embedded OS)个人计算机OS (Personal OS)NOS(Network Operating System)分布式OS(Distributed OS)用户作业录入提交收容完成运行就绪等待作业调度执行作业调度批处理系统中作业处理及状态单道(uniprogramming)和多道批处理的比较单道多道内存使用每次一个作业每次多个作业(充分利用内存)作业次序顺序,先进先出无确定次序多道程序系统和多处理系统(multiprocessing system)的区别:前者指多个程序同时在内存中交替运行,后者指多个处理器。分时系统的特征共享系统资源,提高了资源利用

9、率。节省维护开支,可靠性高:笨终端至今仍在使用。促进了计算机的普遍应用,提高资源利用率:远地用户通过终端(较便宜)联机使用。分时系统的主要问题提高对换速度(快速外存)、限制用户数目、缩短时间片(可能引起对换次数增多,开销增大,程序总运行时间增大)可重入代码(re-entrant code);请求页式存储管理:只对换部分程序实时时钟管理:提供系统日期和时间、定时和延时等时钟管理功能;过载保护:缓冲区排队,丢弃某些任务,动态调整任务周期;过载是指进入系统的任务数目超出系统的处理能力。高度可靠性和安全性:容错能力(如故障自动复位)和冗余备份(双机,关键部件);实时操作系统主要用于过程控制、事务处理等

10、有实时要求的领域,其主要特征是实时性和可靠性。 实时操作系统实时系统与批处理系统和分时系统的区别多处理操作系统主处理器:只有一个,运行OS。管理整个系统的资源,为从处理器分配任务;从处理器:可有多个,执行应用程序或I/O处理。特点:不同性质任务的负载不均,可靠性不够高,不易移植(通常要求硬件也是非对称)。OS交替在各个处理器上执行。任务负载较为平均,性能调节容易傻瓜式对称多处理机与非对称多处理机的比较对称多处理机与非对称多处理机的比较网络操作系统例研究操作系统的几种观点外在特性: 命令集、界面内在特性:具有一般软件不具备的特殊结构分配、回收、竞争、保护将操作系统当作若干个可同时独立运行的程序-

11、进程屏蔽硬件,多个层次用户角度开发过程版本及其特点Win3xWin9xWin2000Winxphttp:/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的速度过慢而仍未普及,故推出此版本,

12、修正核心程序(如: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

13、 95中文版新特性(1995年8月) 真正32位的操作系统全新的工作桌面支持长文件名支持硬件的即插即用32位可抢先( Preemptive ) 多任务系统全新的多媒体享受强大的网络支持更友好的安装、操作界面 Windows1.01Windows1.02Windows1.03Windows 2.xx安全子系统登录进程Win32客户OS/2客户POSIX客户OS/2子系统Win32子系统POSIX子系统硬件抽象层系统服务核心态用户态内核NT执行体对象管理器安全引用监视器虚拟内存管理器进程和线程管理器本地过程调用功能高速缓存管理器文件系统驱动程序硬件设备驱动程序I/O管理器网络重定向Windows

14、NT体系结构体系结构Windows 2000的特点支持对称多处理机真正的32位操作系统:除16位应用的支持代码,没有16位的代码;兼容16位Windows应用完全的代码可重入(reentrant):同一段代码可由多个应用同时访问;图形用户界面GUI(和字符用户界面)抢先式多任务和多线程虚拟存储:段页式(有存储保护)文件系统:NTFS(HPFS),支持安全控制设备驱动程序:VxD(virtual driver)可移植:适用于多种硬件平台容错能力面向对象特性:用对象来表示所有资源。Windows 2000/XP的体系结构本章要点Windows 2000/XP的重要组成部分Windows 2000/

15、XP的系统机制操作系统的设计问题复杂程度高研制周期长正确性难以保证良好的操作系统结构先进的开发方法和工程化的管理方法高效的开发工具 操作系统的设计目标%100smsuusuuTTTTT目态管态用户态管态Windows 2000/XP的设计目标提供一个真32位抢占式可重入的虚拟内存操作系统能够在多种硬件体系结构和平台上运行能够在对称多处理系统上运行并具有良好的可伸缩性优秀的分布式计算平台,既可作为网络客户,又可作为网络服务器可运行多数现有16位MS-DOS和Microsoft Windows 3.1 应用程序符合对POSLX 1003.1的要求符合政府和企业对操作系统安全性的要求支持Unicod

16、e,适应全球市场的需要 可扩充性 可移植性可靠性及坚固性兼容性性能操作系统的设计考虑操作系统结构设计操作系统体系结构问题程序结构的两层含义: 整体结构、局部结构程序的结构良好的准则大型软件,模块划分、接口定义复杂并发性,接口复杂、信息交换频繁计算机体系结构日益复杂,应用扩大、使用要求提高使得操作系统体系结构日趋复杂几种常见的操作系统结构模块间转接随便数据基本上作为全程量处理常常关中断,系统的并发性难以提高层次结构设计方法的核心思想例如E.W.Dijkstra的THE系统:12345处理器分配和多道程序内存和磁盘管理操作员进程通信输入/输出管理用户程序操作员0与硬件相关的最底层计算机具有多操作方

17、式多操作方式共有的基本部分放在内层,具体操作方式相关的方在外层;OS基于进程的概念,内核放在内层;内层中又分多层,公用功能在最内层。分解成许多功能单一的模块,各模块之间有清晰的组织结构和依赖关系具有更高的可读性和可适应性层次结构是单向依赖的,上层模块建立在下层基础上,设计了比较可靠的基础很容易增加或替换掉一层而不影响其它层次便于修改、扩充 层次结构的层间关系第第3 3层层第第2 2层层第第1 1层层第第0 0层层全序半序必须设立一个进程控制块,用以保留进程的状态信息,增加了内存开销进程之间的控制转移、状态保留及信息传送,均由核心去管理,时间消耗多,效率下降系统并发活动过多,调度负担过重,且同步

18、操作过于分散,易于造成死锁,影响了系统的安全性层次结构的两种类型核心核心进程:并发单位类程:专用资源的抽象 管程:共享资源的抽象 一个动态的系统由内核和一组有限个满足规定调用关系的进程P、类程C和管程M构成。其中进程是系统中唯一能动的成份,管程和类程都是被动成份 采用层次管程结构的系统结构清晰、统一同步操作相对集中,系统安全性较高用高级语言书写程序,研制周期短,通过编译技术获取更高的灵活性和效率只用一种概念描述并发,减少了不必要的并行性,减少了系统开销。管程嵌套问题比较难于高效的解决不便于管理多个资源和全局性资源 虚拟机结构 虚拟机概念可以实现完全保护用软件从硬件逐层扩展虚拟机方法把多道程序和

19、扩展机器的功能完全分开,使每一部分都简单、灵活,更易于维护。 370裸机VM/370CMSCMSCMS系统调用陷入I/O指令陷入若干个370虚拟机CMS: 会话监控系统微内核(客户/服务器结构)运行在核心态的“微”内核用户态,以C/S模式运行的若干进程,通过内核进行通信机制(内核)与策略(服务进程)分离比较彻底可靠灵活适合分布式计算的需求缺点:效率较低其它体系结构这种观点认为操作系统应该只负责在竞争的用户之间安全、有效的分配计算资源 传统操作系统的绝大部分功能应该在系统库中以可选的方式链接进用户程序可扩展系统认为应该将尽可能多的模块以一种受保护的方式放进核心当中。操作系统的构造者可以先构造从一

20、个只包含稍微多于核心保护机制的一个最小核心。而其它的功能则通过不断的往核心中添加受保护的模块实现。 2.2 Windows 2000/XP系统模型系统支持进程服务进程用户程序环境子系统子系统动态链接库图形引擎图形引擎用户态用户态核心态核心态Windows 2000/XP的构成系统支持进程(system support process),不是Windows 2000/XP服务,不由服务控制器启动。服务进程(service process),Windows 2000/XP的服务。环境子系统(enviroment subsystems),它们向应用程序提供操作系统功能调用接口包括:Win32、POS

21、IX和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)将内核、设备驱动程序以及执行体同硬件分隔开来,实现硬件

22、映射。设备驱动程序(Device Drivers)包括文件系统和硬件设备驱动程序等,其中硬件设备驱动程序将用户的I/O函数调用转换为对特定硬件设备的I/O请求。图形引擎包含了实现图形用户界面(GUI,Graphical User Interface)的基本函数。 可移植性的获得分层的设计 依赖于处理器体系结构或平台的系统底层部分被隔离在单独的模块之中,系统的高层可以被屏蔽在千差万别的硬件平台之外。提供操作系统可移植性的两个关键组件是两个关键组件是HAL和内核。和内核。依赖于体系结构的功能在内核中实现,在相同体系结构中,因计算机而异的功能在HAL中实现。Windows 2000/XP大量使用高级

23、语言执行体、设备驱动程序等用C语言编写,图形用户界面用C+编写。只有那些必须和系统硬件直接通信的操作系统部分,或性能极度敏感的部分是用汇编语言编写的。汇编语言代码分布集中且少。 对称多处理器支持2.3 Windows 2000/XP的构成P43 图2-5 windows2000/xp体系结构内核对象硬件支持Win32PosixOs/2Ntdll.dll内核线程安排和调度陷阱处理和异常调度中断处理和调度多处理器同步供执行体使用的基本内核对象 帮助控制、处理并支持执行体对象的操作,以降低系统策略代价控制对象,这个对象集和包括内核进程对象、异步过程调用(APC,asynchronous proced

24、ure call)对象、延迟过程调用(DPC,deferred procedure call)对象和几个由I/O系统使用的对象,例如中断对象。调度程序对象集合负责同步操作并影响线程调度。调度程序对象包括内核线程、互斥体(Mutex)、事件(Event)、内核事件对、信号量(Semaphore)、定时器和可等待定时器 使得执行体和设备驱动程序同硬件无关 实现手段:一组在多个体系结构上可移植、同语义的接口内核也有部分代码不具有移植性支持虚拟8086模式的代码,用以运行一些古老的16位DOS程序高速缓存管理描述表切换硬件抽象层(HAL)执行体从用户态导出并且可以调用的函数。这些函数的接口在NTDLL

25、.DLL中。通过Win32API或一些其他的环境子系统可以对它们进行访问。从用户态导出并且可以调用的函数,但当前通过任何文档化的子系统函数都不能使用。在Windows 2000 DDK中已经导出并且文档化的核心态调用的函数。在核心态组件中调用但没有文档化的函数。例如在执行体内部使用的内部支持例程。组件内部的函数。 进程和线程管理器创建及中止进程和线程。对进程和线程的基本支持在Windows 2000内核中实现,而执行体给这些低级对象添加附加语义和功能。虚拟内存管理器实现“虚拟内存”。内存管理器也为高速缓存管理器提供基本的支持。安全引用监视器在本地计算机上执行安全策略。它保护了操作系统资源,执行

26、运行时对象的保护和监视。I/O系统执行独立于设备的输入/输出,并为进一步处理调用适当的设备驱动程序。高速缓存管理器通过将最近引用的磁盘数据驻留在主内存中来提高文件I/O的性能,并且通过在把更新数据发送到磁盘之前将它们在内存中保持一个短的时间来延缓磁盘的写操作,这样就可以实现快速访问。 对象管理:创建、管理以及删除Windows 2000/XP的执行体对象和用于代表操作系统资源的抽象数据类型,例如进程、线程和各种同步对象。本地过程调用(LPC,Local Procedure Call)机制,在同一台计算机上的客户进程和服务进程之间传递信息。LPC是一个灵活的、经过优化的“远程过程调用”(RPC,

27、Remote Procedure Call)版本。一组广泛的公用运行时函数,例如字符串处理、算术运算、数据类型转换和完全结构处理。执行体支持例程,例如系统内存分配(页交换区和非页交换区)、互锁内存访问和两种特殊类型的同步对象:资源和快速互斥体。 设备驱动程序硬件设备驱动程序操作硬件。文件系统驱动程序接受面向文件的I/O请求,并把它们转化为对特殊设备的I/O请求。过滤器驱动程序截取I/O并在传递I/O到下一层之前执行某些特定处理。 环境子系统Win32环境子系统进程CSRSS,包括对下列功能的支持:控制台(文本)窗口、创建及删除进程与线程、支持16位DOS虚拟机(VDM)进程的部分。核心态设备驱

28、动程序(WIN32K.SYS)。图形设备接口(GDI,Graphics Device Interfaces)子系统动态链接库,它调用NTOSKRNL.EXE和WIN32.SYS将文档化的Win32 API函数转化为适当的非文档化的核心系统服务。图形设备驱动程序,包括依赖于硬件的图形显示驱动程序、打印机驱动程序和视频小型端口驱动程序。其他混杂的函数,如几种自然语言支持函数。设计的强迫性目标实现了POSIX.1,功能局限,用处不大Windows XP实际上并不包含POSIX子系统今后产品的POSIX/UNIX子系统将大大加强P49 图2-7 interix的体系结构NTDLL提供系统调用入口为子系

29、统、子系统动态链接库、及其他本机映像提供内部支持函数NTDLL也包含许多支持函数,例如映像加载程序、堆管理器和Win32子系统进程通信函数以及通用运行库。用户态异步过程调用(APC)调度器和异常调度器。 系统支持进程Windows 2000/XP的系统机制陷阱调度异常调度程序中断服务例程系统服务异常处理程序虚拟存储器页面管理程序虚拟地址异常虚拟地址异常软软/ /硬件异常硬件异常异常结构中断中断系统服务调用系统服务调用陷阱处理程序陷阱处理程序中断是异步事件,可能随时发生,与处理器正在执行的内容无关。中断主要由I/O设备、处理器时钟或定时器产生,可以被启用或禁用异常是同步事件,它是某一特定指令执行

30、的结果。在相同条件下,异常可以重现。例如内存访问错误、调试指令以及被零除。系统服务调用也视作异常。软件和硬件都可以产生异常和中断。中断调度中断请求级别(IRQL,Interrupt Request Level)硬件中断软件中断APC 异步过程调用DPC 延迟过程调用P53 图2-9 中断请求级别保存计算机的状态 禁用中断 调用中断调度程序 提高处理器的IRQL到中断源的级别 重新启用中断在中断分配表中查找处理特定中断的例程服务例程执行 降低处理器的IRQL到该中断发生前的级别 加载保存的机器状态 中断返回延迟过程调用P56 图2-10 延迟过程调用的提交异步过程调用apc异步过程调用为用户程序和系统代码提供了一种在特殊用户线程的描述表(一个特殊的进程地址空间)中执行代码的方法 有用户态APC和核心态APC 异常调度P59 图2-11 异常调度系统服务调度校验参数调用者的参数从线程的用户堆栈复制到它的核心堆栈中执行系统服务 P60 图2-12 系统服务调度对象管理器由执行体的各种组件实现 进程管理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论