欢迎来到天天文库
浏览记录
ID:479899
大小:56.50 KB
页数:7页
时间:2017-08-09
《Linux Shell的设计与实现开题报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、开题报告LinuxShell的设计与实现一、选题的背景、意义追溯到Unix诞生的那个年代,当时还没有现在流行的"个人计算机"。被称为计算机的机器,还是吞吐磁带与磁存储器的庞然大物。DEC公司(现在的Compaq)推出的PDP-11,体积小(被称为mini)而且价格低,在大学中引起了巨大的反响,很多学校直到那时才买得起一台计算机(PDP-11物美价廉,只有10000$)。这些机器的操作系统由汇编语言、机器语言写成,所以运行起来效率很高,但都无法移植。每家计算机公司都给自己的机器配上独有的操作系统,然后再销售。这种笨拙的作法很快就被人们意识到了,于是就开始兴建一个可以在不同品牌机器
2、上运行的操作系统。1969年,KenThompson开始写后来成为Unix的第一行代码。其实,DennisRitchie为这个新的操作系统设计了一种新的编程语言--C语言后,事情才真正开始。虽然Unix的效率不及原来的操作系统,但有三个突出的优点:可以任意移植到其他机器,其中的C语言大大简化了编程,而且这些都免费的。很快,全美国的大学都忙着开始为机器安装Unix。1.终端(Terminals)Unix是可以在许多种机器上运行的操作系统,但人们又如何使用这些机器呢?他们是通过哑终端来连接到这些机器,也就是用键盘、显示器及足够的电子元件组成的机器与中央计算机相连。在这些终端上,用户
3、可以敲字符(teletype),这就是字符串'tty'表示终端设备文件,和'getty'命令的名称来历。为了避免这些混乱,就创建了一个含有所有不同终端特性的文件,这就是'termcap'。文件存储路径是'/etc/termcap'。Linux终端大多数用'vt100'或'linux'作为终端类型。2.xterms在八十年代初期,产生了一个Unix的图形子系统theXWindowSystem。九十年代早期,为了更好地实现基于Intel的Unix类系统上(如FreeBSD、NetBSD、Linux)的应用,产生了一个系统分支XFree86。XWindow中一个很大的好处是可以运行多
4、个虚拟终端。甚至在XWindow下就有这么个应用程序'xterm'。用户将发现'xterm'和'virtualterminal'在很多情况下都是一样的。有的地方说'打开一个xterm',其实用户不是非要用'xterm'程序,其他的终端模拟器(terminalemulator),如rxvt、konsole、aterm、eterm、wterm等等,一样有效。终端模拟器(又称为虚拟终端)通过伪tty设备pty与系统相连,并且使用自己的显示标准xterm。这导致不同的终端模拟器可能在一些按键或程序上存在细小的差别,这取决于模拟器多大程度上遵守了'xterm'的显示标准。1.Shells
5、标准的UNIXshell是V7(AT&T的第七版)UNIX,在1979年底被提出,且以它的创造者StephenBourne来命名。Bourneshell是以Algol这种语言为基础来设计,主要被用来做自动化系统管理工作。虽然Bourneshell以简单和速度而受欢迎,但它缺少许多交谈性使用的特色,例如历程、别名和作业控制。Cshell是在加州大学柏克来分校于70年代末期发展而成,而以2BSDUNIX的部分发行。这个shell主要是由BillJoy写成,提供了一些在标准Bourneshell所看不到的额外特色。Cshell是以C程序语言作为基础,且它被用来当程序语言时,能共享类似
6、的语法。它也提供在交谈式运用上的改进,例如命令列历程、别名和作业控制。因为Cshell是在大型机器上设计出来,且增加了一些额外功能,所以Cshell有在小型机器上跑得较慢,即使在大型机器上跟Bourneshell比起来也显得缓慢。有了Bourneshell和Cshell之后,UNIX使用者就有了选择,且争论那一个shell较好。AT&T的DavidKorn在80年代中期发明了Kornshell,在1986年发行且在1988年成为正式的部分SVR4UNIX。Kornshell实际上是Bourneshell的超集,且不只可在UNIX系统上执行,同时也可在OS/2、VMS、和DOS上
7、执行。它提供了和Bourneshell向上兼容的能力,且增加了许多在Cshell上受欢迎的特色,更增加了速度和效率。Kornshell已历经许多修正版,要找寻用户使用的是那一个版本可在ksh提示符号下按Ctrl-v键。在大部份的UNIX系统,三种著名且广被支持的shell是Bourneshell(AT&Tshell,在Linux下是BASH)、Cshell(Berkeleyshell,在Linux下是TCSH)和Kornshell(Bourneshell的超集)。这三种shell在交互(in
此文档下载收益归作者所有