实训第七天

嵌入式C编程:语法,使用
嵌入式LinuxC编程:在Linux上使用C语言调用操作系统功能接口开发应用程序
嵌入式为什么要移植操作系统?
1,提供软件的移植性
2,操作系统提供了多任务操作
3,操作系统提供了丰富的网络协议栈
4,操作系统将所有设备抽象成文件,方便访问设备

嵌入式LinuxC编程:文件编程,多任务编程,网络编程
1,Linux系统构成/划分;用户空间,内核空间
<为什么将系统划分为用户空间和内核空间?>
保护内核的安全;
<用户该如何访问内核空间?>
通过系统调用;
内核提供安全的访问内核的数据及服务的接口:系统调用
<用户如何发生系统调用?>
调用系统提供的编程函数接口--API(用户编程接口)

文件编程:
1,文件描述符;(文件ID)unsigned int ;
<知道一个文件描述符,操作这个文件描述符,相当于在操作这个文件>
<文件描述符的分配方式:动态分配(只有当你操作这个文件,系统才会给你分配文件描述符,使用完毕之后回收)>
<0,1,2这三个文件描述符已经被系统占用,有特殊作用,所有说系统的普通文件ID是从3开始的>

2,文件API(记头文件,记函数原型(形参和返回值的作用),写测试,应用)
creat\open\read\write\lseek\close

嵌入式Linux多任务编程
1,什么是多任务?
单任务:在一个任务执行期间,其他任务不能被调度;
多任务:
<当前CPU单核,存在任务并发,不存在并行>
<当期CPU是多核,既存在并发,也存在并行>
2,实现多任务的方式:进程,线程
进程(fork):实现多任务的开销较大,因为每个进程都有4G的独立地址空间,导致进程间通信效率不高,优点:安全
线程:实现多任务的开销小,因为每个线程共享地址空间,通信效率高,缺点:不安全
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值