王道考研——操作系统(第二章 进程管理)(进程;线程)

news2024/11/25 14:53:21

一、进程的概念、组成、特征

进程的概念

在这里插入图片描述

进程的组成——PCB

在这里插入图片描述
在这里插入图片描述

进程的组成——程序段、数据段

在这里插入图片描述

知识滚雪球:程序是如何运行的?

在这里插入图片描述

进程的组成

在这里插入图片描述

进程的特征

在这里插入图片描述

知识回顾与重要考点

在这里插入图片描述

二、进程的状态与转换

进程的状态——创建态、就绪态

在这里插入图片描述

进程的状态——运行态

在这里插入图片描述

进程的状态——阻塞态

在这里插入图片描述

进程的状态——终止态

在这里插入图片描述

进程状态的转换

在这里插入图片描述

进程的状态

在这里插入图片描述

进程的组织——链接方式

在这里插入图片描述

进程的组织

在这里插入图片描述

进程的组织——索引方式

在这里插入图片描述

进程的组织

在这里插入图片描述

知识回顾与重要考点

在这里插入图片描述

三、进程控制

什么是进程控制?

在这里插入图片描述

如何实现进程控制?

在这里插入图片描述

原语是一种特殊的程序,它的执行具有原子性。也就是说,这段程序的运行必须一气呵成,不可中断

如何实现原语的“原子性”?

在这里插入图片描述
在这里插入图片描述

进程控制相关的原语

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

那么什么是“进程运行环境信息”呢?

知识滚雪球:程序是如何运行的?

在这里插入图片描述

CPU中会设置很多“寄存器”,用来存放程序运行过程中所需的某些数据。

这些指令顺序执行的过程中,很多中间结果是放在各种寄存器中的

在这里插入图片描述
当原来的进程再次投入运行时,可以通过PCB恢复它的运行环境

知识回顾与重要考点

在这里插入图片描述
学习技巧:进程控制会导致进程状态的转换。无论哪个进程控制原语,要做的无非三类事情:

  1. 更新PCB中的信息
    a.所有的进程控制原语一定都会修改进程状态标志
    b.剥夺当前运行进程的CPU使用权必然需要保存其运行环境
    c.某进程开始运行前必然要恢复其运行环境
  2. 将PCB插入合适的队列
  3. 分配/回收资源

在这里插入图片描述

四、进程通信(IPC)

什么是进程间通信?

进程间通信(Inter-Process Communication, IPC)是指两个进程之间产生数据交互。

为什么进程通信需要操作系统支持?

在这里插入图片描述
因此,操作系统为进程通信提供了三种方式:
(1)
(2)
(3)

共享存储

在这里插入图片描述
在这里插入图片描述

消息传递

在这里插入图片描述

消息传递(直接通信方式)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

消息传递(间接通信方式)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

进程通信——管道通信

在这里插入图片描述

知识回顾与重要考点

在这里插入图片描述

修正

在这里插入图片描述

五、线程概念(多线程模型)

什么是线程,为什么要引入线程?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

引入线程机制后,有什么变化?

在这里插入图片描述

线程的属性

在这里插入图片描述

六、线程的实现方式(多线程模型)

线程的实现方式(用户级线程)

在这里插入图片描述
在这里插入图片描述

很多编程语言提供了强大的线程库,可以实现线程的创建、销毁、调度等功能。

  1. 线程的管理工作由谁来完成?
  2. 线程切换是否需要CPU变态?
  3. 操作系统是否能意识到用户级线程的存在?
  4. 这种线程的实现方式有什么优点和缺点?

在这里插入图片描述

线程如果是用”用户级线程“的方式来实现,cpu的调度单位依然是进程,操作系统是给进程分配cpu时间的。因此,即便我们的电脑是多核处理机,但是由于此时进程才是cpu调度的基本单位,因此,进程只能被分配一个核心,因此,这些线程并不能并行运行

线程的实现方式(内核级线程)

大多数现代操作系统都实现了内核级线程,如Windows、Linux

  1. 线程的管理工作由谁来完成?
  2. 线程切换是否需要CPU变态?
  3. 操作系统是否能意识到内核级线程的存在?
  4. 这种线程的实现方式有什么优点和缺点?

在这里插入图片描述

内核级线程的线程实现方式下,内核级线程是处理机调度的基本单位,而进程只作为分配资源的基本单位,因此在多核cpu的环境下,这几个线程可以分别分派到不同核心下并行执行

多线程模型(一对一模型)

在这里插入图片描述

多线程模型(多对一模型)

在这里插入图片描述

