Unix 编程:拼写检查与进程管理全解析
1. 拼写检查工具概述
在 Unix 系统中,拼写检查工具展现出了 Unix 软件工具方法的优雅与强大。最初的拼写检查原型仅用一个专用程序,经过一下午的工作就创建出了一个可用且实用的工具。之后,在 shell 中使用原型的经验被应用到用 C 语言编写生产版本中。
Unix 拼写检查的一个强大特性是使用私有字典。尽管在 Unix 环境中添加语言环境引入了一些小问题,但字典仍然是非常有价值的。例如,在处理工作时,创建私有字典可以使拼写检查更加易于管理。
免费可用的 ispell 和 aspell 程序功能强大,但在批量模式下缺少一些明显的实用功能。不过,可以通过简单的 shell 脚本包装器来解决这些不足,使程序适应需求。这也是 shell 脚本的典型用途之一,即对几乎能满足需求的程序进行微调,以完成剩余的工作,这也符合“让别人做困难部分”的软件工具原则。
此外,awk 拼写检查器很好地展示了该语言的优雅和强大。有人仅用一下午就编写了一个不到 200 行的程序,可用于实际的拼写检查。
2. 进程基础概念
进程是正在运行的程序的实例。新进程通过 fork() 和 execve() 系统调用启动,通常会一直运行直到发出 exit() 系统调用。
Unix 系统一直支持多进程。虽然计算机看起来能同时做几件事,但实际上,除非有多个 CPU,否则这只是一种假象。每个进程会被允许运行一个短时间间隔,称为时间片,然后暂时挂起,让另一个等待的进程有机会运行。时间片通常只有几毫秒,人类很少能注意到这种上下文切换,进程本身也意识不到,程序也无需定期将控制权交还给操作系统。
超级会员免费看
订阅专栏 解锁全文
5

被折叠的 条评论
为什么被折叠?



