【清华大学】操作系统 陈渝——Part11 死锁

手把手教你用X-AnyLabeling实现医学图像标注:从SAM模型选择到多边形优化全流程 本文详细介绍了如何使用X-AnyLabeling平台结合Med-SAM等专业模型实现医学图像的高效标注。从环境配置、模型部署到实战工作流,涵盖智能辅助标注、低对比度解决方案及团队协作方案,帮助医疗从业者大幅提升标注效率与质量。特别适合处理CT/MRI等医学影像的复杂标注需求。 阅读详情

死锁问题

  • 交通死锁:都在抢占行车道会出现死锁线性。
    在这里插入图片描述

    • 流量只在一个方向
    • 桥的每一个部分可以看作为一个资源
    • 如果死锁,可能通过一辆车倒退可以解决(抢占资源和回滚)
    • 如果发生死锁,可能几辆车必须都倒退
    • 可能发生饥饿
  • 计算机操作系统中,也会大量出现

    • 一组阻塞的进程拥有一种资源等待获取另一个进程所占有的资源

    • 例子:
      1.两个进程P1和P2,P1拥有一个资源R1,需要另一个资源R2,R2被P2占有,P2需要P1的资源R1,谁也无法得到继续执行的资源。

      2.系统有2个磁带驱动器

  • 为什么出现死锁?
    程序的并发执行导致,如果只有一个进程,就不会出现死锁。因为程序中有多个进程,共享资源,不加以某种约束,出现了死锁。

系统模型

数学的角度来看,死锁中有两类需求方(进程),需求资源

  • 资源类型:P1,R2…Rm
    CPU cycles,Memory space,I/O devices
  • 每个资源类型Ri有Wi实例
  • 每个进程使用资源如下:
    • request/get <-- free resource
    • use/hold <-- requested/used resourse
    • relase <-- free resource

可重复使用的资源

  • 在一个时间只能一个进程使用且不能被删除
  • 进程获得资源,后来释放由其他进程重用
  • 处理器,I/O通道,主副存储器,设备和数据结构,如文件,数据库和信号量都可以是资源。
  • 如果每个进程拥有一个资源并请求其他资源,死锁可能发生。

使用资源

  • 创建和销毁
  • 在I/O 缓冲区的中断,信号,信息,消息
  • 如果接收消息阻塞(申请的资源拿不到)可能会发生死锁
  • 可能少见的组合事件会引起死锁

资源分配图
一组顶点V和边E的集合

  • V有两种类型:

    • P = {P1, P2, …, Pn},集合包括系统中的所有进程。
    • R = {R1 ,R2, …, Rm},集合包括系统中的所有资源类型。
  • 一个进程 Pi 访问某一个资源 Rj
    requesting/claiming edge - directed edge Pi -> Rj

  • 一个资源 Rj 被一个进程所使用 Pi
    assignment/holding edge - directed edge Rj -> Pi
    在这里插入图片描述

资源分配图例子

没有死锁
P1拥有R2,需要R1;
P2拥有R1和R2,需要R3;
P3拥有R3;
R4没被占用。

P3用完R3后,R3变成free后,可被P2使用,P2执行一段时间后,R1和R2会被释放掉,P1便可以执行。
在这里插入图片描述
有死锁

P1拥有R2,需要R1;
P2拥有R1和R2,需要R3;
P3拥有R3,需要R3
R4没被占用。

和上面的情况对比,P3需要等R2,因此有死锁。
在这里插入图片描述
有循环的资源分配图没有死锁
P1拥有R2,需要R1;
P2拥有R2;
P3拥有R1,需要R2;
P4拥有R2。

P2和P4不需要等待其他资源,运行一段时间后一定释放该资源,一旦释放了拥有的资源,便可供给其他需要该资源的进程。
在这里插入图片描述

小结

  • 如果图中不包含循环 ⇒ 没有死锁
  • 如果图中包括循环 ⇒
    • 如果每个资源类只有一个实例,那么死锁
    • 如果每个资源类有几个实例,可能死锁

