架构师知识梳理(二):操作系统

目录

操作系统的分类

嵌入式操作系统

操作系统的功能 

进程(重点)

进程组成和状态

进程状态及转换

进程同步与互斥

PV操作

生产者消费者问题

进程调度

调度算法

进程死锁

产生死锁的条件

解决死锁的方案

死锁相关计算

进程相关的图

前驱图

进程资源图

线程

存储管理

分区存储

分页存储

分段存储

段页式存储

设备管理

设备管理技术

I/O软件

文件管理

索引文件结构

文件目录

文件存储空间


操作系统定义

        能有效地组织和管理系统中的各种软/硬件资源,合理地组织计算机系统工作流程,控制程序的执行,并且向用户提供一个良好的工作环境和友好的接口。

主要作用体现在:

  • 管理计算机中运行的程序和分配各种软硬件资源;
  • 为用户提供友善的人机界面;
  • 为应用程序的开发和运行提供一个高效率的平台;

主要的4个特征

  • 并发性
  • 共享性
  • 虚拟性
  • 不确定性

操作系统的分类

  • 批处理操作系统:单道批处理和多道批处理(主机与外设可并行)。
  • 分时操作系统:一个计算机系统与多个终端设备连接。将CPU的工作时间划分为许多很短的时间片,轮流为各个终端的用户服务。
  • 实时操作系统:实时是指计算机对于外来信息能够以足够快的速度进行处理,并在被控对象允许的时间范围内做出快速反应。实时系统对交互能力要求不高,但要求可靠性有保障。
  • 网络操作系统:是使联网计算机能方便而有效地共享网络资源,为网络用户提供各种服务的软件和有关协议的集合。三种模式:集中模式、客户端/服务器模式、对等模式。
  • 分布式操作系统:分布式计算机系统是由多个分散的计算机经连接而成的计算机系统,系统中的计算机无主、次之分,任意两台计算机可以通过通信交换信息。
  • 微型计算机操作系统:简称微机操作系统,常用的有Windows、Mac OS、Linux。

嵌入式操作系统

嵌入式系统初始化过程按照自底向上、从硬件到软件的次序依次为:片级初始化→板级初始化→系统初始化

  • 微型化:从性能和成本角度考虑,希望占用的资源和系统代码量少,如内存少、字长短、运行速度有限、能源少(用微小型电池)。
  • 可定制:从减少成本和缩短研发周期考虑,要求嵌入式操作系统能运行在不同的微处理器平台上,能针对硬件变化进行结构与功能上的配置,以满足不同应用需要。
  • 实时性:嵌入式操作系统主要应用于过程控制、数据采集、传输通信、多媒体信息及关键要害领域需要迅速响应的场合,所以对实时性要求较高。
  • 可靠性:系统构件、模块和体系结构必须达到应有的可靠性,对关键要害应用还要提供容错和防故障措施。
  • 易移植性:为了提高系统的易移植性,通常采用硬件抽象层和板级支撑包的底层设计技术。

操作系统的功能 

  • 进程管理:实质上是对处理机的执行“时间”进行管理,采用多道程序等技术将CPU的时间合理地分配给每个任务,主要包括进程控制、进程同步、进程通信和进程调度。
  • 文件管理:主要包括文件存储空间管理、目录管理、文件的读/写管理和存取控制。
  • 存储管理:存储管理是对主存储器“空间”进行管理,主要包括存储分配与回收、存储保护、地址映射(变换)和主存扩充。
  • 设备管理:实质是对硬件设备的管理,包括对输入/输出设备的分配、启动、完成和回收。
  • 作业管理:包括任务、界面管理、人机交互、图形界面、语音控制和虚拟现实等。

进程(重点)

进程组成和状态

进程主要由:进程控制块PCB(进程唯一标识)程序(描述进程主要做什么)数据(存放进程执行时所需数据)

进程状态及转换

进程状态包括:新建、就绪、运行、阻塞、终止

状态转换图如下:

进程同步与互斥

  • 临界资源各进程间需要以互斥方式对其进行访问的资源。
  • 临界区:指进程中对临界资源实施操作的那段程序。本质是一段程序代码。
  • 互斥:某资源(即临界资源)在同一时间内只能由一个任务单独使用,使用时需要加锁,使用完后解锁才能被其他任务使用;如打印机。
  • 同步多个任务可以并发执行,只不过有速度上的差异,在一定情况下停下等待,不存在资源是否单独或共享的问题;如自行车和汽车。
  • 互斥信号量:对临界资源采用互斥访问,使用互斥信号量后其他进程无法访问,初值为1
  • 同步信号量:对共享资源的访问控制,初值一般是共享资源的数量

PV操作

  • P操作申请资源,S=S−1,若 S≥0S≥0,则执行P操作的进程继续执行;若 S<0S<0,则置该进程为阻塞状态(因为无可用资源),并将其插入阻塞队列。
  • V操作释放资源,S=S+1,若 S>0S>0,则执行V操作的进程继续执行;若 S≤0S≤0,则从阻塞状态唤醒一个进程,并将其插入就绪队列(此时因为缺少资源被P操作阻塞的进程可以继续执行),然后执行V操作的进程继续。

生产者消费者问题

 三个信号量:互斥信号量SO(仓库独立使用权),同步信号量S1(仓库空闲个数),同步信号量S2(仓库商品个数)。

  • 生产者流程:
    • P(SO):申请仓库独立使用权。
    • P(S2):检查仓库是否有足够的商品数量。
    • 生产一个商品。
    • V(S1):增加仓库空闲个数。
    • V(SO):释放仓库独立使用权。
  • 消费者流程:
    • P(SO):申请仓库独立使用权。
    • P(S1):检查仓库是否有足够的空闲个数。
    • 取出一个商品。
    • V(S2):增加仓库商品个数。
    • V(SO):释放仓库独立使用权。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

糖拌西红柿多放醋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值