《Linux0.11内核完全注释》读后小结 --- 中断与系统调用

Linux 系统包含了一大堆的中断,是所有操作的基础。

中断中的开闭中断

cli(close interrupt)指令用来复位CPU标志寄存器中的中断标志,使系统不响应外部中断。sti(start interrupt)指令用来复位,使系统响应中断。

asm.s 设置了一堆底层中断,进入中断前要压入eax等寄存器,执行完要pop 出一些寄存器。这种统一的工作在 no_error_code里

trap.c 里面是真正的中断处理C函数。set_trap_gate 就是设置IDT, 把asm.s中的函数地址加载到IDT表中。这个函数里内嵌汇编,内嵌汇编的语法讲了一些



system_call.s 是系统调用的处理,和系统时间中断

Linux 中应用程序调用内核的功能是通过中断调用int 0x80进行的。寄存器eax中存放调用号,如果带参数,则ebx,ecx和edx存放参数。

系统调用需要从用户态转换到内核态,通过中断实现的。

中断结束后,(感觉操作系统,就是通过系统调用来插手每个进程的执行的)

    • 要检查时间片,是否用光,如果用光调用reschedule,进行进程切换。
    • 还需要检查signal位,如果这个进程有待处理的信号,先进行信号出来。系统调用再返回




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值