[已注销]对《Understanding the Linux Kernel》的笔记(4)

Understanding the Linux Kernel
  • 书名: Understanding the Linux Kernel
  • 作者: Daniel Plerre Bovet/Marco Cesati
  • 副标题: The Linux Kernel
  • 页数: 944
  • 出版社: O'Reilly Media
  • 出版年: 2005-11
  • 9%
    From the kernel's point of view, the *purpose* of a process is to act as an entity to which system resources(CPU time, memory, etc) are allocated.
    CPU time is another kind of resources.
    2013-09-06 21:24:26 回应
  • 9%
    轻量级线程用另一个pid来区分,线程組leader的PID(也就是线程组中头一个轻量级线程的PID)被线程共享,保存在thread_info->tgid中。
    getpid()返回tgid的值,而不是PID值。对thread group leader来说,tgid = pid
    2013-09-06 21:46:05 回应
  • 4%
    英文版看得真舒服,配上示意图,逻辑一清二楚。
    1.segment discrpitor为什么要分成 Code/Data/和TSS?
    内存中的01010既可以代表Code,也可以代表data,也可以代表暂存的处理器状态。
    2. 为什么硬件要提供gdtr和ldtr这两个寄存器?
    gdtr和ldtr这两个寄存器始终指向了GDT 和 LDT 在内存中的位置(虚拟地址)
    这样当段寄存器的值(segment selector)不变时,就可以跳过地址翻译的前两步
    第一步,根据段寄存器的TI判断descriptor保存在GDT还是LDT中,然后从gdtr/ldtr取出descriptor的位置(注意,此时硬件已经)
    第二步,根据index去查GDT或LDT,找到descriptor.base
    第三步,descriptor.base + offset 即 linear address
    2013-09-06 22:15:38 回应
  • 5%
    page frame 是保存 page 的地方,物理概念,是抽屉
    page 是数据,01011,4KB大小,是逻辑概念,是东西
    2013-09-07 09:57:14 回应

[已注销]的其他笔记  · · · · · ·  ( 全部295条 )

The Design of Everyday Things
1
About Face 3
6
Engineering a Compiler
1
人有人的用处
8
计算机程序设计艺术
1
公正
1
The Art of Doing Science and Engineering: Learning to Learn
1
科学革命的结构
7
罗素论教育
3
三十六大
1
娱乐至死
3
Real World Haskell
2
Writing Analytically
1
Is Parallel Programming Hard, And, If So, What Can You Do About It?
1
计算机与人脑
1
组合数学
2
菊与刀
1
Rework
5
翻译新究
4
计算机程序的构造和解释
5
The Laws of Simplicity
4
计算机组成与设计硬件/软件接口
6
写给无神论者
2
放任自流的时光
3
哥德尔、艾舍尔、巴赫
2
树上的男爵
2
C++语言的设计与演化
1
Land of LISP
7
C陷阱与缺陷
2
CUDA by Example
3
C++沉思录
1
世界尽头与冷酷仙境
4
Head First C
2
刀锋
1
并行编程模式
2
The Ph.D. Grind
2
计算机系统结构
2
禅与摩托车维修艺术
14
流浪的面包树
2
翻译研究
18
An Introduction to Programming in Emacs Lisp
1
GNU Emacs Lisp 编程入门
1
计算机系统概论
1
编码
3
拖延心理学
1
古今数学思想(一)
1
挪威的森林
9
奇特的一生
7
GPU高性能运算之CUDA
5
那些年,我们一起追的女孩
8
十八岁给我一个姑娘
2
C++编程思想(第1卷)
9
多核计算与程序设计
8
少有人走的路
5
忧伤的情欲
3
Hackers & Painters
7
哲学的慰藉
9
男人来自火星 女人来自金星
8
旅行的艺术
14
活着活着就老了
1
如何阅读一本书
7
Data-intensive Text Processing With Mapreduce
1
学习GNU Emacs
1
给研究生的学术建议
3
C专家编程
2
Spring揭秘
2
Head First Java(第二版·中文版)
1
自私的基因
1
C程序设计语言
2
计算机网络
3
自由在高处
2
大话设计模式
16
计算机网络
12