- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux Shell的设计与实现开题报告
开题报告
Linux Shell的设计与实现
选题的背景、意义
追溯到 Unix 诞生的那个年代,当时还没有现在流行的个人计算机。被称为计算机的机器,还是吞吐磁带与磁存储器的庞然大物。DEC 公司(现在的 Compaq)推出的 PDP-11 ,体积小(被称为 mini)而且价格低,在大学中引起了巨大的反响,很多学校直到那时才买得起一台计算机(PDP-11 物美价廉,只有 10000$)。
这些机器的操作系统由汇编语言、机器语言写成,所以运行起来效率很高,但都无法移植。每家计算机公司都给自己的机器配上独有的操作系统,然后再销售。
这种笨拙的作法很快就被人们意识到了,于是就开始兴建一个可以在不同品牌机器上运行的操作系统。1969 年,Ken Thompson 开始写后来成为 Unix 的第一行代码。其实,Dennis Ritchie 为这个新的操作系统设计了一种新的编程语言-- C 语言后,事情才真正开始。
虽然 Unix 的效率不及原来的操作系统,但有三个突出的优点:可以任意移植到其他机器,其中的 C 语言大大简化了编程,而且这些都免费的。很快,全美国的大学都忙着开始为机器安装 Unix 。
终端(Terminals)
Unix 是可以在许多种机器上运行的操作系统,但人们又如何使用这些机器呢?他们是通过哑终端来连接到这些机器,也就是用键盘、显示器及足够的电子元件组成的机器与中央计算机相连。在这些终端上,用户可以敲字符(teletype),这就是字符串tty表示终端设备文件,和getty命令的名称来历。
为了避免这些混乱,就创建了一个含有所有不同终端特性的文件,这就是termcap。文件存储路径是/etc/termcap。Linux 终端大多数用vt100或linux作为终端类型。
xterms
在八十年代初期,产生了一个 Unix的图形子系统the X Window System 。九十年代早期,为了更好地实现基于Intel的Unix类系统上(如FreeBSD、NetBSD、Linux)的应用,产生了一个系统分支XFree86 。
X Window 中一个很大的好处是可以运行多个虚拟终端。甚至在 X Window 下就有这么个应用程序xterm。用户将发现xterm和virtual terminal在很多情况下都是一样的。有的地方说打开一个 xterm,其实用户不是非要用xterm程序,其他的终端模拟器terminal emulator,如 rxvt、konsole、aterm、eterm、wterm 等等,一样有效。
终端模拟器(又称为虚拟终端)通过伪tty设备pty与系统相连,并且使用自己的显示标准xterm 。这导致不同的终端模拟器可能在一些按键或程序上存在细小的差别,这取决于模拟器多大程度上遵守了xterm的显示标准。
Shells
标准的 UNIX shell 是V7ATT的第七版UNIX,在1979 年底被提出,且以它的创造者 Stephen Bourne 来命名。Bourne shell 是以 Algol 这种语言为基础来设计,主要被用来做自动化系统管理工作。虽然 Bourne shell 以简单和速度而受欢迎,但它缺少许多交谈性使用的特色,例如历程、别名和作业控制。
C shell 是在加州大学柏克来分校于70年代末期发展而成,而以2BSD UNIX的部分发行。这个 shell 主要是由 Bill Joy 写成,提供了一些在标准 Bourne shell 所看不到的额外特色。C shell 是以C 程序语言作为基础,且它被用来当程序语言时,能共享类似的语法。它也提供在交谈式运用上的改进,例如命令列历程、别名和作业控制。因为 C shell 是在大型机器上设计出来,且增加了一些额外功能,所以 C shell 有在小型机器上跑得较慢,即使在大型机器上跟 Bourne shell 比起来也显得缓慢。
有了 Bourne shell 和 C shell 之后,UNIX 使用者就有了选择,且争论那一个 shell 较好。ATT 的David Korn 在 80 年代中期发明了 Korn shell,在 1986 年发行且在 1988 年成为正式的部分 SVR4 UNIX。Korn shell 实际上是 Bourne shell 的超集,且不只可在 UNIX 系统上执行,同时也可在 OS/2、VMS、和 DOS上执行。它提供了和 Bourne shell 向上兼容的能力,且增加了许多在 C shell 上受欢迎的特色,更增加了速度和效率。 Korn shell 已历经许多修
文档评论(0)