zoukankan      html  css  js  c++  java
  • WF与Windows操作系统的对比

    WF与Windows操作系统的对比

    ——通过AEC解读WF的核心原理(十一)(题外篇)

    有的时侯,在开发Activity的时候,所用的方案思路,所面临的问题,所出现的错误,总有一种似曾相似的感觉,比如C时,忘了释放指针,我总会打自已一下,开发Activity时,忘了Close,我会打自已一下......

    觉得WF的结构与操作系统有很多相似之处,下面我就对比一下:

    对比项

    WF

    操作系统

    宿主

    计算机

    宿主:

    WorkflowRuntime,的寄生环境

    计算机:

    操作系统的的寄生环境

    WorkflowRuntime,

    操作系统

    WorkflowRuntime:

    工作流的运行环境

    操作系统:

    应用程序的运行环境

    工作流,

    应用程序

    工作流:

    可在WorkflowRuntime中运行的,用于完成各种业务功能的独立代码单元

    应用程序:

    可在操作系统中运行的,用于完成各种业务功能的独立代码单元

    实例,

    进程

    实例:

    工作流在WorkflowRuntime中的一种激活状态

    进程:

    应用程序在操作系统中的一种激活状态

    WF加载服务,

    驱动程序

    WF加载服务:

    由WorkflowRuntime加载,为工作流的实例提供某种功能或接口

    驱动程序:

    由操作系统加载,为应用程序的进程提供某种功能或接口

    Activity(DLL)格式工作流,

    Win32格式程序

    Activity(DLL)格式工作流:

    WF工作流的基本格式,WF的"本地代码"

    Win32格式程序:

    Win操作系统的基本格式,本地代码"

    xoml格式工作流,

    NET格式程序

    xoml格式工作流:

    一种用字符串方式描述执行逻辑的文件,可由DefaultWorkflowLoaderService将其解释成

    WF的"本地代码"在WorkflowRuntime中运行

    NET格式程序:

    一种用字符串方式描述执行逻辑的文件,可由NET Framework将其解释成"本地代码"在操作系统中运行

    DefaultWorkflowLoaderService,

    NET Framework

    DefaultWorkflowLoaderService:

    xoml的解释器,WF默认加载

    NET Framework:

    NET格式程序的解释器,操作系统默认安装

    其它格式工作流,

    Java格式程序

    其它格式工作流:

    WF可以加载其它xml格式的的工作流描述件,但需基于WorkflowLoaderService实现该格式的解释器,并加载到WorkflowRuntime中

    Java格式程序:

    可以在Win操作系统运行,但需要安装Java 虚拟机

    自定义WorkflowLoaderService,

    Java 虚拟机

    自定义WorkflowLoaderService:

    实现自定义工作流描述件格式的解释器

    Java 虚拟机:

    一种将Java格式程序解释并在操作系统中运行的中间环境

    并行,

    线程

    并行:

    WF的ParallelActivity并不是启用线程实现分支的并行,而是在各分支上交错执行,以实现并行效果

    线程:

    Win操作系统的多线程并不依赖多核CPU,它可以用一种交错方式执行,以实现多线程并行效果

    WorkflowQueuingService,

    系统消息

    WorkflowQueuingService:

    WF为实现交互而提供的一种通信响应接口,AEC , WorkflowRuntimeService , IServiceProvider

    系统消息:

    操作系统为实现交互而提供的一种通信响应接口,Hook,SetWindowsHookEx,CallNextHookEx

    持久化,

    休眠(不是待机)

    持久化:

    WF可以将WorkflowRuntime中的实例保存起来,当关闭WorkflowRuntime后,再启动WorkflowRuntime可以继续运行实例

    休眠:

    WIN操作系统可以将当前运行的系统保存到磁盘,后断电,当重新启动后可以继续使用休眠前系统中正在运行的进程

    持久化,

    虚拟内存

    持久化:

    WF可以将WorkflowRuntime中的不运行的实例保存到磁盘,以解省内存。当实例需要继续运行时再从磁盘加载到内存

    虚拟内存:

    WIN操作系统不运行的进程保存到磁盘,以解省内存。当进程需要继续运行时再从磁盘加载到内存

    WF,

    操作系统

    WF:

    操作系统中运行的一个程序

    操作系统:

    也许有一天,可以用一个可以像WF这样的可视化开发环境设计操作系统

    说明:

    如果从求同的角度,你会发现铅笔与太阳是一样的,如果从求异的角度,两个水分子的差别用137亿年也描述不完,本文不是一篇技术文章,有些比效也并不准确,只是对技术的一种调侃

  • 相关阅读:
    ThinkDev组件库 开篇
    使用 CodeIgniter 框架快速开发 PHP 应用(六)
    使用 CodeIgniter 框架快速开发 PHP 应用(五)
    jQuery EasyUI 的截图插件(imgAreaSelect)用法
    细说UI线程和Windows消息队列
    ASP.NET MVC2 异常处理机制中令人费解的HTTP 500错误
    从了解到深入——剖析WF4的数据流
    .NET 4.0中数组的新增功能
    成功就是把自己的特长发挥得淋漓尽致(更新)
    WPF4数据绑定应用之“创建具有多种显示效果的字串”
  • 原文地址:https://www.cnblogs.com/foundation/p/1222052.html
Copyright © 2011-2022 走看看