博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
操作系统--中断与系统调用
阅读量:3957 次
发布时间:2019-05-24

本文共 903 字,大约阅读时间需要 3 分钟。

操作系统--中断与系统调用

1. 中断

1-1. 中断的概念

指处理器停止当前运行的程序,转而处理新的程序。新程序处理结束后,回来继续处理原来被停止的程序。

 

1-2. 中断的作用

  • 提高计算机的运行效率
    因为协调了外部设备速度慢和CPU处理速度快的矛盾
  • 维持系统可靠正常工作
    如果遇到异常情况,CPU可以通过发起中断来维持系统稳定
  • 满足实时处理要求
    可以保证一些处理优先级高的程序优先执行
  • 提供故障现场处理手段
    CPU一旦发现故障或者错误,可以立即中断程序

 

1-3. 中断的分类

intel系列CPU把中断进一步分为异常和中断两类。

 

 

  • 中断
    • 可屏蔽中断:IO设备发出的,CPU可以选择是否响应的中断
    • 非可屏蔽中断:IO设备发出的,CPU必须响应的中断
  • 异常
    • 处理器探测异常:处理器执行指令过程中发现翻唱条件所产生的异常
    • 变成异常:编程者产生的异常

 

1-4. 中断向量与中断描述符表

  • 中断向量:系统为每个中断分配了一个唯一标识号,范围是0~255,其作用是作为中断描述符表的索引号,所以中断描述符表只有256个表项
  • 中断描述符表:CPU会把内存中1KB的空间拿出来存放中断描述符表,每一个表项占用8B空间。空间内存储出现该中断时,系统必须执行的一些指令

 

2. 系统调用

2-1. 概述

  • 概念:提供接口给应用程序来使用,是计算机硬件系统和用户程序之间的一个中间层。
  • 作用:
    • 方便了程序员,把程序员从计算底层原理中解放出来
    • 通过权限控制来提高系统的稳定性
    • 只要接口相同,应程序就可以在不同操作系统上实现移植

 

2-2. 系统调用号、系统调用服务例程和系统调用入口表

  • 系统调用号:在操作系统中,系统调用使用号码进行存储
  • 系统调用入口表:可以使用系统调用号在表里查询到相应的系统调用服务例程
  • 系统调用服务例程:在操作系统内核中的真正实现调用硬件资源的函数

系统调用过程:

  1. 应用程序产生系统调用,并查询内存中的系统调用入口表得到系统调用号并存储在硬件中(linux中为EAX寄存器中)
  2. 应用程序产生异常编程来发出中断请求,迫使CPU切换状态并调用系统调用程序
  3. 系统调用程序通过系统调用号来找到相应的系统调用例程,最终实现功能

转载地址:http://kctzi.baihongyu.com/

你可能感兴趣的文章
通过Java Swing看透MVC设计模式
查看>>
Java 理论与实践: 关于异常的争论
查看>>
编写高效的线程安全类
查看>>
提高Java代码可重用性的三个措施
查看>>
编写跨平台Java程序注意事项
查看>>
富人和穷人的12个经典差异
查看>>
java 注意事项[教学]
查看>>
MetaWeblogAPI测试
查看>>
软件配置管理概念-1,介绍
查看>>
软件配置管理概念-2,用户角色
查看>>
软件配置管理概念-3,CM系统的概念
查看>>
JSP/Servlet应用程序优化八法
查看>>
人生必修的181条佛理
查看>>
The Most Widely Used Java Libraries
查看>>
简单在单机使用apache-james(开源邮件服务器)
查看>>
lsof 快速起步
查看>>
使用ScribeFire方便地发布blog
查看>>
跨平台Java程序注意事项
查看>>
Python字符与数字的相互转换
查看>>
C 指针解读
查看>>