[课程描述]
    目前,国内外企业对嵌入式Linux系统下的高级程序员的用工需求缺口比较大,但又很难找到在嵌入式Linux环境下,能够从事系统级高级应用开发的优秀的工程技术人员。为此,亚嵌教育集公司优质师资推出了《嵌入式Linux系统高级编程实验班》短期培训课程,系统地培训嵌入式Linux系统下的各项高级编程技术:嵌入式IO接口技术高级编程、进程线程高级编程、IPC高级编程技术以及嵌入式网络应用高级编程。结合有针对性、典型的实验,使参加培训学员能够更好的掌握嵌入式Linux系统平台下的各种高级编程技术。
[质量保证]
  ·所有课程内容均可免费重听,直到学员完全掌握为止。
  ·凡是亚嵌学员,在以后工作中遇到课程相关问题,可得到免费技术支持。
  ·雄厚的师资力量、经典的课程体系、丰富的教学经验确保教学质量。
  ·成绩优秀的学员可免费到亚嵌合作单位实习、就业。
[行业需求]
  工业控制,军工企事业,电信/网络/通讯,航空航天,汽车电子行业,医疗仪器,仪器仪表与电子。
[基础要求]
  有Linux下C语言开发基础
  熟悉嵌入式Linux开发环境
  对ARM体系结构有一定的了解
  有一定的操作系统、网络基础知识
  有参加过亚嵌《嵌入式Linux应用实验班》课程经历的最佳
[课程教材]
  《亚嵌嵌入式Linux系统构架师培训班讲义》
  《亚嵌嵌入式Linux系统构架师培训班实验指导书》
[推荐教材]
  《UNIX环境高级编程》,尤晋元.张亚英.戚正伟,人民邮电出版社,2006年5月
[教师简介]
    朱老师:清华大学计算机系博士,亚嵌高级讲师。具有多年计算机专业教学经验, 主讲“数据结构”、“操作系统”“Unix/Linux 基础”等课程。研究内容包括 Linux, FreeBSD, Solaris 等操作系统的应用与实现,同时还在开展并行算法应用及实现的研究项目,并一直在关注算法复杂性研究的新进展 。
    卫剑老师:北京大学博士,12年C语言编程经验,10年项目开发经验,6年项目管理经验,有良好的计算机理论知识结构,有丰富的软件工程及项目管理经验。国家863项目课题组副组长。
[开课情况]

  开课时间:2011年10月16日 4天 (24学时)
  上课地点:中科院校区
  学    费:2800元(优惠)
            为保证教学质量,本班为小班授课,15人为满,报满15人即停止报名或顺延下一期,如您决定上课请
  及时填写报名表并办理报名手续。(报名时需携带本人身份证复印件1张及本人一寸照片3张)

   课程安排 课程内容
第一阶段
第一天上午
理论课

第一部分IO接口高级编程
      1 系统功能调用接口
          无缓存方式I/O
          open/close ,read/write
          dup/dup2, fcntl/ioctl
      2 标准I/O库接口
          缓存方式I/O
          字符流I/O,比特流I/O
          格式化I/O
      3 高级I/O
          无阻塞I/O,记录加锁
          内存映射I/O

第一天下午
理论课

第二部分 进程高级编程
      1 进程控制
          进程环境
          fork/vfork, wait/waitpid, exec
      2 进程间的关系
          进程组,会话(session)
          Job控制
      3 信号(signal)
          信号的概念
          Signal, kill/raise, alarm/pause, sigaction

第二天上午
理论课

第三部分 线程高级编程
      1 进程与线程
      2 Posix线程
      3 线程的创建与结束
          Pthread_create, pthread_join
      4 竞争和临界区概念
      5 线程同步
          互斥,pthread_mutex_*
          信号量 (semaphore), sem_*
          条件变量 , pthread_cond_*

第二天下午
理论课

IPC高级编程
      1 线程间通信与进程间通信
      2 posix IPC 和 system V IPC
      3 消息传递
          无名管道(pipes)
          有名管道(fifos)
          消息队列(mg_*, mg*)
      4 同步
          互斥, 条件变量, 信号量
      5 共享内存

第一周周一晚上
实验课
第一部分I/O实验
      1 open/close/read/write综合实验
      2 fcntl/ioctl综合实验
      3 select练习
第一周周二晚上
实验课
第二部分 进程实验
      1 fork/wait/exec综合练习
      2 mysh:简化实现的shell
      3 mysh增强:支持重定向和管道
第一周周三晚上
实验课
第三部分 线程实验
      1 圆周率的近似计算
      2 Producer_consumer问题
      3 管程的C++实现
第一周周四晚上
实验课
第四部分 IPC实验
      1 最简单的TCP C/S
      2 添加错误处理
      3 处理SIGPIPE信号
      4 使用fork进行并发处理
      5 使用select
第二阶段
第三天上午
理论课
第五部分 网络基础知识
      1 网络基本概念
      2 路由概念
      3 TCP/IP各个层次的主要协议和功能
      4 如何抓包并分析内容
第三天下午
理论课
第六部分 客户端/服务器编程
      1 客户端与服务器概念
      2 字节顺序
      3 网络编程常用函数
      4 socket概念及使用
第四天上午
实验课
第七部分socket网络高级编程
      1 最简单的TCP C/S
      2 添加错误处理
      3 处理SIGPIPE信号
      4 使用fork进行并发处理
      5 使用select
第四天下午
实验课
第八部分Web服务器编程
      1 socket处理
      2 http请求处理
      3 文件请求处理
第二周周一晚上
实验课
第五部分 网络编程实验-1:  C/S编程(上)
第二周周二晚上
实验课
第五部分 网络编程实验-2:  C/S编程(下)
第二周周三晚上
实验课
第五部分 网络编程实验-3:  Web服务器(上)
第二周周四晚上
实验课
第五部分 网络编程实验-4:  Web服务器(下)