终端仿真器

早期的终端 早期的终端一般是一种叫做 电传打字机 (Teletype) 的设备。为啥呢?因为 Unix 的创始人 Ken Thompson 和 Dennis Ritchie 想让 Unix 成为一个多用户系统。多用户系统就意味着要给每个用……

阅读全文

sysfs

两组接口 sysfs 提供一种机制,使得可以显式的描述内核对象、对象属性及对象间关系。sysfs 有两组接口,一组针对内核,用于将设备映射到文件系统中,另……

阅读全文

内核模块

简介 模块(module)是在内核空间运行的程序,实际上是一种目标对象文件,没有链接,不能独立运行。 内核空间:这个好理解,内核模块嘛,自然运行……

阅读全文

Ubuntu 手册

init 程序 init 程序的配置文件是 /etc/inittab,如果没有,可以手动创建一个。一般里面指定的第一个执行脚本应该是 /etc/init.d/rc……

阅读全文

系统调用的实现原理

实现原理 用户态 –> 中断(Linux 下中断号0x80) –> 内核态 中断 中断就是一个硬件或软件请求,要求 CPU 暂停当前的工作,去处理更重要的事情。比如,在……

阅读全文

UNIX 操作系统体系结构调整

起因 闲来无事时通常会打开 github/trending 看看当前大家热门的项目是什么,同时也希望看到自己感兴趣的项目,以此来提高自己。这天,突然看到了一个名为《程序员应该……

阅读全文

Linux 常用快捷键

Ctrl + Z 配合 fg 当你正在使用 vi 等命令在前台进行交互式操作时,突然忘记某个路径或文件名,想要切换到命令行去查询时。一般人的做法是结束当前操作,回到……

阅读全文

802.11 帧封装细节

802.11 Null Data 帧 无线 AP 空口抓包,发现有好多 Null Data 帧,都是 STA 发往 AP 的。打开 Null Data 帧,除了 Pack Info、MAC Header、FCS 外,就没其它信息了。其中 Pack Info……

阅读全文