操作系统基础(一) 基础 中断、异常和系统调用

  • 操作系统是向上提供应用程序的接口,向下使用计算机硬件所提供的接口
  • 操作系统管理硬件:CPU管理、内存管理、终端管理、磁盘管理、文件管理

  系统调用 System Call 是应用程序主动向操作系统提出服务请求;

  异常 是不良的应用程序出现错误需要操作系统处理;

  中断是外设的计时器中断向操作系统提出服务请求。

  应用程序不能直接访问外设:只有操作系统能够执行特权指令、访问外设;操作系统提接口方便上层应用程序的开发。

  系统调用、异常和中断的区别:

  1. 请求的来源不同
  2. 处理时间不同:中断是异步的,即并不知道什么时候会产生;异常是同步的,执行某一条错误的指令后同时出现异常;系统调用可以是同步的(应用程序提出请求之后等待操作系统处理),也可以是异步的(应用程序提出请求之后去做其他事情了)
  3. 响应结果不同:如果是异常,应用程序将被杀死或执行意想不到的指令;对系统调用,用户进程等待或持续;对中断,一直持续,但对用户程序是透明的。 

  系统调用

  • 用户应用程序的普通函数调用与系统调用不是在一个栈中进行(切换堆栈)
  • 用户应用程序进行系统调用需要进行用户态到内核态的转换
  • 因此系统调用的开销会比普通函数调用的开销大!但是保证了安全可靠。
  • 还有更多其他的开销。
posted @ 2019-08-03 16:07  LiaoQian1996  阅读(147)  评论(0编辑  收藏  举报