学习嵌入式Linux c/c++ 編程(1)
学习目标精通一门语言掌握数据结构 算法了解和应用操作系统:看和应用操作系统说明文学习内容1文件I/O2 进程3 进程间通信4 多线程5 网络6数据库学习方法1.背API2.Demo测试3.应用-普通文件d目录文件c字符型/b块 设备文件l链接文件p管道文件f堆栈文件 s 共享文件文件id动态分配知道一个文件id 操作这个id 等于操作这个文件了解系统调用系统调用 (间接发起)作用:1为用户态与内核
学习目标
精通一门语言
掌握数据结构 算法
了解和应用操作系统:看和应用操作系统说明文
学习内容
1文件I/O
2 进程
3 进程间通信
4 多线程
5 网络
6 数据库
学习方法
1.背API
2.Demo测试
3.应用
-普通文件d目录文件c字符型/b块 设备文件l链接文件p管道文件f堆栈文件 s 共享文件
文件id
动态分配
知道一个文件id 操作这个id 等于操作这个文件
了解系统调用
系统调用 (间接发起)
作用:1为用户态与内核态进行交互提供了一组接口,2提高系统安全性,3使用户程序具有移植性4 把用户从底层的硬件编程中解放出来
用户编程接口API(函数接口)
中间介:跨平台 高效编程 优化API的访问
系统调用和库函数的区别:
- 普通文件读写效率:库函数(跨平台,封装,(高效编程),效率(缓冲区))
- 设备文件操作(高级操作):系统调用(高级I/O:文件性质,文件锁,异步IO,IO多路复用)
- 库函数是有缓冲的 系统调用是无缓冲的

用户空间缓冲区:解决用户空间切换到内核空间的开销(可操作)
内核空间缓冲区:解决每次读写磁盘的开销(不可操作)
缓冲区 默认大小为8192字节
缓冲类型:A.全缓冲:要求填满整个缓冲区后才进行I/O系统调用操作,默认大小为8192
B.行缓冲:输出和输出中遇到换行符时,执行系统调用操作printf (stdout缓冲区 )
C.无缓冲:不对字符进行缓冲, 直接执行系统调用
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐



所有评论(0)