zoukankan      html  css  js  c++  java
  • 软件架构的控制流总结

    在进行程序开发时,要从总体上对软件架构进行规划,软件架构(software architecture)包括两个aspects,control flow and data flow。这里先对typical software architecture control flow进行summarize,后续的文章将继续对data flow进行梳理和总结。这里要感谢dossier-andreas,把software architecture讲述的有清晰、有条理。让我这英语菜鸟也有机会读得懂。

    1. Main program and subroutine,call and return(main函数和调用)

    Command structure: Control Tree; Order of execution:Sequential.

    这是一个最基础和最常见的控制流,在C、C++等几乎所有语言都支持。

    2. Implicit invocation, Event Based(隐式调用)


    依靠Message传递控制,主程序由无尽的控制循环构成,每次循环主程序都将Message发送给对应的模块去处理。类似windows MFC的消息机制,winmain函数中是一个大循环,用来接收消息,然后调用对应的module来处理消息。

    3. The Manager Model 系统管理器模型


    Commandstructure: Control Tree; Order of execution: Parallel.

    这就是多进程的模型。由PCB(process control block,进程控制块)来负责存储和维护进程信息。主要由操作系统来实现Manager Model。实际上,在FPGA硬件上的并行就是一个个的process。

    4. Emulated Parallel(模拟并行)


    Command structure: Control Loop; Order ofexecution: Parallel.

    这实际上是进程的实现模型(或者是进程内线程的实现模型)。时间片轮转调度,每一个循环分配给一个Module一段执行时间,就这样类似的将所有Module都推进,相当于并行执行。

     

    参考文献:http://www.dossier-andreas.net/software_architecture







  • 相关阅读:
    doges
    Unity Fps示例
    使用Unity的2D功能开发弹球游戏
    Unity UGUI 原理篇(二):Canvas Scaler 縮放核心
    UGUI 深度優化提升手遊效能
    关于Unity中的UGUI优化,你可能遇到这些问题
    git branch --set-upstream 本地关联远程分支
    git rm 与 git reset
    Git笔记之初识vi编辑器
    [内容分享]粗略判断Shader每条代码的成本
  • 原文地址:https://www.cnblogs.com/huty/p/8519352.html
Copyright © 2011-2022 走看看