1830分钟
Linux操作系统与系统编程详解
Linux的操作系统编程与网络编程课程是一门针对Linux操作系统开发的课程,主要涵盖Linux操作系统的基本原理、系统编程、网络编程等方面的内容。该课程适合有一定编程基础的学生和从事Linux系统管…
Linux的操作系统编程与网络编程课程是一门针对Linux操作系统开发的课程,主要涵盖Linux操作系统的基本原理、系统编程、网络编程等方面的内容。该课程适合有一定编程基础的学生和从事Linux系统管理、运维和开发等领域的人员学习。
在该课程中,学生将学习Linux操作系统的基本原理和架构,包括进程管理、内存管理、文件系统和网络协议栈等;掌握Linux系统的常用命令和Shell编程技巧,能够进行系统管理和运维;熟悉Linux下的网络编程模型和Socket编程,能够实现基于TCP/IP和UDP/IP的网络应用程序;了解Linux系统的安全性和加固措施,能够进行基本的系统安全管理;掌握Linux下的多线程和进程间通信技术,能够设计和实现多线程和多进程的应用程序;熟悉Linux下的文件系统和I/O模型,能够进行文件读写和处理;了解Linux下的设备驱动程序和模块编程,能够进行基本的硬件编程。
该课程的主要目的是为从事Linux系统管理、运维和开发等领域的人员提供专业的技能和知识支持,增加求职竞争力和职业发展机会。同时,该课程也为有志于深入了解操作系统和网络编程技术的学生提供了学习的平台和机会。
第1章 相关命令实现
- 1-1 使用getopt解析命令行参数
- 1-2 ls命令的实现 - 1
- 1-3 ls命令的实现 - 2
- 1-4 ls命令的实现 - 3
- 1-5 ls命令的实现 - 4
- 1-6 ls命令的实现 - 5
- 1-7 ls命令的实现 - 6
- 1-8 ls命令的实现 - 7
- 1-9 ls命令的实现 - 8
- 1-10 more命令的实现 - 1
- 1-11 more命令的实现 - 2
- 1-12 more命令的实现 - 3
- 1-13 cp命令的实现 - 1
- 1-14 cp命令的实现 - 2
第2章 非阻塞IO
- 2-1 阻塞IO与非阻塞IO
- 2-2 非阻塞IO的实现与演示
- 2-3 作业讲解:fcntl的使用方法
第3章 缓冲IO
- 3-1 缓冲IO的介绍
- 3-2 内核和缓冲IO
第4章 IO多路复用
- 4-1 IO多路复用的引出
- 4-2 select的介绍
- 4-3 select的一个小例子
- 4-4 使用select实现socket_connect_timeout函数
- 4-5 使用select实现echo服务器
- 4-6 使用select+自定义buffer实现echo服务器
- 4-7 poll的讲解
- 4-8 使用poll实现echo服务器
- 4-9 epoll的API讲解
第5章 TCP套接字编程基础
- 5-1 socket编程基础
- 5-2 Server端的实现
- 5-3 Client端的实现
- 5-4 使用多进程优化Server端
- 5-5 地址重用与延时关闭socket
- 5-6 地址重用与延迟关闭的实现
- 5-6 listen的参数backlog详解
第6章 UDP套接字编程
- 6-1 使用UDP编程
- 6-2 UDP编程实践
第7章 多进程编程-进程管理
- 7-1 进程ID、进程创建及进程变身
- 7-2 wait与进程的结束
- 7-3 fork的小例子
- 7-4 fork的小例子使用fork创建n个子进程并编号
- 7-5 使用fork和exec完成任务
- 7-6 exec作业讲解
- 7-7 高级进程管理
- 7-8 完全公平调度器
- 7-9 Linux下关于进程优先级的命令与函数
第8章 多进程管理-进程间通信IPC
- 8-1 进程间通信及文件锁
- 8-2 使用文件实现多进程数字累加的原理
- 8-3 多进程数字累加的实现(flock)
- 8-4 锁与文件锁
- 8-5 共享内存及相关系统接口
- 8-6 使用匿名管道进行进程间通信
- 8-7 匿名管道及相关函数
- 8-8 popen的实现
- 8-9 pclose的实现
- 8-10 命名管道
- 8-11 存储映射与mmap
- 8-12 mmap的例子
- 8-13 mmap例子的说明
- 8-14 消息队列的介绍
- 8-15 消息队列的例子
- 8-16 信号量介绍
- 8-17 信号量简单示例
- 8-18 信号量在业务中的应用
第9章 多线程编程-线程管理
- 9-1 多线程的创建
- 9-2 线程的退出与等待
- 9-3 代码封装、使用GitHub管理
- 9-4 作业:使用多线程处理socket
- 9-5 多线程中使用数组处理竞争问题
第10章 多线程编程-线程池
- 10-1 线程池介绍
- 10-2 线程池的实现
- 10-3 线程池的调试
第11章 终端编程-终端驱动程序的模式
- 11-1 终端编程-1
- 11-2 终端编程-2
第12章 终端编程-使用curses编程
- 第12章 终端编程-使用curse编程
第13章 终端编程-间隔计时器
- 13-1 sleep的原理
- 13-2 间隔定时器
测试
海贼宝藏/宿叶露
软通教育旗下高端IT就业品牌,专注于提升IT职业技能课程研发与交付、高效学习平台研发与运营 /C/C++服务器开发课程主讲人
前浪潮信息系统架构师
哈尔滨海贼科技联合创始人、CTO、教学研发总监