什么是进程

  • 进程的管理方法
  • 什么是进程调度
  • 进程调度的解释
  • 进程调度的几个属性的解释
  • 进程的虚拟地址空间
  • 进程间交互(进程间通讯)

进程的管理方法

1.描述:
对于进程描述来讲,会描述一个进程有那些属性和信息,通过一个结构体来描述,这个结构体也称为PCB(进程控制块)。
2.组织:
通过某种数据结构(双向链表),来组织进程的信息,双向链表的节点就是PCB,可以进行添加和删除节点操作。

什么是进程调度

我们任务管理器一开 基本上就是几十个进程或者上百进程,但是我们的cpu也只是几核而已(几核代表能同时进行几个进程或者任务),所以要想让大量的进程同时执行,就有了并行执行和并发执行的概念。
并行执行:每个cpu的一个核心上,可以独立的运行一个进程,运行进程的相关指令,多个cpu核心就可以做到同时独立的运行多个进程。
并发执行:每个cpu的一个核心上,虽然只可以独立运行一个进程,但是我让他运行进程A,然后再运行进程B,再运行进程C,只要切换进程够快,宏观上就可以看成是独立的同时运行多个进程。
进程调度,其实就是通过并发和并行执行,让计算机同时运行多个进程任务。这就是多任务操作系统(现在基本上都是多任务操作系统)。

进程调度的解释

在进程管理会涉及两部分,一部分是进程的描述,另一部分是进程的控制
对于进程描述来讲,会描述一个进程有那些属性和信息,通过一个结构体来描述,这个结构体也称为PBC(进程控制块)。
在PCB中一共7种信息
1.pid进程身份标识 ,2.内存指针,3.文件描述符表,4,进程状态,5.进程优先级,6.进程上下文,7.进程记账信息
其中4-7这几个属性就是与进程调度有关系。

进程调度的几个属性的解释

1.进程状态:
进程分成了就绪状态和堵塞状态。就绪状态下的进程才可以调度到cpu来执行,堵塞状态的就不行。
2.进程优先级:
系统调度的时候,根据优先级来给进程安排时间,可能A进程时间多,B进程时间少,C进程几乎没有。但是创建进程的时候,也可以通过一些系统调度来干预优先级。
3.进程上下文:
在cpu上执行了部分进程A的时候,需要去执行进程B了,这时候就要把进程A运行的中间结果保留下来(cpu寄存器进行存档,然后存到PCB的上下文信息中去(内存里)),然后去执行进程B,等到要执行进程A的时候,就恢复当时的中间结果(读档)接着执行。
对进程来说,上下文就是cpu里的寄存器的值
4.进程记账信息:
每个进程在cpu上执行的时间,做出记录(辅助调度的效果)。
对于执行进程来讲,虽然有着优先级,可以让进程吃到cpu的资源,但是还有一些可能会导致某些进程完全吃不到资源,所以对进程在cpu上执行的时间做出记录,就可以根据情况来更加均衡合理的来分配cpu资源给进程。

进程的虚拟地址空间

在给进程分配内存资源的时候,可能会出现越界访问,比如进程A是一块空间,进程B是一块空间,但是有可能进程A在没有约束的情况下,会访问越界到进程B的空间中去,导致了进程间的相互影响。
所以我们有了虚拟地址空间这个概念
虚拟地址空间就是对每个进程划分出一个内存空间(也是活动范围),(不是真的内存空间,是虚拟的!),然后通过一个叫MMU的设备来完成虚拟地址到真实物理地址(内存)的映射

MMU可以对进程的地址进行检查,如果非法,就会杀死进程。 使用虚拟地址空间,让进程间有了"隔离性",防止了进程间的干扰,让系统更加稳定了。进程是要求有独立性的。

进程间交互(进程间通讯)

在虚拟地址空间的情况下,进程间存在了隔离性,但是在有些情况下,我们也希望两个进程之前可以进行数据的交互,所以就有了一个机制进程间通讯

进程间通讯:
找出一个多个进程都可以访问的 公共资源,通过这个资源来交互进程间的数据。
这个资源可以是内存,文件,网卡等等。

进程与进程之间如果想进行通讯,就需要使用这种进程间通讯机制(使用文件,网卡等)。

