自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

day day up

随手记录一点小知识

  • 博客(112)
  • 收藏
  • 关注

原创 【Linux锁】互斥锁与读写锁的区别

对比项互斥锁(Mutex)读写锁(Read-Write Lock)适用场景写多读少或读写均衡读多写少并发性低高实现复杂度简单较复杂性能高竞争时性能较差读多写少时性能较好在实际开发中,应根据具体场景选择合适的锁:如果需要高并发读操作,选择 读写锁如果写操作频繁或读写操作均衡,选择 互斥锁。

2025-02-24 15:00:00 467

原创 【Linux锁】Read-Write Lock

读写锁是一种高效的同步机制,特别适合读多写少的场景。通常区分读锁和写锁,它能够在保证数据一致性的同时,提高系统的并发性能。在实际开发中,需要根据具体需求选择合适的实现方式,并注意避免写线程饥饿问题。

2025-02-24 09:30:00 418

原创 【Linux服务器】使用HOME和END键无效

Xshell会话连接服务器后,HOME键无反应,END键显示~可能是由于终端配置或键盘映射的问题。

2024-12-27 09:45:00 811

原创 【Linux服务器】git命令无法tab自动补全

git命令无法使用tab自动补全,例如git log --oneline。

2024-12-27 09:00:00 1066

原创 【Linux内核】内存管理中的populate机制

在 Linux 内存管理中,populate 机制 是指将物理内存页分配并准备好以供使用的过程。这个机制尤其在涉及到内存映射和页面管理时非常重要。

2024-12-26 09:45:00 330

原创 【Linux内核】内存管理中的IO map

在 Linux 内存管理中,I/O Map(输入/输出映射)是一种将设备的物理地址空间映射到内核虚拟地址空间的机制。这使得内核能够直接与硬件设备进行交互。

2024-12-26 09:30:00 358

原创 【Linux内核】内存管理中的pgtable

在 Linux 内存管理中,页表(pgtable)是一个关键的数据结构,用于管理虚拟内存到物理内存的映射。

2024-12-25 09:45:00 441

原创 【Linux内核】内存管理中的PFN

在 Linux 内存管理中,PFN(Page Frame Number)是一个重要的概念,用于标识物理内存中的页面框架。

2024-12-25 09:30:00 392

原创 【Linux内核】内存管理中的反向映射

在 Linux 内存管理中,反向映射(Reverse Mapping)是一个重要的概念,主要用于跟踪物理内存页面与虚拟地址之间的关系。这种机制在内存管理、页面回收和共享内存等方面发挥着关键作用。

2024-12-24 11:02:30 442

原创 【Linux内核】内存管理中的映射

在 Linux 内存管理中,映射是指虚拟地址与物理内存地址之间的关系。这种机制使得操作系统能够高效地管理内存资源,提供每个进程独立的地址空间,以及支持共享内存等功能。

2024-12-24 11:02:05 360

原创 【Linux内核】ashmem purgeable

purgeable_ashmem_trigger_write 是与 Android 共享内存(ASHMEM)相关的一个操作或函数,主要涉及可回收共享内存的管理。它通常出现在 Android 内核或相关应用的上下文中,涉及到内存的优化和管理。

2024-11-29 20:30:35 451

原创 【Linux内核】ashmem简介

在 Linux 内核中,ASHMEM(Android Shared Memory)是一个用于支持进程间共享内存的机制,主要用于 Android 操作系统。

2024-11-29 20:27:39 595

原创 【Linux内核】ashmem shrink

在 Linux 内核中,ASHMEM(Android Shared Memory)是一种用于进程间共享内存的机制。shrink 功能主要用于管理和优化共享内存的使用,尤其是在内存压力增大的情况下。

2024-11-28 21:01:44 387

原创 【Linux内核】ashmem pin/unpin

在 Linux 的 ASHMEM(Android Shared Memory)实现中,pin 和 unpin 操作主要用于管理共享内存的生命周期和可用性。这些操作有助于确保在内存使用期间,特定的共享内存区域不会被回收或释放。

2024-11-28 20:57:14 846

原创 【GDB系列】gdb指令预读

虽然 GDB 可能没有一个单独的“预读”命令,但其设计和实现中包含了许多预读相关的特性,旨在提高调试效率和用户体验。理解这些特性可以帮助开发者更有效地使用 GDB 进行程序调试。

