计算机操作系统(慕课版)第二章学习笔记

第二章学习笔记

在这里插入图片描述
1.1 前趋图描述程序执行
前趋图:用于描述程序执行先后顺序
定义:一个有向无循环图,是一个二元组,由结点的集合和有向边组成。其中:
结点:表示一条语句、一个程序段或一个进程
有向边:两个结点之间的前趋关系“→”

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

2.1 进程的描述
进程的定义:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。

  • 进程是可并发执行的程序在某个数据集合上的一次计算活动,也是操作系统进行资源分配和保护的基本单位。
  • 进程是一个既能用来共享资源,又能描述程序并发执行过程的系统基本单位。
  • 进程是程序的一次执行。

2.2 进程的特征
动态性、并发性、独立性、异步性。

2.3 进程的基本状态及转换
就绪态:进程获得了除处理机以外的所有资源,等待被调入CPU。
运行态(执行态):占有处理机正在执行的进程状态。在单CPU环境下,该状态至多只有一个。在多CPU环境下,该状态进程数<=CPU数
阻塞态(等待态):等待除CPU以外的其他资源的进程的状态。
在这里插入图片描述
①就绪→执行:调度。调度程序选择一个新的进程运行。
②执行→就绪:时间片用完;运行进程被中断,因为一高优先级进程处于就绪状态。
③执行→等待:等待某个事件发生而暂时无法执行,放弃处理机。
④等待→就绪:因等待的事件发生而唤醒。

2.4 进程的挂起状态
进程在非运行态下的一种被换至外存,从而不接受调用的静止状态。我们把这种静止状态称为挂起状态。包括就绪挂起和阻塞挂起。

3.1 PCB

  • PCB是进程的一部分,常驻内存。
  • 进程实体包括:进程控制块(PCB)、程序段、相关数据段。

3.2 PCB的作用
PCB是每个进程在OS中的登记表项(处于核心段,通常不能由应用程序自身的代码来直接访问,而要通过系统调用访问)。

4.1 进程控制概念
系统使用一些具有特定功能的程序段来创建、撤销进程以及完成进程各种状态间的转换,从而达到多进程高效率并发执行和协调,实现资源共享的目的。

  • 进程管理最基本的功能
  • 一般由OS内核中的原语实现
    进程创建----进程终止----进程阻塞与唤醒----进程挂起与激活

4.2 原语
原语:系统状态下执行的某些具有特定功能的程序段称为原语。

原语的特点:

  • a、具有独立的系统功能;
  • b、在系统态运行;
  • c、不允许中断或不允许并发;
  • d、是一个不可分割的基本单位。

4.3 进程的创建过程(记忆中的重点)
申请空白的PCB,为新建立的进程分配资源,初始化PCB,将新进程插入就绪队列

5 进程通信
5.1 高级通讯机制类型
共享存储器系统、管道通信、消息通信方式

5.2 共享存储器系统

  • 基于共享数据结构的通讯方式(低效,只适于传递少量数据)
  • 基于共享存储区的通讯方式(高效,进程可通过对共享存储区进行读或写数据实现通讯。)

5.3 管道通信机制
管道通信方式也称共享文件方式,能够连接一个读进程和一个写进程,并允许他们以先进先出方式进行通信的一个共享文件,又名pipe文件。

5.4 消息传递系统
在消息传递系统中,进程间的数据交换是以消息(message,在计算机网络中又称报文)为单位。程序员直接利用系统提供的一组通讯命令(原语)来实现通讯。

6 线程
6.1 线程概念
线程:线程是进程中的一个实体,是被系统独立调度和分派的基本单位。

6.2 线程和进程的比较
在这里插入图片描述
6.3 进程的状态
(1) 执行状态,表示线程已获得处理机而正在运行;
(2) 就绪状态,指线程已具备了各种执行条件,只须再获得CPU便可立即执行;
(3) 阻塞状态,指线程在执行中因某事件受阻而处于暂停状态,例如,当一个线程执行从键盘读入数据的系统调用时,该线程就被阻塞。

