Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1664004
  • 博文数量: 607
  • 博客积分: 10031
  • 博客等级: 上将
  • 技术积分: 6633
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-30 17:41
文章分类

全部博文(607)

文章存档

2011年(2)

2010年(15)

2009年(58)

2008年(172)

2007年(211)

2006年(149)

我的朋友

分类: LINUX

2007-09-10 16:11:37

by pascal4123(http://pascal4123.cublog.cn)

Kernel(内核代码)
kernel代码按功能可分3类:
硬件/异常中断处理;
系统服务调用;
进程调度。
 
硬件/异常中断处理包括2个文件:asm.s,traps.c
asm.s 大部分中断处理;
traps.c 部分中断处理调用的c函数
255个中断号,0-31归为软件中断,即异常。
 
--------------------
中断可分为三类,第一类是由CPU外部引起的,称作中断,如I/O中断、时钟中断、控制台中断等。第二类是来自CPU的内部事件或程序执行中的事件引起的过程,称作异常,如由于CPU本身故障(电源电压低于105V或频率在47~63Hz之外)、程序故障(非法操作码、地址越界、浮点溢出等)等引起的过程。

第三类由于在程序中使用了请求系统服务的系统调用而引发的过程,称作“陷入”(trap,或者陷阱)。前两类通常都称作中断,它们的产生往往是无意、被动的,而陷入是有意和主动的。
 
系统调用都是通过中断int 0x80
 
schedule.c 内核调度程序。
 
阅读(847) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~