这些用户级线程不可能并行运行,因为只有内核级线程才是处理机的分配单位,如果一个进程只对应一个内核级线程,那么在同一时刻,这个进程只能被分配一个cpu的核心;如果给这个进程分配多个内核级线程的话,那么在多核环境下,这些内核级线程可以并行运行。但在考试中,如果提到“多对一的线程模型”,那么我们默认一个进程只被分配了一个内核级线程

多线程模型(多对多模型)

在这里插入图片描述

由于此时一个进程它有两个内核级线程,因此,其中一个内核级线程被堵塞了的话,另一个内核级线程可以继续运行下去,克服了多对一并发度不高的缺点

知识回顾与重要考点

在这里插入图片描述

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

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

相关文章

刷题日记【第十二篇】-笔试必刷题【洗牌+MP3光标位置+年终奖+迷宫问题】

洗牌【编程题】 import java.util.*;public class Main {// 左: i --> 2*i;// 右: in --> 2*i 1;private static void playCard(int[] cards, int n, int k ) {for (int i 0; i < k; i) {//一次洗牌的顺序int[] newCards new int[cards.length];//遍历编号为0-n-1…

【Servlet】2:认识一下Web服务器——Tomcat

目录 第三章 | Tomcat 认识与配置 | 章节概述 | HTTP服务器概述 | Tomcat 安装与配置 | Tomcat 的目录结构、端口号 第四章 | Tomcat 基本使用 | 章节概述 | 本地Tomcat 静态资源网站访问 | IDEATomcat 静态资源网站访问 | IDEA中最基础web项目的目录结构 本文章属于后…

从零开始操作系统-07:APIC

这一节主要主要是APIC。 所需要的文件在Github&#xff1a;https://github.com/yongkangluo/Ubuntu20.04OS/tree/main/Files/Lec7-ExternalInterrupt 历史方法&#xff1a;PIC&#xff08;Programmable Interrupt Controller&#xff09; Intel 8259&#xff1a; APIC&#…

小侃设计模式(十三)-策略模式

1.概述 策略模式&#xff08;Strategy Pattern&#xff09;是一种比较简单的模式&#xff0c;它定义了算法家族&#xff0c;分别封装起来&#xff0c;让它们之间可以互相替换&#xff0c;此模式让算法的变化&#xff0c;不会影响到使用算法的客户。策略模式具有较强的实用性&a…

ARM学习扫盲篇(一):CPSRSPSR、LcacheDcache、w/parityw/ECC

1、CPSR&SPSR CPSR—程序状态寄存器(current program status register) SPSR—程序状态保存寄存器&#xff08;saved program status register&#xff09; Icache&Dcache icache用来缓存指令&#xff1b; dcache用来缓存数据&#xff0c;dcache用的前提是mmu要启动…

(续)SSM整合之SSM整合笔记(ContextLoaderListener)(P177-178)

目录 ContextLoaderListener 一 ContextLoaderListener 二 测试ContextLoaderListener 1 新建模块spring_listener com.atguigu 2. 导入依赖 3 .转web 4 .web.xml 5 springmvc.xml 6 .spring.xml 7 首页index.html 8 控制层 HelloController 9 service接口…

【24计算机考研】备考前必须了解的避坑小知识,建议收藏

前言 我们可能已经了解到最近两三年的考研趋势&#xff0c;疫情的原因&#xff0c;不断增加的二战三战考生&#xff0c;导致每年考研人数持续增长&#xff0c;那么&#xff0c;如何在相同的时间里&#xff0c;赶超你的竞争对手&#xff0c;避坑 绝对是很重要的。 考研将是一场…

【Spring】——9、如何指定初始化和销毁的方法?

&#x1f4eb;作者简介&#xff1a;zhz小白 公众号&#xff1a;小白的Java进阶之路 专业技能&#xff1a; 1、Java基础&#xff0c;并精通多线程的开发&#xff0c;熟悉JVM原理 2、熟悉Java基础&#xff0c;并精通多线程的开发&#xff0c;熟悉JVM原理&#xff0c;具备⼀定的线…

(STM32)从零开始的RT-Thread之旅--SPI驱动ST7735(3)使用DMA

上一篇&#xff1a; (STM32)从零开始的RT-Thread之旅--SPI驱动ST7735(2) 上一篇完成了ST7735驱动的移植&#xff0c;并已经可以通过SPI在屏幕上显示字符了&#xff0c;这一章会把SPI修改为DMA的传输方式。由于RTT对于STM32H7的SPI的DMA传输方式目前支持的并不好&#xff0c;这…

Vuex3使用教程(待续)

Vuex定义 以下是Vue官网对于Vuex的定义&#xff1a; Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 库。它采用集中式存储管理应用的所有组件的状态&#xff0c;并以相应的规则保证状态以一种可预测的方式发生变化。 从官方定义上看&#xff1a; Vuex提供了一个全部组件…

Java注释:单行、多行和文档注释

注释是对程序语言的说明&#xff0c;有助于开发者和用户之间的交流&#xff0c;方便理解程序。注释不是编程语句&#xff0c;因此被编译器忽略。 Java入门基础视频教程&#xff0c;java零基础自学就选黑马程序员Java入门教程&#xff08;含Java项目和Java真题&#xff09; Ja…

【Django】Django4.1.2使用xadmin避坑指南(二)

上一篇【Django】Django4.1.2使用xadmin避坑指南调完后&#xff0c;还是继续有问题&#xff0c;没事&#xff0c;咱们继续&#xff0c;必须啃下硬骨头~ 文章目录环境问题一&#xff1a;if not ContentType._meta.installed:这一句报错&#xff1a;AttributeError: Options obje…

《深度学习进阶 自然语言处理》第八章:Attention介绍

文章目录8.1 Attention结构8.1.1 seq2seq存在的问题8.1.2 编码器的改进8.1.3 解码器的改进8.2 Attention的应用8.3 总结之前文章链接&#xff1a; 开篇介绍&#xff1a;《深度学习进阶 自然语言处理》书籍介绍 第一章&#xff1a;《深度学习进阶 自然语言处理》第一章&#xf…

SSH连接WSL2踩坑记录与增加端口转换规则,实现外网与WSL2的连接

SSH连接WSL2踩坑记录 文章目录SSH连接WSL2踩坑记录1. 在WSL里的操作2. ssh连接3. 可能出现的错误4. 再配置端口转发到WSL1. 在WSL里的操作 1.1 重装openssh-server sudo remove openssh-server # 如果已经安装了&#xff0c;建设先卸载 sudo apt install openssh-server…

Ansys Lumerical | 行波 Mach-Zehnder 调制器仿真分析

前言 本示例描述了行波 Mach-Zehnder 调制器的完整多物理场&#xff08;电气、光学、射频&#xff09;仿真&#xff0c;最后在INTERCONNECT中进行了紧凑模型电路仿真。计算了相对相移、光学传输、传输线带宽和眼图等关键结果。 综述 此示例中5毫米长的Si波导由5毫米长的Al共面…

SpringBoot SpringBoot 开发实用篇 5 整合第三方技术 5.24 SpringBoot 整合 RabbitMQ(topic 模式)

SpringBoot 【黑马程序员SpringBoot2全套视频教程&#xff0c;springboot零基础到项目实战&#xff08;spring boot2完整版&#xff09;】 SpringBoot 开发实用篇 文章目录SpringBootSpringBoot 开发实用篇5 整合第三方技术5.24 SpringBoot 整合 RabbitMQ(topic 模式)5.24.1 …

FL Studio2023水果编曲软件最新版安装教程

FL Studio中文版是知名的音乐制作软件&#xff0c;让你的计算机就像是全功能的录音室&#xff0c;软件包含13种虚拟音源&#xff0c;可同时录制64轨音频轨&#xff0c;FL Studio中文版拥有的漂亮的大混音盘&#xff0c;先进的创作工具&#xff0c;让你的音乐突破想象力的限制&a…

智能化油田建设规划

一、数字化油田-技术现状 数字化油田实现了设备的远程生产过程监控&#xff0c;使井场实现无人值守。所以目前的设备运行维护管理系统只能实现数据统计管理&#xff0c;并不能实现设备状态监控及远程维护及故障诊断。 1、数字化油田— 存在的问题 缺少设备状态在线监测系统&a…

第三章. 业务功能开发--用户登录安全退出

第三章. 业务功能开发--用户登录安全退出 1. 用户登录 需求&#xff1a; 用户在登录页面,输入用户名和密码,点击"登录"按钮或者回车,完成用户登录的功能.*用户名和密码不能为空*用户名或者密码错误,用户已过期,用户状态被锁定,ip受限 都不能登录成功*登录成功之后,所…

Android Jetpack之Lifecycle的使用及源码分析

Lifecycle生命周期感知型组件可执行操作来响应另一个组件&#xff08;如 Activity 和 Fragment&#xff09;的生命周期状态的变化。这些组件有助于您编写出更有条理且往往更精简的代码&#xff0c;此类代码更易于维护。 尤其是在Activity和Fragment在已经默认支持LifeCycle的情…