第五讲 文件系统, I/O, 进程及进程间通讯

整体思路

本次讲座内容以 APUE 相关内容为蓝本, 重点突出 UNIX 相关特色或者在其他操作系统中编程时很少涉及的内容, 同时重点讲解 Linux 相关主题. 从而能够让听众就 UNIX/Linux 上的文件系统, I/O 及进程和进程间通讯有一个较为深入的了解.
讲座以概念解释为主, 重点讲述陌生的系统调用或函数.

主要内容

各部分要点

思考题及作业

  1. dup 可复制文件描述符, 我们能不能通过两次打开同一个文件而复制文件描述符? 试描述这两种操作的区别.
  2. 用追加模式打开文件之后, 能否使用 lseek 读取其他位置的数据, 能否用 lseek 替换其他数据? 试编写程序验证之.
  3. 为 MiniGUI 编写一个 "打开文件" 对话框, 界面和编程接口可参考 Win32 的 "打开文件" 对话框.
  4. 编写一个守护进程, 该进程每一分钟向系统日志中添加一条记录, 包括进程的时间信息和资源限制信息.
  5. 编写一个简单的 Shell 程序, 该程序有如下基本的 Shell 功能: 命令行参数传递, 输入输出重定向, 管道
  6. 编写一个自己的 system 函数

参考书目

  1. W. Richard Stevens, Advanced Programming in the UNIX Environment
  2. John Goerzen, The Linux Programming Bible
  3. Phil Cornes, The Linux A - Z
  4. Naba Barkakati, The Linux Secrets
  5. 魏永明等, 《Linux 实用教程》
  6. 魏永明等, 《学用 Linux 与 Windows NT》

进一步读物

反馈

本讲由魏永明讲解。欢迎任何意见和建议,可发 email: ymwei@263.net 与魏永明联系。

AKA 自由软件系列讲座