嵌入式课堂笔记6

在我们之前所学习的C语言编程中,我们所学习的都是无os的语法,是因为之前我们所设计的东西都缺少操作系统,操作系统是可以用来管理资源的,不管是软件还是硬件。

嵌入式Linux系统开发:通过内核提供的服务实现相应功能
C语言程序设计:无os语法
1、Linux系统空间划分:用户空间、内核空间
2、划分空间目的:保护内核空间不能被用户空间随便访问
3、用户空间不能随便访问内核空间,访问内核空间必须发送系统调用
系统调用:内核提供的安全访问机制;硬件中断、软件中断
作用:使用户空间可以访问内核空间并获取服务
4、用户如何发送系统调用? 调用操作系统提供的函数接口(API:用户编程接口)

学习嵌入式Linux系统开发实际上学习的是用户编程接口API
文件操作、进程、线程操作(多任务)、网络、设备
文件ID:(1)动态分配:只有当操作这个文件时,系统才会给你分配文件描述符
(2)非负整数:从3编号开始,0、1、2三个文件描述符有特殊作用
无缓冲访问文件(系统调用)

create函数是创建文件
int creat(const char * pathname, mode_tmode);
嵌入式课堂笔记6_第1张图片
嵌入式课堂笔记6_第2张图片
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个位移量,后两者的第二个参数允许是负数。

你可能感兴趣的:(嵌入式课堂笔记6)