【计算机考研408】进程运行的流程

news2025/2/3 13:50:01

在这里插入图片描述
由程序段(进程运行的程序的代码)、相关数据段、和PCB(进程存在的唯一标志)三个部分构成了进程实体,也称作进程映像。

注:(引入线程后)进程只作为cpu外的系统资源的分配单元。

注:操作系统内核区的内容是用户代码不可见的,并且操作系统内的进程共享一个操作系统内核区,其形式上是各个内存都有自己的内核区,实际上是仅内存中的一块区域存放着操作系统内核区。

注:进程是正在运行的程序的实例

  1. 首先我们先创建一个进程( 对其命名为P1进程),首先申请一个空白pcb,并向pcb中写入用于控制和管理进程的信息。
  2. 为该进程分配所需要的资源,若可以获得全部所需要的资源(除cpu)就将该进程挂入就绪队列中,等待cpu的调度。(若不能获得所需的所有资源,则挂入阻塞队列)。

注:

(1)进程的五状态,运行态、就绪态、阻塞态、创建态、结束态(联想进程的转换、哪些状态可以相互转换哪些不行)

(2)处理机调度,

关于调度的层次有,高级调度(作业调度)、中级调度(内存调度)、低级调度(进程调度)

关于调度的目标,cpu利用率、系统吞吐量、周转时间、带权周转时间、等待时间、响应时间

关于典型的调度算法,先来先服务(FCFS)调度算法、短作业优先(SJF)调度算法(平均等待时间最少、平均周转时间最少)、优先级调度算法、高响应比优先调度算法、时间片轮转调度算法、多级队列调度算法、多级反馈队列调度算法。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pOsmHTSA-1671537000925)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20221110214836444.png)]

  1. 进程存在其自己的虚拟地址空间,虚拟地址空间经过mmu(内存管理单元)可以建立与物理地址空间的映射。【虚拟化技术】
  2. 然后经过调度算法,轮到P1进程,P1进程由就绪态进入了运行态,cpu开始执行P1进程的代码段,并访问代码段中的虚拟地址

注:所以程序中读写的内存地址对应的也是虚拟地址,并不是真正的物理地址。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1DkJFvJd-1671537000926)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20221110220029972.png)]

  1. 虚拟地址可以分为虚拟页号和页内偏移量,首先虚拟页号先和TLB(快表,包含TLB标记位、有效位、页框号)的标记位进行对比.

注:

(1)这里TLB是全相联映射,虚拟页号和TLB标记通过标记对比器进行一一对比,当然TLB也可以使用n路组相联映射、直接映射。

(2)虚拟页号可以先和TLB标记比再和页表(慢表)比,也可以同时比。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9GCtKtub-1671537000926)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20221110221242883.png)]

  1. 这里假设慢表并未命中,将虚拟页号拆解为页目录号和页号,查页目录表,其中发现虚拟地址中的页目录号与页目录表中的页目录号一致,且有效位为1,则根据该页目录项中的页框号找到二级页表的起始地址,再根据页号找到二级页表中对应的页表项,获得页框号。

注:

(1)页目录表,即顶级页表,只能由一张而且常驻内存中(关于为什么只能有一张,请自行查阅资料,也可简单理解为树状结构)

(2)二级页表可以不在内存中,当需要的时候从外存中调入内存

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tgJXmuTd-1671537000926)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20221110221723928.png)]

  1. 将页框号和页内偏移量拼接获得完整的物理地址,然后就可以根据物理地址去访问cache或者主存了(为计算机组成原理内容)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/103758.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DOM算法系列007-判定给定节点是否为空白节点

UID: 20221220141216 aliases: tags: source: cssclass: created: 2022-12-20 空白节点 什么是空白节点? 当一个节点的节点值为空文本值时,这个节点就是空白节点。 节点值: 即节点的 nodeValue 属性值: 实际上,节点值…

程序员必看:一款巨好用的免费简历“神器”(据说有了它,再也不发愁找工作啦!)

先说地址:https://cvmaker.greedyai.com/ 相比于前两年,今年大家的求职热情依然不减,但市场却泼了一盆“冰水”。 无论是从后台收到的留言,还是各种各样的新闻报道,以及今年的各大平台招聘数据来看,总结…

java多线程 下

目录 线程的生命周期 线程的同步 Synchronized的使用方法 同步机制中的锁 同步的范围 单例设计模式之懒汉式(线程安全) 线程的死锁问题 Lock(锁) synchronized 与 Lock 的对比 线程的通信 JDK5.0 新增线程创建方式 新增方式一:实现Callable接口 新增方式二…

利用LSTM识别显式篇章关系实战 可作为毕设

1.显式篇章关系分类概述 案例知识点: 任务描述:篇章关系分析是自然语言中处理篇章级基础语言分析任务,其目的是利用规则或机器学习等计算机处理手段判别篇章各组成成分之间的修辞逻辑关系,从而从整体上理解篇章。其中论元之间有连接词连接的此类关系称为显式篇章关系。本教…

RabbitMQ实战教程

RabbitMQ实战教程1.什么是RabbitMQ1.1 MQ(Message Queue)消息队列1.1.1 异步处理1.1.2 应用解耦1.1.3 流量削峰1.2 背景知识介绍1.2.1 AMQP高级消息队列协议1.2.2 JMS1.2.3 二者的联系1.2.4 Erlang语言1.3 为什么选择RabbitMQ1.4 RabbitMQ各组件功能2.怎…

【springboot 2.5.14 +jsp】打jar包,超详细,亲测可用,带源码

【springboot 2.5.14 jsp】打jar包&#xff0c;案例文档目录截图文件配置文件pom.xmlapplication.xmljspindex.jspjavaSpringbootJspApplication.javaHelloController.java打包方式运行源码地址文档目录截图 文件 配置文件 pom.xml <?xml version"1.0" encodi…

