avatar

【操作系统】操作系统基础篇一

操作系统概览

什么是操作系统

  • 操作系统是管理计算机硬件和软件资源的计算机程序
  • 管理配置内存、决定资源供需顺序、控制输入输出设备等
  • 操作系统提供让用户和系统交互的操作界面
  • 从手机到超级计算机,操作系统可简单也可复杂
  • 操作系统的种类是多种多样的,不局限于计算机
  • 在不同的设备上,操作系统可向用户呈现多种操作手段
  • 管理硬件、提供用户交互的软件系统

为什么会有操作系统

  • 我们不可能直接操作计算机硬件
  • 设备种类繁多复杂,需要统一界面
  • 操作系统的简易性使得更多人能够使用计算机

操作系统的基本功能

操作系统统一管理着计算机资源

操作系统实现了对计算机资源的抽象

  • 用户无需面向硬件接口编程
  • IO设备管理软件,提供读写接口
  • 文件管理软件,提供操作文件接口

操作系统提供了用户与计算机之间的接口

  • 图像窗口形式
  • 命令形式
  • 系统调用形式

操作系统相关概念

并发性

  • 并行是指两个或多个事件可以在同一个时刻发生
  • 并发是指两个或多个事件可以在同一个时间间隔发生


共享性

  • 共享性表现为操作系统中的资源可供多个并发的程序共同使用
  • 这种共同使用的形式称之为资源共享
  • 多个程序可以同时使用主存资源

资源共享根据属性可分为两种方式

  • 互斥共享形式
  • 同时访问形式

互斥共享形式

  • 当资源被程序A占用时,其他想使用的话只能等待
  • 只有进程A使用完以后,其他进程才可以使用该资源

同时访问形式

  • 某种资源在一段时间内并发地被多个程序访问
  • 这种“同时”是宏观的,从宏观去看该资源可以被同时访问

虚拟性

  • 虚拟性表现为把一个物理实体转变为若干个逻辑实体
  • 物理实体是真实存在的,逻辑实体是虚拟的
  • 虚拟的技术主要有时分复用技术空分复用技术

时分复用技术

  • 资源在时间上进行复用,不同程序并发使用
  • 多道程序分时使用计算机的硬件资源
  • 提高资源的利用率
虚拟处理器技术
  • 借助多道程序设计技术
  • 为每个程序建立进程
  • 多个程序分时复用处理器
虚拟设备技术
  • 物理设备虚拟为多个逻辑设备
  • 每个程序占用一个逻辑设备
  • 多个程序通过逻辑设备并发访问

空分复用技术

  • 空分复用技术用来实现虚拟磁盘、虚拟内存等
  • 提高资源的利用率,提升编程效率
虚拟磁盘技术
  • 物理磁盘虚拟为逻辑磁盘
  • C、D、E等逻辑盘
  • 使用起来更加安全、方便
虚拟内存技术
  • 在逻辑上扩大程序的存储容量
  • 使用比实际内存更大的容量
  • 大大提升编程效率

异步性

  • 在多道程序环境下,允许多个进程并发执行
  • 进程在使用资源时可能需要等待或放弃
  • 进程的执行并不是一气呵成的,而是以走走停停的形式推进

进程管理之进程实体

为什么需要进程

  • 没有配置OS之前,资源属于当前运行的程序
  • 配置OS之后,引入多道程序设计的概念
  • 合理的隔离资源、运行环境,提升资源利用率

多道程序设计

  • 进程是系统进行资源分配和调度的基本单位
  • 进程作为程序独立运行的载体保障程序正常执行
  • 进程的存在使得操作系统资源的利用率大幅提升

进程的实体

主存中的进程形态

标识符

  • 标识符唯一标记一个进程,用于区别其他进

状态

  • 标记进程的进程状态,如:运行态

程序计数器

  • 进程即将被执行的下一条指令的地址

内存指针

  • 程序代码、进程数据相关指针

上下文数据

  • 进程执行时处理器存储的数据

IO状态信息

  • 被进程IO操作所占用的文件列表

记账信息

  • 使用处理器时间、时钟数总和等

进程控制块(PCB)

  • 用于描述和控制进程运行的通用数据结构
  • 记录进程当前状态和控制进程运行的全部信息
  • PCB的使得进程是能够独立运行的基本单位
  • PCB是操作系统进行调度经常会被读取的信息
  • PCB是常驻内存的,存放在系统专门开辟的PCB区域内

进程与线程

进程是系统进行资源分配和调度的基本单位

  • 线程是操作系统进行运行调度的最小单位
  • 包含在进程之中,是进程中实际运行工作的单位
  • 一个进程可以并发多个线程,每个线程执行不同的任务
  • 进程的线程共享进程资源

进程管理之五状态模型

就绪状态

  • 当进程被分配到除CPU以外所有必要的资源后
  • 只要再获得CPU的使用权,就可以立即运行
  • 其他资源都准备好、只差CPU资源的状态为就绪状态

在一个系统中多个处于就绪状态的进程通常排成一个队列

执行状态

  • 进程获得CPU,其程序正在执行称为执行状态
  • 在单处理机中,在某个时刻只能有一个进程是处于执行状态

阻塞状态

  • 进程因某种原因如:其他设备未就绪而无法继续执行
  • 从而放弃CPU的状态称为阻塞状态

小总结

创建状态

  • 创建进程时拥有PCB但其他资源尚未就绪的状态称为创建状态
  • 操作系统提供fork函数接口创建进程

终止状态

  • 进程结束由系统清理或者归还PCB的状态称为终止状态

小总结

文章作者: hirak0
文章链接: https://hirak0.xyz/posts/35756/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 hirak0's Blog
打赏
  • 微信
    微信
  • 支付寶
    支付寶

评论