Linux内核
文章平均质量分 92
walkerkalr
学无止境,梦想不止
展开
-
Linux内核——定时器和时间管理
定时器和时间管理系统定时器是一种可编程硬件芯片,它能以固定频率产生中断。该中断就是所谓的定时器中断,它所对应的中断处理程序负责更新系统时间,还负责执行需要周期性运行的任务。系统定时器和时钟中断处理程序是Linux系统内核管理机制中的中枢。另外一个关注的焦点是动态定时器——一种用来推迟执行程序的工具。比如说,如果软驱马达在一定时间内都未活动,那么软盘驱动程序会使用动态定时器关闭软驱马达。内核原创 2014-08-07 12:50:00 · 1537 阅读 · 0 评论 -
Linux内核——中断机制
中断机制为什么需要中断?如果让内核定期对设备进行轮询,以便处理设备,那会做很多无用功,因为外设的处理速度一般慢于CPU,而CPU不能一直等待外部事件。所以能让设备在需要内核时主动通知内核,会是一个聪明的方式,这便是中断。中断处理程序在响应一个特定中断时,内核会执行一个函数——中断处理程序。中断处理程序与其他内核函数的区别在于,中断处理程序是被内核调用来响应中断的,而它们运行于我们称原创 2014-08-06 13:57:23 · 2934 阅读 · 0 评论 -
Linux内核设计与实现——内核同步
内核同步同步介绍同步的概念临界区:也称为临界段,就是访问和操作共享数据的代码段。竞争条件: 2个或2个以上线程在临界区里同时执行的时候,就构成了竞争条件。所谓同步,其实防止在临界区中形成竞争条件。如果临界区里是原子操作(即整个操作完成前不会被打断),那么自然就不会出竞争条件。但在实际应用中,临界区中的代码往往不会那么简单,所以为了保持同步,引入了锁机制。但又会产生一些关于锁原创 2014-08-07 10:57:06 · 953 阅读 · 0 评论 -
Linux内核——内存管理
内存管理页内核把物理页作为内存管理的基本单位;内存管理单元(MMU,管理内存并把虚拟地址转换为物理地址)通常以页为单位进行处理。MMU以页大小为单位来管理系统中的页表。从虚拟内存的角度看,页就是最小单位。32位系统:页大小4KB64位系统:页大小8KB在支持4KB页大小并有1GB物理内存的机器上,物理内存会被划分为262144个页。内核用 struct page 结构表示系统中原创 2014-08-08 20:11:03 · 1318 阅读 · 1 评论 -
Linux内核——进程管理与调度
进程的管理与调度进程管理进程描述符及任务结构 进程存放在叫做任务队列(tasklist)的双向循环链表中。链表中的每一项包含一个具体进程的所有信息,类型为task_struct,称为进程描述符(process descriptor),该结构定义在文件中。 Linux通过slab分配器分配task_struct结构,这样能达到对象复用和缓存着色(cache colorin原创 2014-08-09 12:36:49 · 1392 阅读 · 0 评论