sysenter系统调用的疑问
在执行INT指令时,实际完成了以下几条操作:1.由于INT指令发生了不同优先级之间的控制转移,所以首先从TSS(任务状态段)中获取高优先级的核心堆栈信息(SS和ESP);2.把低优先级堆栈信息(SS和ESP)保留到高优先级堆栈(即核心栈)中;3.把EFLAGS,外层CS,EIP推入高优先级堆栈(核心栈)中。4.通过IDT加载CS,EIP(控制转移至中断处理函数)5.然后就进入了中断0x80
作者: nighthuman 发布时间: 02-02
内核态和用户态市如何交换数据的?
问一个很低级的问题:内核态和用户态是如何交换数据的?问这个问题的原因是看缺页异常的有些不理解:当发生缺页异常时,如果是在内核空间对内核空间的访问,则跳转到vmalloc_fault处执行,如果是在用户态对用户空间的访问,则跳转到good_area处执行,而用户态对内核空间的访问和内核态对用户空间的访问都认为是非法的。请问我这样理解是正确地么?如果是正确地,那么两个空间是什么时候,如何互相访问的?
作者: Ruzi 发布时间: 06-28
求一本书《Linux 1.0核心游记》
请给个连接或给我邮一下:[email protected]这个连接已经不能下载了,网上找了半天也没有找到,谢谢!http://www.linuxabc.net/book/bookinfo.php?id=362
作者: Crisdin 发布时间: 04-28
内存管理的两个问题
1、在ULK中关于线性区的扩展提到了可以对堆栈进行扩展,linux的栈大小不是固定大小么?不可能大于8K,如何进行扩展呢?2、用户进程可以访问vmalloc分配的内存么?如果可以,时如何使用和分配的?谢谢
作者: Ruzi 发布时间: 06-20
request_irq的一个问题
我将2.6.12一直到一块powerpc405的板子上,但在启动串口终端时出错了。irq20:nobodycared!Calltrace:[a0005d98]dump_stack+0x18/0x28[a0033b58]__report_bad_irq+0x34/0xac[a0033ca0]note_interrupt+0x98/0xd4[a0033694]__do_I
作者: guoys 发布时间: 09-20
Linux 0.0.1 分析文档
http://hpclab.cs.tsinghua.edu.cn/~tm...dexkernel.htmlPHP代码:启动部分简介 Boot.S分析 Filesystem主要数据结构 文件系统部分代码分析(I)&
作者: qing 发布时间: 05-27
请教各位怎么在2.4内核devfs模式下手动删除设备节点和相关目录?
我接U盘,自动创建了设备节点,拔出后设备节点没有被自动删除,内核配置是不是有问题?或者能有手工的吗?谢谢!
作者: beyond93 发布时间: 07-04
谁可以帮我注释一下这段汇编程序?很多地方都读不懂,谢谢
_syscall1(int,setuid,uid_t,uid);将被展开成下面的汇编指令_setuid:subl$4,%exppushl%ebxmovzwl12(%esp),%eaxmovl%eax,4(%esp)movl$23,%eaxmovl4(%esp),%ebxint$0x80movl%eax,%edxtestl%edx,%edxjge
作者: xdw_jack 发布时间: 06-06
修复Grub启动的疑难问题请教!(已解决)
我用的是Suse10.1,使用中发现根分区"/"快满了,就在windows下用AcronisDiskDirector将“/”分区扩大了1GB,/boot也在“/”分区下,重启动后grub丢失了。我用suse安装盘进入rescue模式。#grubgrub>root(hd0,//按TAB键出来:partitionnum0,Filesystemtypeisvf
作者: xhawk 发布时间: 07-05
哪里有动态连接器方面的分析?
我想知道一个程序执行时,动态连接的过程,以及怎样对ELF文件进行解析的?LINUX下动态连接器的源代码是哪个文件?
作者: shensnow520 发布时间: 06-07