自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菜鸟进阶之路

源码学习总结和分享,向大神看齐

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

原创 Linux进程管理与调度

目录一、进程描述符 二、进程切换三、进程创建与终止四、用户线程,内核线程和轻量级进程五、三种线程模型和Linux线程实现六、进程与线程的区别七、实时线程与实时操作系统八、进程(线程)调度一、进程描述符 进程描述符保存了与进程相关的一切信息,其数据类型为task_struct,Linux用双向链表和类似HashMap的散列表来保存所...

2019-04-27 19:15:51 4185

原创 Linux进程地址空间

目录一、进程地址空间二、内存描述符三、线性区四、缺页异常处理一、进程地址空间 进程地址空间是进程允许使用的一组虚拟地址空间的集合,这些虚拟地址空间称为线性区,包含起始虚拟地址,长度和访问权限等属性,线性区的起始地址和长度必须是4096的整数倍,从而确保线性区对应的数据可以填满分配的页框,减少内碎片。不同进程所使用的线性区是不同的而且是彼此独立的,内核可以增加或者删...

2019-04-21 22:39:22 297

原创 Linux内存管理

目录一、虚拟地址和虚拟内存二、逻辑地址与内存分段管理三、内存分页管理和TLB四、用户空间和内核空间五、内核地址空间映射六、伙伴系统和每CPU页框高速缓存七、Slab分配器八、非连续内存区管理与vmalloc函数一、虚拟地址和虚拟内存 物理内存对于CPU而言就相当于一个字节数组,CPU通过数组下标的方式访问物理内存,比如内存大小是4GB,则对应的数组下...

2019-04-21 16:17:39 767

原创 Linux高速缓存和内存屏障

目录一、高速缓存与地址映射二、MESI缓存一致性协议和伪共享三、指令重排序和内存屏障四、Javavolatile和final关键字一、高速缓存与地址映射 CPU访问内存(DRAM)较慢,基于数据的空间局部性(该数据存储位置附近的数据可能很快被访问)和时间局部性(当前正在访问的数据可能很快被再访问)而引入了高速缓存(SRAM)。高速缓存位于分页单元和内存控制器...

2019-04-19 16:04:46 1099

原创 编译过程和ELF文件

目录一、C/C++编译过程二、ELF文件三、符号解析和重定位四、静态链接和动态链接一、C/C++编译过程 C/C++程序从源代码到可执行文件需要经理预处理(预编译),编译,汇编,链接四个过程: 1、预处理:对源代码中的伪指令(以# 开头的指令)和特殊符号进行处理,如#include指令,预处理会将对应的头文件(即.h文件,声明全局变量和函数,相当于jav...

2019-04-19 15:59:05 3871

原创 操作系统基本概念

目录二、CPU中断和DMA三、系统总线四、用户态和内核态五、x86架构和arm架构六、SMP和NUMA架构七、设备驱动程序八、文件系统一、系统调用 计算机系统的各种硬件资源是有限的,在现代多任务操作系统上同时运行的多个进程都需要访问这些资源,为了更好的管理这些资源进程是不允许直接操作的,所有对这些资源的访问都必须有操作系统控制。也就是说操作系统是使用这...

2019-04-19 15:50:06 1573

空空如也

空空如也

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

TA关注的人

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