网站建设广州,为学校建设网站,上海公司注册流程和费用,网站文章批量上传工具学习分享 1、Linux中的设备管理1.1、设备管理的特点1.2、设备分类1.3、设备工作原理1.4、Linux设备操作1.5、系统调用和系统API等区别 2、文件IO2.1、C库的文件操作2.2、文件描述符2.3、特殊文件描述符2.4、系统调用2.4.1、open系统调用4-12.4.2、open系统调用4-22.4.3、write系… 学习分享 1、Linux中的设备管理1.1、设备管理的特点1.2、设备分类1.3、设备工作原理1.4、Linux设备操作1.5、系统调用和系统API等区别 2、文件IO2.1、C库的文件操作2.2、文件描述符2.3、特殊文件描述符2.4、系统调用2.4.1、open系统调用4-12.4.2、open系统调用4-22.4.3、write系统调用2.4.4、read系统调用2.4.5、文件的随机读写2.4.6、lseek系统调用6-12.4.6、lseek系统调用6-22.4.7、mkdir系统调用2.4.8、rmdir系统调用 2.5、打开文件的方式2.6、访问权限2.7、文件打开示例2.8、关闭文件close 1、Linux中的设备管理 Linux采用文件系统管理硬件设备所有的设备都看成是特殊的文件从而将硬件设备的特性及管理细节对用户隐藏起来实现设备无关性。 1.1、设备管理的特点 每个设备都对应文件系统中的一个索引节点都有一个文件名。 应用程序通常可以通过系统调用open打开设备文件建立起与目标设备的连接。 对设备的使用类似于对文件的存取。 设备驱动程序都是系统内核的一部分它们必须为系统内核或者它们的子系统提供一个标准的接口。 设备驱动程序使用一些标准的内核服务如内存分配等。 1.2、设备分类 1.3、设备工作原理 1.4、Linux设备操作 1.5、系统调用和系统API等区别 2、文件IO
2.1、C库的文件操作 2.2、文件描述符 2.3、特殊文件描述符 2.4、系统调用
2.4.1、open系统调用4-1 2.4.2、open系统调用4-2 2.4.3、write系统调用 #include stdio.h
#include fcntl.h
#include sys/stat.h
void main()int outfd 0, r_size 0;char buf[ ] “Hello world!!”;outfd open(“first”,O_WONLY | O_TRUNC | O_CREAT,S_IRWXU);if(outfd0){r_size write(outfd,buf,sizeof(buf));if(r_size0){printf(“write data to file success”);} close(outfd); }
}2.4.4、read系统调用 2.4.5、文件的随机读写 2.4.6、lseek系统调用6-1 2.4.6、lseek系统调用6-2 2.4.7、mkdir系统调用 2.4.8、rmdir系统调用 2.5、打开文件的方式 2.6、访问权限 2.7、文件打开示例
#include fcntl.h
#include sys/stat.h
#include stdio.h
#include unistd.h
void main()
{int outfd 0;outfd open(“myfile,O_WRONLY|O_CREAT|O_TRUNC,S_IRWXU|S_IRGRP);if(outfd-1){perror(“fail to open file\n”);exit(-1);}else{perror(“success to open file\n”); }close(outfd); //关闭文件描述符
}2.8、关闭文件close