• 操作系统中的进程是什么?(详细讲解进程调度相关PCB信息)


    目录

    1.进程调度是什么

    2.操作系统的管理

    2.1.描述:

    2.2.组织:

    3.PCB块中的信息

    3.1pid标识

    3.2内存指针

    3.3文件描述符

    4.进程调度相关的

    4.1进程状态

    4.1.1就绪状态

    4.1.2阻塞状态

    4.2进程优先级

    4.3进程上下文

    4.4进程记账信息


    1.进程调度是什么

    进程调度是一组操作系统提供的API,通常是用C的风格来编写的,应用程序必须调用这些API才能够完成一些基础的工作,从而让CPU更高效的利用.

    2.操作系统的管理

    操作系统通过

    2.1.描述:

    表示清楚进程的信息(这里面先不考虑线程,可以理解为系统通过一种特殊的结构体来描述进程的属性和信息,称之为PCB块[进程控制块])

    2.2.组织:

    操作系统通过一定的数据结构来组织PCB块,系统通常会使用链表的结构进行组织

    3.PCB块中的信息

    3.1pid标识

    pid标识是进程的一种身份认证号,就好像我们每个人都有身份证号一样

    3.2内存指针

    这个简单理解为指向进程可使用的内存空间就好了

    3.3文件描述符

    每个进程都可以打开一些文件,这个就是描述进程可以打开哪些文件的,也就是持有的资源文件

    4.进程调度相关的

    进程调度其实是通过"并行" 和 "并发" 的方式让计算机可以执行多个进程

    并行:就是多核心的CPU上面,每个CPU都执行一个进程,这样就可以同时执行多个进程了

    并发:就是一个CPU上面多个进程交互执行,交互时间短,从而让人感觉上是一起执行的

    4.1进程状态

    4.1.1就绪状态

    就是相当于你辅导员说下午要做核酸,然后你中午吃完饭也没睡觉,就在那等着消息,辅导员一通知做核酸,你就可以直接去做核酸,这种随时待命的状态就是就绪状态

    4.1.2阻塞状态

    阻塞状态就相当于你中午睡了个午觉,手机静音,这时候不管怎么样,辅导员联系不上你,你就不执行他需要你完成的任务,这种就叫阻塞状态

    总结:就绪状态的进程可以被CPU调用,阻塞状态的进程不能被CPU调用

    4.2进程优先级

    系统中的进程是有优先级的,同时两个进程需要上CPU,要有个先后顺序的,就好像,你室友喊你打游戏,你辅导员请你去办公室喝茶,那这两件事情对于你来说,就有个优先级,肯定把辅导员晾着,游戏不能耽误,这种情况就是打游戏的优先级大于辅导员请喝茶的优先级

    并且在进程创建的时候,我们是可以通过一些系统调用来干预优先级的,但是我们设置完之后,不一定就先执行,如果三个进程优先级都是4,那么这三个进程的执行顺序就是随机的

    4.3进程上下文

    这个就类似于你在玩游戏,辅导员说要喊你去,给你发奖学金,你就会先把你的游戏存档,这个存档就叫做进程上下文.

    CPU执行任务时"并发"和"并行"一起使用的,所以有时候并发执行的时候,当CPU再次回到这个进程上的时候,我们需要保证能够读取到上次进程的进行程度

    4.4进程记账信息

    这个就好像你去教室上课,你们老师很喜欢一些同学,但是为了给你们加平时分,就会用一些手段给你加分

    在CPU中也一样,虽然进程有优先级,但是并不希望有的进程没机会执行,所以会适当给这些优先级低的进程一些安排一些时间上CPU

    5.进程的虚拟地址空间

    进程中还有一个特别重要的概念叫做虚拟地址空间

    系统会给每一个进程安排一些虚拟地址空间,通过映射来并进行判断是否合法,然后再放到内存中去

    根据这张图来理解

    两个虚拟地址空间指向的那个浅紫色的盒子叫做MMU,这张图很好的诠释了各个部件间的联系和作用

    有了虚拟地址空间就让进程有了"隔离性",那我们的进程是不是就不能有联系了呢?

    并不是,系统又引入了一个叫做进程间通信的东西,核心原则基本就是找一个多个进程都能访问的地址空间或者文件,然后基于公共的资源进行数据的交互就可以了 

     

  • 相关阅读:
    STM32+UART串口+DMA收发
    在springboot中使用JWT自定义生成Token信息,接口请求时校验Token(在Shiro基础上)
    【更新公告】AirtestIDE更新至1.2.17版本
    共同见证丨酷雷曼武汉运营中心成立2周年
    动力总成悬置系统刚度及模态有效质量计算公式推导
    harib09c的编译和调试
    2023-简单点-开启防火墙后,ping显示请求超时;windows共享盘挂在不上
    Global Historical Climatology Network daily (GHCNd)数据集详解
    ElasticSearch的简单了解和使用
    B43 - 基于STM32单片机的自动视力检测仪
  • 原文地址:https://blog.csdn.net/qq_55546526/article/details/126682048