生生不息


源码之前 了无秘密

APUE 笔记

目录项 目录(directory)是一个包含目录项的文件。逻辑上可以认为每个目录项包含一个文件名,和说明该文件属性的信息。 目录项的逻辑视图与实际存放在磁盘上的方式是不同的。UNIX文件系统的大多数实现并不在目录项中存放属性,这是因为一个文件具有多个硬链接时,很难保持多个属性副本之间的同步...

Linux内核分析(六)进程剖析

触发任何一个事件时,系统都会将他定义为一个程序,并且给予这个程序一个ID,称为PID,同时依据启发这个程序的使用者与相关属性关系,给予这个PID一组有效的权限设定 1 进程表示 为了管理进程,内核必须对每个进程所做的事情进行清楚的描述。这正是进程描述符(process descri...

Linux内核分析(五)虚拟文件系统

Linux 中允许众多不同的文件系统共存,如ext3, ext4, vfat等。通过使用同一套文件 I/O 系统调用即可对 Linux 中的任意文件进行操作而无需考虑其所在的具体文件系统格式;更进一步,对文件的操作可以跨文件系统而执行。而这一套文件 I/O 系统即虚拟文件系统VFS。 文件存...

Linux内核分析(四)内存管理

现代的CPU不仅采用了扩充的 存储器段式管理机制,而且还提供了可选的 存储器分页管理机制,所以操作系统不用亲自追踪所有的物理内存,可以利用微处理器提供的功能。 内存有关的内容包括:物理内存管理、虚拟内存管理、地址映射、内核空间管理、用户空间管理、内存回收 先放个大图,来自 针对上图,说...

Linux内核分析(十)线程

一、进程?轻量进程?线程?内核线程? 欲知详情,还是manual手册靠谱啊!!!还在为进程、轻量进程、线程、用户线程、内核线程傻傻分不清楚吗?看看manual吧 1.1 man fork fork通过复制调用进程来创建一个新进程作为子进程,父子进程在独立的内存空间运行。一些特点,具体看m...

Linux内核分析(三)启动过程介绍

总体流程 BIOS POST自检,检查硬件设备 BIOS (Boot Sequence) 引导操作系统 加载对应引导上的MBR 主引导设备加载其Bootloader 加载操作系统 符一张图片,图片来自网络 POST自检 电脑主机打开电源的时候,随后会听...

Linux内核分析(二)源码介绍

获取源码 可以在Linux Kernel的官网下载 https://www.kernel.org/. 也可以从Github fork一个 git clone https://github.com/torvalds/linux.git 也可以从包管理器里下载,比如Ubuntu下 sudo ...

Linux inode剖析

what is inode? 文件存储在硬盘上,硬盘的最小存储单位叫做“扇区”(sector),每个扇区512字节。 操作系统读取硬盘的时候,不会一个个扇区的读取,这样效率太低,而是一次性读取多个扇区,即一个“块”(block)。这种由多个扇区组成的“块”,是文件存取的最小单位。“块”的大...