奇思妙想录 困难只能吓倒懦夫懒汉,而胜利永远属于敢于攀登科学高峰的人。——茅以升
歌曲封面 未知作品

萌ICP备20248808号

津ICP备2023004371号-2

网站已运行 2 年 88 天 1 小时 44 分

Powered by Typecho & Sunny

2 online · 104 ms

Title

进程调度的基本过程

IhaveBB

·

·

49次阅读
技术分享
Article
⚠️ 本文最后更新于2023年11月14日,已经过了330天没有更新,若内容或图片失效,请留言反馈
AI摘要:进程是操作系统中正在运行的程序的抽象,是资源分配的基本单位。进程由描述和组织两部分组成,描述存储在进程控制块(PCB)中,包括进程ID、内存指针、文件描述符表等。组织上,操作系统通过双向链表管理就绪队列,实现进程调度。内存管理方面,虚拟地址空间允许进程使用虚拟地址,通过操作系统和硬件转换为物理地址,实现进程间隔离。进程调度的目标是实现并行和并发,提高系统效率。

Powered by AISummary.

进程调度的基本过程

一. 什么是进程?

进程是操作系统对正在运行的程序的抽象。可以将进程视为特定时刻程序的一次执行过程。在操作系统内部,进程是资源分配的基本单位。通过进程,操作系统可以有效地管理和调度系统中的各项任务,使多个任务可以在一个处理器上交替执行,从而实现并发和并行。

进程示意图

二. 进程的组成与描述

1. 进程由两部分组成:描述和组织。

1.1 描述:

进程的属性被存储在进程控制块(PCB)中。PCB 可以被视为进程的档案,其中包含了关键信息,如进程ID、内存指针、文件描述符表等。

举个例子,想象你正在玩一个多人在线游戏。你是一个进程,而你的PCB就包含了你在游戏中的ID、当前所在的地图位置以及你的游戏资源状态。

1.2 组织:

操作系统通过双向链表将多个PCB连接在一起,形成了就绪队列。就绪队列中存放了等待被调度执行的所有进程。当一个进程需要被执行时,操作系统会从就绪队列中选择一个合适的进程进行调度。

举个类比,把就绪队列想象成一个电影院的排队队伍。每个PCB就像一个电影观众,等待着进入放映厅(CPU)观看电影(执行任务)。

2. PCB内部描述了进程的特征:

2.1 进程的特征

  1. 进程标识符(PID): 类似于每个人的身份证号码,用于唯一标识一个进程。
  2. 内存指针: 就像是你在地图上的位置标记,指示进程所占用的内存区域。
  3. 文件描述符表: 类似于你的工具箱,包含进程持有的文件和其他资源,比如硬盘上的文件。
  4. 进程调度相关属性:

    • 进程状态: 就绪状态(随时可执行)、运行状态(当前正在执行)、阻塞状态(无法立即执行,如IO密集操作)。
    • 优先级: 不同进程具有不同的优先级,操作系统根据优先级进行调度。就像不同等级的乘客在机场的登机顺序。
    • 上下文: 在进程切换时,需要保存当前进程的执行状态,以便下次恢复时可以继续执行。这包括CPU寄存器的值,类似于暂停游戏时记录的进度,以便以后继续。
    • 记账信息: 统计进程在CPU上占用的时间和执行的指令数量,影响下一阶段的调度决策。

2.2 并行和并发

调度的目标是实现分时复用,使多个进程共享处理器的时间,从而提高系统的效率。并行和并发是两种实现这一目标的不同方式:

  • 并行: 多个进程在不同的处理器核心上同时执行,就像多个厨师在不同的灶台上烹饪不同的菜肴。
  • 并发: 微观上,单个核心在同一时刻只能执行一个进程,但在不同进程之间快速切换执行,造成多个任务几乎同时运行的错觉。这由操作系统内核管理。

三. 内存管理:虚拟地址空间

程序获取的内存地址实际上是虚拟地址,而非物理内存地址。虚拟地址是一种抽象,通过操作系统和硬件进行虚拟地址到物理地址的转换。

进程隔离引入了虚拟地址空间的概念,程序不再直接使用真实的物理地址。虚拟地址空间解决了进程间影响的问题,但也引入了新的挑战。进程需要进行数据交互时,需要通过进程间通信来实现。通信方式多种多样,核心思想是创建一个公共空间,用于数据交换。

虚拟地址空间示意图虚拟地址转换示意图
现在已有 0 条评论,0 人点赞
Comment:共0条
发表
搜 索 消 息 足 迹
你还不曾留言过..
你还不曾留下足迹..
博主

哈喽大家好呀

本站已从原站:33mc.cn
迁移到本站:blog.nicebao.com
主域名变为:nicebao.com

不再显示
博主