嵌入式第六次课堂笔记

今日学习目标:
初识嵌入式Linux开发:通过内核提供的服务实现相应功能

在我们之前所学习的C语言编程中,我们所学习的都是无os的语法,是因为之前我们所设计的东西都缺少操作系统,操作系统是可以用来管理资源的,不管是软件还是硬件。
Linux系统是由用户空间和内核空间构成,这样可以保护内核的访问安全,并且用户空间不能随便访问内核空间,但是通过系统调用(内核提供的安全访问机制),可以使用户空间可以访问内核空间并获取服务,即调用操作系统提供的函数接口(API)。所以后面的任务就是学习用户编程接口API的用法。在VM中输入man 语法即可查看函数用法。
其次是文件处理,在VM中,每个文件都有对应的ID,要调用文件就是调用文件ID,并且进行动态分配,就是当操作这个文件时,系统才会分配文件描述符,且这些ID都是非负数从3开始,因为0,1,2三个描述符有其他作用。在VM中无缓冲访问文件就是用系统调用,可以用函数来实现,如果想要了解该函数是什么作用,可以用man语法加上函数名来查询,并且man函数查找出来的头文件在后面运用该函数时也要加上这些头文件。
create函数是创建文件int creat(const char * pathname, mode_tmode);,open函数是打开文件int open(const char * pathname, int flags);int open(const char * pathname,int flags, mode_t mode);open函数有两种,可以有两个参数或者三个参数,其中O_RDONLY是以只读方式打开文件,O_WRONLY是以只写方式打开文件,O_RDWR是以可读写方式打开文件,且这三种命令互斥,不可以一起用。write函数是文件书写函数,read函数就是读取数据函数,与write函数的参数一致;lseek函数是控制读写位置函数,第二个参数如是负数,则往前移动,如是整数则往后移,SEEK-SET就是参数offset为新的读写位置,SEEK-CUR则是以目前的读写位置往后增加offset个位移量,SEEK-END就是将读写位置指向文件尾后再增加offset个位移量,后两者的第二个参数允许是负数。所以今天后面的学习就是将几个函数相互结合。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值