开元周游
德国频道
查看: 1381|回复: 0
打印 上一主题 下一主题

第五讲:Linux编程主题:文件系统及I/O,进程和进程间通讯

[复制链接]
1#
发表于 28.11.2002 13:12:04 | 只看该作者
                       讲义下载:http://263.aka.org.cn/Lectures/001/Lecture-5/Lecture-5.zip<br>tgz:http://263.aka.org.cn/Lectures/001/Lecture-5/Lecture-5.tgz<br><br><br><br>第五讲 文件系统, I/O, 进程及进程间通讯 <br>整体思路<br>本次讲座内容以 APUE 相关内容为蓝本, 重点突出 UNIX 相关特色或者在其他操作系统中编程时很少涉及的内容, 同时重点讲解 Linux 相关主题. 从而能够让听众就 UNIX/Linux 上的文件系统, I/O 及进程和进程间通讯有一个较为深入的了解. <br>讲座以概念解释为主, 重点讲述陌生的系统调用或函数. <br><br>主要内容<br> 文件系统构造<br><br> 文件 I/O<br><br> 标准 I/O 库<br><br> 文件和目录<br><br> 高级 I/O<br><br> 其他文件系统或 I/O 相关主题<br><br> 进程及进程环境<br><br> 进程控制<br><br> 线程<br><br> 进程关系<br><br> 守护进程<br><br> 进程间通讯<br><br>各部分要点<br> 5.1 文件系统构造<br><br>基本概念 <br>索引节点 <br>目录和目录项 <br>文件的定位 <br>链接 <br>文件系统相关系统调用所面临的问题 <br> 5.2 文件 I/O<br><br>基本概念 <br>相关系统调用 <br>Open 以及文件的打开标志 <br>原子操作 <br>文件共享 <br>dup 和 dup2 <br>fcntl 和 ioctl <br>容易混淆的概念 <br> 5.3 标准 I/O 库<br><br>基本概念 <br>缓冲机制 <br>熟悉的标准 I/O 函数 <br>陌生的标准 I/O 函数 <br> 5.4 文件和目录<br><br>目录项属性 <br>目录读取 <br>文件的访问许可 <br>目录及目录项操作 <br>其他 <br> 5.5 高级 I/O<br><br>Linux 中直接的 I/O 端口读写 <br>记录锁定 <br>I/O 多工 <br>异步 I/O <br>内存映射 <br> 5.6 其他文件系统和 I/O 相关主题<br><br>系统数据文件 <br>登录记帐 <br>系统标识 <br>时间和日期 <br> 5.7 进程及进程环境<br><br>基本概念 <br>main 函数 <br>命令行参数及 popt 库 <br>环境变量 <br>C 程序的内存布局 <br>共享库 <br>内存分配 <br>程序的长跳转 <br>进程的资源限制 <br> 5.8 进程控制<br><br>基本概念 <br>fork 和 vfork <br>exit <br>wait 函数 <br>竞态 <br>exec 函数以及脚本解释器 <br>system 函数 <br>进程记帐 <br>用户和组标识符 <br>进程时间 <br> 5.9 线程<br><br>基本概念 <br>线程的创建和销毁 <br>线程同步机制 <br>实例分析: MiniGUI 中的消息传递 <br>其他 <br> 5.10 进程关系<br><br>基本概念 <br>终端和网络登录过程 <br>进程组 <br>会话 <br>控制终端 <br>Shell 中的命令执行 <br>作业控制 <br> 5.11 守护进程<br><br>基本概念 <br>实现方法 <br> 5.12 进程间通讯<br><br>基本概念 <br>管道 <br>FIFO <br>System V 的 IPC 机制 <br>共享内存 <br>信号量 <br>思考题及作业<br>dup 可复制文件描述符, 我们能不能通过两次打开同一个文件而复制文件描述符? 试描述这两种操作的区别. <br>用追加模式打开文件之后, 能否使用 lseek 读取其他位置的数据, 能否用 lseek 替换其他数据? 试编写程序验证之. <br>为 MiniGUI 编写一个 &quot;打开文件&quot; 对话框, 界面和编程接口可参考 Win32 的 &quot;打开文件&quot; 对话框. <br>编写一个守护进程, 该进程每一分钟向系统日志中添加一条记录, 包括进程的时间信息和资源限制信息. <br>编写一个简单的 Shell 程序, 该程序有如下基本的 Shell 功能: 命令行参数传递, 输入输出重定向, 管道 <br>编写一个自己的 system 函数 <br>参考书目<br>W. Richard Stevens, Advanced Programming in the UNIX Environment <br>John Goerzen, The Linux Programming Bible <br>hil Cornes, The Linux A - Z <br>Naba Barkakati, The Linux Secrets <br>魏永明等, 《Linux 实用教程》 <br>魏永明等, 《学用 Linux 与 Windows NT》 <br>进一步读物<br>W. Richard Stevens, Advanced Programming in the UNIX Environment, From Chpater 3 to Chapter 15. <br>反馈<br>本讲由魏永明讲解。欢迎任何意见和建议,可发 email: ymwei@263.net 与魏永明联系。 <br><br>AKA 自由软件系列讲座                        
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点信息

站点统计| 举报| Archiver| 手机版| 小黑屋

Powered by Discuz! X3.2 © 2001-2014 Comsenz Inc.

GMT+1, 16.11.2024 04:26

关于我们|Apps

() 开元网

快速回复 返回顶部 返回列表