UIUC CS241 系统编程中文讲义 0. 简介 #Informal 词汇表 #Piazza:何时以及如何寻求帮助 编程技巧,第 1 部分 系统编程短篇小说和歌曲 1.学习 C C 编程,第 1 部分:简介 C 编程,第 2 部分:文本输入和输出 C 编程,第 3 部分:常见问题 C 编程,第 4 部分:字符串和结构 C 编程,第 5 部分:调试 C 编程,复习题 2.进程 进程,第 1 部分:简介 分叉,第 1 部分:简介 分叉,第 2 部分:Fork,Exec,等等 进程控制,第 1 部分:使用信号等待宏 进程复习题 3.内存和分配器 内存,第 1 部分:堆内存简介 内存,第 2 部分:实现内存分配器 内存,第 3 部分:粉碎堆栈示例 内存复习题 4.介绍 Pthreads Pthreads,第 1 部分:简介 Pthreads,第 2 部分:实践中的用法 Pthreads,第 3 部分:并行问题(奖金) Pthread 复习题 5.同步 同步,第 1 部分:互斥锁 同步,第 2 部分:计算信号量 同步,第 3 部分:使用互斥锁和信号量 同步,第 4 部分:临界区问题 同步,第 5 部分:条件变量 同步,第 6 部分:实现障碍 同步,第 7 部分:读者编写器问题 同步,第 8 部分:环形缓冲区示例 同步复习题 6.死锁 死锁,第 1 部分:资源分配图 死锁,第 2 部分:死锁条件 死锁,第 3 部分:餐饮哲学家 死锁复习题 7.进程间通信&调度 虚拟内存,第 1 部分:虚拟内存简介 管道,第 1 部分:管道介绍 管道,第 2 部分:管道编程秘密 文件,第 1 部分:使用文件 调度,第 1 部分:调度过程 调度,第 2 部分:调度过程:算法 IPC 复习题 8.网络 POSIX,第 1 部分:错误处理 网络,第 1 部分:简介 网络,第 2 部分:使用 getaddrinfo 网络,第 3 部分:构建一个简单的 TCP 客户端 网络,第 4 部分:构建一个简单的 TCP 服务器 网络,第 5 部分:关闭端口,重用端口和其他技巧 网络,第 6 部分:创建 UDP 服务器 网络,第 7 部分:非阻塞 I O,select()和 epoll RPC,第 1 部分:远程过程调用简介 网络复习题 9.文件系统 文件系统,第 1 部分:简介 文件系统,第 2 部分:文件是 inode(其他一切只是数据...) 文件系统,第 3 部分:权限 文件系统,第 4 部分:使用目录 文件系统,第 5 部分:虚拟文件系统 文件系统,第 6 部分:内存映射文件和共享内存 文件系统,第 7 部分:可扩展且可靠的文件系统 文件系统,第 8 部分:从 Android 设备中删除预装的恶意软件 文件系统,第 9 部分:磁盘块示例 文件系统复习题 10.信号 过程控制,第 1 部分:使用信号等待宏 信号,第 2 部分:待处理的信号和信号掩码 信号,第 3 部分:提高信号 信号,第 4 部分:信号 信号复习题 考试练习题 考试主题 C 编程:复习题 多线程编程:复习题 同步概念:复习题 记忆:复习题 管道:复习题 文件系统:复习题 网络:复习题 信号:复习题 系统编程笑话