上一页 1 2 3 4 5 6 7 8 9 10 ··· 41 下一页
摘要: buffer(缓冲)是为了提高内存和硬盘(或其他I/O设备)之间的数据交换的速度而设计的。 cache(缓存)从CPU角度考虑,是为了提高cpu和内存之间的数据交换速度而设计的。 Buffer的核心作用是用来缓冲,缓和冲击。 比如你每秒要写100次硬盘,对系统冲击很大,浪费了大量时间在忙着处理开始写 阅读全文
posted @ 2020-12-22 23:34 Grooovvve 阅读(250) 评论(0) 推荐(0) 编辑
摘要: static关键字的使用比较微妙;static修饰函数:static修饰的函数,仅限在本源码文件中使用;不能被本源码以外的代码文件调用;静态函数的声明不应该放在头文件里,应该放在静态函数所在的文件里。static函数只能在本编译单元有效,编译器只有该函数的入口的地址,没有该函数名,其它的编译单元无法 阅读全文
posted @ 2020-12-21 10:02 Grooovvve 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 为什么要字节对齐? 字节对齐实际上是牺牲空间换取时间的行为; 为了解决CPU访问数据的效率问题;CPU访问数据都会读取固定字长的数据,例如32位CPU,一次性会读取32bit的数据; 例如: 第一次会读取0x0000, 0x0001, 0x0002, 0x0003 这四个地址空间内的数据(每个地址存 阅读全文
posted @ 2020-12-19 14:15 Grooovvve 阅读(512) 评论(0) 推荐(0) 编辑
摘要: URL只能使用英文字母,阿拉伯数字和一些特殊字符;或者说URL 只能使用 ASCII 字符集来通过因特网进行发送。 如果URL中有汉字,就必须编码后使用。 但是麻烦的是 标准的国际组织并没有规定具体的编码方法,而是交给应用程序(浏览器)自己决定。这导致"URL编码"成为了一个混乱的领域。 对于非AS 阅读全文
posted @ 2020-12-19 13:51 Grooovvve 阅读(1155) 评论(0) 推荐(0) 编辑
摘要: fcntl.h 头文件,file control的缩写。 open函数,openat函数: int open(const char *path, int oflag); int openat(int fd, const char *path, int oflag); 将准备打开的文件或是设备的名字作 阅读全文
posted @ 2020-12-08 22:35 Grooovvve 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 严格意义上来说,操作系统可以被定义一种软件,它控制计算机硬件资源,提供程序运行环境。 我们通常将这种软件称为内核(kernel)。因为它相对较小。 内核的接口被称为系统调用(system call)。公共函数库建立在系统调用之上。 应用程序既可以使用公共函数库,也可以使用系统调用。 shell是一款 阅读全文
posted @ 2020-12-05 13:17 Grooovvve 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 介绍系统调用前,介绍一个头文件unistd.h unistd.h为Linux/Unix系统中内置头文件,包含了许多系统调用的函数原型,例如read函数、write函数和getpid函数等。 系统调用主要分为6大类: 1、进程控制: fork //创建一个新进程 2、文件系统控制: 3、系统控制: 4 阅读全文
posted @ 2020-12-02 23:02 Grooovvve 阅读(154) 评论(0) 推荐(0) 编辑
摘要: linux把一切都当作文件,包括设备;我们的显示器和键盘在linux系统来说都是文件; 简单来理解:一个 Linux 进程可以打开成百上千个文件,为了表示和区分已经打开的文件,Linux 会给每个文件分配一个编号(一个 ID),这个编号就是一个整数,被称为文件描述符(File Descriptor) 阅读全文
posted @ 2020-12-02 22:12 Grooovvve 阅读(267) 评论(0) 推荐(0) 编辑
摘要: typedef struct Student{int a;}Stu;//Stu是 struct Student的别名;使用typedef为struct Student取个别名;如果没有使用typedef的话,声明变量就需要完整的写法 struct Student stu1;声明变量时为了方便,没有人 阅读全文
posted @ 2020-10-26 23:04 Grooovvve 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33,Linux/Unix下的tty概念也来自于此)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。 阅读全文
posted @ 2020-09-09 23:20 Grooovvve 阅读(257) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 41 下一页