Linux Kernel | Linux 运行统计信息介绍 发表于 2021-09-15 | 分类于 Linux Kernel | 0 | 阅读次数 3062 1. 运行统计信息1.1. CPU 使用分类使用 top 的时候,在"%Cpu(s)"开头的这一行,会看到一串数值,也就是"0.0 us, 0.0 sy, 0.0 ni, 99.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st",这里头 阅读全文 »
Linux Kernel | Linux 函数(内核态和用户态) 发表于 2021-09-15 | 分类于 Linux Kernel | 0 | 阅读次数 2722 1. 函数栈1.1. 用户态函数栈在进程的内存空间里面,栈是一个从高地址到低地址,往下增长的结构,也就是上面是栈底,下面是栈顶,入栈和出栈的操作都是从下面的栈顶开始的。1.1.1. 32 位操作系统的情况CPU 里,ESP(Extended Stack Pointer)是栈顶指针寄存器,入栈操作 P 阅读全文 »
Linux Kernel | Linux task_struct 结构体概述 发表于 2021-09-14 | 分类于 Linux Kernel | 0 | 阅读次数 2867 1. task_struct 概述在 Linux 内核中,无论是进程还是线程,到了内核里面,都叫做任务(Task),由统一的数据结构 task_struct 进行管理。task_struct 是 Linux 中的进程描述符,是感知进程存在的唯一实体。Linux 内核中通过一个双向循环链表将所有的 t 阅读全文 »
数据结构和算法 | 无锁链表/队列的实现【纯纯的代码】 发表于 2021-08-17 | 分类于 数据结构和算法 | 0 | 阅读次数 2863 package maintype Node struct {value intnext *Node}type Queue struct {head *Nodetail *Node}func CAS(...interface{}) bool {return true}func (q *Queue) 阅读全文 »
Go | Go 编码规范 发表于 2021-07-17 | 分类于 Golang | 0 | 阅读次数 2636 1. 代码格式运算符和操作数之间要留空格。建议一行代码、注释不超过 120 个字符,超过部分,请采用合适的换行方式换行。但也有些例外场景,例如 import 行、工具自动生成的代码、带 tag 的 struct 字段。文件长度不能超过 800 行。函数长度不能超过 80 行。代码都必须用 gofmt 阅读全文 »
容器 | Namespace-User Namespace 发表于 2021-07-16 | 分类于 容器 | 0 | 阅读次数 1544 1. User NamespaceUser Namespace 可以让容器内部看到的 UID 和 GID 和外部是不同的了,它可以隔离了一台 Linux 节点上的 User ID(uid)和 Group ID(gid),它给 Namespace 中的 uid/gid 的值与宿主机上的 uid/gid 阅读全文 »
容器 | Namespace-Network Namespace 发表于 2021-07-16 | 分类于 容器 | 0 | 阅读次数 1810 1. Network NamespaceLinux Programmer‘s Manual(https://man7.org/linux/man-pages/man7/network_namespaces.7.html)里对 Network Namespace 有一段简短的描述,在里面就列出了最主要 阅读全文 »
容器 | Namespace 整体介绍 发表于 2021-07-16 | 分类于 容器 | 0 | 阅读次数 3744 1. NamespaceLinux Namespace 是 Linux 提供的一种内核级别环境隔离的方法。这种隔离机制和 chroot 很类似,chroot 是把某个目录修改为根目录,从而无法访问外部的内容。Linux Namesapce 在此基础之上,提供了对 UTS、IPC、Mount、PID、 阅读全文 »
项目开发维护 | 开源规范 发表于 2021-07-16 | 分类于 项目开发维护 | 0 | 阅读次数 1324 在开发过程中往往会涉及到很多规范,下面讲一下开发中常用的规范。当然同类规范也会因为团队差异而有所不同。常用的规范大致分为两类:编码类规范:主要包括目录规范、代码规范、接口规范、日志规范和错误码规范非编码类规范:主要包括开源规范、文档规范、版本规范、Commit 规范和发布规范1. 开源规范1.1. 阅读全文 »
项目开发维护 | 文档规范 发表于 2021-07-16 | 分类于 项目开发维护 | 0 | 阅读次数 2590 1. 文档规范文档是项目中很重要的组成部分,没有文档的项目很难理解、部署和使用。因此,编写文档是一个必不可少的开发工作。一个项目中最需要的 3 类文档是 README 文档、项目文档和 API 接口文档。1.1. README 文档README 文档是项目的门面,它是开发者学习项目时第一个阅读的文档 阅读全文 »