死锁特征

出现死锁后的四个条件

死锁可能出现后四个条件同时成立,

  1. 互斥:出现死锁后,在一个时间一个资源只能被一个进程占用,其他进程不能再使用这个资源了。
    Mutual exclusion condition: Each resource is either currently assigned to exactly one process or is available.
  2. 持有并等待:进程保持至少一个资源正在等待获取其他进程持有的资源。
    Hold and wait condition: Processes currently holding resources that were granted earlier can request new resources.
  3. 无抢占:一个资源只能被进程自愿释放,进程已经完成了任务之后。
    No preemption condition: Resources previously granted cannot be forcibly taken away from a process. They must be explicitly released by the process holding them.
  4. 循环的等待:存在等待进程{P0,P1,…PN},P0正在等待P1所占用的资源,P1正在等待P2所占用的资源…PN-1 正在等待PN所占用的资源, PN正在等待P0所占用的资源。
    Circular wait condition:There must be a circular chain of two or more processes, each of which is waiting for a resource held by the next member of the chain.

死锁处理方法

  • 确保操作系统永远不会进入死锁状态
  • 运行系统进入死锁状态,然后恢复
  • 忽略这个问题,假装系统中从来没有发生死锁(鸵鸟算法The Ostrich Algorithm,最简单的办法);用于大多数操作系统,包括UNIX。

Deadlock Prevention(死锁预防)

让死锁不会出现,打破四个条件之一
限制申请方式

  • 打破互斥 - 即允许进程同时访问某些资源。但是,有的资源是不允许被同时访问的,像打印机等等,这是由资源本身的属性所决定的。所以,这种办法并无实用价值。

  • 打破持有并等待 - 可以实行资源预先分配策略。即进程在运行前一次性地向系统申请它所需要的全部资源。如果某个进程所需的全部资源得不到满足,则不分配任何资源,此进程暂不运行。只有当系统能够满足当前进程的全部资源需求时,才一次性地将所申请的资源全部分配给该进程。由于运行的进程已占有了它所需的全部资源,所以不会发生占有资源又申请资源的现象,因此不会发生死锁。但是,这种策略也有如下缺点:

    • 在许多情况下,一个进程在执行之前不可能知道它所需要的全部资源。这是由于进程在执行时是动态的,不可预测的;
    • 资源利用率低。无论所分资源何时用到,一个进程只有在占有所需的全部资源后才能执行。即使有些资源最后才被该进程用到一次,但该进程在生存期间却一直占有它们,造成长期占着不用的状况。这显然是一种极大的资源浪费;
    • 降低了进程的并发性。因为资源有限,又加上存在浪费,能分配到所需全部资源的进程个数就必然少了。
  • 打破无抢占条件 - 即允许进程强行从占有者那里夺取某些资源。就是说,如果一个进程已占有了某些资源,它又申请新的不能被立即分享的资源,则它必须释放当前占有的全部资源,以后再重新申请。它所释放的资源可以分配给其它进程。这就相当于该进程占有的资源被隐蔽地强占了。这种预防死锁的方法实现起来困难,会降低系统性能。

  • 打破循环等待条件 - 实行资源有序分配策略。采用这种策略,即把资源事先分类编号,按号分配,使进程在申请,占用资源时不会形成环路。所有进程对资源的请求必须严格按资源序号递增的顺序提出。进程占用了小号资源,才能申请大号资源,就不会产生环路,从而预防了死锁。这种策略与前面的策略相比,资源的利用率和系统吞吐量都有很大提高,但是也存在以下缺点:

    • 限制了进程对资源的请求,同时给系统中所有资源合理编号也是件困难事,并增加了系统开销;
    • 为了遵循按编号申请的次序,暂不使用的资源也需要提前申请,从而增加了进程对资源的占用时间。

Deadlock Avoidance(死锁避免)

