当前位置: 嵌入式研究室 > 课程介绍 > 短期强化嵌入式技术课程 >
UNIX下POSIX及Socket网络开发
|
UDA-UNIX下POSIX及Socket网络开发 课程描述:
|
||
目前是云计算的时代,Google、百度、腾讯、阿里巴巴等公司都在部署自己的云计算平台,而除了微软自己,毫无例外所有的成规模的云计算平台都是UNIX/Linux平台下的软件架构。而网络游戏等热门公司也大量采用UNIX/Linux平台的系统及网络程序,所以本课程为目前最热门的研发职业生涯打下坚实的技术基础。 |
||
|
教学目标:
|
||
强调全真Linux平台开发环境,完全企业真实开发项目,让学员通过5个以上的项目全面演练UNIX/Linux平台下POSIX规范,以及Socket网络编程的技能,让学员真正达到云计算企业以及网游、实时消息服务商等企业的技术要求。 |
||
|
面向行业及岗位:
|
||
面向职位:服务器软件研发工程师、网游软件工程师、互联网开发工程师、云计算开发工程师。 学员就业公司有:互联网公司,如腾讯(QQ的服务器端程序)、中国互联网中心(服务器端程序)百度 等;网游公司,如巨人网络、北之辰游戏公司;系统集成公司,如联想利泰等。 |
||
|
培养对象:
|
||
希望掌握UNIX/Linux平台的服务器端程序开发技术的学员;以及希望从事网络游戏开发、VOD视频点播系统、视频广播系统的爱好者、工程师、程序员、已及相关行业的工程技术人员;有志于从事C/S架构、云计算架构研发的软件开发技术人员和正在学习计算机、软件、通信专业的学生,以下是主要应用方向: ◆ 网络游戏软件开发; ◆ 类似QQ的实时消息服务器开发; ◆ UNIX/Linux系统级服务软件开发; |
||
|
课程特色:
|
||
◆本课程设计者为Chinaunix C/C++版资深版主Johnbull。 ◆全部Linux平台开发环境最接近真实的企业开发环境。 ◆为云计算提供直接的知识积累。 ◆全新案例教学,自己编写不少于5个实际项目。 ◆高强度授课,全部项目型教学,每个环节都有案例。 |
||
|
课程大纲:(共320学时,每天8学时,共40天,两个月)
|
||
◆UDA- UNIX/Linux应用开发整体概述 Linux文件、目录及高级I/O编程。 Linux进程与线程开发。 进程间通信 TCP/IP协议栈的设计与实现。 Linux网络编程。 阶段目标:应用层开发领域涉及面广,所占企业开发人员比例较大。应用程序开发是整个课程的一个重点,也是近来企业招人的热点,就业面非常宽,掌握该课程内容的学员将会相对轻松地找到合适的工作,本科目系统而全面地介绍了UNIX给应用程序提供的系统构件。并补充了教材中没有涉及到的很多常用库函数 和 POSIX实时编程接口。 ◆UDA- Linux文件、目录及高级I/O编程 标准I/O 格式化I/O操作 FILE结构体 IO缓冲 原始I/O操作 系统I/O库 文件描述符 系统I/O操作 dup(2)fcntl(2) 性能的问题 文件系统操作 stat(2)及其相关问题 文件亚数据操作 连接 目录操作 高级I/O操作 非阻塞I/O I/O多路复用 信号驱动I/O mmap(2) 阶段目标: 实际项目一:自助点菜系统。 项目描述:本项目的目标是实现一个基于WEB的自助点菜系统,系统具备与网内应用服务器提取菜单信息以及将客户点菜信息发往服务器的功能。 实际项目二:实现一个真实的console应用程序,涉及到对各种IO异常的预见和处理、命令行参数的解析、各种类型文件的处理。强化对系统I/O的理解、强化对目录访问。 实际项目三:高效数据中继引擎 可靠地实现一个通用描述符对数据中继引擎。支持至少4000对套接字、管道或终端描述符并发操作,封装成动态库。 ◆UDA- UNIX/Linux进程与线程开发 进程环境 进程的开始和终止 进程的内存布局 intel X86函数调用规范 环境变量 动态库技术解析 长跳转及其应用 进程资源限制 多进程编程 进程创建 装载外部命令 回收僵尸 进程的身份标识 解释器文件的原理 进程时间 进程关系 UNIX信号 信号的发送 信号的捕获 不可靠的信号语义 可靠的信号语义 几个重要信号的典型应用 POSIX对信号语义的发展 POSIX实时信号 多线程编程 线程的概念 线程与进程的性能比较分析 POSIX线程接口 线程的同步 线程属性 OpenMP线程接口 多线程程序的调试及常用工具 mmap(2) 阶段目标: 实际项目四:设计并实现一个交互式shell,设计进程环境、进程控制、系统IO操作。强化对多进程编程的理解以及对标准shell的理解。 实际项目五:利用进程的单一时钟实现任意多定时器 支持至少1024个定时作业定时器精度在0.1秒內。 实际项目六:利用多线程技术重写高效数据中继引擎。并且用多线程重写定时器。 ◆UDA -UNIX 进程间通信及网络协议栈、Socket网络编程 文件锁 POSIX BSD 管道 匿名管道 命名管道 XSI(SYS V)IPC通信 消息队列 信号量数组 共享内存段 套接字 流式套接字操作流程 报式套接字操作流程 基于网络协议族的套接字 TCP/IP协议栈的设计与实现 Linux网络编程 Socket套接字编程详述 mp3 mp4等多媒体解码插件集成等 阶段目标: 实际项目七:数字媒体广播系统,设计并实现一个真实和完整的Client/Server软件系统,基于LAN(或VLAN、MBone)的数字音频广播系统,涉及到流式和报式网络套接字通讯、MP3解码、插件化设计方法以及存储系统设计编程技术。 带领大家建立起团队开发和协同工作的企业项目开发模式的概念和流程,强化学员对编写项目概要设计文档和详细设计文档的理解,为就业前的职业技能和素质训练做好充分准备。 |
||
|
实验环境:
|
||
处理器:Intel X86处理器。 内存:SDRAM 1G。 存储器:SATA 操作系统:Red Hat企业版5。 外围设备:RS-232、Ethernet、USB、IIC、IIS。 |
||
|
适用对象:
|
||
熟练使用UNIX或者Linux平台开发工具。 熟练使用C语言及数据结构。 |







