13. 常见锁概念 (一)了解死锁 死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程占有的,且不释放的资源,而处于的一种永久等待状态 (二)死锁四个必要条件 互斥条件:一个资源每次只能被一个执行流使用请求与保持条件:一个执行流因请求资源而阻塞时,对已获得的资源保持不放不剥夺条件:一个执行流已获得的资源,在末使用完之前,不能强行剥夺循环等待条件:若干执行流之间形成一种头尾相接的循环等待资源的关系 (二)避免死锁 破坏死锁的四个必要条件加锁顺序一致 (不是交错申请不同的
2024-11-07NFS:Network File System , 网络文件系统。 1. 安装相关软件包 首先,确保系统已经更新并安装了 NFS 所需的软件包: sudo dnf update -y # 安装 nfs 软件包 # 如果是较新的版本中,也会自动安装 rpcbind sudo dnf install nfs-utils -y 【注】在 NFSv4 中,不再需要 rpcbind,因为它使用了更简单的通信机制,不依赖于 RPC 服务的映射。但是如果需要兼容 NFSv2 或 NFSv3,则必须安装并
2024-11-07从一个ELF程序的加载窥探操作系统内核-(2) 作者是一个micro kernel的开发者,在设计动态链接器的时候,在此留下一些笔记,重点参考了以下资料文献 《程序员的自我修养》《深入理解计算机系统》《现代操作系统-原理与实现》《深入理解LINUX内核》《设计模式/JAVA》 linux下运行一个ELF程序都经历了什么 当我们在shell终端下执行一个ELF程序,首先操作系统会使用fork创建一个新的进程,然后再通过exec运行新的进程,这是fork+exec的典型应用。 当我们使用ct
2024-11-07当前HarmonyOS支持两套路由机制(Navigation和Router),Navigation作为后续长期演进及推荐的路由选择方案,其与Router比较有不少优势。建议后续直接使用Navigation作为内部的路由方案。 Navigation介绍 Navigation组件通常作为页面的根容器,支持单页面、分栏和自适应三种显示模式。开发者可以使用Navigation组件提供的属性来设置页面的标题栏、工具栏、导航栏等。 Navigation和Router能力对标 Router路由的页面是一个@E
2024-11-07在学习电路仿真需要在Linux环境下使用ngspice 安装配置过程中遇到了无法定位软件包的问题。 如图: 了解到,这个问题实际上就是LINUX用的源没有这个包的问题。 网上查找了一些方法,一一尝试一下。 方法一:更新 $ sudo apt update 显示更新成功 依旧存在问题 方法二:包的名字不正确 Linux的包区分大小写,可能是输入错误导致的,先查找一下(输入部分名进行查找): $apt search libedit 查找结果: 初步推测应该是这个libeditreadline
2024-11-07完成以上步骤后,CentOS的镜像源即更换成功。
2024-11-07传输层协议TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,会对数据的传输进行一个详细的控制。 TCP协议段格式 TCP协议段格式是TCP协议在网络传输数据时所使用的结构单元: 源端口(Source Port) 大小:2字节描述:发送端(TCP客户端)的应用程序端口号,用于标识发送数据的应用程序。通过源端口和源IP地址,可以确定发送端的唯一地址。 目的端口(Destination Port) 大小:2字节描述
2024-11-07一、环境准备 我们在这里就在本地测试学习,因此我在这里先不建议大家这么着急去买服务器来学,这样比较费钱,等我们学好这些基础之后,再去上手服务器,那将是手到擒来。 本地学习工具:虚拟机 如果你没有该工具,请按照这个操作安装:虚拟机安装配置教程 当然,如果你有钱,阿里云,腾讯云自己租一个也可以。 二、hello Linux 创建shell脚本,命名test,格式统一为.sh touch test.sh 编辑脚本: vim test.sh 如果你不了解vim用法,或者你的虚拟机没有安装vim,看这一篇
2024-11-07set -euo pipefail 在 Bash 脚本中用于提高脚本的可靠性,避免常见错误。以下是每个选项的作用: set -u(使用未定义变量时报错): 这个选项会在脚本中使用未定义的变量时导致脚本退出。它可以帮助发现拼写错误或由于变量未正确初始化而引发的问题。示例:echo "值: $未定义变量" 如果 未定义变量 没有提前定义,脚本会直接报错并退出。 set -o pipefail(管道命令中检测失败): 当管道中的任意命令失败时,整个管道的返回值为失败(非零退出状态)。通常,只
2024-11-07一、lsof命令介绍 二、lsof命令功能 三、lsof命令输出说明 四、lsof常见命令参数 五、常用的命令使用 一、lsof命令介绍 lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。如TCP和UDP等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的
2024-11-07