Linux 大量代码阅读,Linux 下的代码阅读

Linux下有许多高质量的代码,如Linux Kernel, Apache Http Server. 如果能够读懂这些代码,了解其设计思路,对我们的软件学习无疑是获益良多的。我想先拿个一般大小的成熟代码试试看。

呵呵, 本人由于工作之余,需要了解 一个被称为 epics 的软件 链接如下 http://www.aps.anl.gov/epics/

EPICS 是 Experimental Physics and Industrial Control System的缩写,是实验物理和工业控制系统的分布式控制软件。到目前已经是3.14版了,目前4.0版在开发中。我个人感觉EPICS代码简洁干净,而且最为重要的一点,它已经将分布式数据库的完美的实现了。

EPICS的目的是在一个互通的局域网下实现分布式控制系统的通信和监测功能。在一个系统中,我们假设有m台设备,这些设备完成不同的任务,它们之间需要共享它们控制的状态变量,以此来达到总体任务的控制目标。因此,各个控制节点通过内存数据库来存储对应的状态变量。

为了实现数据的通信,epics特地开发了一个网络协议,称为 CA (Channel Access), 各个控制节点可以把自身的状态封装成PV (Process Variable), 这样既可以通过网络协议CA,为其他节点知晓,达到通信的目的。

因此,在我看来EPICS 主要由 DB, Protocal,和 对应的Device Driver,再加上一些其他的辅助工具完成。

呵呵,今天,就到这里。

EPICS  源代码 代码组织如下

src

|-- RTEMS

|   `-- base

|-- as

|-- bpt

|-- ca

|-- cap5

|-- cas

|   |-- build

|   |-- example

|   |   `-- directoryService

|   |-- generic

|   |   |-- mt

|   |   `-- st

|   |-- io

|   |   `-- bsdSocket

|   |-- os

|   |   `-- vms

|   `-- test

|-- catools

|-- db

|   `-- test

|-- dbStatic

|-- dbtools

|-- dev

|   |-- softDev

|   `-- testDev

|-- excas

|-- gdd

|-- libCom

|   |-- bucketLib

|   |-- calc

|   |-- cppStd

|   |-- cvtFast

|   |-- cxxTemplates

|   |   `-- test

|   |-- dbmf

|   |-- ellLib

|   |-- env

|   |-- error

|   |-- fdmgr

|   |-- freeList

|   |-- gpHash

|   |-- iocsh

|   |-- logClient

|   |-- macLib

|   |-- misc

|   |-- osi

|   |   `-- os

|   |       |-- Darwin

|   |       |-- Linux

|   |       |-- RTEMS

|   |       |-- VMS

|   |       |-- WIN32

|   |       |-- cygwin32

|   |       |-- default

|   |       |-- freebsd

|   |       |-- hpux

|   |       |-- osf

|   |       |-- posix

|   |       |-- sgi

|   |       |-- solaris

|   |       |-- sun4

|   |       `-- vxWorks

|   |-- ring

|   |-- taskwd

|   |-- test

|   |-- timer

|   `-- tsDefs

|-- makeBaseApp

|   `-- top

|       |-- caClientApp

|       |-- caServerApp

|       |-- configure

|       |-- exampleApp

|       |   |-- Db

|       |   `-- src

|       |-- exampleBoot

|       |   `-- ioc

|       |-- iocApp

|       |   |-- Db

|       |   `-- src

|       |-- iocBoot

|       |   `-- ioc

|       `-- supportApp

|           |-- Db

|           `-- src

|-- makeBaseExt

|   `-- top

|       |-- configure

|       |   `-- os

|       |-- exampleExt

|       |-- simpleExt

|       `-- src

|-- misc

|-- rec

|-- registry

|-- rsrv

|-- softIoc

|-- tools

|   `-- EPICS

|-- toolsComm

|   |-- antelope

|   `-- flex

|-- util

`-- vxWorks

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值