
Linux
文章平均质量分 79
wd-onlooker
1010
展开
-
进程间共享mutex
属性对象仅用于初始化互斥锁,其生命周期在完成后就结束了。可以在初始化互斥锁之后立即销毁属性对象,而不影响互斥锁的使用。共享内存用于存储互斥锁实例,以便在多个进程之间共享该互斥锁。一旦互斥锁被初始化完毕,就可以立即销毁用于初始化的互斥锁属性。这些属性仅在初始化过程中使用,初始化完成后,它们不会再被使用。因此,可以安全地销毁它们。原创 2024-07-31 10:31:02 · 207 阅读 · 0 评论 -
linux内存管理-2-初期memblock分配器
内核在启动时通过E820机制获得到可⽤的内存地址范围后,还需要将这些内存都管理起来,以应对后⾯系统运⾏时 的各种功能的内存申请。内存分配器包括两种。刚启动时采⽤是初期分配器。这种内存分配器仅仅只为了满⾜系统 启动时间内对内存⻚的简单管理,管理粒度较粗。另外⼀种是在系统起来后正常运⾏时采⽤的复杂⼀些但能⾼效管 理4KB粒度⻚⾯的伙伴系统,是运⾏时的主要物理⻚内存分配器。在初期分配器中,在Linux 的早期版本采⽤的是 bootmem。但在 2010 年之后,就慢慢替换成了 memblock 内存 分配器。翻译 2024-07-02 20:43:20 · 95 阅读 · 0 评论 -
Linux内存管理-1-物理内存初始化
但其实操作系统在刚刚启动的时候,对内存的可⽤地址范围、NUMA分组信息都是⼀⽆所知。在计算机的体系结构 中,除了操作系统和硬件外,中间还存在着⼀层固件( firmware)。固件是位于主板上的使⽤ SPI Nor Flash 存储着的软件。起着在硬件和操作系统中间承上启下的作⽤。它对外提供 接⼝规范是⾼级配置和电源接⼝( ACPI,Advanced Configuration and Power Interface)。其第⼀个版本ACPI1.0是1997年的时候由英特尔、微软和东芝公司共同推出的。翻译 2024-07-02 13:43:33 · 808 阅读 · 0 评论 -
linux文件描述符
linux文件描述符内容做个笔记。Linux 从诞生以来,一直用 struct task_struct 来表示进程/线程,用 struct file 表示打开的文件,用 struct inode 表示文件本身。struct file 和 struct inode 的区别在于,如果两次 open 同一个文件(比方说 web server 写 access log,你用 less 看这个 assess log 文件),会有两个 struct file 对象,指向同一个 struct inode 对象。转载 2024-06-26 23:04:03 · 44 阅读 · 0 评论