在路上...

The development of life
我们一直都在努力,有您的支持,将走得更远...

站内搜索: Google

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页

2009年8月26日

摘要: Boost内容广泛,数值计算、泛型编程、元编程、平台API……不妨从容选择自己感兴趣的部分,细细品味。 Boost是什么?一套开放源代码、高度可移植的C++库。 谁发起的?C++标准委员会库工作组。 阅读全文
posted @ 2009-08-26 20:45 palam 阅读(333) 评论(0) 推荐(0) 编辑

2009年8月25日

摘要: 一个简单的C++程序:#include <iostream>using namespace std;int main(void){ cout << "hello, world!" << endl;}布尔类型: true or false;引用类型: int m; int &n = m; n相当于m的别名, 对n的操作就是对m的操作;引用与指针的不同:1.... 阅读全文
posted @ 2009-08-25 23:42 palam 阅读(247) 评论(0) 推荐(0) 编辑

摘要: 注意:1)有的 NAND flash 芯片在读的时候,R/B 引脚为忙状态时,需要 CS 片选信号为低, 而有的需要为高,或者无关。如果这个没有设置正确,可能不能够正确读写数据。2)flash 的 page 的大小有的为 512 字节,有的为 2048 字节。3)NAND flash 发送地址的周期,也不相同,有的为 3 个周期,有的为 4 个周期。4)在写页时,需要首先发送 0x00 ,0x01... 阅读全文
posted @ 2009-08-25 16:19 palam 阅读(322) 评论(0) 推荐(0) 编辑

摘要: GRUB是一款非常优秀的系统引导器,它的功能非常强大。ubuntu的/boot/grub下没有grub.conf这个文件(一般linux系统下都是这个文件),跟它等价的文件是menu.lst,他们的参数设置基本是一样的,下面以menu.lst的内容来了解下各参数的意义,首先我们来看一下/boot/grub/menu.lst中的内容 阅读全文
posted @ 2009-08-25 16:19 palam 阅读(2474) 评论(0) 推荐(0) 编辑

摘要: 在Linux操作操作系统某一些异常情况下,大家常会在log文件中看到N messages supressed (N为数字). 下面来解析一下产生原因和含义. 假设有如下情况(仅仅是假设):某设备收到数据(Data)后,需要在内核空分配一缓冲区,如果因为某种原因分配缓冲区失败时,驱动程序(Procedures)(Procedures)用printk打印日志:“Allocte Mem failed". 像上述异常处理情况看似没什么问题,但是在异常情况下,如果每个数据(Data)包分配计算机内存都失败,那会出现用户的 console或者是日志文件中不断出现"Allocate Mem failed".这样会导致“拒绝服务”. 为此,Linux对日志的输出使用了RateLimit机制. 阅读全文
posted @ 2009-08-25 16:17 palam 阅读(1401) 评论(0) 推荐(0) 编辑

摘要: 这个标题很难理解,需要解释一下,一般mips cpu DRAM的起始地址都是0x80000000, 所以在linux kernel中定义PAGE_OFFSET = 0x80000000, 物理地址从0开始,也就是这里的pfn=0 的意思。但是也有少数的mips cpu DRAM的起始地址不是从0x80000000开始的,比如从0x88000000开始。这种情况下,一般linux kernel也可以正常工作,但是会有一个很大的memory lost的现象,我这里要说的就是如何解决这个问题。 阅读全文
posted @ 2009-08-25 16:16 palam 阅读(964) 评论(0) 推荐(0) 编辑

摘要: RCU是2.6内核引入的新的锁机制,在绝大部分为读而只有极少部分为写的情况下,它是非常高效的,因此在路由表维护、系统调用审计、 SELinux的AVC、dcache和IPC等代码部分中,使用它来取代rwlock来获得更高的性能。但是,它也有缺点,延后的删除或释放将占用一些内存,尤其是对嵌入式系统,这可能是非常昂贵的内存开销。此外,写者的开销比较大,尤其是对于那些无法容忍旧数据的情况以及不只一个写者的情况,写者需要 spinlock或其他的锁机制来与其他写者同步。 阅读全文
posted @ 2009-08-25 16:11 palam 阅读(332) 评论(0) 推荐(0) 编辑

