Linux中基本io系统调用,Linux IO.ppt

《Linux IO.ppt》由会员分享,可在线阅读,更多相关《Linux IO.ppt(49页珍藏版)》请在人人文库网上搜索。

1、文件I/O编程,Linux中系统调用的基本概念 Linux中用户编程接口(API)及系统命令的相 互关系 文件描述符 Linux下文件相关的不带缓存I/O函数的使用 Linux下设备文件读写方法 Linux标准文件I/O函数的使用,1、Linux中系统调用的基本概念,系统调用 用户编程接口 系统命令,1.1系统调用,概念 系统调用是指操作系统提供给用户程序调用的一组“特殊”接口,用户程序可以通过这组接口来获得操作系统内核提供的服务。,1.2 用户编程接口(API),概念 用户编程接口是一个通过软中断机制向内核提交请求,以获得内核服务的接口。 API主要是通过C库(libc)实现的。,1.3系统。

2、命令,系统命令相对于API更高了一层,它实际是一个可执行的程序,它内部引用了用户编程接口(API)来实现相应的功能。,2、 文件描述符,Linux对目录和设备的操作都等同于文件的操作,因此,大大简化了系统对不同设备的处理; Linux中文件主要分为:普通文件、目录文件、链接文件和设备文件; 文件描述符用来区分和引用特定的文件;,概念 文件描述符是个非负的整数,它是一个索引值; Linux对所有设备和恩间的操作都使用文件描述符来进行。 一般地,进程启动时,都会打开3个文件:标准输入/输出和标准出错处理。,3、Linux下文件相关的不带缓存I/O函数的使用,不带缓存的文件I/O主要用到5个函数:o。

3、pen、read、write、lseek和close。,3.1 open和close,Open open函数用于打开或创建文件; Close close函数是用于关闭一个打开的文件;,Open函数的语法要点,Close函数的语法要点,Open和close实例,OpenClose.c,Read、write和lseek,Read、write和lseek函数的作用 read函数是用于将制定的文件描述符中读出数据。 write函数是用于向打开的文件写数据,写操作从文件的当前位移量处开始。 lseek函数是用于在指定的文件描述符中将文件指针定位到相应的位置。,Read函数语法要点,Write函数语法要点。

4、,Lseek函数语法要点,实例,writeRead.c,3.3 fcntl函数,3.3 select函数,Select函数是用于处理I/O复用的。在I/O多路转接模型中,如果请求的I/O操作阻塞,它不是真正的阻塞I/O,而是让其中的一个函数等待,在这期间,I/O还能进行其他操作。,Select函数语法要点,Select文件描述符处理函数,实例,Select.c,4、标准I/O开发,标准I/O操作都是基于流缓冲的,是符合ANSI C的标准I/O处理。 标准I/O提供流缓冲的目的是尽可能减少使用read和write调用的数量。 标准I/O提供了3种类型的缓冲存储:全缓冲,行缓冲和不带缓冲。,4.1。

5、 打开和关闭文件,打开文件有三个标准函数,分别为:fopen、fdopen和freopen。他们以不同的模式打开文件,都返回一个指向FILE的指针。此后对文件的读写都是通过这个FILE指针来进行的。 fopen:可以指定打开文件的路径和模式; fdopen:可以指定打开文件的描述符和模式; freopen:可以指定打开文件、模式和特定的I/O流。,fopen函数语法要点,mode取值说明,fdopen函数语法要点,freopen,fclose函数,函数说明 关闭标准文件的函数为fclose,这时缓冲区中的数据写入文件中,并释放系统所提供的文件资源。,fclose函数的语法要点,实例,打开和关闭。

6、文件,5、文件读写,读文件 写文件 输入输出,5.1 读文件fread,函数说明 在文件流打开之后,可用fread函数对文件进行读操作; 函数语法要点,5.2 写文件fwrite,函数说明 用于对指定的文件流进行写操作; 函数语法要点,实例,写文件实例,5.3 输入输出,文件打开后,根据一次读写文件中字符的数目可分为字符输入输出,行输入输出和格式化输入输出;,字符输入输出,函数说明 字符输入输出函数一次仅读写一个字符。,字符输入函数,字符输出函数,实例,fput.c,行输入输出,函数说明 行输入输出函数一次操作一行。,行输入输出函数语法要点,实例,Gets.c,格式化输入输出,函数说明 格式化。

7、输入输出函数可以指定输入输出的具体格式,如常见的printf、scanf等函数。,函数语法要点,格式化输出函数,格式化输入函数语法要点,综合实例,实现txt文件的合并和分割;,练习,Copy命令的实现 请读取一个bmp图像;,思考,如何打开一个串口;,串口应用开发,串口的概述 串口的设置 串口的使用,串口的概述,据通信的基本方式可分为并行通信与串行通信两种。 并行通信是指利用多条数据传输线将一个资料的各位同时传送。它的特点是传输速度快,适用于短距离通信,但要求传输速度较高的应用场合。 串行通信是指利用一条传输线将资料一位位地顺序传送。特点是通信线路简单,利用简单的线缆就可实现通信,降低成本,适用于远距离通信,但传输速度慢的应用场合。 在linux中,所有的设备文件一般都位于“/dev”下,其中串口一,串口二对应的设备名分别为“/dev/ttyS0”、“/dev/ttyS1”。,串口的设置,设置串口中最基本的包括波特率设置,校验位和停止位设置。串口的设置主要是设置struct termios结构体的各成员值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值