前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >中断异常和系统调用

中断异常和系统调用

作者头像
用户11097514
发布2024-05-30 21:57:36
发布2024-05-30 21:57:36
1360
举报
文章被收录于专栏:技术分享技术分享

思维导图

中断的作用

CPU上会有两种程序

  • 操作系统内核程序
  • 应用程序

中断是让操作系统内核夺回CPU使用权的唯一途径

内核态 —-> 用户态: 执行一条特权指令,—修改PSW的标志位为”用户态“, 这个动作意味着操作系统主动让出CPU使用权

用户态 —-> 内核态: 由中断引发, 硬件自动完成变态的过程 ,触发中断信号意味着操作系统将强行夺回CPU的使用权。

中断的类型

内中断(异常)

与当前执行的指令有关, 中断信号来源于CPU内部

  1. 陷阱、 陷入(trap )

由陷入指令引发的, 是应用程序故意引起的

  1. 故障 ( fault )

由错误条件引起的 , 可能被内核程序修改 ,内核程序修复后会把cpu的使用权交给应用程序, 让他继续执行。

  1. 终止 ( abort )

由致命错误引起的 , 内核程序无法修复的错误。 所以内核就不会将cpu使用权交给应用程序 。

如: 非法的使用特权指令。

外中断

与当前执行的指令无关, 中断信号来源于CPU外部

中断机制的基本原理

不同的中断信号 ,需要用不同的中断处理程序来处理, 当cpu检测到中断信号后, 会根据中断信号的类型去查询”中断向量表“ , 以此来找到相应的中断处理程序在内存中的存放位置。

什么是系统调用

操作系统作为用户 和 计算机硬件之间的接口, 需要向上提供一些 简单易用的服务接口。 主要包括 命令接口和程序接口, 其中程序接口 由一组系统调用组成。

系统调用 和 库函数的区别

例子 ,为什么系统调用是必须的 ?

需要通过系统调用来达到对共享资源的一种调度的作用。

什么功能要用系统调用实现 ?

应用程序通过系统调用请求操作系统的服务, 而系统中的各个共享资源都由操作系统内核统一进行掌管, 因此 ,凡是与共享资源有关的操作 (如: 内存分配, IO操作,文件管理等) ,都必须通过系统调用的方式像操作系统内核提出服务请求, 由操作系统内核代为完成 。 这样可以保证系统的稳定性和安全性。 防止用户进行非法操作。

系统调用的过程

重听, 相对来说是重点1.3_3_系统调用

6.10

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-06-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 中断的作用
  • 中断的类型
    • 内中断(异常)
    • 外中断
  • 中断机制的基本原理
  • 什么是系统调用
  • 系统调用 和 库函数的区别
  • 例子 ,为什么系统调用是必须的 ?
  • 什么功能要用系统调用实现 ?
  • 系统调用的过程
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档