进程调度的基本关系

1.什么是进程(process)

简单来说就是:一个程序跑起来就是一个进程
一个应用没跑起来叫做程序,跑起来了就叫作进程.
在这里插入图片描述

在这里插入图片描述

打开任务资源管理器就可以看到有哪些程序在运行,即进程;进程也可以叫做任务(task);
进程是操作系统资源分配的基本单位
在这里插入图片描述

举个例子:小明要开一个纺织厂,纺织厂里面又有许多条生产线,而一个纺织厂就相当于一个进程,即小明所拥有的资源
在这里插入图片描述


2.进程的特性

1.进程是非常重要的"软件资源"

进程是由操作与系统进行管理的,管理主要是描述进程 (进程有哪些属性特征) +组织 (将这些进程串起来)

描述+组织=>调度

描述:主要使用结构体来描述进程我们把他叫做PCB(进程控制块)
组织:通过一个双向链表,把多个PCB串在一起
创建一个进程,本质上就是创建一个PCB结构体对象,并将它插入链表中;
销毁一个进程,本质上就是把链表上的PCB结点删除
在任务管理器上查看到的进程列表,本质上就是遍历这个PCB链表;


2.PCB(进程控制块)描述了哪些进程特征

在这里插入图片描述

操作系统里面有一个很重要的模块调度器,就是负责让有限的CPU来调度执行很多进程;
在这里插入图片描述

3.并行和并发

下面来描述一个非常容易混淆的概念
因为cpu的资源不好分割,但是我们的现在CPU都是多核心CPU,本质上是希望这些进程可以"同时运行",“分时复用”
下面就有个很容易混淆的概念:并行和并发

并行:微观上是同一时刻,两个核心上的进程同时执行(因为一个核心同一时刻只能运行一个进程)
并发:微观上同一时刻只能运行一个进程,但是一个核心可以在多个进程之间进行快速切换,从而在宏观给我们一种多个进程同时运行的错觉


4.进程的虚拟地址空间和进程间通信

另外,程序获取的内存空间并非真正的内存空间,而是虚拟内存空间,主要是为了防止地址越界,一个程序的崩溃从而导致另外一个程序的崩溃:
如图所示:
在这里插入图片描述


问题:
既然进程之间的地址都是虚拟的,那么各个进程之间如何进行数据交互的呢?
实际上,进程之间的通信方式有很多,但是核心思想都是一样的.即搞一个多个进程都能访问到的"公共空间",基于这个公共空间来进行数据的交互

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值