• Windows ce的体系结构和功能


     

     

    Windows ce的体系结构和功能

                                 Windows ce体系结构图

     

    操作系统层

    操作系统的基本功能被放在多个独立的进程(exe)里面实现。在运行的时候,这些进程大致有如下几个:

    l         内核NK.EXE

    l         图形系统GWES.EXE

    l         对象存储FILESYS.EXE

    l         设备管理系统DEVICE.EXE

    l         服务SERVICES.EXE

     

    系统调用与CoreDLL.DLL

    CoreDLL.DLL不是一个单独的进程,它是一个会被所有用户进程都加载的动态链接库。所有的应用程序都不能直接与操作系统或硬件打交道,如果用户程序希望访问windows ce所提供的服务,那么只能通过CoreDLL.DLL进行。

    Windows ce的系统调用

    ü         应用程序进行系统调用时,它直接调用的是CoreDLL.DLL中的一个(Wrapper)函数,此包装函数为真正的系统调用准备所需要的参数。CoreDLL.DLL会被Windows CE的所有进程加载,因此这一步其实只是进程内部的函数调用。

    ü         CoreDLL.DLL会发起一个异常,也可叫做软件中断。在不同的CPU体系结构上,异常的实现原理也不一样。总之,异常的作用是把执行权重新由应用程序还给操作系统。

    ü         操作系统内核会捕捉所有的异常,当操作系统捕获到此异常时,也就重新获得CPU。在Windows CE上,NK.EXE会处理这个软件中断,这样进行系统调用的应用程序进程就挂起了,挂靠就转入了NK.EXE

    ü         接下来,NK.EXE根据系统调用的不同,找到具体实现该系统调用的进程(这些进程在Windows CE上也被叫做PSL,全称是Protected Server Library)。此进程可能是NK.EXE,也可能不是。如果不是NK.EXE,那么执行就再次跳转,把执行转到具体实现系统调用的进程去执行。

    ü         实现这个系统调用的进程得到执行的机会。

    ü         系统调用结束,应用程序可以从对CoreDLL.DLL的调用处返回,然后继续执行。

    要注意的是CoreDLL.DLL中有些函数并不是系统调用的包装函数,例如字符串处理函数,当应用程序调用这类函数时,就不会发生自陷和进程执行的跳转。

    由上CreateWindow()的调用可以看出,windows ce中的每次系统调用都会导致多个进程之间频繁切换,而且系统调用所涉及的数据也需要在多个进程之间迁移,这样势必会使整个系统的效率降低。其实,在系统调用的整个过程中,并没有发生真正的线程上下文切换。Windows ce内核负责把api调用转到实现该apiPSL进程。PSL进程会把进行系统调用的执行线程从一个进程迁移到下一个进程。比如说,上个例子中,虽然CreateWindow系统调用会在应用程序、NK.EXEGWES.EXE中来回切换,但是在3个进程中招待的纯种是同一个线程。而所谓的“切换”只是把执行进程的虚拟地址空间映射到了Slot 0Windows ce内核负责把应用程序中的用户态线程改变访问权限,然后把它迁移到系统进程中,在整个系统调用过程中,这个线程在3个进程中使用同一个栈和同一些寄存器。当这个线程离开PSL进程的时候,windows ce内核再把它的特殊访问权限移除。

    内核NK.EXE

    系统运行时,windows ce的内核表现为NK.EXE进程。NK.EXE是所有windows ce的系统中都存在的核心进程,它表现了win32 API核心中进程创建加载、纯种高度、中断处理和内在管理等核心功能。

    NK.EXENK.LIBOAL.LIB组成。NK.LIB是由微软提供的,它的代码与CPU指令体系结构相关而与具体的外设无关,此种设计可使OAL尽可能小OAL.LIBOEM层中的OAL代码编译后的输出。

  • 相关阅读:
    EZ 2018 1 21 2018noip第五次膜你赛
    POJ 1068&&2632&&1573&&2993&&2996
    POJ 3278&&2049&&3083
    POJ 1328&&2109&&2586
    POJ 2965&&1753
    EZ 2018 01 14 2018noip第四次膜你赛
    LCA的一些算法
    Image Processing and Analysis_15_Image Registration: A Method for Registration of 3-D shapes——1992
    Image Processing and Analysis_15_Image Registration:Image matching as a diffusion process: An analogy with Maxwell's demons——1998
    Signal Processing and Pattern Recognition in Vision_15_RANSAC:Random Sample Consensus——1981
  • 原文地址:https://www.cnblogs.com/hbt19860104/p/1048729.html
Copyright © 2020-2023  润新知