美文网首页
操作系统知识

操作系统知识

作者: zhenghongmo | 来源:发表于2025-03-04 17:05 被阅读0次

操作系统知识

image.png

操作系统概述

  • 操作系统定义: 能有效组织和管理系统中的各种软/硬件资源,合理的组织计算机系统工作流程,控制程序的执行,并且向用户提供一个良好的工作环境的友好的接口
  • 操作系统有三个重要的作用:
  1. 管理计算机中运行的程序和分配各种软硬件资源
  2. 为用户提供友善的人机界面
  3. 为应用程序的开发和运行提供一个高效率的平台
  • 操作系统的4个特征:并发性、共享性、虚拟性、不确定性(异步性)

操作系统功能

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

操作系统分类

  • 批处理操作系统: 单道批处理和多道批处理(主机与外设可并行)
  • 分时操作系统: 一个计算机系荣与多个终端设备连接。将CPU的工作时间划分为许多很短的时间片,轮流为各个终端的用户服务
  • 实时操作系统: 实时是指计算机对于外来信息能够以足够的速度进行处理,并在被控对象允许的时间范围内作出快速反应。实时系统对交互能力要求不高,但要求可靠性有保障
  • 分布式操作系统: 分步式计算机系统是由多个分散的计算机经连接而成的计算机系统,系统中的计算机无主次之分,任意两台计算机可以通过通信交换信息
  • 微型计算机操作系统: 简称微机操作系统,常用的有windows, Mac os, Iinux

嵌入式操作系统主要特点:

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

进程组成和状态

  • 进程的组成: 进程控制块PCB(唯一标志)、程序(描述进程要做什么)、数据(存放进程执行时所需数据)
  • 进程基础的状态时下作图中的三态图(需熟练掌握三态之间转换
    image.png
运行态:当前进程正在运行,需要CPU
就绪态: 除了CPU别的条件都有,处于就绪队列中,等待被分配CPU
阻塞态:可能外设在传输数据,既没有CPU也没有数据

前趋图

  • 用来表示哪些任务可以并行执行,哪些任务之间有顺序关系,具体如下图,可知,ABC可以并行执行,但是必须ABC都执行完后才能执行D,这就确定了两点: 任务间的并行、任务间的先后顺序


    image.png

进程资源图(P:process,R:resource)

  • 用来表示进程和资源之间的分配和请求关系,如下图所示:


    image.png
  • P代表进程,R代表资源,R方框中有几个圆球就表示有几个这种资源,在上图中,R1指向P1,表示R1有一个资源已经分配给了P1,P1指向R2,表示P1还需要请求一个R2资源才能执行
  • 阻塞节点:某进程所请求的资源已经全部分配完毕,无法获取所需资源,该进程被阻塞了无法继续,如P2
  • 非阻塞节点:某进程所请求的资源还有剩余,可以分配给该进程继续运行,如P1、P3(R2分配完资源后还剩一个资源,但是资源会回收,所以P1P3都是非阻塞节点)
  • 当一个进程资源图中所有进程都是阻塞节点时,即陷入死锁状态


    image.png
C B
所请求的资源剩余0 则是阻塞节点,非0则是非阻塞节点
资源可以释放,化简顺序可以为P3->P1->P2或者P3->P2->P1, P3执行完了后会释放一个R1和R2,P1和P2可以继续执行
进程资源图化简的方法是:先看系统中还剩多少资源没分配,在看有哪些进程是不阻塞的,接着来把不阻塞的进程的所有边都去掉,形成一个孤立的点,再把系统分配给这个进程的资源回收回来,这样,系统剩余的空闲资源便多了起来,接着又去看看剩下的进程有哪些是不阻塞的,然后又把他们逐个编程孤立的点,最后,所有资源和进程都变成孤立的点。图中P3是不阻塞的,故P3为化简图的开始,把P3孤立,再回收分配给他的资源,可以看到P1 P2也变成不阻塞节点了

进程的同步与互斥(※)

  • 临界资源:各进程间需要以互斥的方式对其进行访问的资源
  • 临界取:指进程中对临界资源实施操作的那段程序。本质是一段程序代码
  • 互斥:某资源(即临界资源)在同一时间内只能由一个任务单独使用,使用时需要加锁,使用完成后解锁才能被其他任务使用,如打印机
  • 同步: 多个任务可以并发执行,只不过有速度上的差异,在一定情况下停下等待,不存在资源是否单独或共享的问题;如自行车和汽车
  • 互斥信号量: 对临界资源采用互斥访问,使用互斥信号量后其他进程无法访问,初值为1
  • 同步信号量: 对共享资源的访问控制,初值一般时共享资源的数量
  • P操作:申请资源,S=S-1,若S>=0 (S>0代表信号量,也就是资源数),则执行P操作的进程继续执行;若S<0,则置该进程为阻塞状态(因为无可用资源),并将其插入阻塞队列
  • V操作:释放资源 ,S=S+1,若S>0,则执行V操作的进程继续执行,若S<=0(S<0,代表目前阻塞的进程量),则从阻塞状态唤醒一个进程,并将其插入就绪队列(此时因为缺少资源被P操作阻塞的进程可以继续执行),然后执行V操作的进程继续


    image.png
image.png
  • 题型1


    image.png
CBB
五个信号量对应前趋图上的无根连线
执行完会释放资源(V),执行前会申请资源(P)
image.png
  • 题型2


    image.png
CBD

相关文章

  • 【操作系统笔记】操作系统的基本概念

    往期相关文章:【操作系统基础知识】进程管理 【操作系统基础知识】文件管理 【操作系统基础知识】内存管理 1.概念 ...

  • Day11--操作系统阶段总结

    \课程知识介绍说明1) 操作系统硬件知识回顾2)操作系统安装部署回顾3)操作系统远程连接回顾4)操作系统基础命令回...

  • 《产品思维30讲》笔记---同理心训练:怎么样理解愉悦和不爽

    情绪是底层的操作系统,后天学习的知识技能,都是安装在底层操作系统上的; 后天学习的知识技能,都是安装在操作系统上的...

  • Python Web 全栈开发

    需要学习的知识:python知识、操作系统知识、前端知识、数据库知识、网络知识、程序设计

  • 操作系统面试重难点总结

    针对操作系统,根据面试重难点总结以及网络上的一些参考,对操作系统面试知识点的总结与学习。 一、操作系统知识点图谱 ...

  • 操作系统面试重难点总结

    针对操作系统,根据面试重难点总结以及网络上的一些参考,对操作系统面试知识点的总结与学习。 一、操作系统知识点图谱 ...

  • 1 操作系统概述

    本系列文章力求用最简洁的语言整理出操作系统的知识框架,帮助求职的同学对操作系统的知识做一个梳理。 1. 操作系统的...

  • 操作系统知识

    目录 进程跟线程的区别 进程是系统调度资源的最小单位,进程独占系统资源,而线程缺占用很少的资源。 进程由于资源比较...

  • 通往财富自由之路 2

    你升级过自己的操作系统吗 其实很多的时候一些知识我们知识抱着过去的知识,并且我们也没有想过要升级自己的操作系统,其...

  • 操作系统知识点整理

    操作系统 操作系统知识模块主要分为:操作系统概述、进程管理、内存管理、文件管理、输入/输出(I/O)管理。 1.操...

网友评论

      本文标题:操作系统知识

      本文链接:https://www.haomeiwen.com/subject/kidcmjtx.html