嵌入式Linux学习七步曲_Chap7 - 高级应用编程.pdf
《嵌入式Linux学习七步曲_Chap7 - 高级应用编程.pdf》由会员分享,可在线阅读,更多相关《嵌入式Linux学习七步曲_Chap7 - 高级应用编程.pdf(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式嵌入式Linux学习七步曲学习七步曲Sailor_forever(扬帆扬帆)自由传播 版权所有 翻版必究自由传播 版权所有 翻版必究八一卦-我是whon目前就职于通信行业某外企研发中心n参与校园招聘和社会招聘的技术面试工作n5年嵌入式软件开发经验,擅长嵌入式Linux开发;n接触的软硬件平台包括ARM,DSP,PowerPC,uC/OS-II,Linux,VxWorks及OSE八一卦-我是whon嵌入式Linux七步曲 学习群 交流讨论 资源共享n群号 nhttp:/ 个月n1年左右n2年以上n多少人参加过系列交流会?5嵌入式Linux学习七步曲1 1 13 3 34 4 4Linux主
2、机开发环境主机开发环境嵌入式嵌入式Linux交叉开发环境交叉开发环境Linux系统系统bootloader移植移植Linux的内核移植的内核移植5 5 5Linux的内核及驱动开发的内核及驱动开发2 2 26 6 6文件系统制作文件系统制作7 7 7Linux的高级应用编程的高级应用编程6Key To SuccessnGoogle、Baidun理论+实践(开发板)(开发板)n勤于思考,善于总结n多上相关技术论坛,他山之石可以攻玉n良好的文档撰写习惯nPassion!7C H A P T E RLinux的高级应用的高级应用编程编程8主要内容1 1 14 4 4多进程编程多进程编程多线程编程多线
3、程编程网络编程网络编程应用程序的调试技巧应用程序的调试技巧2 2 23 3 39多进程编程n进程组成n进程控制n进程间的通信机制10进程组成n何谓进程?n进程和程序的区别n进程的特性11何谓进程?n定义n由代码段(text)、用户数据段(user segment)以及系统数据段(systemsegment)共同组成的一个动态执行环境n代码段可共享n用户数据段存放全局变量n系统数据段为进程的管理控制信息12进程和程序的区别n程序n静态对象,纯粹的数据。编译后形成的可执行代码n由代码段、数据段、BSS段等组成,是进程的一部分n进程n程序的动态实例n同一个程序可以有多个有多个动态实例动态实例,多份拷
4、贝13进程的特性n进程的状态n根据OS的调度处在不同的状态n进程的地址空间n用户空间n内核空间n独立栈独立栈1415进程控制n父子进程nforknExecnsystemn孤儿进程n僵尸进程16父子进程n亲缘关系n描述了系统进程创建的关系n祖先进程nLinuxrc启动脚本n/sbin/initn1号进程nps-ef17forkn功能n创建一个子进程nFork的返回值是父子进程的分岔点n对于父进程,返回值为子进程的pidn子进程,返回值0nFork产生的父子进程的关系n共享代码段n拷贝数据段和堆栈段n子进程继承父进程的所有资源n只有在数据段发生变化时才从物理上进行分离18execn功能n改变当前进
5、程的行为,替换为另一个进程nexec产生的进程与原进程的关系n进程id不变,只留下躯壳n更新代码段,创建新的数据段和堆栈19systemn功能n在父进程里面启动一个新的命令,并等待该命令执行完成n流程n函数先调用fork()n然后再调用exec()来执行用户的登录shell,通过它来查找可执行文件的命令并分析参数nwait()函数族之一来等待子进程的结束20孤儿进程n定义n父进程先于子进程消亡,子进程即变为孤儿进程n解决办法n对系统无影响n孤儿进程将被init进程(进程号为1)所收养21僵尸进程n定义n子进程消亡时,父进程未回收task_struct资源,只剩下空壳,故为僵尸n原因n子进程结束
6、后向父进程发出SIGCHLD信号,父进程忽略了它n父进程没有调用wait()或waitpid()函数来等待子进程的结束n解决方案n父进程可以通过wait系列的系统调用(如wait4、waitid)来等待某个或某些子进程的退出,并获取它的退出信息n杀死父进程可以让init进程回收僵尸进程的资源2223进程间的通信机制n进程间的约束关系n通信机制的来源n通信机制的类型24进程间的约束关系n同步n指系统中一些进程需要相互合作,共同完成一项任务n互斥n由于各进程要求共享资源,但某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性n临界区n访问共享资源的代码n死锁n指多个进程互不相让,都得不到足
7、够的资源n各进程按照相同的顺序获取互斥资源可以防止死锁25通信机制的来源26通信机制的来源nUnix IPC n管道、FIFO、信号nSystem V IPC n消息队列、信号灯、共享内存nPosix IPC n消息队列、信号灯、共享内存nsocket 27通信机制的类型n管道pipen管道FIFOn共享内存n消息队列n信号灯n信号nsocket28管道pipen特点n是一种单向的数据流,一个进程写入数据另外一个进程读取数据,典型的生产者消费者模型n基于文件系统,但是其仅存在于内存中,无文件实体n在最后一个访问管道的进程终止后,管道就被自动删除n适用场合n具有亲缘关系的进程n单处理器29管道p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式Linux学习七步曲_Chap7 高级应用编程 嵌入式 Linux 学习 七步曲 _Chap7 高级 应用 编程
限制150内