散列表
前几天看《linux内核设计与实现》的时候,发现一个新名词(对于我来说)“散列表”,直接给我看蒙住了,散列表是个什么鬼,于是今天晚上找了本数据结构的书,来学习下散列表这个新东西。
散列表:
既是一种存储的技术,又是一种查找的技术,也就是说可以用它来查找与存储,不同于一般的存储与查找,一般正常的存储,举个例子一个已经存在的数组,其中...
分类:
其他好文 时间:
2015-06-17 09:44:49
阅读次数:
125
在娄老师手上学习技术已经一年半了,虽说技术不是登峰造极,但是也多计算机略有了解,无论说编程还是玩转电脑,老师都是我最佩服的人。老师在我们的教学的过程中不仅仅教我们学习知识还教我们学习知识的方法。那叫授之于鱼不如授之于渔。在这学期我充分的学习到娄老师的学习方法与途径。翻转课堂,课堂翻转,谢谢娄老师对教...
分类:
系统相关 时间:
2015-06-11 16:29:49
阅读次数:
115
1.进程的内核区域包含各种内存对象
进程的内核区域包含各种内存对象,比如:
1.可执行文件代码可以包含各种内存映射,称为代码段(text section)。
2.可执行文件的已初始化全局变量的内存映射,称为数据段(data section)。
3.包含未初始化全局变量,也就是bss段的零页(页面中的信息全部为0值,所以可以用于映射bss段等目的)的内存映射。
4....
分类:
系统相关 时间:
2015-06-08 19:37:01
阅读次数:
193
汇编语言基础1
因为以后应该是要看内核相关的东西,内核百分之二十是用汇编语言写的,不会汇编显然不行,要学的东西还是真多,汇编只是正是走向内核之路的开始,万事开头难,还真是难,下午下载了2.6 和 4.04 的代码显然还是看不懂,那就从基础看把,我至少先搞明白内核是个什么东西,就选择了《linux内核设计与实践》这本书偏向理论,不过现阶段我就是看看内核是什么东西,然后在去看...
分类:
编程语言 时间:
2015-06-06 09:18:21
阅读次数:
187
1.页
内核把物理页作为内存管理的基本单位,MMU(内存管理单元)以页为单位来管理系统中的页表,从虚拟内存的角度来看,页就是最小单位。
内核用struct page结构来标识系统中的每一个物理页,它的定义如下:
flag域用来存放页的状态(是不是脏的,是不是被锁定在内存中等等)。_count表示这一页被引用了多少次,当次数为0时,表示此页没有...
分类:
系统相关 时间:
2015-06-04 11:47:06
阅读次数:
239
1.中断的概念
中断本质上是一种特殊的电信号,由硬件设备发向处理器。处理器接收到中断后,会马上向操作系统反映此信号的到来,然后就由OS负责处理这些新到来的信号。
从物理学的角度看,中断是一种电信号,有硬件设备产生,并直接送入中断控制器的输入引脚上。然后再由中断控制器向处理器发送相应的信号。处理器一经检测到此信号,便中断自己的当前工作转而处理中断。伺候处理器会通知操作系统已经...
分类:
系统相关 时间:
2015-06-01 11:33:53
阅读次数:
233
1.系统调用的概念
为了和用户空间上运行的进程进行交互,内核提供了一组借口。透过该接口,应用程序可以访问硬件设备和其他操作系统资源。这组借口在应用程序和内核之间扮演着使者的角色。同时,这组接口也保证了系统稳定可靠,避免应用程序肆意妄行,惹出麻烦。Linux系统的系统调用作为C库的一部分提供,其调用过程中的实例如下图所示:
从程序员的角度看,系统调用无关紧要,他们只需...
分类:
系统相关 时间:
2015-05-30 12:16:27
阅读次数:
247
1.进程描述符及任务结构
Linux内核把进程存放在叫做任务队列的双向循环链表中。链表中的每一项都是类型为task_struct,称为进程描述符的结构。进程描述符包含一个具体进程的所有信息。
task_struct相对较大,在32位的机器长,它大约有1.7K字节。进程描述符中的数据能完整的描述一个正在执行的程序:它打开的文件、进程的地址空间、挂起的信号、进程的状态,还有其他...
分类:
系统相关 时间:
2015-05-29 18:11:24
阅读次数:
241
1. 模块module 操作系统分微内核和宏内核,微内核优点,可以使操作系统仅作很少的事,其它事情如网络处理等都作为应用程序来实现,微内核精简的同时,必然带来性能的下降。而linux的宏内核设计,保证了设计性能,但linux作为一个通用操作系统,必然会兼容很多硬件,而linux本身的宏内核设计,导致...
分类:
系统相关 时间:
2015-05-16 18:08:50
阅读次数:
319