6.4 线程控制块
线程控制块 TCB(Thread control block)
标志线程存在的数据结构,其中包含对线程管理需要的全部信息.

6.5 线程的实现
内核支持线程KST
用户级线程ULT
组合方式
在这里插入图片描述

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

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

相关文章

Ps:索引颜色模式

Ps菜单&#xff1a;图像/模式/索引颜色 Image/Mode/Indexed Color 索引颜色 Indexed Color模式可生成最多 256 种颜色的 8 位图像文件。 这种颜色的限制使得索引颜色模式的图像文件相比于全彩图像&#xff08;如 RGB 颜色模式下的图像&#xff09;具有更小的文件大小&#xff0…

ConvNext学习

参考&#xff1a; [1] LIU Z, MAO H, WU C Y, et al. A ConvNet for the 2020s[C/OL]//2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), New Orleans, LA, USA. 2022. http://dx.doi.org/10.1109/cvpr52688.2022.01167. DOI:10.1109/cvpr52688.2…

更换个人开发环境后,pycharm连接服务器报错Authentication failed

原因&#xff1a;服务器中更换个人开发环境后&#xff0c;密码变了。 解决&#xff1a;在pycharm中修改服务器开发环境密码即可。 1 找到Tools-Depolyment-Configuration 2 点击SSH Configuration后的省略号 3 修改这里面的Password即可

Spring Web 参数验证常见错误

参数检验是我们在 Web 编程时经常使用的技术之一&#xff0c;它帮助我们完成请求的合法性校验&#xff0c;可以有效拦截无效请求&#xff0c;从而达到节省系统资源、保护系统的目的。 相比较其他 Spring 技术&#xff0c;Spring 提供的参数检验功能具有独立性强、使用难度不高…

C++17之折叠表达式

相关文章系列 深入理解可变参数(va_list、std::initializer_list和可变参数模版) 目录 1.介绍 2.应用 2.1.使用折叠表达式 2.2.支持的运算符 2.3.使用折叠处理类型 3.总结 1.介绍 折叠表达式是C17新引进的语法特性。使用折叠表达式可以简化对C11中引入的参数包的处理&…

StarRocks之监控管理(内含DashBoard模板)

先看下最终效果图 架构 Prometheus 是一个拥有多维度数据模型的、灵活的查询语句的时序数据库。它可以通过 Pull 或 Push 采集被监控系统的监控项,存入自身的时序数据库中。并且通过丰富的多维数据查询语言,满足用户的不同需求。 Grafana 是一个开源的 Metric 分析及可视化系…

如何避免在绩效考核评分时“脸盲”

对于大型企业来说&#xff0c;如何保证在绩效考核评分时准确快速地回忆起员工的日常表现&#xff0c;已经成为困扰管理者的难题。由于大型企业员工数量众多且业务模块繁杂&#xff0c;公司领导很难对每个员工的工作情况都了如指掌。这导致在绩效考核评分时&#xff0c;公司领导…

Keepalived介绍、架构和安装

Keepalived介绍、架构和安装 文章目录 Keepalived介绍、架构和安装1.Keepalived&#xff08;高可用性服务&#xff09;1.1 Keepalived介绍1.2 Keepalived 架构1.3 Keepalived 相关文件 2.Keepalived安装2.1 主机初始化2.1.1 设置网卡名和ip地址2.1.2 配置镜像源2.1.3 关闭防火墙…

网安入门18-XSS(靶场实战)

HTML实体化编码 为了避免 XSS 攻击&#xff0c;会将<>编码为<与>&#xff0c;这些就是 HTML 实体编码。 编码前编码后不可分的空格 < (小于符号)< > (大于符号)> & (与符号)&amp;″ (双引号)&quot;’ (单引号)&apos;© (版权符…

ADS-B Receiver Board Mode-S Beast

目录 Introduction Specifications Driver Installation Data Format AVR Data binary format Introduction Mode-S Beast is a high-performance ADS-B receiver board that can receive and decode ADS-B, Mode-S and Mode-A/C signals. The Mode-S Beast allows you…

