WindowsNT的设计目标①可扩充性 ②可移植性 ③可靠性 ④兼容性 ⑤性能
WindowsNT的结构①系统用户态部分(WindowsNT保护子系统) ②系统核心态部分(NT执行体)
对象对象是个抽象数据结构在WindowsNT中用以表示所有资源对象用来表示资源
对象类具有相同特性的对象可归为一个对象类对象是对象类中的一个实例对象类是描述资源类型的
对象的组成结构对象头和对象体对象管理程序控制对象头其他执行体部件控制它们自己创建的对象体
WindowsNT进程的定义一个程序的动态调用
WindowsNT进程的组成①一个可执行的程序②一个私用的地址空间③系统资源④至少有一个执行线程
WindowsNT进程的特点
④进程是作为对象来实现的⑤进程要求至少有一个执行线程⑥进程没设进程控制块PCB进程的控制和管理信息被放在进程对象的对象体中以及局限于进程的对象表中⑦WindowsNT中的进程不是处理机调度的基本单位所以没有必要区分进程的状态⑧当系统启动时系统为每一环境子系统建立一个服务器进程每当用户的应用程序启动时相应的环境子系统进程调用执行体的进程管理程序为之建立一个进程然后进程管理程序又调用对象管理程序为之建立一个进程对象⑨进程管理程序不维护进程的父子或其他关系⑩进程有内含的同步机制
WindowsNT线程的定义进程内的一个可调度实体
线程的组成①一个唯一的标识符即客户ID②描述处理机状态的一组寄存器内容③两个栈用户栈和核心栈④一个私用存储区
引进线程目的主要目的是要有效地实现并行性多进程的方式虽然也可以实现并行性但采用线程比采用进程实现并行性更方便更有效以UNIX为例当一个进程创建一个子进程时系统必须把父进程地址空间的所有内容拷贝到子进程的地址空间中去对大地址空间来说这样的操作是很费时的更何况两进程还要建立共享数据如果采用多线程要好得多因为这些线程共享进程的同一地址空间对象句柄及其他资源
进程和线程之间的区别和联系
①线程是进程的一个组成部分每个NT进程在创建时只有一个线程需要时这个线程可以再创建其他线程②一个进程的多个线程都在这个进程的地址空间内活动③进程是资源的基本分配单位这就是资源是分配给进程的而不是分配给线程的并且系统还为分配给进程的资源规定了配额④处理机调度的基本单位是线程在线程之间竞争处理机真正在处理机上执行的是线程线程在执行中需要资源时系统从进程的配额中扣除并分配给它⑤线程在执行过程中需要同步在不同的进程的线程之间的同步要用消息传递机制消息传递要用到进程的资源——端口(端口也是对象端口上有消息队列)因此可以这们说通信的是线程使用的资源却是进程的(服务器进程可以创建多端口以利于多线程通信)
WindowsNT内核的特点WindowsNT内核的特点是采用微内核技术它提供了一组精心设计的操作系统原语和机制通过使用这些原语和机制执行体可以构造更多高级的操作系统功能内核与其它执行体不同的是内核永久驻留内存内核的执行是不可抢占的并总运行在核心态
内核的基本(主要)功能①调度线程的执行②中断和异常的处理③完成低级的多处理机间的同步④电源故障的排除(实现系统的恢复过程)
线程调度采用的调度算法是什么?
线程调度采用的调度算法是可抢占的动态优先级调度算法线程调度程序按线程的优先级进行调度高优先级的线程先被调度线程在执行过程中优先级可以变化调度程序调度时所依据的要主数据结构是多优先级就绪队列
中断是什么?
WindowsNT中中断是异步事件主要由硬件如I/O设备处理机时钟或定时器引起的是随机发生的中断处理机的事件异常异常是同步事件是某些特定指令执行的结果如主存存取错浮点数被零除等WindowsNT还把系统服务调用看作是异常
WindowsNT如何处理中断与异常?
当中断或异常发生被系统捕捉后系统将执行的线程从用户态转换到核心态将处理机的控制权转交给其首地址存放在主存固定单元的陷阱处理程序陷阱处理程序被调用后它首先保护执行线程被中断的断点现场在此期间屏蔽中断其次根据中断/异常的原因决定将控制权交给相应的处理程序①如果是中断根据中断源将控制权转交给相应的处理程序
[] [] []