进程调度的基本过程

1.什么是进程

当一个程序跑起来的时,就叫进程.
这里就是跑起来的程序,也就是进程

2.操作系统如何管理进程

有两个方面
(1)描述:就是说明清楚一个进程有哪些属性 . 信息等.
在操作系统中是用结构体来描述的,其中就包含该进程的各种信息,这种结构 体就叫PCB(进程控制块)
(2)组织:通过一定的数据结构把这些描述的进程放在一起,然后进行增删改查.
操作系统一般会使用双向链表来组织这些PCB
注意:一个进程可能对应是一个PCB,也可能对应多个,系统管理的链表也可能是多个

2.1 PCB里有什么信息

(1)pid 进程的身份标识
在这里插入图片描述其中的数字就是身份标识
一个主机的同一时刻,这些进程的pid是不同的,可以通过pid来区分进程
(2)内存指针
通过内存指针可以知道哪块指针是用来干什么的,当一个可执行文件开始运行时,系统会把文件中的核心数据加载到内存中去,包括要执行的指令和指令依赖的数据,然后系统肯定要给这些核心数据分配内存空间,这些内存空间就会有很多区域,每块区域都有各自的东西,可能是指令,可能是数据等
(3)文件描述符表
每个进程都会打开一些文件,文件描述符表里面记录了这些文件,可以在后续中对这些文件进行读写操作
由上述可知进程就是操作系统分配资源的基本单位

下面的属性都是与进程调度有关,进程调度就是通过"并行"和"并发"的方式让计算机能够"同时"(这个同时是因为计算机运行速度太快,宏观上来看就可以说是同时的)执行多个进程(任务). 对CPU的分配,
(4)进程状态
通过进程状态来进行规划,达到合理利用的目的,如果说这个进程是随时要用就能用,那么就是就绪状态,如果这个进程不能随时要用就能用,就是阻塞状态.当然不只有这两种状态,还有别的.
(5)进程优先级
分先后,是根据系统的需求来调用对应的线程,这个线程需要得多点就先调用,系统的调度会根据优先级的先后来安排时间,这个优先级是相对的
(6)进程上下文
就是说一个进程在CPU上执行一会后要换另一个进程执行了,前面这个进程并没有执行完全,可能执行了一半,这个时候就需要保存当前执行的中间结果,等下一次再执行这个进程的时候接着上次的地方执行
(7)进程的记账信息
每个进程在CPU上执行了多久,会记录下来,达到辅助作用,在执行进程的时候会有优先级,但是我们也不希望有一些进程完全没有进入到CPU当中过,通过这个记账信息来使调度能更加均衡点

3.关于虚拟地址空间这个概念

在这里插入图片描述
为了解决这种问题,就用到了虚拟地址空间,通过专门的设备MMU来完成虚拟地址到物理地址之间的映射
在这里插入图片描述
这个这种方式能使进程稳定,但是如果说有些进程要相会配合来完成一些任务,这个方式也会使进程隔离,使两个进程之间很难交互,对于这个问题,系统引入了进程间隔离这个机制(基于文件,基于socket(网卡)).不只有这两种基于.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值