kernel 浅谈

Tags: Linux  

首先内核空间分代码区,堆栈区,全局变量区。每个内核线程还有用户进程都有一个独立的内核堆栈区,Linux内核的堆栈一般是8K,所以在写内核程序的时候一定要小心,防止函数递归的出现,递归可能导致内核堆栈溢出。其次整个内核空间共用相同的页表,所以内核堆栈的在线性空间的起始地址都是不同的(有待考证,个人暂时猜测)
 

leon Published by 2012-12-03 17:48

Detail »

linux中普通文件和块设备文件的区别

Tags: Linux  

1,概述

一直都搞不明白普通文件跟块文件的区别,总觉得一个普通的文件是存放在磁盘块上,那它既属于普通文件又属于块设备文件。

本文从基本概念,寻址空间,内核读写几个方面介绍普通文件和块设备文件的辩证统一。

2,基本概念

普通文件(Regular File)。指普通意义上的文件,如数据文件、可执行文件等。

leon Published by 2012-12-03 02:32

Detail »

[转帖] Qt vs MFC (Qt和MFC的战争)

Tags: MFC  

我曾经使用过QT和MFC来开发过软件,我想和大家分享我使用他们时所体会的不同之处。

我并非一个职业作家,这篇文章可能看起来不如专业的杂志和网站上的那么条理清晰。但是,我在这里是用我自己的语言来表达我自己的经验,希望能和你分享。英语比不是我的母语,所以可能会有一些用词古怪,词句错误之处,请发信给我,我可以改正他们。

本文不想假装客观公正,我只想表述我使用的经验。文中不会逐条的列举Qt和MFC各自的优缺点。我在使用MFC之前就已经使用Qt这个事实可能影响了我的客观性。

leon Published by 2012-12-01 22:33

Detail »

彻底搞定C指针

Tags: C/C++  

《彻底搞定C指针》第一篇 变量的内存实质

要理解C指针,我认为一定要理解C中“变量”的存储实质,所以我就从“变量”这个东西开始讲起吧!
先来理解理解内存空间吧!请看下图:

内存地址→ 6 7 8 9 10 11 12 13

leon Published by 2012-11-25 22:17

Detail »

十天内掌握线性代数:惊人的超速学习经验

Tags: Interest  

最近,我的朋友斯考特·杨(Scott Young)成就了一个惊人的壮举:他在一年之内,完成了传说中的MIT计算机科学课程表的全部33门课,从线性代数到计算理论。最重要的是,他是自学的,观看在线教程讲座,并用实际的考试作自我评估。(到斯考特的FAQ页面,看看他如何完成这个挑战)

他证明了,读完一门课程,大概只需要1.5个星期。我坚信,能快速掌握复杂信息,对成就卓越事业至关重要(有空看看我的新书)。因此,我很自然地问起斯考特,让他给我们分享他的学习奥秘。所幸他答应了。接下来是一份斯考特的详细解说稿,深入剖析他的学习技巧(包括具体例子),展示他如何拿下这MIT挑战。以下时间交给斯考特……

leon Published by 2012-11-06 23:07

Detail »