Linux源码剖析
文章平均质量分 92
分析Linux数据结构随笔
神仙404
大道坦荡,自凭造化
展开
-
System V 共享内存(二)
System V 共享内存学习的原理篇,文章结合 linux kernel 4.13.16源码,简单讲述其底层实现原理。原创 2020-09-03 11:04:27 · 289 阅读 · 0 评论 -
System V 共享内存(一)
System V 共享内存学习的实践篇,下一篇文章将详细讲述其底层实现原理。原创 2020-08-30 14:07:28 · 439 阅读 · 0 评论 -
一文搞懂 Linux 底层设备是什么
学习字符设备与块设备做的一些总结,字符设备与块设备是操作系统得以运行的基石,也是了解read/write等一系列的系统调用所必不可少的前置知识点。原创 2020-04-22 13:36:20 · 586 阅读 · 0 评论 -
Linux系统是怎样初始化的
1. 简单讲述了Linux系统开机操作的实现原理之BIOS是怎样工作的,即检查系统的硬件, 建立中断向量表以及对应的中断服务程序,加载boot.img,core.img, 尝试切换到保护模式。 2. 简单描述了内核初始化过程的起始点start_kernel函数,以及0,1,2号进程的创建历史,与fork与kernel_thread的区别。原创 2020-04-01 15:27:50 · 1062 阅读 · 0 评论 -
计算机体系结构变迁
从冯·诺伊曼结构讲起,简单描述了冯·诺伊曼结构缺陷,以及初始计算机系统设计方式,后期基于DMA的体系结构等。最后由8086到80386的变迁讲述了什么是实模式,什么是保护模式,最后列举了几个需要掌握的汇编指令。吐槽,为什么汇编语言找不到像cppreference一样的方便查询语法网站啊?原创 2020-03-30 21:05:26 · 1098 阅读 · 0 评论 -
进程与线程的区别——源码级别
知耻而后勇,借助相关资料尝试从源码级别分析了进程和线程的区别。原创 2020-03-02 23:20:35 · 453 阅读 · 0 评论 -
进程的主动调度与抢占式调度
主要描述了主动调度与抢占式调度以及抢占式调度与主动调度的关系,同时讲述了抢占式调度发生的时机以及其真正被调度的时机,同时也简要讲述了进程上下文切换的本质。原创 2020-03-01 21:21:09 · 2096 阅读 · 0 评论 -
函数堆栈与进程调度基础
讲述Linux动态和静态链接库的基本原理,init进程,线程的三类数据,task_struct结构体,图示展示了用户态与内核态函数堆栈的结构,最后简单介绍了进程调度的策略和调度类的调用逻辑,以及调度队列、调度实体与CPU的对应关系。最后需要明白CFS算法的设计思想以及其是从属于fair_sched_class调度类的一种实现方法。原创 2020-02-28 12:36:31 · 590 阅读 · 0 评论 -
open系统调用源码剖析
如题,open系统调用,linux内核设计有意思,想来应该是打开文件返回文件描述符,当read或者write事应该会触发缺页中断,这有和内存管理挂上勾了,所以说内核设计者是真的强。原创 2020-02-24 18:25:22 · 752 阅读 · 1 评论 -
Linux内存管理源码剖析(五)
这一片儿是简述内核态页表与内存映射的,其实学习意义不是太大,重点是关注用户态方面的,所以有点儿吹水。。。原创 2020-02-21 13:30:39 · 207 阅读 · 0 评论 -
Linux内存管理源码剖析(四)
讲述用户空间内存映射系统调用函数mmap基本原理,与用户态内存缺页的解决方法以及为什么会发生缺页这种现象。原创 2020-02-20 17:14:58 · 833 阅读 · 0 评论 -
Linux内存管理源码剖析(三)
从fork系统调用开始讲述小块内存分配机制的原理 。同时简单介绍了分配小块内存的slub allocator技术如何维护一个缓存块,即当空间足够时如何管理,不够时如何申请。原创 2020-02-18 16:27:44 · 369 阅读 · 0 评论 -
Linux内存管理源码剖析(二)
NUMA缘由,物理内存构造,伙伴系统奥秘,内核源码之迷原创 2020-02-17 23:56:49 · 462 阅读 · 0 评论 -
Linux内存管理源码剖析(一)
讲解内存管理部分的基本原理与进程虚拟空间布局,包括用户空间与内核空间,同时最后稍微说了一点brk系统调用的源码。原创 2020-02-16 18:13:24 · 1740 阅读 · 0 评论 -
七大IPC通信机制
讲述了linux下七大IPC通信机制基本语法,其中共享内存,信号量,消息队列以systemV为主。原创 2020-02-10 17:51:22 · 1179 阅读 · 0 评论 -
libevent源码分析(四)
以\libevent-patches-1.4\sample\event-test.c文件为例,剖析了普通IO事件发生时libevent是如何处理的原创 2020-02-07 23:44:11 · 129 阅读 · 0 评论 -
libevent源码分析(三)
本节讲述libevent中的链表结构struct event_list以及相关的插入,删除,初始化工作,对于维护监听事件和触发事件具有及其重要的意义。原创 2020-02-07 16:02:46 · 124 阅读 · 0 评论 -
libevent源码分析(二)
以libevent-patches-1.4\sample\time-test.c为例详细阐述了关于libevent定时事件的处理与回调机制。原创 2020-02-07 11:53:08 · 271 阅读 · 1 评论 -
libevent源码分析(一)
以\libevent-patches-1.4\sample\signal-test.c文件为起始,开始我的libevent源码剖析之路。本文主要讲述了围绕stuct event_base,struct event两个结构体发生的一系列函数调用。原创 2020-02-01 16:32:29 · 230 阅读 · 0 评论 -
epoll源码剖析(二)
剖析了epoll_wait()的源码实现,在此基础上分析了ET与LT的区别和联系以及底层实现原理。原创 2020-01-28 14:36:48 · 163 阅读 · 0 评论 -
epoll源码剖析(一)
讲解了epoll_create1与epoll_ctl函数在linux内核中的实现逻辑,关于epoll_wait解析见下一篇文章原创 2020-01-27 22:08:45 · 294 阅读 · 0 评论 -
read系统调用
对系统调用函数sys_read()进行源码级别的剖析,在VFS层以ext4文件系统为例进行解析。原创 2020-01-24 14:25:43 · 3883 阅读 · 0 评论 -
struct file结构体
介绍struct file结构体的设计目的于来源原创 2020-01-24 13:29:36 · 1565 阅读 · 0 评论 -
SYSCALL_DEFINEx宏源码解析
分析SYSCALL_DEFINE系列系统调用宏的代码实现。原创 2020-01-22 17:54:47 · 679 阅读 · 0 评论