如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
UNIX系统编程需要说明的话:1、关于UNIX:3方面内容2、第一次开这门课2、你为什么选这门课3、知识的投资4、参考书:UNIX系统编程,Linux程序设计,以前者为主第一章预备知识1、UNIX发展历史第一阶段:诞生Unix的诞生和Multics(MultiplexedInformationandComputingSystem)是有一定渊源的。Multics是由麻省理工学院,AT&T贝尔实验室和通用电气合作进行的操作系统项目,被设计运行在GE-645大型主机上,但是由于整个目标过于庞大,糅合了太多的特性,Multics虽然发布了一些产品,但是性能都很低,最终以失败而告终。AT&T最终撤出了投入Multics项目的资源,其中一个开发者KenThompson则继续为GE-645开发软件,并最终编写了一个太空旅行游戏。经过实际运行后,他发现游戏速度很慢而且耗费昂贵——每次运行会花费75美元。在DennisRitchie的帮助下,Thompson用PDP-7的汇编语言重写了这个游戏,并使其在DECPDP-7上运行起来。这次经历加上Multics项目的经验,促使Thompson开始了一个DECPDP-7上的新操作系统项目。Thompson和Ritchie领导一组开发者,开发了一个新的分时多用户操作系统。这个系统包括命令解释器和一些实用程序,这个项目被称为UNICS(UniplexedInformationandComputingSystem),后来才被改为UNIX。UNIX的第一功,是1971年为贝尔实验室的专利部门进行“文字处理”的支持工作。首个UNIX应用程序是nroff(1)文本格式化程序的前身。这个项目也让他们名正言顺的购买了一台功能强大得多PDP-11小型机。万幸的是,当时管理层还未意识到Thompson和其同事所编写的字处理系统就快孵化出一个操作系统,因为贝尔实验室并没有开发操作系统的计划——AT&T加入Multics联盟正是为了避免自行开发一个操作系统。UNIX在贝尔实验室计算群落中重要而永久的地位确立。最初的Unix是用汇编语言编写的,一些应用是由叫做B语言的解释型语言和汇编语言混合编写的。B语言在进行系统编程时不够强大,所以Thompson和Ritchie对其进行了改造,增加了数据类型和结构,并与1971年共同发明了C语言。1973年Thompson和Ritchie用C语言重写了Unix。在当时,为了实现最高效率,系统程序都是由汇编语言编写,所以Thompson和Ritchie此举是极具大胆创新和革命意义的。用C语言编写的Unix代码简洁紧凑、易移植、易读、易修改,为此后Unix的发展奠定了坚实基础。Thompson和Ritchie也Lecturer:WangXiaoniu2CollegeofMathematicsandInformationScienceNorthwestNormalUniversity因此获得1983年度的图灵奖。第二阶段:黑客(Hacker)1974年,Thompson和Ritchie合作在CACM(CommunicationoftheACM)上第一次公开展示了UNIX,作者在名为“TheUnixTimeSharingSystem”的文章中描述了UNIX前所未有的简洁设计,并报告了600多例UNIX应用——这些都是安装在即使按照那个年代的标准性能都很低的机器上,但是“性能的局限不仅成就了经济性,而且鼓励了设计的简约”。CACM论文发表后,全球各个研究实验室和大学都嚷着要亲身体验UNIX。根据1958年为解决反托拉斯案例达成的和解协议,AT&T(贝尔实验室的母公司)被禁止进入计算机相关的商业领域,所以UNIX不能够成为一种商品。并且,根据和解协议的规定,贝尔实验室必须将非电话业务的技术许可给任何提出要求的人。KenThompson开始默默回应那些请求,将磁带和磁盘一包包的寄出去。AT&T以分发许可证的方法,对UNIX仅仅收取很少的费用,大学和研究机构就能获得UNIX源代码以进行研究。那时候个人机还未出现,对能用得起UNIX的小型机的使用管制要比大型机少得多,因此,在上世纪70年代最早搞UNIX的通常都是头发蓬乱的嬉皮士和准嬉皮士们,摆弄操作系统的乐趣对他们来说不仅意味着可以在计算机学科的前沿纵情挥洒,而且在于可以挑战伴随“大计算”的所有技术假定和商业实践:COBOL、商务套装和IBM批处理大型机。许多大学都对UNIX做出过贡献。多伦多大学计算机系发