易截截图软件、单文件、免安装、纯绿色、仅160KB

请问linux中的堆栈

请问linux中的堆栈是怎么样的?为什么我在书上看到这个?
kernel/fork.c,92行:

    p->tss.esp0 = PAGE_SIZE + (long)p;

    p->tss.ss0 = 0x10;

其中,p是新任务的任务数据结构指针,tss是任务状态段结构

为什么esp在 高地址,而ss=0x10=00010 0 00
我没找到 gdt的0x10,不过我在别的书上看到gdt 0x10 是kernel——cs
即开始于0位置?如果这样,那堆栈不是 成了向上延伸的了?
小弟初学,希望各位大哥不吝赐教

内核对进程有自己的内核模式栈,tss.esp0会在用户模式切换到内核模式时得到内核栈的位置。
对ss0,我的理解是内核基本不用段的概念,所以内核CS和DS段的起止位置是一样的。所以其实ss0的含义是DS段。
你看的代码是2.4的?2.6后期的内核DS和CS似乎是从0x0开始的

这个代码应该是linux0.11的吧?内核栈和进程struct还在一页以内呢,2.4以后的都是占用两页了
p->tss.esp0 = PAGE_SIZE + (long)p; 设置内核的堆栈在这一页的末端,然后向下生长


相关问答:

linux 和 windows 相比 安全性何在

  有人认为,linux 安全性高,只是因为用的人少,所以那些黑客不愿意去攻击,所以病毒之类的就少,是不是这样?而且linux是开源的,攻击起来 比较容易所以 懒的去攻击
这种说法对么
linux 怎么就安全高 ......

请问Ubuntu Linux 怎么实现离线更新呢?

现在我有两台机 一个在家  一个在学校  在学校的那台机子不能上网  我把家里的那台机子更新到最新了  然后把 /var/cache/apt/archives  下的所有Deb包复制到学校那台没联网的机子上了&nbs ......

windows文件系统 比 linux文件系统慢在哪儿?

一直用svn来做资源的管理,
现在发现windows下取svn 要10个小时左右(资源大约有20G,全是小文件)
linux下取仅用40分钟,

请问linux的文件系统在哪儿比windows文件系统强力?

svn 可够慢的。

在 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号