什么是进程➡进程调度相关推荐

  1. 面试-操作系统-进程管理-进程-进程调度-死锁

    文章目录 ==概念== 备注 简单说下你对并发和并行的理解? 同步.异步.阻塞.非阻塞的概念? 操作系统概念? 一个程序从开始运行到结束的完整过程,你能说出来多少? 用户态和内核态是如何切换的? 什么 ...

  2. 计算机系统学习之(1):基础知识概要——进程、中断、线程、竞态条件、关键区域、死锁、进程调度

    文章目录 进程的创建 哪些事件导致进程的创建 fork 和 exec 命令创建和控制进程 fork() 命令 execve() 命令 进程的状态 中断 中断的种类 线程 线程共享内容 线程独有内容 进 ...

  3. python -- 进程

    什么是进程 要了解进程先了解操作系统,可以参考一下我的上一篇博客:操作系统 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基 ...

  4. 操作系统03进程管理Process_Scheduling

    2 Process Scheduling >Type of scheduling >Scheduling Criteria (准则) >Scheduling Algorithm &g ...

  5. Python 之 进程

    目录 理论知识 操作系统背景知识 进程 什么是进程 进程调度 进程的并行与并发 同步异步阻塞非阻塞 同步和异步 阻塞与非阻塞 同步/异步与阻塞/非阻塞 组合 进程的创建与结束 进程的创建 进程的结束 ...

  6. 【操作系统之哲学导论】进程/线程管理篇

    文章目录 基础原理 操作系统导论 1.程序是如何运行的 2.操作系统的核心功能 操作系统基本概念 1.计算机硬件基本知识 2.用户态和内核态 3.进程 4.系统调用 5.壳 进程管理 进程 进程调度 ...

  7. 操作系统——进程之处理机调度

    操作系统--进程之处理机调度 一.处理机调度的本概念和层次 1.高级调度(作业调度) 2.中级调度(内存调度) 3.低级调度(进程调度) 二.进程调度的时机.切换与过程.方式 1.进程调度的时机 2. ...

  8. 基于C++实现的进程调度算法

    资源下载地址:https://download.csdn.net/download/sheziqiong/85650672 一.问题描述与分析 1.1 设计构想 程序能够完成以下操作:选择调度算法;查 ...

  9. 【学习笔记】操作系统之哲学原理

    引言: 魔术与管理 用户程序与操作系统 进程.内存和文件 进程原理 进程的状态 操作系统管理进程 进程调度 调度算法 1.先来先服务调度算法 2.时间片轮转算法 3.短任务优先算法 4.优先级调度算法 ...

最新文章

  1. 2021年大数据Hive(八):Hive自定义函数
  2. 在Linux上安装Memcached服务
  3. 数据库归档及热点库_postgresql连续归档及时间点恢复的操作
  4. 怎么快速学好php,学习编程的快速高效方法
  5. tensorflow实现原理
  6. python程序发布 ubuntu_在ubuntu16.04的虚拟环境中运行Python程序作为服务
  7. linux查看tcp连接状态_Linux使用lsof查看打开的文件和网络连接
  8. Hyper-V 2012 R2 故障转移群集之建立域控(AD DS)与加入域
  9. LINUX-VIM编辑器常用命令大全(超全)
  10. 云管平台-FIT2CLOUD CMP2.0
  11. c语言窗口炸弹代码,C语言实现宾果消消乐
  12. 新司机的黑裙战斗机 篇三:群晖【番外篇】群晖系统崩溃后的数据抢救
  13. 计算机无法启动printspooler,打印服务PrintSpooler无法启动解决方法
  14. 电脑无线连接打印机(DCP-1618W)
  15. 级差公排php如何_矩阵,双轨,级差三种制度的对话
  16. Redis过期策略---实现原理
  17. python半径为2.11的圆球的体积_Python科学计算神器之Numpy-2
  18. 基于java愤怒的小鸟游戏的设计与实现
  19. 不能用来修饰interface修饰的方法
  20. 我的Photoshop大师之路(五)

热门文章

  1. 前后端分离情况下pdf文件在浏览器中预览的实现
  2. 碳酸锂、碳酸氢锂除钙镁离子交换柱
  3. 【图像插值】基于matlab稀疏拉普拉斯滤波器图像插值【含Matlab源码 2055期】
  4. 【数模国赛】经验分享
  5. 母亲节礼物之wifi共享精灵
  6. win10设置全部默认以管理员身份运行
  7. 21 届校招薪资曝光:严重倒挂老员工!
  8. 2020软件下载站源码手机自适应
  9. sqlyog详细安装流程
  10. 思维导图(特别推荐给项目管理者)