最全SCADA介绍:SCADA软件架构、特点、应用

这篇文章&#xff0c;我们将深入介绍SCADA系统和SCADA软件。 SCADA系统是工业生产中的一个重要部分&#xff0c;因为它们有助于监控过程数据以及控制过程&#xff0c;并轻松检测过程中的任何问题&#xff0c;从而减少停机时间。 SCADA系统的定义 SCADA是Supervisory Control…

08 string类的使用

为什么要学习string类 c语言中的字符串 c语言中&#xff0c;字符串是以\0结尾的一些字符的集合&#xff0c;为了操作方便&#xff0c;c标准库提供了一些str系列的函数&#xff0c;但是这些库函数与字符串是分离开的&#xff0c;不符合OOP的思想&#xff0c;而且底层空间需要自…

Laravel04 eloquent

eloquent 1. eloquent2. 创建eloquent model 以及 取数据 1. eloquent 文档地址&#xff1a; https://learnku.com/docs/laravel/8.x/eloquent/9406 下面是我们&#xff0c;通过laravel的DB类从数据库中获取了post记录&#xff0c;那么有没有可能我们直接获取一个post对象&am…

Ansible group模块 该模块主要用于添加或删除组。

目录 创建组验证删除组验证删除一个不存在的组 常用的选项如下&#xff1a; gid  #设置组的GID号 name  #指定组的名称 state  #指定组的状态&#xff0c;默认为创建&#xff0c;设置值为absent为删除 system  #设置值为yes&#xff0c;表示创建为系统组 创建组 ansib…

Netty权威指南——基础篇2(NIO编程)备份

1 概述 与Socket类和ServerSocket&#xff0c;NIO也提供了SocketChannel和ServerSocketChannel两种不同的套接字通道实现。这两种新增的通道都支持阻塞和非阻塞两种模式。阻塞模式使用简单&#xff0c;但性能和可靠性都不好&#xff0c;非阻塞模式则正好相反。一般来说&#xf…

电机效率MAP图

直接使用contourf&#xff0c;需要有[X,Y] meshgrid(x,y), 并用Zf(X,Y)来生成Z轴。但是如果一开始Z轴坐标就不是x,y用函数生成的&#xff0c;而是有个默认的测试数据&#xff0c;又该如何用来画MAP图呢? clc;clear;clf; data_ECO []; //具体数值可以自己填&#xff0c;此处…

240Hz高刷电竞显示器 - HKC VG253KM

&#x1f389;&#x1f389;&#x1f389; 各位电竞爱好者们&#xff0c;今天给大家带来一款神秘武器&#xff0c;一款能够让你在游戏中大展拳脚的高刷电竞显示器 - HKC VG253KM&#xff01;&#x1f525;&#x1f525;&#x1f525; 这款显示器&#xff0c;哎呀&#xff0c;真…

测试环境搭建整套大数据系统(七:集群搭建kafka(2.13)+flink(1.14)+dinky+hudi)

一&#xff1a;搭建kafka。 1. 三台机器执行以下命令。 cd /opt wget wget https://dlcdn.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz tar zxvf kafka_2.13-3.6.1.tgz cd kafka_2.13-3.6.1/config vim server.properties修改以下俩内容 1.三台机器分别给予各自的broker_id…

第40期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区&#xff0c;集成了生成预训练Transformer&#xff08;GPT&#xff09;、人工智能生成内容&#xff08;AIGC&#xff09;以及大语言模型&#xff08;LLM&#xff09;等安全领域应用的知识。在这里&#xff0c;您可以找…

SpringBoot:Invalid bound statement (not found)的原因和解决方案

&#x1f413; 报错信息&#xff1a; &#xff08;无效绑定声明&#xff09;找不到 解析&#xff1a; 你的mapper实例对象和对应的mapper.xml对象未找到 &#x1f413; 排查&#xff1a; 情况一&#xff1a; 1.排除相对应的mapper实例对象路径是否正确 查看相对应的mapper中…