- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux环境高级编程 第一讲 前言 教学目的 课程主要内容及安排 课程学习方法 Unix/Linux标准化及实现 编程环境介绍 教学目的 作为程序员,为什么要学习Linux程序设计? 计算机网络越来越普及,带来了巨大的经济效益(各类网站,各类即时通讯工具等等) 单机版程序越来越弱化,各种应用将放置于云端(桌面应用web化、web中心化、SaaS、云计算???) 后台系统将不仅仅是单机系统,而是集群,分散式类web service(网站架构的变迁) Linux是后台系统首选的操作系统 教学目的 互联网络程序设计涉及到的技术 Web前台技术:html,css,javascript,flash Web后台技术:ASP,JSP,PHP,Python,Ruby 数据库技术:MySql,Oracle,Sybase 适用于分布式处理的函数式语言:erlang,scalar 底层的基于操作系统API的socket编程技术 本课程的关注点? 从程序员视角看计算机系统 从程序员视角看计算机系统 从程序员视角看计算机系统 从程序员视角看计算机系统 从程序员视角看计算机系统 从程序员视角看计算机系统 从程序员视角看计算机系统 从程序员视角看计算机系统 教学目的 掌握Linux提供的常见系统调用(API, Application Programming Interface) 加深对操作系统结构的理解 掌握系统编程的方法,能够举一反三,为今后对其他系统的学习奠定基础 本课程不对Linux内核做讨论 但将会说明如何按照现代程序设计思想,运用API 第一讲 前言 教学目的 课程主要内容及安排 课程学习方法 Unix/Linux标准化及实现 编程环境介绍 课程主要内容及安排 总学时:20学时(以前是40学时) 参考教材 UNIX环境高级编程 考核方式 考查(平时作业) 有问题、错误时,随时打断提问 课程主要内容及安排 文件系统 文件、目录的操作方法,常用的文件I/O 标准I/O及流 标准I/O及流的概念、标准I/O与文件I/O区别、常用的I/O函数 进程 进程概念、状态转换图、进程环境、控制方法等 信号 信号的处理方式,以及应用程序对信号的捕捉 线程 线程的本质,线程的创建方式,同步方式 文件的操作 文件的基本操作(打开、定位、读写、关闭) I/O效率 文件共享 其他重要I/O函数 ext2文件系统在磁盘的组织 stat、fstat、lstat函数 文件的基本性质 修改文件属性的函数 硬链接与符号连接 目录操作 标准I/O 静态库、动态库的编写 库接口编写的注意事项 标准I/O库 打开流 定位流 读写流 格式化输出 临时文件 进程环境 main函数和命令行参数 进程的启动和终止 环境表和环境变量 存储空间布局 存储器分配 setjmp和longjmp函数 进程控制 进程标识符 fork等函数 exit函数 wait等函数 exec等函数 更改用户ID和组ID system函数 进程会计 用户标识和进程时间 进程关系 进程组 会话 控制终端 信号 信号的概念 signal函数 不可靠信号与可靠信号 信号的发送接收机制 信号集与可靠信号机制 sigsetjmp和siglongjmp函数 abort函数 线程 线程的概念 线程的创建 线程的终止 线程的同步 线程的属性 同步属性 重入 线程私有数据 Linux环境高级编程实验 11周后,将开设《Linux环境高级编程实验》一课 主要内容包括: 高级编程环境学习(vi的高级使用,make的使用、gdb的使用、测试驱动工具googletest使用) 执行体模型实现 基本网络程序框架实现 通用插件框架实现 第一讲 前言 教学目的 课程主要内容及安排 课程学习方法 Unix/Linux标准化及实现 编程环境介绍 学习路线建议 学习中的困惑 漫无目的、缺乏指导,不知道该怎么样学习 基本的方法 看书+实践 方向不明确 学习路线建议 高度重视语言的学习 学好C和C++,暂时不要盲目学Java等语言,限制今后的技术道路 C和C++程序贴近机器(大多数操作系统都是基于C的)、高性能,将使你更能深入理解计算机系统和算法,在技术道路上走得更远 语言的学习不仅仅是语法的学习,最主要的是其背后蕴藏的程序设计思想、软件架构思想的学习 要知道这些思想的来龙去脉 到了一定程度后,保持每年都能学种新语言,为什么?(有些思想是某种语言特有的) 书籍推荐(假定有基本C基础) 深入理解计算机系统 C学习 C陷阱与缺陷 C和指针 基本C++学习 Essential C++ Effective C++ More Effective C++ C++沉思录中面向对象的部分 设计模式精解 深入C++学习 深度探索C++对象模型 书籍推荐(假定有基本C
文档评论(0)