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亿年也描述不完,本文不是一篇技术文章,有些比效也并不准确,只是对技术的一种调侃