发布时间:2012-12-18 08:36:14
1.安装kde环境支持: 在ubuntn11.04下,不能直接安装kscope1.6.2,先要安装kde环境支持,如下步骤: apt-get install kdelibs (解决kde-config not found) sudo apt-get install xorg-dev (解决error:can't find X includes?) sudo apt-get install kdelibs4-dev kdelibs4c2a (解决no KDE headers installed)......【阅读全文】
发布时间:2012-12-17 20:49:50
嵌入式Linux中的进程同步无竞争态读写摘要 Linux作为一个开源、稳健的操作系统,支持多种平台,拥有丰富的开发工具和应用软件,尤其是其内核可裁减的特性,非常适合嵌入式系统。在数据实时性、准确度要求很高的情况下,系统在对数据的采集和处理过程中,由于其进程协调性问题,往往会造成数据的丢失。利用经典进程同步模型,可解决嵌入式Linux系统中数据同步读写冲突的问题。关键词 嵌入式 Linux进程同步 无竞争态读写 引 言 在对实时采集更新的数据进行处理时,往往会遇到数据更新速度......【阅读全文】
发布时间:2012-12-17 18:27:10
当可能出现几个进程争用(读、写)同一个Critical Section的时候,加锁是常用的做法。 Linux加锁的方法,除了经典的IPC(Semophore)之外,记录锁(Record Locking)提供了更简单的方法。 其实记录锁的名字叫文件锁会比较贴切一点,因为其加锁和解锁都是通过对文件的操作完成的。 文件锁的粒度大可到整个文件,小可到一个字节,长度可变,但都可以说是对应一个Record(逻辑意义上)。 对锁的控制是通过调用fcntl实现的,基本的方式如下: fcntl(fd, operation, flock); fd是某个文件的句柄,该fd需要以与type......【阅读全文】
发布时间:2012-12-17 11:41:57
1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。 2)命名管道(named pipe):命名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。命名管道在文件系统中有对应的文件名。命名管道通过命令mkfifo或系统调用mkfifo来创建。 3)信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;linux除了支持Unix早期信号语义函数sigal外,还支持语义符合Posix.1标准的信号函数sigactio......【阅读全文】
发布时间:2012-12-17 11:41:46
1.1理解通信协议的概念通信协议的两个特点:1.通信的流程 首先要能连接上服务器,连接上后,双方必须遵守严格约定的消息发送顺序,否则就无法保持双方的交流。2.通信消息格式的定义 客户端在连接通道上向服务器发送消息时,服务器必须知道凭什么来界定收到的数据算是“一条”消息? 打电话时,我们听到的一句话是根据中文的语法基础决定的。当两台机器通信时,这个规则必须定义明确,且双方遵守。多人聊天室开发过程中,大家容易犯这样的错误:如果客户端发送的消息不加上“\r\n”做一条消息的标识符,服务器就无法读到这条消息。 根据这个思路,可以和服务器约定......【阅读全文】