• 操作系统基础知识


    一. 进程

    进程是正在运行中的程序,是动态的

    进程是资源分配的最小单位

    进程的基本特征:动态性,并发性,独立性,异步性

    二. 线程

    线程在执行过程中的每一个任务就是一个线程

    进程是由一个或多个线程组成,线程之间共享进程的资源

    线程时CPU调度的最小单位

    三. 处理机管理

    进程的三种基本状态:运行,就绪,阻塞

    (1) 运行:进程占有处理器正在运行

    (2) 就绪:进程已经具备运行条件,等待系统分配处理器以便运行

    (3) 阻塞:又称睡眠态,是指进程不具备运行条件,正在等待某个事件的完成

    进程的三种状态的相互转换

    运行→阻塞:等待使用资源或某事件发生。例如等待外设传输、等待人工干预。

    阻塞→就绪:资源得到满足或某事件已经发生。例如外设传输结束、或是人工干预完成

    就绪→运行:当CPU空闲时,被调度算法选中的一个进程,被CPU分配资源,开始运行。

    运行→就绪:CPU分配的运行时间片用完,或出现有更高优先权进程。

    四. 进程的4个重要概念

    1. 进程同步

    同步是指多个相互合作的进程在某些确定点上协调工作顺序的过程。是进程之间的直接制约关系。

    例如进程B需要得到进程A的数据才能进行后续工作,没有数据时被阻塞,有数据时才被唤醒。

    2. 进程互斥

    宏观上互斥也是一种同步。各种进程可以共享系统的资源,但有些资源一次只能供一个进程使用(例如打印机),也称为临界资源。是进程之间的间接制约关系。

    当一个进程使用临界资源时,另一个进程必须等待,只有资源被释放,进程才会解除阻塞状态

    临界资源:一次仅允许一个进程使用的共享资源称为临界资源,这样进程间就要采取互斥方式来对这种资源进行共享

    临界区:人们把进程中访问临界资源的那段代码称为临界区

    3. 信号量机制

    信号量是解决进程同步与互斥的工具,信号量可以分为两类:

    一类是公用信号量,用于实现进程间的互斥,初值等于1或资源数量

    另一类是私有信号量,用于实现进程间的同步,初值等于0或正整数

    信号量S>=0时,表示某资源的可用数量,当S<0时,表示阻塞队列中等待资源的进程数量

    4. PV操作

    PV操作用来实现进程同步与互斥。P操作时申请一个资源,V操作表示释放一个资源

    实现互斥的方法:信号量设置为1,当进程使用资源时执行P操作,释放资源时执行V操作

    实现同步的方法:将信号量S与消息关联,当S等于0表示没有消息,当S不等于0表示有消息。进程B调用P操作信息是否到达,进程A调用V操作通知消息   已经准备好。

    五. 进程死锁

    当多个进程竞争使用资源时,可能每个进程要求的资源都已经被另一个进程占用。于是,也就没有任何一个进程能继续运行,这种情况称为死锁。

    产生死锁的情况主要有:
    进程推进顺序不当引起的死锁、同类资源分配不当、PV操作使用不当

    死锁的预防方法:

    打破互斥条件、打破不可抢占条件、打破占有且申请条件。(保证至少有1个进程获取足够的资源)

    设m是资源数量,n是进程数量,w是每个进程需要的资源数量
    不死锁公式: m>=n(w-1)+1 [ 资源数量>= 进程数量(每个进程需要的资源数量-1)+1]情况1:m=4,n=3,w=2,不死锁公式m>=n(w-1)+1 代入公式 4>=3(2-1)+1 结果 4>=4,不死锁情况2:m=4,n=3,w=3,不死锁公式m>=n(w-1)+1 代入公式 4>=3(3-1)+1 结果 4>=7,死锁!

    六. 进程调度算法

    先来先服务算法:进程按照进入就绪队列的顺序占用处理器的资源,
    优先数算法:对每个进程设置一个优先数,优先数高的进程先使用处理器资源。
    时间片轮转算法:进程使用一次处理器的最长时间称为“时间片”,队列中的进程按时间片轮流使用处理器资源。
    分级算法:系统设置多个就绪队列,每个就绪队列中的进程按时间片轮流占用处理器资

    七. 存储管理


    八. 设备管理

     九. 文件管理

     十. 作业管理

    进到内存之后被进程调度算法 

  • 相关阅读:
    Springboot 集成 Ehcache操作数据库显示SQL语句设置
    【Rust基础②】流程控制、模式匹配
    Docker默认桥接网络是如何工作的
    windows10 Docker Desktop中部署clickhouse
    ASEMI快恢复二极管SFP4006,SFP4006参数,SFP4006应用
    【类脑计算】突触可塑性模型之Hebbian学习规则和STDP
    Go语言基础之包
    HamsterBear F1C200s Linux v5.17 RTL8188EUS 适配
    洛谷 P4735 最大异或和
    springboot罗亚方舟考研资料库网站设计与实现 毕业设计-附源码302302
  • 原文地址:https://blog.csdn.net/m0_66746512/article/details/139397997