随笔分类 -  Linux系统编程笔记

摘要:4.1 缓存 buff 说明 一般设置缓存 buff 的大小是由一定的规律的,就是根据磁盘块的大小来定。 Linux下输入命令: df -k 查看磁盘 可以用命令查看下 /dev/sda1 磁盘的磁盘说明 Block size 就是磁盘块的大小,这个磁盘块的大小为 4M ,那么就可以设置缓存 buf 阅读全文
posted @ 2018-05-13 20:24 游戏进行中 阅读(619) 评论(0) 推荐(0)
摘要:3.2.4 read 函数 读文件 read(由已打开的文件读取数据) * 函数说明 read() 会把参数 fd 所指的文件传送 count 个字节到 buf 指针所指的内存中。 若参数 count 为0,则 read() 不会有作用并返回0. 返回值为实际读取到的字节数,如果返回0,表示已到达文 阅读全文
posted @ 2018-05-13 15:20 游戏进行中 阅读(429) 评论(0) 推荐(0)
摘要:3.1 文件描述符 文件IO 系统调用是不带缓存的,文件 I/O 系统调用不是 ANSI C 的组成部分,是 POSIX 的组成部分。 系统调用与C库: C库函数的IO 的底层还是调用系统调用 I/O。 需要运行速度很快的时候采用 文件IO系统调用。 FILE 结构体中有 文件描述符成员 fd,标准 阅读全文
posted @ 2018-05-10 22:04 游戏进行中 阅读(338) 评论(0) 推荐(0)
摘要:2.1 系统调用 2.1.1 概念 所谓系统调用(system call)是指曹错系统提供给用户程序的一组“特殊”接口,用户程序可以通过这组“特殊”接口来获得操作系统内核提供的特殊服务。 应用程序可以直接调用系统调用获得内核的服务 shell 可以调用系统调用 标准C库,也可以调用系统调用,获得内核 阅读全文
posted @ 2018-05-07 22:07 游戏进行中 阅读(1040) 评论(1) 推荐(0)
摘要:1.1 进程在虚拟空间中的布局 32位的操作系统虚拟空间的大小为 4GB,即每个进程在系统中分配的虚拟空间大小为4GB。这4GB的大小被分为了两个部分: 内核空间:1GB,内核起的进程 用户空间:3GB,主要是普通用户起的进程 物理内存和虚拟内存之间的交互: 虚拟地址和物理地址通过 CPU 的内存管 阅读全文
posted @ 2018-05-02 16:28 游戏进行中 阅读(515) 评论(0) 推荐(0)
摘要:使用非阻塞 I/O 的应用程序通常会使用 select() 和 poll() 系统调用查询是否可对设备进行无阻塞的访问。这两个系统调用最终会引发设备驱动中的 poll() 函数被执行。 numfds:此值是需要检查的号码最高的文件描述符加 1 readfds:被 select 监视的读文件描述符集合 阅读全文
posted @ 2018-04-08 21:31 游戏进行中 阅读(817) 评论(1) 推荐(0)