摘要: 一:前言RCU机制出现的比较早,只是在linux kernel中一直到2.5版本的时候才被采用.关于RCU机制,这里就不做过多的介绍了,网上有很多有关RCU介绍和使用的文档.请自行查阅.本文主要是从linux kernel源代码的角度.来分析RCU的实现.在讨论RCU的实现之前.有必要重申以下几点:1:RCU使用在读者多而写者少的情况.RCU和读写锁相似.但RCU的读者占锁没有任何的系统开销.写者... 阅读全文
posted @ 2009-08-25 16:07 palam 阅读(1281) 评论(0) 推荐(0) 编辑

摘要: 在 Linux 操作系统中,很多活动都和时间有关,例如:进程调度和网络处理等等。所以说,了解 Linux 操作系统中的时钟处理机制有助于更好地了解 Linux 操作系统的运作方式。本文分析了 Linux 2.6.25 内核的时钟处理机制,首先介绍了在计算机系统中的一些硬件计时器,然后重点介绍了 Linux 操作系统中的硬件时钟和软件时钟的处理过程以及软件时钟的应用。最后对全文进行了总结。 `... 阅读全文
posted @ 2009-08-25 16:05 palam 阅读(467) 评论(0) 推荐(0) 编辑

摘要: 1. 修改源代码的顶层 Makefile CC =$(CROSSCOM_PILE)gcc 为 CC =$(CROSSCOM_PILE)gcc -g 使成生的vmlinux中含有debug信息2. 所有生成 .o 的 rule 中再加一条 /*其他参数除了-c外抄生成.o文件用的参数*/ CC -E -dD -C $< > /preprocessing/$(shell pwd)/$&l... 阅读全文
posted @ 2009-08-25 16:04 palam 阅读(4130) 评论(0) 推荐(0) 编辑

摘要: 多年以来,Linux 内核使用一种称为 SLAB 的内核对象缓冲区分配器。但是,随着系统规模的不断增大,SLAB 逐渐暴露出自身的诸多不足。SLUB 是 Linux 内核 2.6.22 版本中引入的一种新型分配器,它具有设计简单、代码精简、额外内存占用率小、扩展性高,性能优秀、方便调试等特点。本文先介绍 SLAB 分配器的基本原理,然后分析其不足之处并详细介绍 SLUB 的设计思想,最后介绍 SLUB 接口 API 函数及对象分配/释放函数的具体实现。 阅读全文
posted @ 2009-08-25 16:03 palam 阅读(537) 评论(0) 推荐(0) 编辑

摘要: slab.c来自linux内核2.4.22版,本文件按照GNU协议发布。一、准备知识: 1. slab的概念:* 提出的原因:由于操作系统在运行中会不断产生、使用、释放大量重复的对象, 所以对这样的重复对象的生成进行改进可以大大提高效率 *最早由sun的工程师提出(1994年)并首先在sunos5.4上应用。 2. slab算法的基本思路: 分配: if(对相对应的缓存区有空闲位置) 使用这个位置... 阅读全文
posted @ 2009-08-25 16:00 palam 阅读(942) 评论(0) 推荐(0) 编辑

摘要: 如果程序没结束就退出远程管理终端 远程跑的程序很有可能就此当掉 以前常用的解决方式是用命令nohup 但是nohup也有很多的问题 当有了screen 这一切便都迎刃而解了 阅读全文
posted @ 2009-08-25 15:57 palam 阅读(446) 评论(0) 推荐(0) 编辑

摘要: Xwindow是工作站图形系统的工业标准,它有多种不同的实现,Ubuntu系统中使用的为Xorg。 (比较前卫的图形界面系统XGL,实际代替X服务器的作用,另外还有与之配套的窗口管理器) 阅读全文
posted @ 2009-08-25 15:54 palam 阅读(288) 评论(0) 推荐(0) 编辑

摘要: IP 多点广播允许应用程序发送网络中的一组主机可以接收到的单个 IP 数据报。该组中的主机可能驻留在单个子网中,也可能驻留在连接可使用多点广播的路由器的不同子网中。主机可以随时加入或离开组。对主机组中的成员位置或数目没有任何限制。范围在 224.0.0.1 到 239.255.255.255 之间的 D 类因特网地址标识主机组。 阅读全文
posted @ 2009-08-25 15:49 palam 阅读(577) 评论(0) 推荐(0) 编辑

上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页