0x18
0x18
全部文章
分类
C++ 的味道(6)
Linux(10)
杂记(4)
算法导论(1)
编程语言(1)
计算机科学(3)
计算机网络(2)
归档
标签
去牛客网
登录
/
注册
大胖冬瓜
一边读罢头飞雪,但记得斑斑点点,几行陈迹。
全部文章
(共41篇)
epoll(2) 源码分析
epoll(2) 源码分析 文本内核代码取自 5.0.18 版本,和上一篇文章中的版本不同是因为另一个电脑出了问题,但是总体差异不大。 引子留下的问题 关键数据结构 提供的系统调用 就绪事件相关逻辑 epoll 间的相互影响及处理 问题的解答 引子留下的问题 在...
epoll
linux
eventfd
2019-10-31
0
883
epoll(2) 使用及源码分析的引子
epoll(2) 使用及源码分析的引子 本文代码取自内核版本 4.17 epoll(2) - I/O 事件通知设施。 epoll 是内核在2.6版本后实现的,是对 select(2)/poll(2) 更高效的改进,同时它自身也是一种文件,不恰当的比方可以看作 eventfd + poll。 ...
epoll
linux
2019-10-26
0
489
eventfd(2) 结合 select(2) 源码分析
eventfd(2) 结合 select(2) 源码分析 本文代码选自内核 4.17 eventfd(2) - 创建一个文件描述符用于事件通知。 使用 源码分析 参考 #include <sys/eventfd.h> int eventfd(unsigned ...
eventfd
select
linux
2019-10-18
0
427
poll(2) 源码分析
poll(2) poll(2) 系统调用的功能和 select(2) 类似:等待一个文件集合中的文件描述符就绪进行I/O操作。 使用 实现 select(2) 的局限性: 关注的文件描述符集合大小最大只有 1024 文件描述符集合为顺序的,不能任意指定 fd,浪费占用...
poll
linux
select
2019-10-12
0
480
select 源码分析
select(2),同步的 I/O 复用 直接看 epoll 的源码把自己绕晕了,先整个简单点的下手。 使用 源码分析 select(2) 提供的用户接口 #include <sys/select.h> int select(int nfds, fd_set ...
select
poll
linux
2019-09-25
1
943
kfifo
kfifo 的一些伪代码 1 kfifo_len() 2 out = LOAD fifo->out 3 smp_rmb() 4 len = LOAD fifo->in - out 5 6 7 kfifo_in() ...
2019-08-21
0
429
程序的机器级表示:寻址方式、指令及栈的运行机制
程序的机器级表示 时隔一年把 CS:APP 再看一遍,尤其针对栈的运行机制加深理解。 访问信息 16个通用寄存器 一个 x86-64 CPU 包含一组16个存储64位值的通用目的寄存器。虽然是通用寄存器,但也有一些约定成俗的用法。r8 r9 ... 为80386之后扩展的8个寄存器 \...
寄存器
栈
函数调用
指令
寻址方式
深入理解计算机系统
2019-06-10
0
445
信息的表示和处理 及 CS:APP 15213 datalab
信息的表示和处理 在通用计算机中中,字节作为最为最小 的可寻址的内存单元,而不是访问内存中单独的位。 寻址和字节顺序 big endian (大端法),数据最高字节部分地址在地址处,和人的感觉逻辑相似 little endian (小端法),低字节部分在低地址处 布尔代数 ...
CSAPP
15213
datalab
IEEE 754
2019-06-04
0
450
Effective C++ 一些记录和思考
Effective C++ Iter 3 - 尽可能使用 const 一个反逻辑的 bitwise const class Text { ... char& operator[](std::size_t pos) const { return text...
effective c++
2019-01-05
0
515
APUE 文件和目录
文件和目录 Unix 所有的文件都对应一个 struct stat,包含了一个文件所有的信息。 #include <sys/stat.h> struct stat { mode_t st_mode; // 文件类型和用户访问权限 ino_t ...
文件目录
stat
linux
2018-11-10
0
299
首页
上一页
1
2
3
4
5
下一页
末页