ULK一周总结(2008-7-3)
上一篇 /
下一篇 2008-07-03 22:08:40
这一周工作挺忙,ULK学的少了点。
1. 32位系统中用户进程不能寻址1G以上,PAE(物理地址扩展)下用户进程不能寻址4G以上。
2. machine_specific_memory_setup: 建立物理映射;setup_memory: 分析物理内存区域表,并初始化一些表示物理内存布局的变量。
3. 用户线性空间地址和内核线性地址以PAGE_OFFSET(0xc0000000,3G)分界
4. 三级模式下:页全局目录项中1项=4k * 2的10次方 = 4M,全局页表1024项,可寻址4G,前768项表示768*4M=3G,因此第768项开始表示3G以上的内核地址。
5. 建立内核页表:(1)创建128K地址空间;(2)初始化临时内核表;(3)建立最终内核表
6. 因为内核初始化在8M以内,临时内核表需要将物理内存前8M映射到用户空间和内核空间,8M需要2个页全局目录项,所以临时页全局目录中第0、1(用户空间前8M)、768、769项(内核空间前8M)需要有内容。
7. 用Linux线程组实现POSIX多线程应用程序。
8. 内核通过进程描述符指针来引用进程,进程标识符是访问进程的另一种方式。
9. tgid:线程组ID,getpid系统调用返回的是tgid而不是pid。
10. 内核分配thread_union时,让这8K空间的第一个页框起始地址是2的13次方的倍数,这样可以直接高效取得进程描述符。
11. 因为有140个优先级,所以每个CPU都有140个不同的队列。
导入论坛
收藏
分享给好友
管理
举报
TAG:
Linux
kernel