打牢基础!一起学习操作系统(一)

278 阅读3分钟

如果本文对你有用,麻烦请给我点个赞👍,这是对我很大的鼓励!

1.1 操作系统的概念

操作系统是最基本的系统软件,负责管理调度计算机的各种资源,并且向上层用户提供接口和环境

  • 操作系统在资源管理方面,需要实现 文件管理、内存管理、处理器管理 和 设备管理
  • 操作系统在提供用户接口方面,分为两类:命令接口 和 程序接口
    • 命令接口:用户可以直接使用的命令
      • 联机命令接口:交互式的命令,类似cmd命令
      • 脱机命令接口:批处理式的指令,类似bat脚本
    • 程序接口:只能通过程序使用的接口,类似dll文件,系统调用
  • 硬件层次上,操作系统实现对机器的拓展

1.2 操作系统的特征

操作系统的特征有四个,分别为 并发性、共享性、虚拟性 和 异步性

并发

操作系统中同时存在多个运行中的程序,实质上他们是交替运行的

共享

资源可供多个并发进程共同使用,分为互斥共享和同时共享

虚拟

把一个物理试题虚拟成为逻辑上的对应物,比如 虚拟内存

异步

进程是走走停停的,程序可能阻塞

1.3 操作系统分类

手工操作阶段

早期数据的IO依靠人力手工制作纸带输入,效率很低

缺点:用户独占全机,并且人机的速度矛盾很大

单道批处理系统

用磁带输入,缓解一定程度人机速度的矛盾

缺点:计算机只运行一道程序,IO时候CPU空闲

多道批处理系统

同时输入多道程序,并发执行,引入了中断技术

缺点:没有人机交互的方式,用户只能等待计算机执行完毕

分时操作系统

以时间片为单位轮流服务,可以用终端进行交互 缺点:紧急任务不能被优先处理

实时操作系统

分时操作系统的基础上优先响应紧急任务,有及时性和可靠性

1.4 操作系统运行机制

操作系统运行的指令分为 特权指令和非特权指令,特权指令我们希望不允许用户程序执行

因此,CPU分为两种状态,用户态 和 核心态,在用户态下,只能执行非特权指令,在核心态下则可以执行非特权指令和特权指令

计算机运行的程序分为内核程序和应用程序,内核程序运行在核心态,而应用程序运行在用户态

操作系统的内核需要负责 时钟管理,中断处理,原语 以及 系统资源的管理

1.5 中断

中断机制发生意味着操作系统介入,开始管理计算机资源

中断的作用

中断发生后CPU进入核心态,操作系统获得计算机的控制权。并且使当前进程暂停,又操作系统内核进行中断处理。

中断的分类

中断根据信号来源是否来自CPU内部,分为了外中断与内中断,我们一般讨论的都是外中断

中断处理过程

  1. 执行完每条指令后,检查当前是否有中断信号
  2. 若检测到,则保存当前CPU的运行环境(寄存器状态,程序计数器PC等…)
  3. 根据信号类型,进入核心态,执行相应的中断处理
  4. 恢复原来的CPU运行环境,继续执行原来的进程