2024-11-26 21:25:07 408

原创 【Linux】Linux 内存管理机制

Linux 的内存管理机制通过虚拟内存、分页、内存分配、缓存管理、交换空间等多种技术,确保了系统的高效运行和资源的合理利用。理解这些机制有助于优化应用程序性能和系统资源管理。

2024-11-26 21:21:42 1200

原创 【Linux】系统睡眠模型

从ACPI(高级配置与电源接口)说起,ACPI是一种规范(包含软件与硬件),用来供操作系统应用程序管理所有电源接口。ACPI将计算机系统的状态划分为四个全局状态(G0-G3),共7个状态。其中G0对应S0;G1将低功耗状态细分为四个状态,对应S1-S4;G2、G3代表关机状态分别对应S5、S6。ACPI StateS0正常工作状态S1CPU与RAM供电正常,但CPU不执行指令S2比S1更深的一个睡眠层次,这种模式通常不采用S3挂起到内存S4挂起到硬盘S5。

2024-11-25 20:07:51 1046

原创 【Linux】Linux系统电源状态

本文主要介绍Linux系统电源状态。Linux内核代码声明如下,位于kernel/power/suspend.c。

2024-11-25 19:58:35 818

原创 【Linux】drop cache与reclaim的区别

drop cache 是一种手动操作,允许用户通过向 /proc/sys/vm/drop_caches 写入特定的值,直接清除系统中的缓存。Reclaim 是内核自动管理内存的机制,在系统内存不足时主动回收不再使用的内存页面。Drop Cache: 用户主动清除缓存,主要用于释放缓存以便进行测试或优化,操作较为直接。Reclaim: 内核自动管理机制,主动回收不再使用的内存页面,以确保系统内存充足,操作是自动的。

2024-11-23 15:30:00 389

原创 【Linux】/proc/sys/vm/drop_caches

proc/sys/vm/drop_caches 是 Linux 系统中的一个虚拟文件,用于控制内核的缓存管理。通过写入特定值到这个文件,可以释放系统的缓存,从而优化内存使用。

2024-11-23 09:30:00 1097

原创 【POSIX】posix_fadvise()接口

posix_fadvise()是一个 POSIX 标准的系统调用,用于为打开的文件描述符提供建议,以优化文件 I/O 操作。它允许应用程序指示内核如何处理与特定文件的读取和写入操作。

2024-11-22 15:30:00 404

原创 【POSIX】POSIX简介

POSIX(可移植操作系统接口)是一个由 IEEE(电气和电子工程师协会)制定的标准,旨在确保不同操作系统之间的兼容性和可移植性。POSIX 定义了一组操作系统接口,包括系统调用(如文件操作、进程管理、信号处理和线程管理等,允许程序与操作系统内核进行交互)、库函数(提供更高级的功能和接口)、命令行工具(如 ls, cp, mv 等)和实用程序,使得开发者能够在不同的 UNIX 系统及类 UNIX 系统(如 Linux、macOS 等)之间编写可移植的程序。

2024-11-22 09:30:00 316

原创 【文件系统】Linux文件系统介绍

本文章主要介绍Linux各种文件系统。

2024-11-21 15:30:00 386

原创 【文件系统】Linux文件系统分类

本文章主要介绍Linux文件系统分类。

2024-11-21 09:30:00 298

原创 【Linux锁】重入互斥锁与优先级反转

重入互斥锁能够有效地处理多次请求同一锁的情况,避免死锁问题。优先级反转是多线程设计中一个需要谨慎处理的挑战,适当的同步机制和调度策略可以帮助缓解这个问题。

2024-11-20 15:30:00 803

原创 【Linux锁】spinlock锁与mutex锁的区别

选择使用spinlock还是mutex锁取决于具体的应用场景和性能要求。在高并发、短时间锁定的情况下,spinlock可能是更高的选择。而在锁持有时间较长或需要节省CPU资源的场景中,mutex则更为合适。

2024-11-20 09:30:00 763

原创 【Linux锁】spinlock锁

自旋锁是一种高效但具有一定风险的锁机制,适用于短时间的临界区和多处理器系统中。合理使用自旋锁可以提高并发性能,但需要注意使用场合和潜在问题。

