嵌入式Linux多任务:进程、线程
硬性条件:单个CPU单个核
单任务:一个任务执行完毕之后下个任务才能执行;
多任务:任务的执行可以被中断,中断之后可以执行其他任务;(并发/并行)
单核CPU:并发
多核CPU:并发,并行
进程实现多任务;特点:给每个进程分配独立的地址空间,4G的大小!(1G内核,3G用户空间:栈、堆、数据段、代码段);互不干扰;
进程创建方式:fork>exec函数族>system>vfork;
进程的退出:exit()库函数/清理缓冲 -exit()系统调用API/不清理缓冲;
进程等待:wait();解决:僵尸处理
<僵尸进城、孤儿进程、守护进程、控制台进程、后台进程>
学习目标:学会创建多任务程序:进程
进程间通信的方式:
1.管道:无名管道(int pipe)、有名管道(int mkfifo)
2、消息列队:消息的组成:消息编号,消息正文
3、共享内存:
4、信号量: