自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (4)
  • 收藏
  • 关注

原创 关于外部设备存储空间的地址映射--摘自情景分析

一般说来,对外部设备的访问有两种不同的方式: 1.内存映射:外部的存储单元,比如寄存器,作为内存的一部分出现在系统中,应该是常说的与内存统一编址,向以前调试过的ARM芯片S3C2410。(ARM是不是都这样?) 2.I/O映射:外设的存储单元和内存分属两个不同的体系。访问内存的指令不能访问外设的存储单元。如X86中专门设立了IN/OUT指令。 无论哪种映射方式,都需要一个办法将外设上的存储器映射到虚拟地址空间。-ioremap方法。 对于内存页面,通常先在虚存空间分配一个虚

2011-02-19 20:39:00 928

原创 “不管什么进程,一旦进入了系统空间,都有相同的页面映射”之解疑

#define PGDIR_SHIFT 22#define PGDIR_SIZE (1UL do_fork->copy_mm->mm_init->pgd_alloc->get_pgd_fast->get_pgd_slow static inline pgd_t *get_pgd_slow(void){ pgd_t *pgd = (pgd_t *)__get_free_page(GFP_KERNEL); if (pgd) { memset(pgd, 0, USE

2011-02-19 20:16:00 693

转载 转帖-linux中的块设备和字符设备

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xgjianstart/archive/2009/09/19/4569043.aspx Linux中块设备和字符设备的区别    系统中能够随机(不需要按顺序)访问固定大小数据片(chunks)的设备被称作块设备,这些数据片就称作块。最常见的块设备是硬盘,除此以外,还有软盘驱动器、CD-ROM驱动器和闪存等等许多其他块设备。注意,它们都是以安装文件系统的方式使用的——这也是块设备的一般访问方式。 另一种基本的设备类

2011-02-16 21:44:00 353

原创 进程线程-自己的总结(先写一部分,随后再补充)

    个人揣测,刚开始,人们写完程序,要进行调试。调试的过程中,程序在人的思维中不是死的,而是运动着的。于是慢慢有了进程的概念。所谓进程,说白了就是正在运行中的程序相关的一些内涵外延等。程序要执行,一般要把可执行的代码加载进内存,然后跳到这段程序的起始地址运行。     起初阶段,可能只有一个进程被执行,之后随着多任务的发展需求,出现了多进程,于是有了进程调度,有了所谓的上下文切换。 先粘上牛哥这段话:   “最初的进程定义都包含程序、资源及其执行三部分,其中程序通常指代码,资源在操作系统层面上通常

2011-02-16 21:27:00 399

原创 感谢昨天的交流,难得难得-关于进程、线程

记得刚毕业时,几乎每次面试笔试前都看一下,什么叫做进程,什么叫做线程,两者有什么区别。可惜这么多年过来了,仍然一头雾水,真是羞愧啊。另外,这个问题我拿来问过很多人,包括一些从事多年linux应用软件开发的同事,也没听他们讲明白多少,真是遗憾。 昨天这哥们问的这么一个问题,却让我开窍了。(真是好的问题比好的答案都N啊) linux的一个程序中,创建三个线程,向进程发信号,谁会收到?都会收到,还是只有一个收到? 不能忘了这个问题的引出。本来让我讲一下对进程和线程的理解,我就把头天晚上毛德操书里讲的

2011-02-16 20:50:00 518

原创 知道了一件事情的前世今生,来龙去脉,就好理解了

    前天晚上,有这么点“顿悟”的意思了。 1.看书也好,看别人写的精华的技术类文章也好或者直接聆听别人的现场总结也罢,都是别人通过某种形式“告诉”你别人得到的知识或者经验而已,相当于别人咀嚼过的二手食量--话说的糙了些。 2.自己发现问题--思考问题--解决问题,在此过程中借鉴别人的经验,让别人的知识为自己的思考服务,这才是真正的“思考”,才能让自己获得真知。文雅点,可能就是所谓纸上得来终觉浅,绝知此事要躬行吧。我想,到了这种程度,才算是“操之在我”了。     体会:发现问题,解决问题的思路去考

2011-02-16 20:16:00 879

转载 宏与内联函数(面试常考)--转自fisher_jiang的专栏-http://blog.csdn.net/fisher_jiang

<br />第一部分:宏<br />为什么要使用宏呢?<br />因为函数的调用必须要将程序执行的顺序转移到函数所存放在内存中的某个地址,将函数的程序内容执行完后,再返回到转去执行该函数前的地方。这种转移操作要求在转去执行前要保存现场并记忆执行的地址,转回后要恢复现场,并按原来保存地址继续执行。因此,函数调用要有一定的时间和空间方面的开销,于是将影响其效率。<br />而宏只是在预处理的地方把代码展开,不需要额外的空间和时间方面的开销,所以调用一个宏比调用一个函数更有效率。<br />但是宏也有很多的不尽人

2011-02-14 10:53:00 379

原创 健康,还是健康

    一个星期的鼻炎,每晚醒三次的经历再次警告了自己锻炼身体,保证营养的重要性。身体的不健康,导致生活质量严重下降啊。     每天锻炼一小时,健康工作四十年,幸福生活一辈子。     学会生活。     奋斗并不意味着苦行僧。爱美食,偶尔偷懒,充足睡眠,懂得彻底放松同样是奋斗人生的一部分。     1.以后上下班由步行改为跑步。     2.注意饮食搭配,三十了,身体的收支平衡跟青少年部一样了。      为了好的睡眠,努力!

2011-02-13 13:59:00 505

原创 为什么(-1)转化为unsigned char变为255

-1在内存中以补码的形式存在, 源码:1000 0001 补码=源码取反加1(记住:符号位不变) 即1111 1110+1 即为 1111 1111 unsigned char(1111 1111)当然就是255了 同理可推出unsigned char(-2) 为 254

2011-02-12 17:03:00 1889

原创 还是关于浮点数

main(){ printf("%f/n",5); //printf("0x%x/n",-12.5);}按照《程序员面试宝典》12.1例题1中的说法,printf的参数5为int型,在栈中占4个bytes,而%f代表的float类型在printf中会被自动转换为double类型,从而本程序中的语句要从栈中取8个bytes,从而导致访问内存越界,后果未知。 无语了,俺解释不了了。还是无语。

2011-02-12 16:41:00 317

原创 浮点数在内存中的存储

程序1:main(){ float a = -12.5; int *p = (int *)&a; printf("0x%x/n",*p);}可以打印出浮点数-12.5在内存中的表示。程序2:main(){ float a = -12.5; printf("0x%x/n",*(int*)&a);}功能同程序1。浮点数保存的字节格式如下:地址        +0          +1           +2           +3内容    SEEE

2011-02-12 16:34:00 385

原创 内圣外王

<br />1.承认自己不够N,有时候真是不容易。别人眼里的你不N,大多数时候是正确的。不患人之不己知,患不知人也。<br />2.抱怨面试的人或者领导、别的同事没有看到自己有多N,通常是一厢情愿,类似意淫。类似的表现,责怪面试的人出的题目刁钻,没有测试出自己的真本事,鄙视领导自己水平高不到哪里去还来指导老子,看到同事做事,恨不得跑过去指点江山,挥斥方遒一番。自己就真的那么N?真那么N的话,应该把别人出的题答得漂漂亮亮的,然后再NN的告诉别人,你出的这题未必能测试出一个应聘者真正的项目实战能力,想想自己能做

2011-02-12 14:56:00 353

转载 转帖--关于spin_lock-(居然首次关注内核执行路径,惭愧)

<br />关于spin_lock<br />需要澄清的是,互斥手段的选择,不是根据临界区的大小,而是根据临界区的性质,以及 <br />有哪些部分的代码,即哪些内核执行路径来争夺。 <br />从严格意义上说,semaphore和spinlock_XXX属于不同层次的互斥手段,前者的 <br />实现有赖于后者,这有点象HTTP和TCP的关系,都是协议,但层次是不同的。 <br />先说semaphore,它是进程级的,用于多个进程之间对资源的互斥,虽然也是在 <br />内核中,但是该内核执行路径是以进

2011-02-12 14:43:00 458

原创 转帖--谈谈我对攻读计算机研究生的看法

就我自己的理解,谈谈我对读研和软件学院的看法,不妥之处一笑了之即可。 " C, [- {  G, A- R 如果你有实际开发工作经验,感觉自己的水平和实力进入了一个高原期,迫切需要从理论上提高,那么计算机学院是唯一选择。因为计算机学院才能让你在理论上更上一层楼。软件学院从教学计划上就没有把你往这方面带。当然能不能更上一层楼最终还是完全取决于你自己。需要特别说明的是,工作经验并不一定等于开发经验,我见过很多工作2-3年的人,但是没有一点开发经验。 你说:“他们都有很强的开发能力,只是不太喜欢读书,

2011-02-10 21:43:00 523

原创 转帖--考查嵌入式C开发人员的最好的0x10道题

编者按:非常基本关于C语言的问题,一个信息类(计算机,资讯工程,电子工程, 通信工程)专业的本科毕业生应该达到的水平。题目不难,全部都能快速地答完,当然也需要一定的知识储备。 对于大多数人,我们预期你可能答错 3)   4)  15)题,所以答错3道以内的,我们认为你很棒 答错5道题以内,我们认为你还不错(你还可能答错第9题) 如果你有6道以上的题目不能答对,基本上我们都不好说什么了.... 约定:    1) 下面的测试题中,认为所有必须的头文件都已经正确的包含了   

2011-02-10 21:33:00 447

系统设计黄金法则:简单之美

系统设计黄金法则:简单之美 从陈首席处下载的,KISS原则的阐述,值得学习。

2013-05-22

微信背后的产品观.pdf

微信背后的产品观 存在感是指人离开了SNS就觉得 自己与人群脱节被孤立而无价值。这些产品在中国不能普 及,因为中国人面临的问题比存在感还低一个层次,是 “生存感”。但中国有这样一个群体,他们既有生存感的 压力,又有存在感的渴望,这群人就是“屌丝”。中国互 联网的主题用户心理和需求,应从了解屌丝群生存和心理 状态入手,搞请了屌丝,就把握住了用户群。

2013-05-22

数字电视,PSI和SI以及EPG

个人感觉做的很不错的ppt,好不容易下载的

2011-04-22

Understanding Linux Network Internals.chm

Understanding Linux Network Internals

2009-04-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除