对于管道和FIFO来说,必须应该先有读取者存在,否则先有写入者是没有意义的。而消息队列则不同,它是一个消息链表,有足够写权限的线程可往别的队列中放置消息,有足够读权限的线程可从队列中取走消息。每个消息都是一个记录,它由发送者赋予一个优先级。在某个进程往一个队列写入消息之前,并不需要另外某个进程在该队列上等待消息的到达。消息队列是随内核的持续性,一个进程可以往某个队列写入一些消息,然后终止,再让另外...
分类:
系统相关 时间:
2014-06-20 13:31:47
阅读次数:
298
Linux的shell编程
1、什么是shell?
当一个用户登录Linux系统之后,系统初始化程序init就为每一个用户运行一个称为shell(外壳)的程序。
shell就是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动、挂起、停止甚至是编写一些程序。一般的Linux系统都将bash作为默认的shell。...
分类:
系统相关 时间:
2014-06-20 12:33:31
阅读次数:
306
按照前面分析的u-boot的启动流程,自己写一个简单的Bootloader。这是参考韦东山老师的视频写的。
1、初始化硬件:关看门狗、设置时钟、设置SDRAM、初始化NAND Flash
2、如果Bootloader比较大,要重定位到SDRAM
3、把内核从NAND FLASH读入SDRAM
4、设置“要传给内核的参数”
5、跳转执行内核
start.S代码如下:
#define S...
分类:
其他好文 时间:
2014-06-20 12:30:17
阅读次数:
300
c语言设置cpu affinity (设置程序需要使用的cpu内核) cpu mask...
分类:
编程语言 时间:
2014-06-20 12:10:17
阅读次数:
315
进程间通信就是在不同进程之间传播或交换信息,那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区。但是,系统空间却是“公共场所”,所以内核显然可以提供这样的条件。除此以外,那就是双方都可以访问的外设了。在这个意义上,两个进程当然也可以通过磁盘上的普通文件交换信息,或者通过“注册表”或其它数据库中的某些表项和记录交换信息。广义...
分类:
系统相关 时间:
2014-06-20 10:43:26
阅读次数:
376
新的os x内核禁止未授权的程序随意控制,如何在不root的情况下使用gdb呢?...
分类:
数据库 时间:
2014-06-07 14:27:21
阅读次数:
309
用户空间使用Linux数据结构系列之红黑树
本文通过对Linux内核中红黑树的源码分析,通过大量图示描述红黑树的原理,最后通过移植改造Linux内核红黑树代码,使用户空间也能使用Linux红黑树.本着从群众中来,回到群众中去的原则,本文很多内容都是参考网上资料,但本身不影响大家阅读,因为我们的目的很...
分类:
其他好文 时间:
2014-06-07 09:33:14
阅读次数:
281
笔者理解:Kithara
RTS的多任务编程主要用于内核实时程序开发中,其体系结构比较像一些嵌入式实时操作系统,如ucos,freertos等。笔者翻译了一部分内容,有一些内容看原文更好理解,因此没有翻译。
Tasks The Multitasking Module offers task exec...
分类:
其他好文 时间:
2014-06-07 09:32:36
阅读次数:
262
系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2)
uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda
罗列一个磁盘的架构特性 hdparm -tT /...
分类:
系统相关 时间:
2014-06-07 06:59:32
阅读次数:
405
linux常用命令系统信息 arch 显示机器的处理器架构(1) uname -m
显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm
-i /dev/hda 罗列一个磁盘的架构特...
分类:
系统相关 时间:
2014-06-07 06:55:35
阅读次数:
354