为广大程序猿提供最有价值的信息

文章列表

在Linux操作系统的文件系统中,超级块相当于文件系统的地图。在超级块中保存着文件系统的属性信息、磁盘布局和资源使用情况等信息。文件系统通过超级块了解磁盘的布局,查找已用和可用资源等。超级块又相当于入口,文件系统的操作通常从超级块开始。 对 …

内核中的开发与用户态差异并不大,本文编写一个我们最常见到的冒泡排序算法,以说明该问题。 开发环境 为了避免将自己的操作系统搞挂,本文在虚拟机中进行开发,这样我们可以随便折腾。本文所用的环境信息如下。 操作系统:Ubuntu 16.04 Se …

保险是骗人的? 其实我们所了解的保险公司骗人,大多是道听途说的。所谓的骗人无非是理赔问题,花很多钱买了保险,但真正出现问题的时候却无法得到理赔。 我们认真分析一下,第一这个大部分是听说的,真假不能完全确定。第二确实有一些不能理赔的,但理赔的 …

内核开发往往给人开发难度大的印象,大家觉得内核开发非常神秘,很高大上。其实内核开发并没有想象的那么复杂,它跟普通的用户态开发基本类似,稍微复杂一点的是内核的调试。本文通过一个简单的内核程序,让大家了解内核开发,并进入内核开发的大门。 开发环 …

概述 Ext4文件系统将磁盘划分为大小相等的逻辑块进行管理(默认4KB,本文后续内容都采用该默认值,具体块大小不同,需要根据做调整),就好像一个大厦划分为若干个房间一样。同时为了便于管理和避免访问冲突,其将若干个逻辑块组成一个大的逻辑块,称 …

TCP在传输之前会进行三次沟通,一般称为“三次握手”,传完数据断开的时候要进行四次沟通,一般称为“四次挥手”。 两个序号和三个标志位:   (1)序号:seq序号,占32位,用来标识 …

select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/ …

1、基本概念   IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合:   (1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。   (2)当一个客户同 …