当前位置: 首页 > news >正文

进程调度的基本过程

这里写目录标题

  • 什么是进程
  • 进程管理
    • 结构体或类的主要属性
      • pid
      • 内存指针
      • 文件描述符表
      • 辅助进程调度的属性
    • 并发
      • 并行
      • 并发

什么是进程

进程是操作系统对一个正在运行的程序的一种抽象,也就是说,一个运行起来的程序就是一个进程。
进程又是操作系统进行资源分配的基本单位。
比如我们打开我们的电脑任务管理器就会看到许多正在执行的进程。
在这里插入图片描述

进程管理

进程管理一般分两步
1.描述一个进程:采用结构体/类(也叫进程控制块),对进程的信息进行表示。
2.组织这些进程:通过一定的数据结构把这些结构体/对象进行组织。

结构体或类的主要属性

pid

每一个进程的唯一身份标识符。

内存指针

当前这个进程使用的是内存的那一部分(进程运行时需要消耗一定硬件资源,就比如内存)。

文件描述符表

记录了进程运行时使用了那些硬件资源,生成一个文件,按一定数据结构组织形成文件描述表。

辅助进程调度的属性

  • 进程状态
    就绪态:进程已经准备好上CPU执行了。
    阻塞态:进程暂无法上CPU执行。
  • 进程的优先级
    进程之间的调度是有优先级的,优先级高则被频繁调度。
  • 进程的上下文
    上下文就是描述了进程执行到那里的“存档记录”。
    在并发执行离开CPU时记录运行结果,等下次进程回到CPU后根据记录结果再次执行。
  • 进程的进账信息
    统计了每个进程在CPU上执行了多久。
    可以作为以后进行进程调度的参考。

并发

程序能够运行是靠电脑CPU的,CPU有个概念叫核心数(一个核心同一时间只能执行一个程序),我们的电脑一般不会超过20个核心数,但上面我的任务管理器中显示有那么多程序在运行,电脑是如何办到的,这就是我们下面要了解的并发概念。

并行

同一时刻两个核心同时执行两个进程,那么这两个进程就是并发执行的。

并发

一个核心先执行进程1,然后再执行进程2,接着执行进程3,这样每个进程都去执行且切换频率快到我们人眼无法察觉的地步,这样在我们看来1,2,3程序就是在“同时执行”。

在操作系统的控制下,CPU通过并发的方式进行多进程执行。
一般情况下并发与并行统称为并发。

http://www.lryc.cn/news/39972.html

相关文章:

  • python自动化办公(二)
  • Qt Quick - GridLayout 网格布局
  • 安卓手机也可以使用新必应NewBing
  • 支付系统设计:消息重试组件封装
  • Visual Studio 2022 c#中很实用的VS默认快捷键和原生功能
  • Python的30个编程技巧
  • MySQL:JDBC
  • C++【list容器模拟实现函数解析】
  • (Java)试题 算法提高 约数个数
  • 魔法反射--java反射初入门(基础篇)
  • 概率统计_协方差的传播 Covariance Propagation
  • 大学生考研的意义?
  • 【C++笔试强训】第三十一天
  • toString()、equals()是什么,为啥需要重写,多种方法来重写
  • 家装材料清单中会有哪些装饰材料?
  • 【C++初阶】6. CC++内存管理
  • 【数据结构】万字超详解顺序表(比细狗还细)
  • yolov5 剪枝、蒸馏、压缩、量化
  • 如何用python代码,更改照片尺寸,以及更换照片底色
  • 【pygame游戏】Python实现蔡徐坤大战篮球游戏【附源码】
  • 通过指针引用字符串详解,以及字符指针变量和字符数组的比较
  • Vue基本整合(一)
  • C++编程之 万能引用
  • 【JavaScript速成之路】JavaScript内置对象--数组对象
  • 【华为机试真题详解 Python实现】最差产品奖【2023 Q1 | 100分】
  • [算法] 二分查找
  • HTML面经
  • 我的十年编程路 2021年篇
  • ElasticSearch 8 学习笔记总结(七)
  • 【云原生】Docker 网络模式详解、容器间网络通信