1. 物理内存管理的核心概念1.1. Node1.2. Zone1.2.1. 内存区域的管理1.2.2. 内存区域的动态性1.2.3. 申请各个区域内存的示例1.2.3.1. ZONE_DMA1.2.3.2. ZONE_DMA321.2.3.3. ZONE_NORMAL:1.2.3.4. ZONE_HIGHMEM1.2.3.5. ZONE_MOVABLE1.3. Page1.3.1. Page的状
1. 内存架构1.1. UMA (Uniform Memory Access):1.2. NUMA (Non-Uniform Memory Access)1.3. UMA与NUMA的比较2. 内存管理模型2.1. FLATMEM 模型2.2. DISCONTIGMEM 模型2.3. SPARSEMEM 模型1. 内存架构1.1. UMA (Uniform Memory Access):UMA(Un
1. 内核空间(TASK_SIZE 至 ffffffff)1.1. 复制/清除页面使用区域(ffff8000 至 ffffffff)1.2. 缓存别名区域(ffff4000 至 ffffffff)1.3. 保留区域(ffff1000 至 fff7fff)1.4. CPU向量页 (ffff0000 至 
1. linux内存管理的由来在早期的计算机系统中,程序直接操作物理内存。这种方式虽然直接,但存在几个关键问题:缺乏灵活性 :程序必须了解内存的物理布局,这限制了程序的可移植性。安全性问题 :没有隔离机制,一个程序的错误可能会影响整个系统的稳定性。多进程支持不足 :在多任务环境中,多个程序同时运行时,内存管理变得复杂且容易出错。为了解决这些问题,操作系统开始引入内存管
1. 前言本文的目的主要是对linux的调式与性能工具有个大体的了解。本文主要是我观看《Linux 性能工具》视频做的个人笔记分享,视频作者是 B站的内核笔记,视频链接是:https://www.bilibili.com/video/BV11t4y1o7vk/?spm_id_from=333.999.0.0&vd_source=f9e3c231f1337d0b6731ff9df4
概述CFS(Completely Fair Scheduler,)完全公平调度器 是Linux内核调度器的一部分,它作为Linux任务调度器的一个调度类(fair_sched_class调度类)存在,是Linux调度器默认使用的调度类。Linux调度器提供了多种调度策略来处理不同类型的任务,CFS 主要负责处理普通用户任务(SCHED_OTHER和SCHED_BATCH)的调度,CFS 旨在为所有
先大体了解linux的调度器、调度策略、调度类、CFS的基本概念linux的调度器: linux调度器使用不同的调度策略和调度类来决定哪个任务应该获得CPU时间。 Linux调度器是Linux操作系统内核的一部分,负责管理和调度进程或线程的执行。调度器的主要职责是决定哪个进程或线程应该获得CPU时间以及何时获得。它是操作系统中一个非常关键的组件,因为它直接影响到系统的性能和响应性。调度策略(Sch
Linux、u-boot的代码结构是模块化的,并且遵循特定的层次和命名约定。
概述ATF的主要特点和功能包括:2.1. 启动流程管理:2.2. 硬件隔离2.2.1. 内存隔离2.2.2. 外设隔离2.2.3. 中断隔离:2.2.4. 执行状态隔离2.2.5. 处理器状态隔离2.3. 安全服务2.4. 开源和可定制1. 概述ATF 官方资料:https://www.truste
套接字(Socket)不仅可以用于同一台主机上的进程间通信,还可以用于跨网络的进程间通信。套接字可以使用不同的协议,如TCP或UDP。套接字的基本概念:流式套接字(Stream Sockets):提供有序、可靠、面向连接的通信服务,数据在传输过程中按字节流的方式处理,如 TCP。数据报套接字(Datagram Sockets):提供无序、不可靠、面向数据报的通信服务,每个数据报是一个独立的、有界限
共享内存是一种进程间通信(IPC)机制,它允许两个或多个进程共享一个给定的存储区。因为数据直接映射到进程的地址空间,所以共享内存是最快的IPC形式之一。然而,由于共享内存不提供数据保护机制,所以需要使用信号量等同步机制来避免竞态条件。共享内存的特点:最快:由于避免了数据复制,共享内存是最快的IPC方法。无同步机制:需要外部同步机制来保护共享数据。生命周期:共享内存的生命周期与内核一致,除非显式删除
消息队列(Message Queue)消息队列允许不同的进程通过发送和接收消息来交换数据,从而实现进程间的通信。消息队列在系统中对应一个由内核维护的内存空间,本质上是一个先进先出(FIFO)的数据结构。具体来说,发送进程可以将消息添加到消息队列的尾部,而接收进程则可以从队列的头部获取消息。这种通信方式是异步的,也就是说发送进程和接收进程不需要同时在线或同步操作。发送进程可以在任何时间将消息发送到队
信号(Signal)信号的基本概念信号是一种异步的、非阻塞的通信机制,用于通知接收进程某个事件已经发生。例如,SIGINT信号通常由 Ctrl+C触发,用于终止进程。信号(Signal)也叫“用户态中断”,用于异步通知进程某个事件的发生,每个信号都有一个唯一的编号和一个对应的处理动作。当某个信号发生时,内核会向相应的进程发送该信号,并触发预设的信号处理函数或执行默认操作。信号通常用于简单
常见的进程间通信IPC机制包括管道(pipe)、信号(signal)、消息队列(message queue)、共享内存(shared memory)和套接字(socket)。1. 管道(Pipe)管道是一种基于内存的、面向字节的、单向的通信方式,通常用于具有亲缘关系的进程间通信,如父子进程。管道有两种类型:匿名管道和命名管道。通常情况下,管道设计为单向通信机制,这意味着数据只能在一个方向上流动,这
qemu-system-arm和qemu-system-riscv64是QEMU组件,用于模拟ARM和RISC-V芯片。通过指定机器类型、内核镜像、设备树等参数,可以启动和配置虚拟机。支持内存配置、网络配置、串口输出、磁盘镜像挂载等功能。可组合和修改命令以满足特定需求。
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号