LinuxShell的设计与实现开题报告.doc

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)

1亿VIP精品文档

相关文档