第八章 网络操作系统
1,网络的组成
通信子网 —— 基础部分,用于实现数据通信
资源子网 —— 由若干联网主机构成,
用于进行数据处理
1) 通信子网的组成
分组交换器 — 用于实现分组交换
多路转换器 — 实现从多路到一路、
一路到多路的转换
分组组装 /拆卸设备 PAD
网络控制中心 — 管理和监测整个网络的运行
网关 G— 实现各网络之间的互连
2) 资源子网的组成
主机( HOST) — 资源子网的主体(主机中配有单机 OS、网络 OS)
终端设备( T) — 用户与网络间的接口。
网络 OS— 用于实现不同主机系统间的用户通信,全网硬、软资源的共享,
提供统一网络接口,以方便用户使用网络。
网络 DB— 向网络用户提供修改存、取网络 DB中数据的服务,以实现网络数据的共享。
2,网络拓扑结构
星形网络
树形网络
总线形网络
环形网络
网状形网络
3,交换网
线路交换网
报文交换网
分组交换网
4,局域网
公用总线 LAN
环形 LAN
5,开放系统互连参考模型
层次式结构
网络协议
(三要素:语义、语法、规则)
网络体系结构
对等实体间的通信
服务存取点和连接
OSI七层模式
6,各层功能
物理层:提供物理链接,实现比特流的透明传输。
数据链路层:提供相邻结点间透明的、可靠的信息传输服务
网络层:提供在源 DCE和目标 DCE之间的信息传输服务。
传输层:建立端-端之间的透明、可靠的数据传输,差错控制等。
会晤层:为不同系统内的应用进程建立会晤连接,
以保证不丢失数据。
表示层:向应用进程提供信息表示方式,对不同表示方式进行转换管理等。
应用层:为应用进程访问 OSI环境提供手段,直接为应用进程服务。
7,客户 /服务器模式和对等模式
信息系统模式的分类
客户 /服务器模式的结构:逻辑上属星形结构
[可采用公用总线型 ](即以服务器为中心,
与各客户间采用点-点的通信方式,各客户间不能直接通信)
客户 /服务器模式的类型
客户 /服务器间的交互
客户 /服务器模式的优点
对等模式( peer-to-peer)
8,系统模式的分类
1) 集中模式(信息处理和控制都是集中式)
2) 客户 /服务器模式(信息处理分布,系统控制集中)
3) 对等模式(系统的处理和控制都是分布的)
1) 客户 /服务器模式的类型
文件服务器式的客户 /服务器模式
(如 Netware) 特点:主要由客户负责对应用程序进行处理,文件服务器只负责向客户提供服务
DB服务器式的客户 /服务器模式特点:由客户和服务器两者共同完成对应用程序和数据需求的处理
2) 客户 /服务器间的交互
工作站发送请求包
服务器接收请求包
服务器回送响应包
客户接收响应包
3) 客户 /服务器模式的优点
数据分布存贮
数据分布处理
数据的用户界面
易于改编的应用软件
可靠性差:一旦服务器发生故障,
导致网络瘫痪(可采用冗余技术提高可靠性)
瓶颈问题(可通过减少客户机数目来防止)
9,网络 OS的构成
工作站网络软件:是实现客户与服务器的交互,使工作站上的用户访问服务器的文件系统,共享资源
网络环境软件
网络服务软件
网络管理软件,安全性管理 ;容错 ;备份 ;
性能监测
1) 网络环境软件
为多任务的高度并发执行,提供良好环境
对工作与服务器之间的报文传送进行管理
提供高速的多用户文件系统,包括:
多任务软件 ;传输协议软件 ;多用户文件系统
2) 网络服务软件
名字服务:管理网络上所有对象的名字
多用户文件服务
打印服务
电子邮件服务
3) 文件与打印服务
以虚拟软盘方式实现磁盘共享
以虚拟软盘方式共享软盘存在的问题
(未提供互斥访问的机制)
文件服务方式:该方式下,用户对文件的访问是由服务器来管理的。
文件服务软件:① FSP协议软件,②报文的分解与重新组装模块。
打印服务:实现原理、共享打印的控制模式
4) 电子邮件服务
电子邮件的类型
电子邮件系统的实现方式
电子邮件系统的功能
报文处理系统的引入
a) 电子邮件的类型
文字型电子邮件(最常用、仅使用文字)
语音型电子邮件(能实现语音型电子邮件传输)
图象型电子邮件
b) 电子邮件系统的实现方式
客户 /服务器方式(为网络工作站配电子邮件软件)
对等方式:每个工作站上配一电子邮件服务器(无需经网络服务器)
c) 电子邮件系统的功能
发送电子邮件
接收邮件
邮件分发
其它功能(电子邮件编辑功能、
远程通信功能)
d) 报文处理系统的引入
在办公自动化中出现了除电话、
电报外的新业务:智能用户电报、
可视图文、传真。
报文处理系统的组成:用户代理、
报文传送代理、报文存储器实体、
提高 /报道实体。
10,客户 /服务器方式
OS采用客户 /服务器结构,适宜于应用在网络环境下,应用于分布式处理的计算环境中,故客户 /服务器模式是第三代 OS。
Mach OS和 Windows NT OS是采用该模式,它们的共同特点是 OS
由下面两大部分组成:
1) 核心态的内核
内核( Mach称为微内核,NT称为 NT
执行体,)提供所有 OS基本都具有的那些操作:如线程调度、虚拟存储、
消息传递,设备驱动以及内核原语操作集和中断处理等,这些部分采用层次结构并构成了基本 OS。
2) 用户态的进程层
除内核部分外,OS其它部分被分为若干个相对独立的进程,每个进程实现一组服务,称为服务器进程。
服务器进程可以是各种应用程序接口 API,它的任务是检查是否有客户提出要求服务的请求,
在满足客户进程的请求后将结果返回。客户进程与服务器进程间的通信是采用发送消息进行的。客户进程发出消息,内核将消息传给服务器进程。服务器进程执行相应的操作,其结果又通过内核用发消息方式返回给客户进程。
优点
可靠性好(每个分支是独立的)
易扩充性
适宜于分布式处理的计算机环境该模式的优点在于它将 OS分成若干个小的并且自包含的分支(服务器进程)每个分支运行在独立的用户态进程中。相互间通过一致的方式接口发送消息,从而把这些进程链接起来
Windows NT操作系统
1,概 述
93年推出 WINDOWS NT是一个 32位的多任务操作系统。
NT操作系统控制 CPU时间的分配,而不是控制应用程序的分配。
NT支持多 CPU,多 CPU提供真正的多任务,使用对称的多处理,意味着处理器分享所有任务,不象非对称的多处理那样让操作系统使用一个 CPU,而让应用程序用另一个 CPU。
NT也是一个容错的操作系统,应用程序在自己的虚拟内存地址空间( 4GB)上运行,一个应用程序不会干扰另一个应用程序的内存空间。
1) WINDOWS NT的特点
图形用户界面技术;
支持多操作系统运行环境;
对称多处理能力;
内装网络功能;
多重文件系统与异步 I/O以及采用面向对象的软件开发技术
它提供了现代操作系统的几乎所有功能,如:多任务能力;多处理系统;虚拟资源管理;统一成一体化的 I/O系统;网络通信功能等,具有很多的性能 ……
2) 设计目标
可扩充性 。 ( 要求操作系统易于扩充,随市场需求的变动易于改动 )
可移植性 。 ( 尽可能通过少改动而移植到不同的处理机上 )
可靠性 。 ( 操作系统应是稳健的,能对一切意外处理;主动保护自己及其它用户免遭破坏 )
兼容性 。 ( 能执行为其它操作系统所编写的程序能力,如早期版本等 )
高的系统性能 。 ( 快速处理图,文,声,
像,仿真软件等 )
3) NT的优良特性
先进的操作系统结构
性能优良的内核程序
丰富的网络服务
2,Windows NT的系统模型
客户 /服务器模型
对象模型
对称处理模型
1) 客户 /服务器模型
提供多种操作系统运行环境的支持 。
( 由 NT设计目标兼容性的要求 )
改进了可靠性:
A,每个服务器是以分配给它的主存分区的独立进程方式运行 。
B,每个服务器是以独立的用户进程方式运行
C,适宜于分布式计算模型
2) 对象模型
NT操作系统使用对象模型有以下优点:
操作系统访问和操纵其资源是一致的 。 ( 通过对象句柄 )
所有对象采用同样的保护方法,因此简化了安全措施 。
3) 对称多处理模型所谓多处理模式是指一台计算机中具有两个以上的处理机,可同时执行 ( NT
线程 ) 。 每个处理机上同时可有一进程
( 或线程 ) 在执行 。 对称多处理系统允许操作系统在任何一个处理机上运行,即各处理机平等 。 它们既可执行操作系统又执行用户进程,共同负责管理系统主存,外设和其它资源,各处理机共用主存 。
NT采用对称处理模式的优点
操作系统可在任一个空闲的处理机上运行,
也可同时在各处理机上运行 。
一个进程的多个线程可同时在多个处理机上运行 。
服务器进程可使用多个线程在不同的处理机上处理多个客户进程的服务请求 。
3,Windows NT的结构图
1) Windows NT的结构
NT分为系统用户态部分 ( NT保护子系统 ) 和系统核心态部分 ( NT执行体 ) 。
核心态处于特权处理器方式下,用户态处于非特权处理器方式 。
核心态包括了系统服务和硬件描述层 (HAL),
系统服务包含了一个操作系统的所有应有服务,
文件系统,进程控制,内存管理,设备管理等等。
NT中除了微内核外,另外还包含了一些独特的部分,如对象管理器,配置管理器,执行体支持,
本地过程调用,安全监视器,所有这些都建立在
HAL之上。
IO管理器实现对设备的管理,包含了文件系统,
中间介质和设备驱动。
2) 保护子系统
用户态模式是由诸客户进程,服务器进程所构成的部分,其结构为客户 /
服务器模型 。 由环境子系统和集成子系统 组成 。
用户态模式包括了一些保护子系统,
如 OS/2子系统,POSIX子系统,安全子系统,当然还有最常用的 Win32子系统,NT都称之为服务器 。 它们运行于 CPU的用户层 Ring3,建立在服务器上的各类应用程序被称为客户 。
3) 环境子系统是一个用户态服务器,为特定的操作系统提供一个 API。 ( 它为客户进程提供的服务是这样的,当一个应用程序调用其相应的某个 API时,一个消息通过执行体的本地过程调用 [LPC]工具,发送给完成该 API的程序服务器 —— 环境子系统 。
子系统执行 API例程,并通过 LPC将结果返回应用程序进程 )
4) 集成子系统是完成重要操作系统功能的服务器,
包括安全子系统,网络软件中的若干部件 。
用户态的每个环境子系统都可支持多个客户应用程序同时运行,当用户试图进入系统时,首先须进行登录,由安全子系统对用户进行是否允许其进入和权限的检查与控制 。 安全子系统维护着一个有关用户账号信息的 DB,任何非法用户都不许进入 。
5) NT执行体
NT执行体基本上是一个完整的操作系统,它由一组部件组成:
层次结构的第一层是由系统服务下面的几个部件构成,这些部件可通过内部界面互相调用 。
NT内核是第二层,它类似 Mach的微内核 。
最底一层是硬件抽象层 ( HAL) 。 它将 NT
执行体的其余部分与运行机器的硬件特性隔离开来 。
6)NT执行体各组成部件的主要功能
对象管理程序:生成,管理及删除执行体对象 。
安全调用监视程序:监视操作系统资源,
执行运行对象的保护和审查,实施安全方针 。
进程管理程序:生成和终止进程及线程,
执行暂停和恢复线程的执行,存贮和检索有关 NT进程和线程的信息 。
NT执行体各组成部件的功能(续)
本地过程调用功能 ( LPC),在同一台计算机中的客户进程和一个服务器进程之间传送消息,是远程过程调用的优化版本 。
虚拟存贮管理 ( VM) 程序:为每个进程提供专有地址空间,对进程地址空间进行保护,负责页面调度 。
内核:对中断和异常作出响应,调度线程,
提供一组基本对象和接口 。
NT执行体各组成部件的功能(续)
I/O系统包括下列子部件,I/O管理程序,
文件系统,网络 — 定向程序和网络服务器,设备驱动程序,高速缓冲存贮管理程序
硬件抽象层 ( HAL),运行于 CPU的特权层 Ring0(在驱动程序内部,在不同部分还分为不同权限层 )。
以上这些组成部件中的前六个部件都要实现两组函数,1)系统服务:可以由环境子系统和其它执行体部件调用;
2)内部例程:只可由在执行体内的组成部件使用 。
4,对象是个抽象数据结构 。 在 NT中用以表示所有资源 。 对象是数据和有关操作的封装体 。 它包括数据,数据的属性以及可以施加于数据上的操作等三个成分 。 NT的对象类 ( 可理解为资源类 ),NT执行体中定义的对象类有:进程,线程,区域,文件,
事件,事件对,信息量,时间器,对象目录,简要表,符号连接,关键字,端口,
存贮令牌,多用户终端程序 。
1) 执行体对象类
2) NT执行体实现两种对象
执行体对象:由执行体的各组成部件实现的对象,能被子系统或 NT执行体创建和修改,其对象类列于上表中 。
内核对象:由内核实现的一个更基本的对象集合,称为控制对象集合,包括:内核过程对象,异步过程调用对象,延迟过程调用对象,中断对象,电源通知对象,电源状态对象,调度程序对象等 。
3) 进程被定义为表示操作系统所要做的工作,是操作系统用于组织其必须完成的诸项工作的一种手段 。 它由四个部分组成:
一个可执行的程序:它定义了初始代码和数据
一个私用地址空间:即进程的虚拟地址空间 。
系统资源:由操作系统分给进程
至少有一个执行线程与传统操作系统进程概念的不同
进程是作为对象来实现的 。 ( 它也是可共享的资源 )
NT进程要求一个独特的组成成分 —— 至少一个执行线程 。
NT进程的组成中没有 PCB,有关的信息在进程对象的对象体中及局限于进程对象表中等处都有进程的信息
调度和执行的基本单位是线程而不是进程,
因此不必划分进程状态 。
与传统操作系统进程概念的不同
一个 NT进程可有多个线程在其地址空间内执行 。
进程是由进程创建的,当应用程序启动时,相应的环境子进程调用执行体的进程管理程序为之建立以进程,并返回一句柄,然后进程管理程序又调用对象管理程序为之建立一个进程对象 。 当系统启动时,系统为每个环境子系统建立一个服务器进程 。
进程管理程序不维护进程的父 /子或其它关系 。
进程和线程都具有内含的同步机制 。
4) 线程
进程内的一个执行单元;进程内的一个可调度实体 。 ( 若把进程理解为操作系统所做的作业,则线程表示完成该作业的许多可能的子任务之一 ) 。 它由四个基本组成部分组成:一个唯一的标识符 ( ID) ;描述处理机状态的状态寄存器内容 ( 相当于老 PSW) ;两个栈,分别用于用户态和核心态下执行时使用;一个私用存储器 。
线程的优点
通过线程可方便有效地实现并行性,进程可创建多线程执行同一程序的不同部分
创建线程比创建进程快,少开销,它除栈和寄存器内容外,共享同一主存
创建多线程,对客户同时提出请求回答十分便利,因服务器程序只被装入主存一次,
就可使多客户同时提出服务请求分别由一独立服务器线程通过执行适当的服务器功能,并行为客户进行处理 。
5) 对象、进程和线程间的关系对象,进程和线程是组织和构造 NT操作系统的三个基本成分 。 它们之间互相交叉,对象是一抽象的数据结构,是构成操作系统的三个基本成分中非活动的成分,而进程,
线程是构成操作系统的二个活动成分,它们的关系如下:
对象、进程和线程间的关系(续)
线程是进程的一个组成部分 。
进程的多个线程都在进程的地址空间活动 。
资源分配的对象是进程,即资源是分给进程而非线程 。
调度的基本单位是线程,即 CPU是分配给线程的 。
线程在执行过程中,需要协作同步,在不同进程的线程间的同步用消息通信,它要用到进程的资源 —— 端口 。 因此,通信的是线程,用的消息队列是进程的资源 。 ( 可喻为,进程相当董事长,
线程相当部门经理,或类似作业与进程 )
6,内核的主要任务
调度线程的执行
当中断核异常发生时,将控制转移到相应的中断和异常
执行低级的多处理器同步
在电源失效后,实现系统的恢复过程 。
NT内核提供了一组精心定义的操作系统原语机制,通过使用内核原语,NT执行体可构成许多更高级的功能 。
1) 线程的生命期的状态一个线程的生命期的状态是变化的,它在任何一个时刻的状态是六种状态之一 。
就绪状态:线程已具备执行的条件,等待 CPU执行,调度程序从中选入备用
备用状态:被调度程序选用定为某一特定处理机上只能有一个处于备用状态的线程 。
运行状态:一旦调度程序对线程执行完描述表切换,线程进入运行状态 。
等待状态:以下情况线程进入其状 ( 线程等待同步对象,因 I/O,自己挂起 )
转换状态:若线程已准备好执行,但由于资源成为不可用 ( 如页在外存 ) 从而转入转换状态,当资源成为可用,则进入就绪状态 。
终止状态:线程完成它的执行
2) 优先级内核的线程调度程序是采用可抢占的动态优先级调度算法,调度程序按线程的优先级调度线程的执行顺序,先调度高优先级的线程 。
NT支持 32个优先级,分两类:实时优先级 从 16- 31 实时程序所用的主优先级线程,可变优先级 从 1- 15。
当系统中无任何事件时,内核提供一总在执行的线程,称为空闲线程,优先级最低 。
3) 中断和异常处理
NT中的中断主要是由硬件引起的,
是随机发生的异常事件 。 而异常是某一特别指令执行的结果,是同步情况,如主存存取错,除零 。
当中断和异常发生被捕捉后,系统将执行线程由用户态切换到核心态,将
CPU控制权交给操作系统中有效在主存中固定地址的陷阱处理程序 。 它首先保存执行线程中断现场,确定所发生的情况,并转相应处理程序 。
7,输入输出( I/O)系统建立一 个统一 的主 层界面 —— I/O设备虚拟界面,即将所有读写数据看成直接送往虚拟文件的字节流 。
8,NT的内装网络无需其它软件即可为用户提供文件共享,打印机共享,电子邮件和网络 DDE等功能 。
9,对象管理程序它的主要功能是创建,管理,删除用来表示操作系统资源的对象,操作系统通过对象管理程序对资源进行统一的管理,使用共同的代码操纵它们 。
对象管理程序的工作
NT的对象管理程序在接到创建对象的系统服务后,要做以下工作:
为对象分配主存 。
给对象一个附加安全描述体,以指出允许谁使用对象以及谁被允许进行操作 。
创建和维护对象目录表目
创建一个对象句柄并返回调用者 。
NT对对象的管理,组织和操作的模型是基于文件系统的模型 。
10,NT的安全性
登录进程和安全子系统
存取令牌
存取控制表
主存保护
客户 /服务器模型
11,虚拟内存
NT/2K/XP中,操作系统利用虚拟内存管理技术来维护地址空间映像,每个进程分配一个 4GB的虚拟地址空间。运行在用户态的应用程序,不能直接访问物理内存地址;而运行在核心态的驱动程序,能将虚拟地址空间映射为物理地址空间,从而访问物理内存地址。
1) 进程的虚拟地址空间
NT为每个进程提供一个很大的虚拟空间
( 4GB) ( 抛弃了早期从 8086— 80286使用分段模式造成的 64K局限 )
NT运行在 32位的 386以上微机 。
·进程 4GB的地址被等分为两部分,高 2GB
给系统用,低地址 2GB用户用 。 直接映射区寻址由硬件直接变换,且常驻内存,存取数据快,用以有效 NT内核中频繁使用,
响应速度快的那些代码 。
2) NT虚拟分页地址变换机构
它不同于传统页地址变换 。 采用一种称为两极页表结构技术,第一级为页目录,第二级为页表,每个进程一个页目录 。
页目录:包含 1024个表目 。 每个表目指出二级页表所在页表地址 。
页表:包含 1024个表目 。 每个页面大小为
4KB。
在系统中有控制寄存器指出进程的页目录地址 。
页目录地址目录位移 页表位移 页位移虚拟地址页表地址
.
.
.
页目录(每进程一个)
块号
.
.
.
页表代码或数据
.
.
.
内存块二级页表结构及地址映射
+
+
3) 地址变换过程当给出虚拟地址后,按图示被自动分为三部分,页目录 ( 10位 ),页表位移
( 10位 ),页内位移 12位
将寄存器的页表地址与目录位移 ( 左移两位,因表目录为 4字节 ) 拼接成页目录中表目所在地址,该表目中有页表地址 。
页表地址与页内位移 ( 左移两位 ) 拼接找到页架号 。
将页架号与页内位移拼成绝对地址,从而访问主存 。
4) NT要采用二级页表结构的原因由于每个进程的虚拟地址空间太大,
232个可能虚地址,每页大小位 4K( 212),
每个进程的地址空间可有 1048576 页
( 220),每个进程的页表有 220× 4字节 。
若将全部页表都放入主存,则占主存大的开销,位避免主存都消耗在页表上,根据需要把页表换入,换出主存 。
NT采用二级页表结构的原因(续)
采用两级页表结构主存访问速度慢
( 要从主存访问数据三次访问主存方可 )
因此,① 采用快表:用高速相关存贮器来存放经常使用的页表表目 ( NT称快表位变换查找缓冲区 【 TLB】 ) ② 使用高速缓存:
在位处理器与主存间设置 32K或 64K的高速缓存,大部分的指令核数据取自高速缓存 。
( 命中率 98% ) 所以存取数据和指令相当高 。
5) 页面调度策略
NT采用按进程需要请求取页,又采取集群方法 ( 即缺页时将附进页一起装入主存 )
将一些页面提前装入主存 。
置换淘汰要点,① 采用局部置换,为每进程分配一个固定数量的页面,但可动态调整发缺页,本进程替换 ② 使用 FIFO置换算法 。 ( 简单 ) 。 动态调整页面:由每进程工作集和缺页情况变动 。 ( 进程创建时指定一最小工作集 )
12,Windows系统调用
Windows系统服务调用是存在于
Windows系统中的一个关键接口,
常常称作 System Call
Windows系统服务调用,提供了操作系统环境由用户态切换到内核态的功能。
Windows 2000系统体系结构系统支持进程,服务进程,应用程序,环境子系统应用程序编程接口基于 NTDLL.dll的本地系统服务 (用户模式 )
-------------------------------------
系统服务调用 (内核模式 )
执行体系统内核,设备驱动程序硬件抽象层
Windows 2000系统特性
微软 Windows 2000是一个主要面向网络服务器的操作系统,它和
Windows 9x有很大区别。
Windows 2000特性:
1.可扩展性 (Extensibility)
2,可靠性和健壮性
3,兼容性 (Compatibility)
4,易维护性 (Maintainability)
Windows 2000本机系统服务
Windows 2000本机系统服务又应用程序编程接口
它是由执行体 (Executive)为用户模式和内核模式的程序提供的系统服务集。
包含两种类型的函数,Windows 执行系统服务的系统服务调度占位程序;
子系统,子系统 DLL和其他本机映像使用的内部支持函数。
从用户模式调用本机系统服务是通过
NTDLL.dll来实现的 。
1,网络的组成
通信子网 —— 基础部分,用于实现数据通信
资源子网 —— 由若干联网主机构成,
用于进行数据处理
1) 通信子网的组成
分组交换器 — 用于实现分组交换
多路转换器 — 实现从多路到一路、
一路到多路的转换
分组组装 /拆卸设备 PAD
网络控制中心 — 管理和监测整个网络的运行
网关 G— 实现各网络之间的互连
2) 资源子网的组成
主机( HOST) — 资源子网的主体(主机中配有单机 OS、网络 OS)
终端设备( T) — 用户与网络间的接口。
网络 OS— 用于实现不同主机系统间的用户通信,全网硬、软资源的共享,
提供统一网络接口,以方便用户使用网络。
网络 DB— 向网络用户提供修改存、取网络 DB中数据的服务,以实现网络数据的共享。
2,网络拓扑结构
星形网络
树形网络
总线形网络
环形网络
网状形网络
3,交换网
线路交换网
报文交换网
分组交换网
4,局域网
公用总线 LAN
环形 LAN
5,开放系统互连参考模型
层次式结构
网络协议
(三要素:语义、语法、规则)
网络体系结构
对等实体间的通信
服务存取点和连接
OSI七层模式
6,各层功能
物理层:提供物理链接,实现比特流的透明传输。
数据链路层:提供相邻结点间透明的、可靠的信息传输服务
网络层:提供在源 DCE和目标 DCE之间的信息传输服务。
传输层:建立端-端之间的透明、可靠的数据传输,差错控制等。
会晤层:为不同系统内的应用进程建立会晤连接,
以保证不丢失数据。
表示层:向应用进程提供信息表示方式,对不同表示方式进行转换管理等。
应用层:为应用进程访问 OSI环境提供手段,直接为应用进程服务。
7,客户 /服务器模式和对等模式
信息系统模式的分类
客户 /服务器模式的结构:逻辑上属星形结构
[可采用公用总线型 ](即以服务器为中心,
与各客户间采用点-点的通信方式,各客户间不能直接通信)
客户 /服务器模式的类型
客户 /服务器间的交互
客户 /服务器模式的优点
对等模式( peer-to-peer)
8,系统模式的分类
1) 集中模式(信息处理和控制都是集中式)
2) 客户 /服务器模式(信息处理分布,系统控制集中)
3) 对等模式(系统的处理和控制都是分布的)
1) 客户 /服务器模式的类型
文件服务器式的客户 /服务器模式
(如 Netware) 特点:主要由客户负责对应用程序进行处理,文件服务器只负责向客户提供服务
DB服务器式的客户 /服务器模式特点:由客户和服务器两者共同完成对应用程序和数据需求的处理
2) 客户 /服务器间的交互
工作站发送请求包
服务器接收请求包
服务器回送响应包
客户接收响应包
3) 客户 /服务器模式的优点
数据分布存贮
数据分布处理
数据的用户界面
易于改编的应用软件
可靠性差:一旦服务器发生故障,
导致网络瘫痪(可采用冗余技术提高可靠性)
瓶颈问题(可通过减少客户机数目来防止)
9,网络 OS的构成
工作站网络软件:是实现客户与服务器的交互,使工作站上的用户访问服务器的文件系统,共享资源
网络环境软件
网络服务软件
网络管理软件,安全性管理 ;容错 ;备份 ;
性能监测
1) 网络环境软件
为多任务的高度并发执行,提供良好环境
对工作与服务器之间的报文传送进行管理
提供高速的多用户文件系统,包括:
多任务软件 ;传输协议软件 ;多用户文件系统
2) 网络服务软件
名字服务:管理网络上所有对象的名字
多用户文件服务
打印服务
电子邮件服务
3) 文件与打印服务
以虚拟软盘方式实现磁盘共享
以虚拟软盘方式共享软盘存在的问题
(未提供互斥访问的机制)
文件服务方式:该方式下,用户对文件的访问是由服务器来管理的。
文件服务软件:① FSP协议软件,②报文的分解与重新组装模块。
打印服务:实现原理、共享打印的控制模式
4) 电子邮件服务
电子邮件的类型
电子邮件系统的实现方式
电子邮件系统的功能
报文处理系统的引入
a) 电子邮件的类型
文字型电子邮件(最常用、仅使用文字)
语音型电子邮件(能实现语音型电子邮件传输)
图象型电子邮件
b) 电子邮件系统的实现方式
客户 /服务器方式(为网络工作站配电子邮件软件)
对等方式:每个工作站上配一电子邮件服务器(无需经网络服务器)
c) 电子邮件系统的功能
发送电子邮件
接收邮件
邮件分发
其它功能(电子邮件编辑功能、
远程通信功能)
d) 报文处理系统的引入
在办公自动化中出现了除电话、
电报外的新业务:智能用户电报、
可视图文、传真。
报文处理系统的组成:用户代理、
报文传送代理、报文存储器实体、
提高 /报道实体。
10,客户 /服务器方式
OS采用客户 /服务器结构,适宜于应用在网络环境下,应用于分布式处理的计算环境中,故客户 /服务器模式是第三代 OS。
Mach OS和 Windows NT OS是采用该模式,它们的共同特点是 OS
由下面两大部分组成:
1) 核心态的内核
内核( Mach称为微内核,NT称为 NT
执行体,)提供所有 OS基本都具有的那些操作:如线程调度、虚拟存储、
消息传递,设备驱动以及内核原语操作集和中断处理等,这些部分采用层次结构并构成了基本 OS。
2) 用户态的进程层
除内核部分外,OS其它部分被分为若干个相对独立的进程,每个进程实现一组服务,称为服务器进程。
服务器进程可以是各种应用程序接口 API,它的任务是检查是否有客户提出要求服务的请求,
在满足客户进程的请求后将结果返回。客户进程与服务器进程间的通信是采用发送消息进行的。客户进程发出消息,内核将消息传给服务器进程。服务器进程执行相应的操作,其结果又通过内核用发消息方式返回给客户进程。
优点
可靠性好(每个分支是独立的)
易扩充性
适宜于分布式处理的计算机环境该模式的优点在于它将 OS分成若干个小的并且自包含的分支(服务器进程)每个分支运行在独立的用户态进程中。相互间通过一致的方式接口发送消息,从而把这些进程链接起来
Windows NT操作系统
1,概 述
93年推出 WINDOWS NT是一个 32位的多任务操作系统。
NT操作系统控制 CPU时间的分配,而不是控制应用程序的分配。
NT支持多 CPU,多 CPU提供真正的多任务,使用对称的多处理,意味着处理器分享所有任务,不象非对称的多处理那样让操作系统使用一个 CPU,而让应用程序用另一个 CPU。
NT也是一个容错的操作系统,应用程序在自己的虚拟内存地址空间( 4GB)上运行,一个应用程序不会干扰另一个应用程序的内存空间。
1) WINDOWS NT的特点
图形用户界面技术;
支持多操作系统运行环境;
对称多处理能力;
内装网络功能;
多重文件系统与异步 I/O以及采用面向对象的软件开发技术
它提供了现代操作系统的几乎所有功能,如:多任务能力;多处理系统;虚拟资源管理;统一成一体化的 I/O系统;网络通信功能等,具有很多的性能 ……
2) 设计目标
可扩充性 。 ( 要求操作系统易于扩充,随市场需求的变动易于改动 )
可移植性 。 ( 尽可能通过少改动而移植到不同的处理机上 )
可靠性 。 ( 操作系统应是稳健的,能对一切意外处理;主动保护自己及其它用户免遭破坏 )
兼容性 。 ( 能执行为其它操作系统所编写的程序能力,如早期版本等 )
高的系统性能 。 ( 快速处理图,文,声,
像,仿真软件等 )
3) NT的优良特性
先进的操作系统结构
性能优良的内核程序
丰富的网络服务
2,Windows NT的系统模型
客户 /服务器模型
对象模型
对称处理模型
1) 客户 /服务器模型
提供多种操作系统运行环境的支持 。
( 由 NT设计目标兼容性的要求 )
改进了可靠性:
A,每个服务器是以分配给它的主存分区的独立进程方式运行 。
B,每个服务器是以独立的用户进程方式运行
C,适宜于分布式计算模型
2) 对象模型
NT操作系统使用对象模型有以下优点:
操作系统访问和操纵其资源是一致的 。 ( 通过对象句柄 )
所有对象采用同样的保护方法,因此简化了安全措施 。
3) 对称多处理模型所谓多处理模式是指一台计算机中具有两个以上的处理机,可同时执行 ( NT
线程 ) 。 每个处理机上同时可有一进程
( 或线程 ) 在执行 。 对称多处理系统允许操作系统在任何一个处理机上运行,即各处理机平等 。 它们既可执行操作系统又执行用户进程,共同负责管理系统主存,外设和其它资源,各处理机共用主存 。
NT采用对称处理模式的优点
操作系统可在任一个空闲的处理机上运行,
也可同时在各处理机上运行 。
一个进程的多个线程可同时在多个处理机上运行 。
服务器进程可使用多个线程在不同的处理机上处理多个客户进程的服务请求 。
3,Windows NT的结构图
1) Windows NT的结构
NT分为系统用户态部分 ( NT保护子系统 ) 和系统核心态部分 ( NT执行体 ) 。
核心态处于特权处理器方式下,用户态处于非特权处理器方式 。
核心态包括了系统服务和硬件描述层 (HAL),
系统服务包含了一个操作系统的所有应有服务,
文件系统,进程控制,内存管理,设备管理等等。
NT中除了微内核外,另外还包含了一些独特的部分,如对象管理器,配置管理器,执行体支持,
本地过程调用,安全监视器,所有这些都建立在
HAL之上。
IO管理器实现对设备的管理,包含了文件系统,
中间介质和设备驱动。
2) 保护子系统
用户态模式是由诸客户进程,服务器进程所构成的部分,其结构为客户 /
服务器模型 。 由环境子系统和集成子系统 组成 。
用户态模式包括了一些保护子系统,
如 OS/2子系统,POSIX子系统,安全子系统,当然还有最常用的 Win32子系统,NT都称之为服务器 。 它们运行于 CPU的用户层 Ring3,建立在服务器上的各类应用程序被称为客户 。
3) 环境子系统是一个用户态服务器,为特定的操作系统提供一个 API。 ( 它为客户进程提供的服务是这样的,当一个应用程序调用其相应的某个 API时,一个消息通过执行体的本地过程调用 [LPC]工具,发送给完成该 API的程序服务器 —— 环境子系统 。
子系统执行 API例程,并通过 LPC将结果返回应用程序进程 )
4) 集成子系统是完成重要操作系统功能的服务器,
包括安全子系统,网络软件中的若干部件 。
用户态的每个环境子系统都可支持多个客户应用程序同时运行,当用户试图进入系统时,首先须进行登录,由安全子系统对用户进行是否允许其进入和权限的检查与控制 。 安全子系统维护着一个有关用户账号信息的 DB,任何非法用户都不许进入 。
5) NT执行体
NT执行体基本上是一个完整的操作系统,它由一组部件组成:
层次结构的第一层是由系统服务下面的几个部件构成,这些部件可通过内部界面互相调用 。
NT内核是第二层,它类似 Mach的微内核 。
最底一层是硬件抽象层 ( HAL) 。 它将 NT
执行体的其余部分与运行机器的硬件特性隔离开来 。
6)NT执行体各组成部件的主要功能
对象管理程序:生成,管理及删除执行体对象 。
安全调用监视程序:监视操作系统资源,
执行运行对象的保护和审查,实施安全方针 。
进程管理程序:生成和终止进程及线程,
执行暂停和恢复线程的执行,存贮和检索有关 NT进程和线程的信息 。
NT执行体各组成部件的功能(续)
本地过程调用功能 ( LPC),在同一台计算机中的客户进程和一个服务器进程之间传送消息,是远程过程调用的优化版本 。
虚拟存贮管理 ( VM) 程序:为每个进程提供专有地址空间,对进程地址空间进行保护,负责页面调度 。
内核:对中断和异常作出响应,调度线程,
提供一组基本对象和接口 。
NT执行体各组成部件的功能(续)
I/O系统包括下列子部件,I/O管理程序,
文件系统,网络 — 定向程序和网络服务器,设备驱动程序,高速缓冲存贮管理程序
硬件抽象层 ( HAL),运行于 CPU的特权层 Ring0(在驱动程序内部,在不同部分还分为不同权限层 )。
以上这些组成部件中的前六个部件都要实现两组函数,1)系统服务:可以由环境子系统和其它执行体部件调用;
2)内部例程:只可由在执行体内的组成部件使用 。
4,对象是个抽象数据结构 。 在 NT中用以表示所有资源 。 对象是数据和有关操作的封装体 。 它包括数据,数据的属性以及可以施加于数据上的操作等三个成分 。 NT的对象类 ( 可理解为资源类 ),NT执行体中定义的对象类有:进程,线程,区域,文件,
事件,事件对,信息量,时间器,对象目录,简要表,符号连接,关键字,端口,
存贮令牌,多用户终端程序 。
1) 执行体对象类
2) NT执行体实现两种对象
执行体对象:由执行体的各组成部件实现的对象,能被子系统或 NT执行体创建和修改,其对象类列于上表中 。
内核对象:由内核实现的一个更基本的对象集合,称为控制对象集合,包括:内核过程对象,异步过程调用对象,延迟过程调用对象,中断对象,电源通知对象,电源状态对象,调度程序对象等 。
3) 进程被定义为表示操作系统所要做的工作,是操作系统用于组织其必须完成的诸项工作的一种手段 。 它由四个部分组成:
一个可执行的程序:它定义了初始代码和数据
一个私用地址空间:即进程的虚拟地址空间 。
系统资源:由操作系统分给进程
至少有一个执行线程与传统操作系统进程概念的不同
进程是作为对象来实现的 。 ( 它也是可共享的资源 )
NT进程要求一个独特的组成成分 —— 至少一个执行线程 。
NT进程的组成中没有 PCB,有关的信息在进程对象的对象体中及局限于进程对象表中等处都有进程的信息
调度和执行的基本单位是线程而不是进程,
因此不必划分进程状态 。
与传统操作系统进程概念的不同
一个 NT进程可有多个线程在其地址空间内执行 。
进程是由进程创建的,当应用程序启动时,相应的环境子进程调用执行体的进程管理程序为之建立以进程,并返回一句柄,然后进程管理程序又调用对象管理程序为之建立一个进程对象 。 当系统启动时,系统为每个环境子系统建立一个服务器进程 。
进程管理程序不维护进程的父 /子或其它关系 。
进程和线程都具有内含的同步机制 。
4) 线程
进程内的一个执行单元;进程内的一个可调度实体 。 ( 若把进程理解为操作系统所做的作业,则线程表示完成该作业的许多可能的子任务之一 ) 。 它由四个基本组成部分组成:一个唯一的标识符 ( ID) ;描述处理机状态的状态寄存器内容 ( 相当于老 PSW) ;两个栈,分别用于用户态和核心态下执行时使用;一个私用存储器 。
线程的优点
通过线程可方便有效地实现并行性,进程可创建多线程执行同一程序的不同部分
创建线程比创建进程快,少开销,它除栈和寄存器内容外,共享同一主存
创建多线程,对客户同时提出请求回答十分便利,因服务器程序只被装入主存一次,
就可使多客户同时提出服务请求分别由一独立服务器线程通过执行适当的服务器功能,并行为客户进行处理 。
5) 对象、进程和线程间的关系对象,进程和线程是组织和构造 NT操作系统的三个基本成分 。 它们之间互相交叉,对象是一抽象的数据结构,是构成操作系统的三个基本成分中非活动的成分,而进程,
线程是构成操作系统的二个活动成分,它们的关系如下:
对象、进程和线程间的关系(续)
线程是进程的一个组成部分 。
进程的多个线程都在进程的地址空间活动 。
资源分配的对象是进程,即资源是分给进程而非线程 。
调度的基本单位是线程,即 CPU是分配给线程的 。
线程在执行过程中,需要协作同步,在不同进程的线程间的同步用消息通信,它要用到进程的资源 —— 端口 。 因此,通信的是线程,用的消息队列是进程的资源 。 ( 可喻为,进程相当董事长,
线程相当部门经理,或类似作业与进程 )
6,内核的主要任务
调度线程的执行
当中断核异常发生时,将控制转移到相应的中断和异常
执行低级的多处理器同步
在电源失效后,实现系统的恢复过程 。
NT内核提供了一组精心定义的操作系统原语机制,通过使用内核原语,NT执行体可构成许多更高级的功能 。
1) 线程的生命期的状态一个线程的生命期的状态是变化的,它在任何一个时刻的状态是六种状态之一 。
就绪状态:线程已具备执行的条件,等待 CPU执行,调度程序从中选入备用
备用状态:被调度程序选用定为某一特定处理机上只能有一个处于备用状态的线程 。
运行状态:一旦调度程序对线程执行完描述表切换,线程进入运行状态 。
等待状态:以下情况线程进入其状 ( 线程等待同步对象,因 I/O,自己挂起 )
转换状态:若线程已准备好执行,但由于资源成为不可用 ( 如页在外存 ) 从而转入转换状态,当资源成为可用,则进入就绪状态 。
终止状态:线程完成它的执行
2) 优先级内核的线程调度程序是采用可抢占的动态优先级调度算法,调度程序按线程的优先级调度线程的执行顺序,先调度高优先级的线程 。
NT支持 32个优先级,分两类:实时优先级 从 16- 31 实时程序所用的主优先级线程,可变优先级 从 1- 15。
当系统中无任何事件时,内核提供一总在执行的线程,称为空闲线程,优先级最低 。
3) 中断和异常处理
NT中的中断主要是由硬件引起的,
是随机发生的异常事件 。 而异常是某一特别指令执行的结果,是同步情况,如主存存取错,除零 。
当中断和异常发生被捕捉后,系统将执行线程由用户态切换到核心态,将
CPU控制权交给操作系统中有效在主存中固定地址的陷阱处理程序 。 它首先保存执行线程中断现场,确定所发生的情况,并转相应处理程序 。
7,输入输出( I/O)系统建立一 个统一 的主 层界面 —— I/O设备虚拟界面,即将所有读写数据看成直接送往虚拟文件的字节流 。
8,NT的内装网络无需其它软件即可为用户提供文件共享,打印机共享,电子邮件和网络 DDE等功能 。
9,对象管理程序它的主要功能是创建,管理,删除用来表示操作系统资源的对象,操作系统通过对象管理程序对资源进行统一的管理,使用共同的代码操纵它们 。
对象管理程序的工作
NT的对象管理程序在接到创建对象的系统服务后,要做以下工作:
为对象分配主存 。
给对象一个附加安全描述体,以指出允许谁使用对象以及谁被允许进行操作 。
创建和维护对象目录表目
创建一个对象句柄并返回调用者 。
NT对对象的管理,组织和操作的模型是基于文件系统的模型 。
10,NT的安全性
登录进程和安全子系统
存取令牌
存取控制表
主存保护
客户 /服务器模型
11,虚拟内存
NT/2K/XP中,操作系统利用虚拟内存管理技术来维护地址空间映像,每个进程分配一个 4GB的虚拟地址空间。运行在用户态的应用程序,不能直接访问物理内存地址;而运行在核心态的驱动程序,能将虚拟地址空间映射为物理地址空间,从而访问物理内存地址。
1) 进程的虚拟地址空间
NT为每个进程提供一个很大的虚拟空间
( 4GB) ( 抛弃了早期从 8086— 80286使用分段模式造成的 64K局限 )
NT运行在 32位的 386以上微机 。
·进程 4GB的地址被等分为两部分,高 2GB
给系统用,低地址 2GB用户用 。 直接映射区寻址由硬件直接变换,且常驻内存,存取数据快,用以有效 NT内核中频繁使用,
响应速度快的那些代码 。
2) NT虚拟分页地址变换机构
它不同于传统页地址变换 。 采用一种称为两极页表结构技术,第一级为页目录,第二级为页表,每个进程一个页目录 。
页目录:包含 1024个表目 。 每个表目指出二级页表所在页表地址 。
页表:包含 1024个表目 。 每个页面大小为
4KB。
在系统中有控制寄存器指出进程的页目录地址 。
页目录地址目录位移 页表位移 页位移虚拟地址页表地址
.
.
.
页目录(每进程一个)
块号
.
.
.
页表代码或数据
.
.
.
内存块二级页表结构及地址映射
+
+
3) 地址变换过程当给出虚拟地址后,按图示被自动分为三部分,页目录 ( 10位 ),页表位移
( 10位 ),页内位移 12位
将寄存器的页表地址与目录位移 ( 左移两位,因表目录为 4字节 ) 拼接成页目录中表目所在地址,该表目中有页表地址 。
页表地址与页内位移 ( 左移两位 ) 拼接找到页架号 。
将页架号与页内位移拼成绝对地址,从而访问主存 。
4) NT要采用二级页表结构的原因由于每个进程的虚拟地址空间太大,
232个可能虚地址,每页大小位 4K( 212),
每个进程的地址空间可有 1048576 页
( 220),每个进程的页表有 220× 4字节 。
若将全部页表都放入主存,则占主存大的开销,位避免主存都消耗在页表上,根据需要把页表换入,换出主存 。
NT采用二级页表结构的原因(续)
采用两级页表结构主存访问速度慢
( 要从主存访问数据三次访问主存方可 )
因此,① 采用快表:用高速相关存贮器来存放经常使用的页表表目 ( NT称快表位变换查找缓冲区 【 TLB】 ) ② 使用高速缓存:
在位处理器与主存间设置 32K或 64K的高速缓存,大部分的指令核数据取自高速缓存 。
( 命中率 98% ) 所以存取数据和指令相当高 。
5) 页面调度策略
NT采用按进程需要请求取页,又采取集群方法 ( 即缺页时将附进页一起装入主存 )
将一些页面提前装入主存 。
置换淘汰要点,① 采用局部置换,为每进程分配一个固定数量的页面,但可动态调整发缺页,本进程替换 ② 使用 FIFO置换算法 。 ( 简单 ) 。 动态调整页面:由每进程工作集和缺页情况变动 。 ( 进程创建时指定一最小工作集 )
12,Windows系统调用
Windows系统服务调用是存在于
Windows系统中的一个关键接口,
常常称作 System Call
Windows系统服务调用,提供了操作系统环境由用户态切换到内核态的功能。
Windows 2000系统体系结构系统支持进程,服务进程,应用程序,环境子系统应用程序编程接口基于 NTDLL.dll的本地系统服务 (用户模式 )
-------------------------------------
系统服务调用 (内核模式 )
执行体系统内核,设备驱动程序硬件抽象层
Windows 2000系统特性
微软 Windows 2000是一个主要面向网络服务器的操作系统,它和
Windows 9x有很大区别。
Windows 2000特性:
1.可扩展性 (Extensibility)
2,可靠性和健壮性
3,兼容性 (Compatibility)
4,易维护性 (Maintainability)
Windows 2000本机系统服务
Windows 2000本机系统服务又应用程序编程接口
它是由执行体 (Executive)为用户模式和内核模式的程序提供的系统服务集。
包含两种类型的函数,Windows 执行系统服务的系统服务调度占位程序;
子系统,子系统 DLL和其他本机映像使用的内部支持函数。
从用户模式调用本机系统服务是通过
NTDLL.dll来实现的 。