需要系统具有一些额外的先验信息提供判断是否会发生死锁

  • 最简单和最有效的模式是要求每个进程声明它可能需要的每个类型资源的最大数目
  • 资源的分配状态是通过限定提供与分配的资源数量,和进程的最大需求
  • 死锁避免算法是动态检查的资源分配状态,以确保永远不会有一个环形等待状态。
  • 当一个进程请求可用资源,系统必须判断立即分配是否能使系统处于安全状态。
  • 系统处于安全状态指:针对所有进程,存在安全序列。
    • 安全序列{P1,P2,…,Pn}是这样组成的:若对于每一个进程Pi,它需要的附加资源可以被系统中当前可用资源加上所有进程Pj当前占有资源之和所满足,则{P1,P2,…,Pn}为一个安全序列,这时系统处于安全状态,不会进入死锁状态。
    • 虽然存在安全序列时一定不会有死锁发生,但是系统进入不安全状态(四个死锁的必要条件同时发生)也未必会产生死锁。当然,产生死锁后,系统一定处于不安全状态。

银行家算法

利用银行家算法避免死锁,保证安全性。

前提条件

  • 多个资源实例
  • 每个进程都必须能最大限度地利用资源
  • 当一个进程请求一个资源,就不得不等待
  • 当一个进程获得所有的资源就必须在一段有限的时间释放它们。

基于上述前提条件,银行家算法通过尝试寻找允许每个进程获得的最大资源并结束(把资源返还给系统)的进程请求的一个理想执行时序,来决定一个状态是否是安全的。

当一个进程申请使用资源的时候,银行家算法通过先 试探 分配给该进程资源,然后通过 安全性算法 判断分配后的系统是否处于安全状态,若不安全则试探分配作废,让该进程继续等待。

银行家算法数据结构

  • n = 进程数量, m = 资源类型数量
  • Max(总需求量) :n * m矩阵。如果Max[i,j] = k,表示进程Pi最多请求资源类型Rj的k个实例
  • Available(剩余空闲量):长度为m的向量。如果Available[j] = k,有k 个类型Rj的资源实例可用
  • Allocation(已分配量):n * m矩阵。如果Allocation[i,j] = k,则Pi当前分配了k个资源类型Rj的实例
  • Need(未来需要量):n * m矩阵。如果Need[i,j] = k,则Pi可能需要至少k个资源类型Rj的实例。
  • Need[i,j] = Max[i,j] - Allocation[i,j]

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

Deadlock Dectection(死锁检测)和 Recovery from Deadlock(死锁恢复)

一般来说,由于操作系统有并发,共享以及随机性等特点,通过预防和避免的手段达到排除死锁的目的是很困难的。这需要较大的系统开销,而且不能充分利用资源。为此,一种简便的方法是系统为进程分配资源时,不采取任何限制性措施,但是提供了检测和解脱死锁的手段:能发现死锁并从死锁状态中恢复出来。因此,在实际的操作系统中往往采用死锁的检测与恢复方法来排除死锁。

死锁检测与恢复是指系统设有专门的机构,当死锁发生时,该机构能够检测到死锁发生的位置和原因,并能通过外力破坏死锁发生的必要条件,从而使得并发进程从死锁状态中恢复出来。

  • 允许系统进入死锁状态
  • 死锁检测算法
  • 恢复机制

死锁检测算法

开销很大
在这里插入图片描述

死锁恢复

一旦在死锁检测时发现了死锁,就要消除死锁,使系统从死锁状态中恢复过来。

  • 最简单,最常用的方法就是进行系统的重新启动,不过这种方法代价很大,它意味着在这之前所有的进程已经完成的计算工作都将付之东流,包括参与死锁的那些进程,以及未参与死锁的进程。
  • 撤消进程,剥夺资源。终止参与死锁的进程,收回它们占有的资源,从而解除死锁。这时又分两种情况:一次性撤消参与死锁的全部进程,剥夺全部资源;或者逐步撤消参与死锁的进程,逐步收回死锁进程占有的资源。一般来说,选择逐步撤消的进程时要按照一定的原则进行,目的是撤消那些代价最小的进程,比如按进程的优先级确定进程的代价;考虑进程运行时的代价和与此进程相关的外部作业的代价等因素。
