1、Linux系统空间划分:用户空间、内核空间
2、划分空间的目的:保护内核空间不能被用户空间随便访问;
3、用户空间如何访问内核空间?必须发送系统调用;
4、如何发生系统调用?调用操作系统提供的函数接口–API
文件操作、进程、线程操作(多任务)、网络、设备
1.Linux文件分类
①普通文件:计算机用户和操作系统用于存放数据、程序等信息的文件。
②目录文件:Linux文件系统将文件索引节点号和文件名同时保存在目录中,所以目录文件就是将文件名称和它的索引节点号结合在一起的一张表。
③设备文件:Linux把所有的外设都当作文件来看待,每一种I/O设备对应一个设备文件并存放在/dev目录中。
④管道文件:主要用于在进程间传递数据,管道是进程传递数据的“媒介”。
⑤链接文件:又称符号链接目录,它提供了文件共享的一种方法。
2.常见文件类型
普通文件:-
目录文件:d
链接文件:l
字符设备:c
块设备:b
管道设备:p
堆栈文件:f
3.linux文件描述符
标准输入:0 宏替换:STDIN_FILENO
标准输出:1 宏替换:STDOUT_FILENO
标准出错处理:2 宏替换:STDERR_FILENO
4.不带缓存的I/O操作
①creat函数:用于建立文件
②open函数:用于打开函数
③read函数:从已打开的文件读取数据
④write函数:用于将数据写入已打开的文件
⑤lseek函数:用于移动文件的读写位置
⑥close函数:用于关闭文件
5.带缓存的I/O操作
①三种类型的缓存
全缓冲;行缓冲;不带缓冲;
②fopen函数:用于打开文件
③fclose函数:用于关闭函数
④fdopen函数:用于将数据写至文件流
⑤fseek函数:用于移动文件流的读写位置
⑥fgetc函数:用于从文件中读取一个字符
⑦getc函数:用于从文件中读取一个字符
⑧getchar函数:用于从标准输入设备内读取一个字符
⑨fputc函数:用于将一指定字符写入文件流中
⑩putc函数:用于将一指定字符写入文件中
①putchar函数:用于将指定的字符写到标准输出设备
②printf函数:用于格式化输出的数据
③fprintf函数:用于格式化输出数据至文件
④sprintf函数:用于格式化字符串复制
⑤scanf函数:用于格式化字符串输入
⑥fscanf函数:用于格式化字符串输入
⑦sscanf函数:用于格式化字符串输入