windows应用层,内核层开发原理

windows应用层,内核层开发原理,第1张

Windows内核分三层,与硬件直接打交道的是硬件抽象层HAL,这一层把所有与硬件相关代码逻辑隔离到一个专门模块中,从而是上层尽可能独立于硬件平台。HAL是一个独立动态链接库,windows带了多个如Hal.dll,halacpi.dl等,这是根据高级配置和电源接口高级可编程中断控制器之类的区别,只有一个会被选中选中之后拷贝改名为hal.dll,hal才是真正的硬件抽象层,例如自旋锁和中断是在hal实现。内核只需简单实用其导出函数。

HAL之上是内核层,有时候成为微内核,这是大内核中的小内核,是ntoskrnl.exe的下层部分,上传是执行体,接近HAL层,这层是包含了基本的 *** 作系统原语和功能,如进程线程,线程调度,中断和异常处理,同步对象和各种机制,还负责同步处理器直接行为。windows内核实现了抢占式线程调度机制,就是线程按优先顺序,分配到处理器上,每个线举含程有基本优先级,也有动态优先级,高优先级线程可抢断低优先级线程,windows内核按面向对象思想,管理两种对象,分发器对象(dispatcher object)和控制对碧帆象,分发器对象实现各种同步功能,这些对象状态会影响线程电镀。分发器对象包括event,mutant,Semaphore,process,thread,queue,gate,timer。控制设备对象被用于控制内核 *** 作,不影响线程调度,包括异步过程调用APC,延迟过程调用DPC,中断对象等。

在内核层之上是执行体层,这一层是提供上层应用程序或内核驱动程序直接调用的功能悔答雹和语义,Windows内核的执行体包含一个对象管理器,用于一致地管理执行体中的对象。执行体层和内核层位于同一个二进制模块中,即内核基本模块,其名称为ntoskrnl.exe。执行体是ntoskrnl上层,包含进程线程管理器,内存管理器,安全引用监视器,IO管理器,缓存管理器。配置管理器。即插即用管理器。电源管理器。

既然在同一个模块,内核层和执行体层分工是,内核层实现 *** 作系统基本机制,而所有策略决定则留给执行体。执行体中的对象绝大多数封装了一个或者多个内核对象,并通过某种方式比如对象句柄,暴露给应用程序。这种设计体现了机制与策略分离的思想。

Client + 中间层 + 数返手悔据库

其它的不讲,就漏正进这个中间层

这个中间层至少包含两个DLL

1. model也就是数据表实体层

2. CTRL是 *** 作层封薯芦装了通过model实例 *** 作数据库的一系列类、方法、属性

首先:

WCF的全称是Windows Communication Foundation,Windows通信基础的意思,是Microsoft为构建面向服务的应用程序而提供的统一编程模型,它整合.NET平台下所有和分布式系统有关的技术。

其次:

WCF本质是面向服务的。主要分为服务端和客户端两部分。服务端和客户端进行通信的过程如下图所示丛态:

在上图中,主机进程就是服务端,在其中需要创建服务,然后将服务通过EndPoint(终结点)与客户端进行通信。客户端在使用服务时,需要首先创建一个代理服务,然后调用这个代理服务。

EndPoint(终结点)在WCF中是非常重要的部分。它包含了服务地址(Address)、绑定格式(Binding)和契约(Contract)。其中,地址定义了服务的位置,绑定定义了服务通信的方式,契约定姿大义了服务所提供的功能。为了便于记忆,我们将终结点的这三个要素简称为服务的ABC

服务端提供了什么服务,都具备什么功能,这被称为WCF服务的契约。

WCF服务不能凭空存在。每个WCF服务都必须托管(Hosting)在一个Windows进程中,该进程被称为宿主进程。

WCF服务宿主可以由IIS提供,可以由Windows服务提供,也可以由Windows Vista的Windows激活服务提供。其中,使用IIS托管只能使用HTTP协迹郑竖议。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12474957.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-24
下一篇2023-05-24

发表评论

登录后才能评论

评论列表(0条)

    保存