CY7C68013 C0模式启动 C0或是C2启动的目的,是更改USB芯片的ID信息,并把固件载入到芯片内部RAM中运行。C0模式是指只从EEPROM中载入USB ID信息,因为只有ID信息(8个字节),所以只需要一个小容量的EEPROM即可。当然大容量的EEPROM也可以使用C0模式,但是小容量的EEPROM只能使用C0模式启动。如下图所示: 使用小容量的EEPROM要将A0,A1,A2接地。 这里我用了个24LC01,容量1 阅读详情

相关推荐

金蝶云苍穹-插件开发(一)加载数据

此系列博客是进行金蝶云苍穹开发时的插件开发的教程,一是在明年要是还要参加软件杯金蝶A6赛题的话,可以看此系列教程的博客来进行复习,同时如果要是我实验室的学弟学妹要参加的话,我这个系列的博客可以给他们提供学习参考,因为插件开发学习的路上很艰难,我学习的时候,能参照的讲解少,要花费大量工夫去猜测去调试才能学会那些语法。在插件开发上,希望我这个系列的博客能帮助到别人。这个系列的博客只专门讲解插件开发,基本的那些金蝶云苍穹的知识点在这里不多作讲解。

二狗mao的博客 3584

【清华大学】操作系统 陈渝 Part 1 —— 操作系统概述

文章目录1.1课程概述1.2什么是操作系统从功能角度看什么是操作系统操作系统层次架构硬件资源管理操作系统内核的特征1.3为什么学习操作系统操作系统的挑战性操作系统领域1.4如何学习操作系统1.5操作系统实例1.6操作系统的历史1.7操作系统结构 1.1课程概述 课程简介 什么是操作系统 为什么学习以及如何学习操作系统 操作系统的实例,历史和结构介绍 本课程涉及: 操作系统基本概念和原理...

keke_Memory的博客 1439

uniapp运行钉钉小程序

因项目原因,公司需要在钉钉里面开发小程序。之前用uniapp开发过app,H5,小程序。还真没尝试过钉钉小程序,今天就简单的记录下uniapp运行钉钉小程序中的过程。

YL 2919

【清华大学】操作系统 陈渝 Part2 —— 中断、异常和系统调用

清华大学公开课 操作系统——Part 22.1 操作系统的启动启动操作系统与设备和程序交互系统调用异常中断2.2 操作系统的中断,异常和系统调用中断和异常处理机制硬件软件系统调用小结 2.1 操作系统的启动 启动 计算机启动原理: DISK: 存放OS(操作系统开始是放在硬盘上的) BIOS: 基本I/O处理系统(让计算机检查外设,加载相应软件执行程序),主要加载Bootloader Boot...

keke_Memory的博客 982

LLM之RAG实战(五十四)| 复杂文档处理RAG框架:Ragflow

RAGFlow 是一种结合了检索增强(Retrieval-Augmented Generation,RAG)与流程控制(Flow)的人工智能技术架构。它通过检索外部知识库中的信息,结合自然语言生成技术,为用户提供更准确、更丰富的回答。同时,它还引入了流程控制机制,能够根据任务需求动态调整信息检索和生成的流程,从而更好地完成复杂的任务。RAGFlow 的核心优势在于将检索和生成相结合,打破了传统生成模型仅依赖内部参数进行文本生成的局限。

wshzd的博客 1066

Aruco标签定位、测距、三维位置估算 opencv应用

摄像头要一开始对准aruco标签才开始运行。+ 相机标定文件(参考我的上篇文章)+ aruco标签6*6。

dgut_guangdian的博客 4221