VEML6075的驱动代码

VEML6075的驱动代码VEML6075简介VEML6075相关参数VEML6075IIC读写相关时序VEML6075IIC读写驱动代码VEML6075IIC读写串口打印总结VEML6075简介 VEML6075是一种紫外线&#xff08;UV&#xff09;光传感器&#xff0c;它可以测量紫外线强度。它通常用于各种应用&#xff0c;包括环…

【云原生 | Kubernetes 实战】15、K8s 控制器 Daemonset 入门到企业实战应用

目录 一、DaemonSet 控制器&#xff1a;概念、原理解读 1.1 DaemonSet 概述 1.2 DaemonSet 工作原理&#xff1a;如何管理 Pod &#xff1f; 1.3 Daemonset 典型的应用场景 1.4 DaemonSet 与 Deployment 的区别 二、DaemonSet 资源清单文件编写技巧 三、DaemonSet …

零基础如何自学Python编程?

零基础如何系统地自学Python编程&#xff1f;绝大多数零基础转行者学习编程的目的就是想找一份高薪有发展前景的工作&#xff0c;哪个编程语言就业前景好越值得学习。零基础的同学学Python是一个不错的选择。 对于零基础的初学者最迷茫的是不知道怎样开始学习&#xff0c;建议…

基础背包问题--0 1背包与完全背包

&#x1f389;&#x1f389;&#x1f389;写在前面&#xff1a; 博主主页&#xff1a;&#x1f339;&#x1f339;&#x1f339;戳一戳&#xff0c;欢迎大佬指点&#xff01; 目标梦想&#xff1a;进大厂&#xff0c;立志成为一个牛掰的Java程序猿&#xff0c;虽然现在还是一个…

JS基于base64编码加密解密文本和图片

JS基于base64编码加密解密文本和图片 ​ 密码学&#xff0c;体系太庞大了&#xff0c;常见的加密解密算法很多&#xff0c;我仅了解了一下&#xff0c;这里仅介绍采用实现base64加密解密的方法。 严格地说base64不是加密算法&#xff0c;他只是一种编码方式&#xff0c;是一…

企业经营管理的核心是什么?

一、企业经营管理是什么&#xff1f; 企业经营管理通常是指&#xff0c;企业为了满足自身生存发展&#xff0c;通过对企业内部成员的经营活动进行计划、组织、协调、指挥、控制。企业经营管理主要目的是为了让企业在面向市场和用户是时&#xff0c;可以充分利用企业自身优势和…

excel日期函数:如何计算项目的开始和完成日期

制定工作计划是我们平时工作中经常会遇到的一类事务&#xff0c;例如某个项目&#xff0c;需要分成七个阶段来完成&#xff0c;已知项目的开始日期和每个项目需要的时间&#xff08;以天为单位&#xff09;&#xff0c;就可以做出一个项目的工作计划表&#xff1a; 需要重点强调…

无约束优化:修正阻尼牛顿法

文章目录无约束优化&#xff1a;修正阻尼牛顿法梯度法的困难经典牛顿法定义收敛性证明修正阻尼牛顿法考虑修正阻尼牛顿法的起因如何构造修正矩阵M参考文献无约束优化&#xff1a;修正阻尼牛顿法 梯度法的困难 无约束优化&#xff1a;线搜索最速下降 对于光滑函数而言&#x…

pg 锁机制深析

spin lock 使用 cas 去获取锁&#xff0c;先获取 spins_per_delay 次数&#xff0c;如果还失败&#xff0c;则每次获取失败将 delay 时长延长至 1~2倍 delay 值加 0.5 us&#xff0c;spins_per_delay 的值在获取锁后会做更新&#xff0c;如果这次没有等待&#xff0c;则下次可…

Python可视化——matplotlib.pyplot绘图的基本参数详解

目录 1.matplotlib简介 2.图形组成元素的函数用法 2.1. figure()&#xff1a;背景颜色 2.2 xlim()和 ylim()&#xff1a;设置 x&#xff0c;y 轴的数值显示范围 2.3 xlabel()和 ylabel()&#xff1a;设置 x&#xff0c;y 轴的标签文本 2.4 grid()&#xff1a;绘制刻度线的…

NVIDIA深度学习基础-理论与实践入门课程笔记及测验参考代码

1. 使用MNIST数据集进行图像分类 1.1 MNIST数据集 在深度学习的历史当中,对 MNIST 数据集里的70000张手写体数字的图像进行0到9的正确分类是一个重大的进展。如今,这个问题被认为是微不足道的,但是使用 MNIST 进行图像分类已经成为深度学习的一个 Hello World 练习。 以下…

TDC-GP30固件升级笔记

Bootloader介绍 系统重置或系统INIT发生后&#xff0c;总是请求引导加载程序。但是&#xff0c;只有在设置了引导加载器发布代码时&#xff0c;才会执行引导加载器操作。 Bootloader操作包括&#xff1a; “Register Configuration” 寄存器配置”&#xff0c;将配置数据传输…

8-Arm PEG-DBCO分子量决定外观性状,用于修饰生物分子

英文名称&#xff1a;8-Arm PEG-DBCO 中文名称&#xff1a;八臂-聚乙二醇-二苯基环辛炔 分子量&#xff1a;1k&#xff0c;2k&#xff0c;3.4k&#xff0c;5k&#xff0c;10k&#xff0c;20k&#xff08;可按需定制&#xff09; 质量控制&#xff1a;95% 存储条件&#xff…

计算机毕设Python+Vue学校教务管理系统(程序+LW+部署)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…