操作系统的概念🌟

操作系统的功能

  1. 系统资源的管理者:处理器、存储器、文件、设备管理
  2. 用户和计算机硬件之间的接口:命令接口(联机命令接口、脱机命令接口)、程序接口(系统调用)、图形用户界面
  3. 最接近硬件的层次

操作系统的特征

  1. 并发🌟
    宏观上同时发生,微观上可能是交替发生的
    并行:多个事件同一时刻同时发生
    同时存在着多个运行着的程序
  2. 共享
    互斥共享:一个时间段内只允许一个进程访问该资源。qq和微信同时视频聊天
    同时共享:允许一个时间段内由多个进程“同时”对他们进行访问。qq和微信同时发送文件a
  3. 虚拟
    虚拟存储技术,将物理上的实体变为若干个逻辑上的对应物
  4. 异步
    允许多个程序并发进行,由于资源有限,进程执行非一贯到底,而是走走停停,以不可预知的速度向前推进

发展与分类

  1. 手工操作阶段
  2. 批处理阶段
    单道批处理系统
    多道批处理系统(操作系统开始出现)
  3. 分时操作系统
  4. 实时操作系统
  5. 网络操作系统
  6. 分布式操作系统
  7. 个人计算机操作系统

操作系统的运行机制

指令

  1. 特权指令
  2. 非特权指令

处理器状态:程序状态字寄存器PSW中的flag标识

  1. 用户态:只能执行非特权指令
  2. 核心态:能运行特权指令和非特权指令

程序

  1. 内核程序:需要使用特权指令的程序,处于核心态
  2. 用户程序:只执行非特权指令,处于用户态

操作系统的体系结构

  1. 大内核:将操作系统的主要功能模块都作为系统内核,运行在核心态。高性能,内核代码庞大,结构混乱,难以维护
  2. 微内核:只把最基本的功能保留在内核。内核功能少,结构清晰,方便维护,需要频繁在核心态和用户态之间切换,性能低

中断和异常

用户态到核心态的切换通过中断实现

中断的分类🌟

  1. 外中断:中断信号的来源来自CPU外部,与当前执行的指令无关
  2. 内中断:中断信号的来源来自CPU内部,与当前执行的指令有关,包括系统调用

外中断处理过程🌟

  1. 执行完每个指令之后,CPU都要检查当前是否有外部中断信号
  2. 如果检测到外部中断信号,需要保存被中断进程的CPU环境,比如PSW寄存器、程序计数器、各种通用寄存器等
  3. 根据中断信号类型转入相应的中断处理程序
  4. 恢复原进程的CPU环境并退出中断,返回原进程继续向下执行

系统调用

系统调用是什么🌟
操作系统提供给应用程序使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以发出系统调用请求来获得操作系统的服务,用户态切换到内核态

系统调用的功能分类🌟
凡是与资源有关的操作,会直接影响到其他进程的操作,一定需要操作系统来介入,即需要通过系统调用来实现

  1. 设备管理:完成设备的请求、释放、启动等功能
  2. 文件管理:完成文件的读、写、创建、删除等功能
  3. 进程控制:完成进程的创建、撤销、阻塞、唤醒等功能
  4. 进程通信:完成进程之间的消息传递、信号传递等功能
  5. 内存管理:完成内存的分配、回收等功能

系统调用和库函数的区别

  1. 用户程序可以直接使用系统调用,也可以通过库函数使用系统调用
  2. 有的库函数会涉及系统调用,有的库函数不会涉及系统调用

系统调用的过程🌟

  1. 硬件收到中断信号,立刻保存现场,查找中断向量表,将CPU控制权转交给系统调用总入口程序
  2. 对于系统调用入口总程序,也要先保存现场,将参数保存在内核的堆栈中,然后查找系统调用表,将CPU控制权转交给对应的系统调用处理程序或者内核函数
  3. 执行系统调用处理程序或内核函数
  4. 恢复现场,返回用户程序

陷入指令在用户态执行
发出系统调用请求是在用户态
陷入指令是唯一一个只能在用户态执行不可在内核态执行的指令
系统调用在用户态,对系统调用的处理在内核态

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。