摘要: 内存管理学习笔记 页 页是内核管理内存的基本单位,内存管理单元(MMU,管理内存并把虚拟地址转化为物理地址的硬件)通常以页为单位进行处理,从虚拟内存的角度看,页就是最小单位。 flag成员:页的状态,比如页是不是脏的、是不是被锁在内存中。flag的每一位单独表示一种状态,也就是说最少可以表示32中状 阅读全文
posted @ 2017-08-11 10:53 gexin1023 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 定时器与时间管理笔记 内核中的时间 时钟中断:内核中的系统定时器以某种频率触发中断,该频率可以通过编程预定。 节拍率HZ:时钟中断的频率称为节拍率。 节拍:相邻两次中断的时间间隔称为节拍,1/节拍率。 节拍率HZ 系统定时器的节拍率是通过静态预处理定义的,也就是HZ值,在系统启动时按照HZ值对硬件进 阅读全文
posted @ 2017-08-10 20:27 gexin1023 阅读(371) 评论(0) 推荐(0) 编辑
摘要: Linux内核同步笔记 几个基本概念 临界区(critical region):访问和操作共享数据的代码段; 原子操作:操作在执行中不被打断,要么不执行,要么执行完; 竞争条件: 两个线程处于同一个临界区内执行,对数据同时访问或操作,称之为竞争; 同步(synchronization):避免并发和防 阅读全文
posted @ 2017-08-04 15:02 gexin1023 阅读(418) 评论(0) 推荐(0) 编辑
摘要: crt0,S(_main)代码分析 1. 设置sp寄存器地址 2. 在栈中为全局变量gd分配空间 board_init_f_alloc_reserve函数原型如下: 3. 在栈中gd空间清零 board_init_f_init_reserve 函数定义如下: 4. 调用board_init_f,初始 阅读全文
posted @ 2017-08-03 20:02 gexin1023 阅读(847) 评论(0) 推荐(0) 编辑
摘要: 下半部笔记 1. 软中断 软中断实现 软中断是在编译期间静态分配,其结构如下所示,结构中包含一个接受该结构体指针作为参数的action函数。 在kernel/softirq.c中定义了一个包含32个结构体的数组,每个数组成员都是一个被注册的软中断,数组如下所示: 软中断处理程序 软中断处理函数act 阅读全文
posted @ 2017-08-03 20:01 gexin1023 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 中断与中断处理 何为中断? + 一种由设备发向处理器的电信号 + 中断不与处理器时钟同步,随时可以发生,内核随时可能因为中断到来而被打断。 + 每一个中断都有唯一一个数字标志,称之为中断线(IRQ) + 异常是由软件产生,与处理器时钟同步。 中断处理程序 + 由内核调用来响应中断 + 运行于中断上下 阅读全文
posted @ 2017-08-03 19:59 gexin1023 阅读(696) 评论(0) 推荐(0) 编辑
摘要: 4.Median of Two Sorted Arrays Discription There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two sorted 阅读全文
posted @ 2017-04-13 21:46 gexin1023 阅读(166) 评论(0) 推荐(0) 编辑