0%

中断概述

除了系统调用外,中断也是一种内核活动;系统调用不是在用户态和系统状态之间切换的唯一途径
中断的处理往往会涉及到汇编等和硬件相关的代码,但是中断处理部分随着时间的演化,已经达到了这样一种状态:高层代码和底层的硬件交互代码,已经尽可能有效而干净
地分隔开了。

阅读全文 »

系统调用概述

内核对于用户进程来讲,是一个具备多功能的黑盒子,不仅管理设备,管理内存,管理进程等,还封装了提供进程调用的各种接口,比如打开文件,写入和读取文件等等,这些接口

阅读全文 »

前言:

以下文档参考:
https://www.gnu.org/software/make/manual/make.html#toc-Overview-of-make
https://seisman.github.io/how-to-write-makefile/introduction.html

这个文件记录了GNU make实用程序,它自动地确定一个大型程序的哪些部分需要重新编译,并发出重新编译它们的命令
适用版本:
This is Edition 0.75, last updated 17 January 2020, of The GNU Make Manual, for GNU make version 4.3.

make的基本功能和使用简介:
阅读全文 »

c++数据类型:

数据类型概览

  1. 类型无处不在,注意表达式也有类型,一些语句本身也是某个类型的值,以下这些都有类型属性
    对象的类型和基本类型
    引用的类型
    函数的类型(返回值类型)
    函数模板特化
    表达式的值类型
    阅读全文 »

linux内核网络子系统的初始化介绍

基于linux4.8,版本其实现在已经是5.12了,但是因为我装的linux源码版本是4.8,为方便调试,都在这个版本分析,差别不会很大;
以下的内核都指的这个linux4.8的内核;环境都在这个上的;

阅读全文 »

文件系统:

关于信息记载和存储的历史,现状和未来展望

  • 本能信息存储:在原始时期,信息被基因记载,并向下传递,个体发生基因突变后,存活下来的个体,能将突变的基因信息保存下来,传递下来,从而进化;
  • 口口相传:人类发明语言或者是类似的东西,然后将经验和信息一代代传递下来,通过人本身作为记录和存储;
  • 文字的出现:直到文字和记载载体出现,比如帛书,纸等,文字以语句,文章,数字等被记录成竹简或书本,保存下来;
  • 磁带记录:磁带的出现,提高了信息记载的便利性;
    阅读全文 »

linux内存系统概述

linux的内存系统是一个很复杂的系统,需要从几个角度去分析,里面包含多种机制,比如虚拟地址和物理地址的转换等等;本文是一个系统性的大局观来从几个方面分析内存系统的记录:

阅读全文 »

linux 用户空间与内核的接口—内核信息的输出和修改

  • linux用户与内核的接口有多种,配置内核的netlink,ioctl,等特殊系统调用,其他系统调用;用户空间指令:ifconfig,route,
    iptable等;以及内核输出信息的procfs,sysfs和修改内核参数的sysctl接口;这里介绍最后一种;

    阅读全文 »

关于skb

skb是网络协议栈中对包的底层操作结构,它需要满足以下特性:

  1. 能方便的处理可变长缓存,因为发送和接收的数据长时不固定的
    2)能容易实现头尾部增加和移除数据,因为这些缓存区需要在不同网络层次间进行传递
    3)添加和移除数据能尽量避免数据的复制
    阅读全文 »

关于编译链接执行,编译器和cpu相关

目标: 学完这个部分的知识和调试方法后,一方面可以在写程序时,减少编译错误等,在遇到编译和运行时错误,可以更快的解决或者知道怎么解决,用什么工具可以
更快的解决,另一方面,在处理cpu高载,dump问题时,能知道怎么处理和更好的处理;

阅读全文 »