现在位置: 首页 > 自动控制 > 工业·编程 > 文章
2016-08-11 06:24 工业·编程 ⁄ 共 4165字 暂无评论
看了看linux 2.6 kernel的源码,下面结合代码来分析一下在X86体系结构下,互斥锁的实现原理。 1. 首先介绍一下互斥锁所使用的数据结构: struct mutex { atomic_t  count;     // 引用计数器 1: 锁可以利用。 小于等于0:该锁已被获取,需要等待 spinlock_t  wait_lock;    // 自旋锁类型,保证多cpu下,对等待队列访问是安全的。 struct list_head wait_list;  ...
阅读全文
二十世纪九十年代中期以来,业界一直在使用DCOM和CORBA这样的面向对象的中间件平台。在分布式的应用中,中间件平台托管了大部分网络事务,比如对数据进行编码与解码以进行传送,把逻辑对象地址映射到物理传输端点,根据客户和服务器的机器架构改变数据的表示,以及按照需要自动启动服务器。 DCOM和CORBA由于自身的缺点,都没有成功占领大部分分布式计算的市场。 DCOM是Microsoft的独家解决方案,在异构网络中,各种机器运行多种...
阅读全文
自从上世纪九十年代以来,计算工业一直在使用像DCOM 和CORBA这样的面向对象中间件平台。 在使分布式计算能为应用开发者所用的进程中,面向对象中间件是十分重要的一步。开发者第一次拥有了这样的可能:可以构建分布式应用——中间件平台会照管大部分网络杂务,比如整编(marshaling)和解编(unmarshaling)(对数据进行编码与解码,以进行传送)、把逻辑对象地址映射到物理传输端点、根据客户和服务器的原生机器架构改变数据的表...
阅读全文
ICE(Internet Communications Engine)是ZeroC 提供的一款高性能的中间件,基于ICE 可以实现电信级的解决方案。前面我们提到过在设计网站架构的时候可以使用ICE 实现对网站应用的基础对象操作,将基础对象操作和数据库操作封装在这一层,在业务逻辑层以及表现层(java,php,.net,python)进行更丰富的表现与操作,从而实现比较好的架构。基于ICE 的数据 层可以在未来方便的进行扩展。ICE 支持分布式的部署管理,消息中间件,以及网...
阅读全文
2016-08-07 23:00 工业·编程 ⁄ 共 834字 暂无评论
C表示RTSP客户端,S表示RTSP服务端: 第一步:查询服务器端可用方法 1.C->S:OPTIONrequest       //询问S有哪些方法可用 1.S->C:OPTIONresponse    //S回应信息的public头字段中包括提供的所有可用方法 第二步:得到媒体描述信息 2.C->S:DESCRIBE request      //要求得到S提供的媒体描述信息 2.S->C:DESCRIBE response  ...
阅读全文
cpu使用率 采集算法 通过/proc/stat文件采集并计算CPU总使用率或者单个核使用率。以cpu0为例,算法如下: 1. cat /proc/stat | grep ‘cpu0’得到cpu0的信息 2. cpuTotal1=user+nice+system+idle+iowait+irq+softirq 3. cpuUsed1=user+nice+system+irq+softirq 4. sleep 30秒 5. 再次cat /proc/stat | grep 'cpu0' 得到cpu的信息 6. cpuTotal2=user+nice+system+idle+iowait+irq+softirq 7. cpuUsed2=user+nice+system+irq+softir...
阅读全文
在Linux终端下调试程序时,有时需要输出大量信息。若能控制字体的颜色和显示方式,可使输出信息对比鲜明,便于调试时观察数据。 终端的字符颜色由转义序列(Escape Sequence)控制,是文本模式下的系统显示功能,与具体语言无关。 转义序列以控制字符'ESC'开头。该字符的ASCII码十进制表示为27,十六进制表示为0x1B,八进制表示为033。多数转义序列超过两个字符,故通常以'ESC'和左括号'['开头。该起始序列称为控制序列引导符(C...
阅读全文
2016-08-03 22:34 工业·编程 ⁄ 共 4475字 暂无评论
1.关于Code Review 1.1 Code Review的目的 Code Review是一种用来确认方案设计和代码实现的质量保证机制,通过这个机制我们可以对代码、测试过程和注释进行检查。 Code Review主要用来在软件工程过程中改进代码质量,通过Code Review可以达到如下目的目的: (1)在项目早期就能够发现代码中的BUG (2)帮助初级开发人员学习高级开发人员的经验,达到知识共享 (3)避免开发人员犯一些很常见,很普通的错误 (4)保证项目组人...
阅读全文
2016-08-02 22:31 工业·编程 ⁄ 共 6413字 暂无评论
一、什么是syslog协议 1、介绍(略) 2、syslog标准协议如下图 这里的facility为模块,serverity为等级,由这两个信息共同计算出一个PRI头部。HEADER部分包含了时间和主机名。在HEADER和MSG之间有一个空格,MSG是需要记录的日志部分(日志消息体)。 这里也就是说,理论上使用这种格式构造的字符串发送,接收方就能解析出来。实际上根据实验,我使用了UDP发送,接收方syslog日志服务器能正确解析。 这里需要注意的是,如果...
阅读全文
2016-08-01 22:37 工业·编程 ⁄ 共 1569字 暂无评论
看法一: 一、在使用上 由 ss 与 esp 组成的栈结构已经可以算是硬件栈了,它们的 pop/push 行为都是由处理器去维护了。 软件栈:软件可以自己定义一个数据结构,pop/push 行为需由软件去维护,如:栈顶和栈底、栈空和栈满等的维护。 二、从物理上 若要从物理上去定义硬件栈结构,恐怕只有 X86 才有真正的硬件栈结构。那就是 x86 独特的浮点寄存器堆结构: 由 FR0 ~ FR7 浮点寄存器组成的一个浮点寄存栈结构。栈指针是:x87 的 s...
阅读全文