深入理解linux内核笔记 http://blog.csdn.net/shaohaigod1981

来源:互联网 发布:图书管理系统c语言代码 编辑:程序博客网 时间:2024/04/30 01:55
 

深入理解linux内核笔记六:linux系统调用

 一般情况下,进程不能存取系统内核的,只有系统调用是一个例外,在intel结构的计算机中,是通过中断0x80实现的进程可以可以跳转到内核中的位置是system_call。在此检查系统调用号,它告诉内核进程请求何种服务,然后查找系统调用表sys_call_table,找到希望调用的内核地址函数,调用此函数,然后返回。       1、  宏定义(unistd.h)_syscall...
 阅读(430) 评论(1)
 

深入理解linux内核笔记五:异常和中断(4)之软中断、tasklet和工作队列

1、软中断软中断和tasklet有密切的关系,tasklet是在软中断之上实现的,软中断的分配是静态的(在编译是定义),而tasklet的分配和初始化是可以在运行时进行的。 Linux2.6使用了有限个软中断,目前使用了6个。软中断下标(优先级)说明HI_SOFTIRQ0处理高优先级的taskl...
 阅读(1407) 评论(2)
 

深入理解linux内核笔记四:异常和中断(3)

 1             异常和中断处理1.1       中断和异常的硬件处理从硬件角度看CPU如何处理中断和异常,假定CPU已转到保护模式当CPU执行当前指令后,CS和EIP这对寄存器包含下一条要执行指令的逻辑地址,执行下一条指令前,CPU判断是否有异常或中断发生,如果有异常和中断,CPU将做如下事情:·  确定所发生中断或异常向量在0―255间·通过IDTR找到IDT...
 阅读(1706) 评论(0)
 

深入理解linux内核笔记三:异常和中断(2)

 1             中断描述符表IDT的初始化1.1       预初始化中断描述表寄存器IDTR的初始化,代码在arch/i386/boot/setup.Slidt    idt_48                   # load idt with 0,0…    idt_48:         .word   0                  # ...
 阅读(575) 评论(0)
 

深入理解linux内核笔记二:异常和中断(1)

 1、  中断向量      x86有256个中断向量:异常和中断。        异常又分为:故障(fault)和陷阱(trap),不使用中断控制器,不能被屏蔽,向量固定。        中断又分为:外部可屏蔽中断(INTR),I/O设备产生IRO都是可屏蔽中断,可通过对中断控制器编程改变           外部非屏蔽中断(NMI),硬件故障产生的是非屏蔽中断,向量固定...
 阅读(976) 评论(0)
 

深入理解linux内核笔记一:_set_gate分析

 #define _set_gate(gate_addr,type,dpl,addr,seg) /do { /  int __d0, __d1; /  __asm__ __volatile__ ("movw %%dx,%%ax/n/t" / "movw %4,%%dx/n/t" / "movl %%eax,%0/n/t" / "movl %%edx,%1" / :"=m" (*((long *) ...
0 0
原创粉丝点击