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

news/2025/3/27 11:21:42/

第二章学习笔记

在这里插入图片描述
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://www.ppmy.cn/news/1367016.html

相关文章

GiantPandaCV | 一文理解RetNet(内含公式详解!)

本文来源公众号“GiantPandaCV”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;一文理解RetNet 0 前言 paper&#xff1a;https://arxiv.org/pdf/2307.08621.pdf code&#xff1a;https://github.com/microsoft/un 微软研究院…

Aws Ec2服务器设置密码登录

通过密钥&#xff0c;ssh登录到服务器 切换到root sudo -i开始设置root的新密码 passwd root输入并确认新密码即可 5.修改ssh配置文件 vim /etc/ssh/sshd_config6.重启sshd配置 systemctl restart sshd

windows/linux下其他位置调用指定nodejs脚本报错Error: Cannot find module ‘esm’

问题&#xff1a; 有一个nodejs脚本名为html2word,同目录下还有它对应的package.json&#xff0c;正常在html2word所在目录下执行脚本没问题&#xff0c;但是在其他目录执行时报错&#xff1a;Error: Cannot find module ‘esm’ 原因&#xff1a; 在其他位置执行node脚本时…

[pdf]《软件方法》2024版部分公开-共196页

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 潘加宇《软件方法》2024版部分公开pdf文件&#xff0c;共196页&#xff0c;已上传CSDN资源。 也可到以下地址下载&#xff1a; http://www.umlchina.com/url/softmeth2024.html 如果…

【Python】变量的引用

&#x1f6a9; WRITE IN FRONT &#x1f6a9; &#x1f50e; 介绍&#xff1a;"謓泽"正在路上朝着"攻城狮"方向"前进四" &#x1f50e;&#x1f3c5; 荣誉&#xff1a;2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…

three.js 向量叉乘cross

效果&#xff1a; 代码&#xff1a; <template><div><el-container><el-main><div class"box-card-left"><div id"threejs"></div><div></div></div></el-main></el-container>…

Vue3自定义文件列表页面(含上传、搜索、复制链接)

文章目录 一、代码展示二、代码解读三、结果展示 一、代码展示 <template><div class"container"><h1>文件列表</h1><div class"header-actions"><a-input placeholder"输入关键词搜索" v-model:value"…

智慧灌区项目案例(甘肃省兰州市某重点灌区)

​甘肃省兰州市某重点灌区自上个世纪80年代建成后,灌溉面积达到30万亩,对推动当地农业发展发挥了重要作用。但长期以来,该灌区的水利管理仍主要依靠人工统计记录,缺乏实时监测和精细化管理。为实现灌区管理的现代化升级,甘肃水利局委托星创易联公司设计实施水利信息化项目。 项…