perrynzhou

专注于系统组件研发

0%

操作系统-用户接口篇

操作系统-用户接口篇

用户接口

  • 为了方便用户使用计算机系同,操作系统向用户提供了直接使用计算系统的手段,这个就叫做用户接口

接口类型

  • 交互接口:用户提供各种命令控制界面,用户利用这些操作命令来阻止和控制程序的执行或者管理计算机系统,经典的实现有linux shell
  • 程序接口:编程人员在程序中通过程序接口来请求操作系统的提供服务

程序接口

定义
  • 程序接口用于在程序和系统资源以及系统服务之间实现交互的作用,而为了保证系统的安全行,系统提供了若干系统调用(system call)来实现用户程序和内核的交互,因此,系统调用是操作系统为编程人员提供唯一的程序接口。
一般函数和系统调用区别
  • 运行在不同系统状态,一般函数调用运行于用户态,而系统调用运行于内核态
  • 系统调用通过软中断进入,一般的函数调用不涉及软中断,不涉及系统状态的转换;运行系统调用时候,由于调用程序和被调用程序处于不同的系统状态,因此不允许由调用程序直接转向被调用程序,通常是通过软中断机制,先由用户态转换内核态,在转向相应的中断处理子程序。
系统调用类型
  • 设备管理:用来请求和释放有关设备以及启动设备的操作
  • 文件管理:文件的读、写、创建、删除等操作
  • 进程控制:进程的创建、进程执行、进程等待、进程撤销、进程优先级等操作
  • 进程通信:进程之间的传递消息或者信号
  • 内存管理:内存的相关操作
系统调用处理过程
  • 保护进程的现场,这里也叫上下文,系统发生陷入终端时候,需要把当前进程的状态保存起来,才能切换到目标进程的执行状态,这些上下文保存在寄存器中
  • 取得系统调用号并转入相应的处理程序,系统中配置了一个系统调用号和处理子程序的入口地址
  • 返回,在系统调用结束之后,陷入处理还要恢复处理机现场