2024-11-19 15:30:00 558

原创 【Linux锁】Mutex锁

互斥锁是多线程编程中重要的同步机制,用于保护共享资源,确保数据一致性。合理使用互斥锁可以有效防止数据竞争和错误,但需要注意死锁和性能问题。

2024-11-19 09:30:00 379

原创 【Linux锁】Linux内核锁机制

本文章主要简介Linux内核中涉及的锁机制。

2024-11-18 15:30:00 370

原创 【Linux内核】Linux内核常用错误码

本文章主要描述Linux内核常用错误码,用于查找大概错误类型。

2024-11-18 09:30:00 620

原创 【OH】openHarmony开发环境搭建(基于windows子系统WSL)

本文主要介绍基于windows子系统WSL搭建openHarmony开发环境。

2024-11-09 17:31:31 1966

原创 【Linux环境】WSL与虚拟机的区别

本文章主要介绍Windows子系统WSL2与虚拟机VMware的区别。

2024-11-09 16:18:59 1221

原创 【OH】openHarmony整仓代码下载

本文章主要介绍基于linux环境openHarmony整仓代码下载步骤。

2024-11-04 16:56:50 594

原创 【OH】openHarmony整仓代码编译

本文章主要介绍基于linux环境openHarmony的整仓代码编译(以rk3568为例)遇到的问题。

2024-11-04 16:43:58 987

原创 【内存管理】内存管理的页表映射过程

本文描述Linux内存管理的页表映射过程中涉及基础知识。

2024-07-19 17:18:14 447

原创 【代码随想录】【算法训练营】【第58天 4】 [卡码104]建造最大岛屿

思路及算法思维,指路。题目来自。day 58,周四,ding~

2024-07-19 17:15:14 270

原创 【内存管理】内存管理的物理内存初始化

本文描述Linux内存管理的物理内存初始化中涉及基础知识。

2024-07-19 15:36:18 1756

原创 【代码随想录】【算法训练营】【第58天 3】 [卡码103]水流问题

思路及算法思维,指路。题目来自。day 58,周四,ding~

2024-07-18 15:54:50 276

原创 【代码随想录】【算法训练营】【第58天 2】 [卡码102]沉没孤岛

思路及算法思维,指路。题目来自。day 58,周四,ding~

2024-07-18 15:53:16 319 1

原创 【代码随想录】【算法训练营】【第57天 2】 [卡码100]岛屿的最大面积

思路及算法思维,指路。题目来自。day 57,周三,再ding一下~

2024-07-17 16:24:39 330

【rsyslog系列】rsyslog远程接收日志服务器配置文件之TLS单向认证

搭建rsyslog远程接收日志服务器时,要想要服务器生效,必须按照实际使用场景配置rsyslog的配置文件,该配置文件资源应用于rsyslog v8版本的TLS协议单向认证场景。由于rsyslog v8版本对于v5版本有一些格式上的更新,所以tls协议的部分配置项可能无法兼容旧格式,只能采用新配置格式,需要在使用的时候注意,以防按照旧配置格式配置时出现无法生效的问题,而又没有解决思路,多尝试新配置格式的应用。

2023-11-17

【rsyslog系列】rsyslog远程接收日志服务器配置文件之UDP/TCP协议

搭建rsyslog远程接收日志服务器时,要想要服务器生效,必须按照实际使用场景配置rsyslog的配置文件,该配置文件资源应用于rsyslog v8版本的UDP/TCP协议传输场景。由于rsyslog v8版本对于v5版本有一些格式上的更新,所以需要在使用的时候注意,以防按照旧配置格式配置时出现无法生效的问题,而又没有解决思路,多尝试新配置格式的应用。

2023-11-17

【rsyslog系列】rsyslog远程接收日志服务器配置文件之TLS双向认证

搭建rsyslog远程接收日志服务器时,要想要服务器生效,必须按照实际使用场景配置rsyslog的配置文件,该配置文件资源应用于rsyslog v8版本的TLS协议双向认证场景。由于rsyslog v8版本对于v5版本有一些格式上的更新,所以tls协议的部分配置项可能无法兼容旧格式,只能采用新配置格式,需要在使用的时候注意,以防按照旧配置格式配置时出现无法生效的问题,而又没有解决思路,多尝试新配置格式的应用。

2023-11-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除