第12周
Linux 多进程、多线程、IO模型
嵌入式开发的主流操作系统是Linux操作系统,这一阶段由一线12年经验的高级工程师进行授课,主要让学员掌握Linux 下多线程、多进程编程思想和常用的IO模型,让自己开发的软件能充分发挥多核CPU优势,提升软件性能。
课程安排:
1、进程的概念,理解在Linux系统中进程是什么
2、进程相关的命令,掌握Linux系统中进程信息的查看
3、进程创建,掌握Linux系统中如何在一个程序中创建多个进程
4、进程间通信,掌握Linux系统中常用的进程间通信方法,如:管道、信号、5、消息队列、共享内存、信号灯集等
6、进程间同步,理解同步的概念,掌握Linux系统中进程间同步的方式
7、线程的概念,理解在Linux系统中线程是什么
8、线程相关的命令,掌握Linux系统中线程信息的查看
9、线程创建,掌握Linux系统中如何在一个程序中创建多个线程
10、线程间通信,掌握Linux系统中线程间通信的方法
11、线程间同步,掌握Linux系统中线程间同步机制,如:信号量、条件变量、互斥锁等
12、阻塞IO,理解阻塞IO的概念及工作原理
13、非阻塞IO,理解非阻塞IO的概念及工作原理
14、IO多路复用,理解IO多路复用的概念及工作原理,掌握Linux下IO多路复用的方法,如:select,poll,epoll等。
第13周
Linux 项目实战-实现并发服务器模型与企业笔试
通过上周的学习我们掌握了Linux 多进程、多线程、IO模型,本周通过带同学们0到1实现一个并发服务器模型彻底掌握嵌入式中重要的Linux知识实践。
课程安排:
1、基于多进程、多线程实现并发服务器模型,主要功能如下:
2、服务器进程创建线程池,维护线程池中线程创建和销毁,创建子进程反馈3、数据处理结果
4、服务器进程创建消息队列,从消息队列获取其他客服端进程发来的任务数据,并从线程池中取线程处理任务
5、线程池中的任务线程处理完客户端的数据后,通知服务器进程子,由服务器子进程共享内存的方式获取处理的数据,然后反馈给客户端进程
6、客户端进程通过消息队列提交任务请求,通过共享内存获取任务处理结果
7、企业笔试:常用Linux操作系统知识默写,从企业面试的角度,考察学员对Linux操作系统多进程、多线程、IO模型的理解