【清华大学】操作系统 陈渝——Part6 局部页面置换算法

【清华大学】操作系统 陈渝——Part6 局部页面置换算法页面置换算法功能与目标功能目标页面锁定(frame locking)实验模拟6.1 最优页面置换算法(OPT)6.2 先进先出算法(First-In First-Out , FIFO)6.3 最近最久未使用算法(LRU) 页面置换算法功能与目标 功能 当缺页中断发生后,需要调入新的页面时而物理内存已满,没有可分配的空间,需要选择内存中一个物...

keke_Memory的博客 933

YOLOv11【第三章:高阶应用与落地篇·第1节】一文搞懂,YOLOv11-Seg 实例分割:Mask 原型生成与系数预测原理解析!

🏆 本文收录于专栏 《YOLOv11实战:从入门到深度优化》。本专栏围绕 YOLOv11 的改进、训练、部署与工程优化 展开,系统梳理并复现当前主流的 YOLOv11 实战案例与优化方案,内容目前已覆盖 分类、检测、分割、追踪、关键点、OBB 检测 等多个方向。

**My Coding Family** 1248

【清华大学】操作系统 陈渝——Part5 虚拟存储概念

清华大学公开课 操作系统——Part55.1 虚拟内存的起因5.2 覆盖技术5.3 交换技术5.4 虚存技术-part1目标要求基本概念基本特征实现5.4 虚存技术-part2 5.1 虚拟内存的起因 程序在运行时发现,内存越来越不够用,程序规模的增长速度远远大于存储器容量的增长速度。大数据的5G时代,数据爆炸式增长,对存储设备的要求也越来越高。 理想中的存储器 更大,更快,更便宜的 非易失性的存...

keke_Memory的博客 911

详解大模型微调数据集构建方法(持续更新)

本文详细介绍了大模型微调数据集构建方法,希望能对学习大模型的同学们有所帮助。 文章目录 1. 前言 2. 微调数据集构建方法 2.1 方法一 2.2 方法二 2.3 方法三 2.4 方法四 2.5 方法五

herosunly的博客 28万+

k3s cpu load 和 cpu 使用率很高处理

在这期间还执行过缩减 sqlite3 数据库操作,不知道是哪个操作起了作用,亦或者两个操作有影响,删除 ns 促进了数据库缩减的执行(没删除之前数据库缩减不成功,db文件大小未减小,但不确定是不是执行完 VACUUM 之后需要时间 db 文件才会减小,或者是因为删除了 ns 才导致其减小),再或者是两个操作都起了作用。kubectl get ns 发现有很多卡在删除状态的 ns。k3s 官网关于这个问题的谈论。执行如下脚本删除掉这些 ns。有人详细说过这个问题。

weixin_40548182的博客 682

【清华大学】操作系统 陈渝——Part7 进程/线程 管理

清华大学】操作系统 陈渝——Part7 进程管理7.1 进程描述为什么要有进程?进程的定义7.2 进程的组成7.3 进程的特点7.4 进程控制结构7.5 进程的生命周期原理7.6 进程的状态变化模型7.7 进程挂起7.8 线程描述7.9 线程定义7.10 现成的实现7.11 上下文切换7.12 进程控制 -- 创建进程7.13 进程控制 -- 加载和执行进程7.14 进程控制 -- 等待和终止进程...

keke_Memory的博客 858

vue3:最新实现腾讯人脸核身+增强版人脸核身使用方法及示例源码,Vue3如何使用腾讯云慧眼人脸核身,提供人脸核身案例、身份信息核验、活体检测与核身比对等示例代码(后端spring与thinkphp)

vue3接入腾讯人脸核身,腾讯云人脸核身Vue3+后端代码,H5人脸核身,vue3 H5如何使用腾讯人脸核身sdk,vue3+thinkphp腾讯人脸核身,Spring Boot接入腾讯云人脸核身教程,hinkphp腾讯人脸核身,vue3人脸核身插件接入流程,vue+spring boot实现腾讯人脸核身,vue3接入腾讯云【增强版人脸核身接入】,vue3 h5微信公众号网页腾讯云慧眼人脸核身,tvue3接入人脸核身SDK,vue3+typescrip+vite接入慧眼实名认证,vue3腾讯云活体人脸核身(

✅ 精选推荐文章 4119

【清华大学】操作系统 陈渝——Part6 全局页面置换算法

【清华大学】操作系统 陈渝——Part6 局部页面置换算法6.8 局部页面替换算法的问题,工作集模型局部页面替换算法的问题工作集模型 6.8 局部页面替换算法的问题,工作集模型 局部页面替换算法的问题 上述算法都是针对一个程序进程而言的,但操作系统支持多个程序同时运行,如果每个程序采取固定的局部页面置换算法,会带来一些问题。 如下: 采取FIFO算法时,分配3个物理页帧会产生 9 此缺页中断,分配...

keke_Memory的博客 850

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【清华大学】操作系统 陈渝 Part3 ——物理内存管理 之 连续内存分配

清华大学公开课 操作系统——Part33.1计算机体系结构及内存分层计算机体系机构内存体系层次管理内存方法3.2地址空间 & 地址生成地址空间定义地址生成地址安全检查3.3连续内存分配 3.1计算机体系结构及内存分层 了解了操作系统启动和加载,那么操作系统启动以后要做什么工作呢? 当操作系统加载到内存后,它要对整个计算机系统进行管理和控制。首先要控制的就是内存 计算机体系机构 计算机基本硬...

keke_Memory的博客 641

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【清华大学】操作系统 陈渝 Part4 ——物理内存管理 之 非连续内存分配

**连续内存分配的缺点** - 分配给一个程序的物理内存是连续的 - 内存利用率较低 - 有外部碎片、内碎片的问题 **非连续内存分配的优点** - 一个程序的物理地址空间是非连续的 - 更好的内存利用和管理 - 允许共享代码与数据(共享库等) - 支持动态加载和动态链接 **非连续内存分配的缺点** - 如何建立虚拟地址和物理地址之间的转换? 1.软件方案:开销大 2.硬件方案:分段,分页

keke_Memory的博客 548

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

鸿蒙操作系统实现应用接续跨设备流转实战

应用接续的落地成本很低:一个配置、一个onContinue回调、一处 launchReason 判断,合计不足百行代码,就能让任务在手机、平板、鸿蒙电脑之间无缝续接。随着互助通信共享等组网能力在更多机型下放,这条能力的实用价值会持续放大,建议交互密集型应用尽早接入。

NJPJI_Yang的博客 352

Claude Code 从入门到实战(一):安装、登录与第一个Vue项目

Claude Code 系列实战第 1 篇:先认识 Claude Code 的工作方式与任务循环,完成 npm 安装、登录与授权,通过让 Claude 理解一个 Vue 项目完成第一次实战任务,并辨析默认、自动接受编辑、Plan 规划等权限模式的差异与选择策略。

weixin_45284808的博客 204

【Linux】APT 本地 deb 安装与 `-f` 参数总结笔记

apt install ./xx.deb 可自动解析并安装依赖,无需 -f;-f 仅用于修复已损坏的依赖状态,非首次安装时必需。apt install -f 可单独运行,修复 broken dependencies。两者职责不同:前者是安装与依赖解决,后者是故障修复。完全离线时需提前准备依赖包或本地源。

hknaruto的专栏 209

【Linux网络】TCP 服务器并发处理多客户端:从 fork 分发到双重 fork 彻底消灭僵尸进程

拆解 TCP 服务器并发演进链:fork 分发连接、SIGCHLD 循环回收僵尸、双重 fork 交孙进程给 init 收养,并给出模型选型与线上排错对照。

2301_78967866的博客 414

Linux rm 误删文件恢复实操教程

Linux使用rm删除文件时,并不会直接抹除磁盘上的数据,只是移除文件索引,让系统不再识别这块空间。只要没有写入新数据,原有扇区内容就会保留。新文件写入才有可能覆盖这些区域,一旦覆盖就很难找回。恢复的本质就是扫描磁盘,找到这些还存在、但索引丢失的数据条目,再把它们导出保存到其他分区。越早停止写入,恢复成功的概率越高。

海天数据恢复-winhex数据恢复教程 225

ARM64-GNU汇编器

o伪指令分配大小例子伪指令分配大小例子.byte1 字节.byte 0x412 字节.word / .long 4 字节8 字节.ascii字符串(不加 \0)字符串(自动加 \0).byte:把 8位数当成数据插入汇编代码中。.hword和 .short:把16 位数当成数据插入汇编代码中。.long和 .int:这两个伪指令的作用相同,都把 32位数当成数据插入汇编代码中。.word:把 32位数当成数据插入汇编代码中。

weixin_43903002的博客 184

【HarmonyOS 7 语音 AI 开放能力深度实战】 05 文本转语音实战,文字播报与合成状态控制

会议笔记已经整理成文字,用户离开屏幕以后,可能仍然希望听一遍已经确认的事项。应用可以提供一个播报按钮,把当前内容交给语音合成服务。但是,按钮点击成功与整段内容播放结束之间,还隔着引擎初始化、音色选择、合成和音频输出。页面如果在第一个完成回调出现时就恢复空闲,用户可能再次启动播报,让新的内容与尚未结束的声音互相影响。文本转语音服务负责把文字转换为声音,应用仍然需要选择音色、提交请求并管理页面状态。对于直接播报,合成引擎可以负责播放,页面不必另建播放器;但页面仍需要根据播放事件判断什么时候可以开始下一次操作。

Code Metaverse 176

Linux sudo

如果输出 → 无 sudo 权限 如果输出 → 拥有全部 sudo 权限 辅助验证命令 ⚠️ 注意:在 wheel 组 ≠ 一定能 sudo,必须 开启 Ubuntu/Debian: ✅ 重要:修改组之后,用户要重新登录才生效! 或者执行 临时生效 看到这行(没有 #注释)才生效: 方式 2:visudo 直接单独给用户授权(精细化权限) 找到 ,下面添加一行: 自带语法校验,写错会告警,不要直接 vim 改 ,写错直接 sudo 炸掉! 想免密 su

fengliyang_的博客 178

Windows syslog日志服务器搭建与模拟器对接

二 HCL 华三模拟器连接HOST直接让路由器接口UP。1.下载visualsyslog 日志服务器软件。4.7 日志服务器可以看到年份为2026年。2.2 华三路由器配置并执行日志服务器。2.4 华三路由器可以与日志服务器互通。3.2 日志服务器可以实时查看日志。3.4 日志服务器可以实时看到日志。4.6 路由器配置日志显示年份。五 日志服务器查看日志存放位置。4.5 日志服务器查看到日志。2.3 华三路由器接口UP。4.3 日志服务器清掉日志。路由器本地日志显示年份成功。4.在桌面生成快捷方式。

huainingning的博客 247

第一章 Shell 概述

本文介绍了Shell编程的基础知识,包括Shell的起源与发展、常见Shell类型及查看方式,阐述了Shell作为命令解释器连接用户与操作系统内核的作用。强调其作为解释型脚本语言的优势,适用于系统管理自动化任务。内容涵盖Shell脚本基本结构、注释规范、编写风格、执行方法及常用命令(如echo、printf、history、管道等),并讲解了命令执行顺序、退出状态码等核心概念,为初学者提供系统学习路径。

sbjdhjd的博客 272
上一篇: 【清华大学】操作系统 陈渝——Part7 进程/线程 管理
下一篇: 计算机组成与设计-处理器
kxwang_
博客等级 码龄7年 144粉丝 121原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kxwang_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值