谁知道UNIX操作系统的历史
1956 AT&T Consent Decree颁布,这个针对AT&T的反托拉斯法案禁止AT&T进入一些未受管制的领域。
1965 贝尔实验室与麻省理工学院开始在最终实现多用户的环境中共同研究开发多线性信息与计算系统(MULTIplexed Information and Computing System,MULTICS)。
1969 在UNIX系统的诞生地 —— 贝尔实验室,工程师Ken Thompson在对文件系统的研究过程中,在一台废置的PDP-7小型计算机上编成一个模拟人体空中运动的程序,叫空中旅行(Space Travel)。他还编了一个文件系统、一个汇编器、文本编辑器和一个简单的shell。为什么要用PDP-7呢?原因是它能提供良好的图形,且比起支持可交互、分时的DEC-10要便宜,但Ken Thompson需要的是能提供方便的可交互性服务的计算机(以前他在GE645上做研究开发,GE645用批处理的方式工作,访问资源的代价昂贵)。写好的程序首先被PDP-7交叉编译好后,通过纸带传进去。由于Consent Decree的原因,贝尔实验室只可以研究UNIX系统,但不能销售、宣传或者支持任何基于UNIX的产品。他们仅可向大学发行软件,供科学研究用。
1970 基于汇编语言的UNIX系统被移植到PDP-11/20(16位小型计算机)上开发文字处理功能。
1971 UNIX第1版诞生,贝尔实验室专利局成为第一个用户。由于使用者无须采用中央计算服务,显示了很大的优越性。Ken Thompson在Martin Richards 的BCPL语言基础上开发了解释语言B,后来接着开发了NB语言(new B)。
1972 UNIX第2版诞生,新特征有:管道、支持编程语言、开始尝试用NB来编写内核(NB是C语言的前身)。人们使用的UNIX系统个数达到10个。Dennis Ritchie开发了C语言。
1973 UNIX第4版诞生,内核和外壳用C语言重写而成。贝尔实验室的UNIX系统小组(UNIX System Group)成立,对UNIX研究开发做内部的技术支持。人们使用的UNIX系统个数达到25个。第一次向大学发行非正式版。
1974 UNIX第5版诞生,向大学发行正式版作科研使用。AT&T不提供技术支持,没有试用期限,没有质量保证,不许诺修补漏洞,而且要求预先付款购买许可证。
1975 UNIX第6版诞生,开始向政府和商业用户发行使用许可证。Thompson在休假年加入加利福尼亚大学伯克利分校。伯克利分校开始研究开发UNIX。
1977 人们使用的UNIX系统个数达到500个,其中大部分分布在125所大学。人们开始在PDP-11上研究开发成功第一个BSD操作系统。UNIX系统第一次被移植到非DEC机上。
1978 UNIX第7版诞生,设计时主要着眼于提高可移植性,能支持交换区、K&R C编译器、 Bourne shell以及更大的文件。UNIX系统被移植到VAX11/780(支持32位地址空间和4G的虚拟地址空间),移植后诞生了UNIX/32V。
1979 BSD30诞生,这是UNIX/32V的增强版,加入了对虚拟内存和按需分页的支持。它的主要设计目标是能运行所需内存比物理内存大的进程。
1980 BSD40诞生,加入了作业管理、虚拟内存、分页、第三方(非DEC)外围设备的驱动程序,实现了基于屏幕的应用程序,如vi,与终端类型无关。这个操作系统引起DARPA的兴趣,DARPA当时正在为其CAD/CAM、人工智能、视觉应用的网络化研发环境寻找一个开放的操作系统标准。伯克利分校对虚拟内存的研究超过了AT&T。
1981 /usr/group成立,这是第一个发起制定UNIX环境标准的组织。
1982 System III诞生,汇合了AT&T开发的几个UNIX变种的特征,同时加入了BSD的一些特性,如curses、作业管理、termcap 和vi。HP-UX出现。
1983 System Ⅴ第1版诞生,AT&T宣布正式支持该系统,并降低了价格。AT&T对支持这个UNIX系统的微处理器生产厂家给予了授权。
基于DARPA研究开发成果的BSD42发布,加入了对IPC、虚拟内存、高速文件系统、网络协议(TCP/IP)的支持。16位和32位的微机出现。人们使用的支持BSD-IPC、网络协议和高速文件系统的UNIX系统达到100 000个。
1984 Consent decree被废除,贝尔实验室从AT&T分离出来,AT&T被允许参与计算机市场的竞争。
System Ⅴ第2版诞生,支持分页、内存共享。
/usr/group制定的标准向POSIX提交。
1985 System V Interface Definition(SVID)诞生,定义了系统调用的接口。System V Verification Suite(SVVS)诞生,只有通过这个测试套装才能符合SVID。
1986 BSD43诞生,与前版不同之处主要是修正了一些漏洞,作业管理功能增强,信号机制更加可靠。
1987 System Ⅴ第3版诞生,支持STREAMS、IPC、作业管理。
X/Open Portability Guide(XPG)标准发布,对内核接口和许多应用程序进行定义,这个标准提高了应用程序在不同UNIX系统之间的可移植性。300 000套UNIX系统软件出口到国外。人们使用的UNIX系统达到750 000个。
1988 SVID第2版 —— 增加了文件锁定的标准。
Open Software Foundation成立,这是个独立的公司,成立的目的是建立和提供一个以工业标准和当前可以获得的最先进技术为基础的计算环境。
1989 System Ⅴ 第4版诞生,遵从POSIX1。
XPG/3发布,支持POSIX1和通用应用程序环境标准(Common Application Envioronment),在提高可移植性方面,增加了计算环境几方面的标准,而不仅仅局限于定义操作系统接口。
1990 SVID第3版发布,支持POSIX1、FIPS 151-1和C 标准。
1991 HP-UX 80面世,取得系统5 第3版的认证,遵从SVID2,将实际上已经成为业界标准的BSD42 和BSD43的扩展特性包括进去,建立了支持POSIX-、FIPS-、XPG2-和XPG3-的接口。
1992 HP-UX 90面世,取得系统5 第3版的认证,遵从SVID2,支持X/Open Portability Guide 第3版、POSIX 10031、POSIX 10032、X11R5、FIPS-2、FIPS-3、POSIX1、OSF/Motif12和其他的标准。
1995 HP-UX 100面世,在内核遵从SVID3,支持X/Open Portability Guide 第4版、POSIX 4 Realtime Phase 1,还有保证程序从90 转至100的可移植性部件。与上一版的主要区别是文件系统的结构改为支持AT&T SVR4 和OSF/1。
1997 HP-UX 110面世,遵从SVID 4和POSIX2。在对64位应用程序的支持方面,符合IA64标准,实现内核线程化。
UNIX ,是一个强大的多用户、多任务操作系统,支持多种处理器架构,最早由Ken Thompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。经过长期的发展和完善,目前已成长为一种主流的操作系统技术和基于这种技术的产品大家族。由于UNIX具有技术成熟、可靠性高、网络和数据库功能强、伸缩性突出和开放性好等特色,可满足各行各业的实际需要,特别能满足企业重要业务的需要,已经成为主要的工作站平台和重要的企业操作平台。
曾经是服务器操作系统的首选,占据最大市场份额,但最近在跟WINDOWS SERVER以及Linux的竞争中有所失利。
详细介绍:
Ken和Dennis最早是在贝尔实验室开发Unix的,此后的10年,Unix在学术机构和大型企业中得到了广泛的应用,当时的UNIX拥有者AT&T公司以低廉甚至免费的许可将Unix源码授权给学术机构做研究或教学之用,许多机构在此源码基础上加以扩充和改进,形成了所谓的Unix“变种 (Variations)”,这些变种反过来也促进了Unix的发展,其中最著名的变种之一是由加州大学Berkeley分校开发的BSD产品。
后来AT&T意识到了Unix的商业价值,不再将Unix源码授权给学术机构,并对之前的Unix及其变种声明了版权权利。变种BSD Unix在Unix的历史发展中具有相当大的影响力,被很多商业厂家采用,成为很多商用Unix的基础。BSD使用主版本加次版本的方法标识,如 42BSD,43BSD,在原始版本的基础上还有派生版本,这些版本通常有自己的名字,如43BSD-Net/1,43BSD-Net/2等。其不断增大的影响力终于引起了AT&T的关注,于是开始了一场旷日持久的版权官司,这场官司一直打到 AT&T将自己的Unix系统实验室卖掉,新接手的Novell公司采取了一种比较开明的做法,允许伯克利自由发布自己的BSD,但是前提是必须将来自于AT&T的代码完全删除,于是诞生了44 BSD Lite版,由于这个版本不存在法律问题,44BSD Lite成为了现代BSD系统的基础版本。尽管后来,非商业版的UNIX系统又经过了很多演变,但其最终,都是建立在BSD版本上(Linux除外)。所以从这个角度上,44 BSD又是所有自由版(Free版)Unix的基础,它们和Unix V及Linux等共同构成Unix操作系统这片璀璨的星空。
BSD在发展中也逐渐衍生出3个主要的分支:FreeBSD,OpenBSD和NetBSD。
此后的几十年中,Unix仍在不断变化,其版权所有者不断变更,授权者的数量也在增加。Unix的版权曾经为AT&T所有,之后Novell拥有了Unix,再之后Novell又将版权出售给了SCO(这一事实双方尚存在争议)。有很多大公司在取得了Unix的授权之后,开发了自己的Unix产品,比如IBM的AIX,HP的HPUX,SUN的Solaris和SGI的IRIX。
Unix因为其安全可靠,高效强大的特点在服务器领域得到了广泛的应用。直到GNU/Linux流行开始前,Unix也是科学计算、大型机、超级计算机等所用操作系统的主流。
历史
初创期
Unix的诞生和Multics(Multiplexed Information and Computing System)是有一定渊源的。Multics是由麻省理工学院,AT&T贝尔实验室和通用电气合作进行的操作系统项目,被设计运行在GE-645大型主机上,但是由于整个目标过于庞大,糅合了太多的特性,Multics虽然发布了一些产品,但是性能都很低,最终以失败而告终。
AT&T最终撤出了投入Multics项目的资源,其中一个开发者,Ken Thompson则继续为GE-645开发软件,并最终编写了一个太空旅行游戏。经过实际运行后,他发现游戏速度很慢而且耗费昂贵——每次运行会花费75美元。
在Dennis Ritchie的帮助下,Thompson用PDP-7的汇编语言重写了这个游戏,并使其在DEC PDP-7上运行起来。这次经历加上Multics项目的经验,促使Thompson开始了一个DEC PDP-7上的新操作系统项目。Thompson和Ritchie领导一组开发者,开发了一个新的多任务操作系统。这个系统包括命令解释器和一些实用程序,这个项目被称为UNICS(Uniplexed Information and Computing System),因为它可以支持同时的多用户操作。后来这个名字被改为UNIX。
发展期
最初的Unix是用汇编语言编写的,一些应用是由叫做B语言的解释型语言和汇编语言混合编写的。B语言在进行系统编程时不够强大,所以Thompson和Ritchie对其进行了改造,并与1971年共同发明了C语言。1973 年Thompson和Ritchie用C语言重写了Unix。在当时,为了实现最高效率,系统程序都是由汇编语言编写,所以Thompson和 Ritchie此举是极具大胆创新和革命意义的。用C语言编写的Unix代码简洁紧凑、易移植、易读、易修改,为此后Unix的发展奠定了坚实基础。
1974年,Thompson和Ritchie合作在ACM通信上发表了一片关于UNIX的文章,这是UNIX第一次出现在贝尔实验室以外。此后UNIX被政府机关,研究机构,企业和大学注意到,并逐渐流行开来。
1975年,UNIX发布了4、5、6三个版本。1978年,已经有大约600台计算机在运行UNIX。1979年,版本7发布,这是最后一个广泛发布的研究型UNIX版本。20世纪80年代相继发布的8、9、10版本只授权给了少数大学。此后这个方向上的研究导致了Plan 9的出现,这是一个新的分布式操作系统。
1982年,AT&T基于版本7开发了UNIX System Ⅲ的第一个版本,这是一个商业版本仅供出售。为了解决混乱的UNIX版本情况,AT&T综合了其他大学和公司开发的各种UNIX,开发了UNIX System V Release 1。
这个新的UNIX商业发布版本不再包含源代码,所以加州大学Berkeley分校继续开发BSD UNIX,作为UNIX System III和V的替代选择。BSD对UNIX最重要的贡献之一是TCP/IP。BSD 有8个主要的发行版中包含了TCP/IP:41c、42、43、43-Tahoe、43-Reno、Net2、44以及 44-lite。这些发布版中的TCP/IP代码几乎是现在所有系统中TCP/IP实现的前辈,包括AT&T System V UNIX 和Microsoft Windows。
其他一些公司也开始为其自己的小型机或工作站提供商业版本的UNIX系统,有些选择System V作为基础版本,有些则选择了BSD。BSD的一名主要开发者,Bill Joy,在BSD基础上开发了SunOS,并最终创办了Sun Microsystems。
1991年,一群BSD开发者(Donn Seeley、Mike Karels、Bill Jolitz 和 Trent Hein)离开了加州大学,创办了Berkeley Software Design, Inc (BSDI)。BSDI是第一家在便宜常见的Intel平台上提供全功能商业BSD UNIX的厂商。后来Bill Jolitz 离开了BSDI,开始了386BSD的工作。386BSD被认为是FreeBSD、OpenBSD 和 NetBSD的先辈。
AT&T继续为UNIX System V增加了文件锁定,系统管理,作业控制,流和远程文件系统。1987到1989年,AT&T决定将Xenix(微软开发的一个x86-pc上的UNIX版本),BSD,SunOS和System V融合为System V Release 4(SVR4)。这个新发布版将多种特性融为一体,结束了混乱的竞争局面。
1993年以后,大多数商业UNIX发行商都基于SVR4开发自己的UNIX变体了。
现况
UNIX System V Release 4发布后不久,AT&T就将其所有UNIX权利出售给了Novell。Novell期望以此来对抗微软的Windows NT,但其核心市场受到了严重伤害,最终Novell将SVR4的权利出售给了X/OPEN Consortium,后者是定义UNIX标准的产业团体。最后X/OPEN和OSF/1合并,创建了Open Group。Open Group定义的多个标准定义着什么是以及什么不是UNIX。
实际的UNIX代码则辗转到了Santa Cruz Operation,这家公司后来出售给了Caldera Systems。Caldera原来也出售Linux系统,交易完成后,新公司又被重命名为SCO Group。
1127部门的解散
根据一项报导指出,当年负责研发UNIX与后续维护工作的贝尔实验室1127部门已于2005年8月正式宣告解散。Ken Thompson已退休,现居加州;Dennis Ritchie调到别的部门;Douglas McIlroy在达特茅斯学院担任教授等等。
标准
从1980年代开始,POSIX,一个开放的操作系统标准就在制定中,IEEE制定的POSIX标准现在是UNIX系统的基础部分。
自由的类Unix系统
Richard Stallman建立了GNU项目,要创建一个能够自由发布的类UNIX系统。20年来,这个项目不断发展壮大,包含了越来越多的内容。现在,GNU项目开发的产品,比如Emacs,GCC等已经成为各种其他自由发布的类UNIX产品中的核心角色。
1990年,Linus Torvalds决定编写一个自己的Minix内核,初名为Linus' Minix,意为Linus的Minix内核,后来改名为Linux,此内核于1991年正式发布,并逐渐引起人们的注意。当GNU软件与Linux内核结合后,GNU软件构成了这个POSIX兼容操作系统GNU/Linux的基础。今天GNU/Linux已经成为发展最为活跃的自由/开放源码的类Unix操作系统。
1994年,BSD Unix走上了复兴的道路。BSD的开发也走向了几个不同的方向,并最终导致了FreeBSD、OpenBSD和NetBSD的出现。
类Unix操作系统
A/UX | AIX | BSD | DragonFly BSD | FreeBSD | GNU | HP-UX | IRIX | Linux | LynxOS | Mac OS X | Minix | NetBSD | NEXTSTEP | OpenBSD | QNX | SCO OpenServer | Solaris | System V | Tru64 | Xenix | 更多 |
参考资料:
分类: 电脑/网络 >> 操作系统/系统故障
问题描述:
RT
它们都有可视化的界面吗
解析:
Linux和Windows的区别
和Linux一样,Windows系列是完全的多任务操作系统。它们支持同样的用户接口、网络和安全性。但是,Linux和Windows的真正区别在于,Linux事实上是Unix的一种版本,而且来自Unix的贡献非常巨大。是什么使得Unix如此重要?不仅在于对多用户机器来说,Unix是最流行的操作系统,而且在于它是免费软件的基础。在Inter上,大量免费软件都是针对Unix系统编写的。由于有众多的Unix厂商,所以Unix也有许多实现方法。没有一个单独的组织负责Unix的分发。现在,存在一股巨大的力量推动Unix社团以开放系统的形式走向标准化。另一方面Windows系列是专用系统,由开发操作系统的公司控制接口和设计。在这个意义上这种公司利润很高,因为它对程序设计和用户接口设计建立了严格的标准,和那些开放系统社团完全不一样。一些组织正在试图完成标准化Unix程序设计接口的任务。特别要指出的是,Linux完全兼容POSIX1标准。
Linux与Unix的区别
某些PC机的Unix和Linux在实现方面相类似。几乎所有的商业Unix版本都基本支持同样的软件、程序设计环境和网络特性。然而,Linux和Unix的商业版本依然存在许多差别。Linux支持的硬件范围和商业Unix不一样。一般来说,商业Unix支持的硬件多一些,可是Linux支持的硬件也在不断扩大。突出的是,Linux至少和商用Unix一样稳定。对许多用户来说,最重要的因素是价格。Linux是免费软件,用户可以从Inter网上下载。如果上网不方便,可以很便宜地通过邮购得到Linux的磁盘或CD-ROM。当然也可以直接从朋友那里得到。商业Unix的价值不应被贬低。除了软件本身的价格外,用户还需支付文档、售后支持和质保费。对于较大的机构,这些都很重要,但是PC机用户也许从中得不到什么好处。许多商业公司和大学等单位已经发现,在实验室用廉价的PC机运行Linux比用工作站运行商业Unix还好。Linux可以在PC机上提供工作站的功能,而PC机的价格是工作站的几分之一。也有一些针对PC机的便宜的Unix,其中最有名的是386BSD。在许多方面,386BSD软件包和Linux兼容,但Linux更适合用户的需求。最显著的是,Linux的开发是开放的,任何志愿者都可以对开发过程做出贡献。相比之下,386BSD是由封闭的团队开发的。正是这样,这两种产品存在着严重的概念上和设计上的差别:Linux的目标是从头开始开发一个完整的Unix系统;386BSD的目标则是对现有的BSD做些修改,以适合80386系统。
Linux与其他操作系统的区别
Linux可以与MS-DOS、OS/2、Windows等其他操作系统共存于同一台机器上。它们均为操作系统,具有一些共性,但是互相之间各有特色,有所区别。
目前运行在PC机上的操作系统主要有Microsoft的MS-DOS、Windows、Windows NT、IBM的OS/2等。早期的PC机用户普遍使用MS-DOS,因为这种操作系统对机器的硬件配置要求不高,而随着计算机硬件技术的飞速发展,硬件设备价格越来越低,人们可以相对容易地提高计算机的硬件配置,于是开始使用Windows、Windows
NT等具有图形界面的操作系统。Linux是新近被人们所关注的操作系统,它正在逐渐为PC机的用户所接受。那么,Linux与其他操作系统的主要区别是什么呢?下面从两个方面加以论述。
首先看一下Linux与MS-DOS之间的区别在同一系统上运行Linux和MS-DOS已很普遍,就发挥处理器功能来说,MS-DOS没有完全实现x86处理器的功能,而Linux完全在处理器保护模式下运行,并且开发了处理器的所有特性。Linux可以直接访问计算机内的所有可用内存,提供完整的Unix接口。而MS-DOS只支持部分Unix的接口。
就使用费用而言,Linux和MS-DOS是两种完全不同的实体。与其他商业操作系统相比,MS-DOS价格比较便宜,而且在PC机用户中有很大的占有率,任何其他PC机操作系统都很难达到MS-DOS的普及程度,因为其他操作系统的费用对大多数PC机用户来说都是一个不小的负担。Linux是免费的,用户可以从inter上或者其他途径获得它的版本,而且可以任意使用,不用考虑费用问题。
就操作系统的功能来说,MS-DOS是单任务的操作系统,一旦用户运行了一个MS-DOS的应用程序,它就独占了系统的资源,用户不可能再同时运行其他应用程序。而Linux是多任务的操作系统,用户可以同时运行多个应用程序。
再看一下Linux与OS/2、Windows、Windows NT之间的区别。
从发展的背景看,Linux与其他操作系统的区别是,Linux是从一个比较成熟的操作系统发展而来的,而其他操作系统,如Windows NT等,都是自成体系,无对应的相依托的操作系统。这一区别使得Linux的用户能大大地从Unix团体贡献中获利。因为Unix是世界上使用最普遍、发展最成熟的操作系统之一,它是七十年代中期发展起来的微机和巨型机的多任务系统,虽然有时接口比较混乱,并缺少相对集中的标准,但还是发展壮大成为了最广泛使用的操作系统之一。无论是Unix的作者还是Unix的用户,都认为只有Unix才是一个真正的操作系统,许多计算机系统(从个人计算机到超级计算机)都存在Unix版本,Unix的用户可以从很多方面得到支持和帮助。因此,Linux做为Unix的一个克隆,同样会得到相应的支持和帮助,直接拥有Unix在用户中建立的牢固的地位。
从使用费用上看,Linux与其他操作系统的区别在于Linux是一种开放、免费的操作系统,而其他操作系统都是封闭的系统,需要有偿使用。这一区别使得我们能够不用花钱就能得到很多Linux的版本以及为其开发的应用软件。当我们访问Inter时,会发现几乎所有可用的自由软件都能够运行在Linux系统上。有来自很多软件商的多种Unix实现,Unix的开发、发展商以开放系统的方式推动其标准化,但却没有一个公司来控制这种设计。因此,任何一个软件商(或开拓者)都能在某种Unix实现中实现这些标准。OS/2和Windows
NT等操作系统是具有版权的产品,其接口和设计均由某一公司控制,而且只有这些公司才有权实现其设计,它们是在封闭的环境下发展的。
学习linux,要什么基础?要懂C语言吗,还是C和C加加?
1、一定的英文基础是必要的,需要了解C语言和C++。针对学习shell编程,及熟知各种Linux系统命令使用即可。如果有python或perl基础则更容易上手。
2、看书时要多做习题,一题一题的弄明白,要不书也白看。从一开始养成良好的编程习惯,怎么算好的你看书上的代码怎么写的。
3、关于数学,初中数学水平可以编程,小学甚至学前班也没什么不可以。另一方面数学博士编程的时候也不会嫌自己数学学的太多了。需要多少数学这跟你要做的东西很有关系,也影响到你学习的深入程度,工作中就影响你的代码质量。总的来说数学水平是越高越好,但并没有一个门槛,什么水平都可以学,就是质量差一些。
4、学习Linux内核开发。Linux的内核是由绝大部分的C语言和少部分汇编语言组成的。要学习Linux内核开发,必须要懂C语言,同时对操作系统原理需要有一定了解。
5、学习Linux平台上的软件开发。这部分包含很广,有各种各样的要,需要根据项目性质确定基础需求。
linux下C开发用什么开发工具?
linux一般不用集成开发黄静,像windows下的vsdevc++等集成开发工具
相对于windows,linux编辑器编译器等是独立的,所以可以先用vim编辑器写出cc++java等代码然后通过gccg++分别对c文件和cpp文件进行编译,这样就可以编译成可执行文件,或者动态链接库等等
所以linux开发大多数是用命令来执行操作的,也就是linux都是命令
Linux系统下的C语言开发都需要学些什么?
一、工具的使用
1、学会使用vim/emacs,vim/emacs是linux下最常用的源码编辑具,不光要学会用它们编辑源码,还要学会用它们进行查找、定位、替换等。新手的话推荐使用vim,这也是我目前使用的文本编辑器。
2、学会makefile文件的编写规则,并结合使用工具aclocal、autoconf和automake生成makefile文件。
3、掌握gcc和gdb的基本用法。掌握gcc的用法对于构建一个软件包很有益处,当软件包包含的文件比较多的时候,你还能用gcc把它手动编译出来,你就会对软件包中各个文件间的依赖关系有一个清晰的了解。
4、掌握svn/cvs的基本用法。这是linux,也是开源社区最常用的版本管理系统。可以去试着参加sourceforge上的一些开源项目。
二、linux/unix系统调用与标准C库
系统调用应用软件与操作系统的接口,其重要性自然不用说,一定要掌握。推荐学习资料为steven先生的UNIX环境高级编程(简称APUE)。
三、库的学习
无论是在哪个平台做软件开发,对于库的学习都很重要,linux下的开发库很多,我主要介绍一下我常常用到的一些库。
1、glib库glib库是gtk+和gnome的基础库,并具是跨平台的,在linux、unix和windows下都可以用。glib库对于linux平台开发的影响就像MFC对windows平台开发的影响一样,很多开源项目都大量的使用了glib库,包括gimp、gnome、gaim、evolution和linux下的集群软件heartbeat。因为glib库自带有基本的数据结构实现,所以在学习glib库的时候可以顺便学习一下基本的数据结构(包括链表、树、队列和hash表)。
2、libxml库
libxml是linux平台下解析XML文件的一个基础库,现在很多实用软件都用XML格式的配置文件,所以也有必要学习一下。
3、readline库
readline库是bashshell用的库,如果要开发命令行程序,那么使用readline库可以减少很多工作量,比如bash里的命令行自动补全,在readline里就已经有实现,当然你也可以用自己的实现替代库的行为。readline库有很多网站介绍的,只要google一下readline就可以找到一堆了。
4、curses库
curses库以前是vi程序的一部分,后来从vi里提取出来成为一个独立的库。curses库对于编写终端相关的程序特别有用,比如要在终端某一行某一列定位输出,改变终端字体的颜色和终端模式。linux下的curses库用的是GNU实现的ncurses(newcurses的意思)。
5、gtk+和KDE库
这两个库是开发GUI应用程序的基础库,现在linux下的大部份GUI程序都是基于这两个库开发的,对于它们的学习也是很有必要的。
四、网络的学习
网络这个东西太宽了,推荐学习资料steven先生的UNIX网络编程(简称UNP)和TCP/IP协议详解,更进一步的话可以学习使用libnet编写网络程序。
UNIX是历史最悠久的通用操作系统。1969年,美国贝尔实验室的KThompson和DMRitchie在规模较小及较简单的分时操作系统MULTICS的基础上开发出UNIX, 当时是在DEC的PDP—7小型计算机上实现的,1970年正式投入运行。此后数年,UNIX一直是一个限于在AT&T内部使用的操作系统。1971年,发展出以 PDP-11/20汇编语言所写成的V1版,包括最基本的文件系统和一些简单的软件,之后,又经历了一些改进。
1973年,DMRitchie研制出系统描述语言C,并应用新的C来改写原来用汇编语言编写的UNIX,这就是V5,这使得UNIX修改更容易,并且具有在不同CPU平台上的可移植性,这便成为UNIX一大重要特点,自此以后,UNIX操作系统和应用程序几乎都用C语言编写,只需拥有相应平台上的C编译器(将C语言转变为相应平台机器语言的翻译软件),便可进行移植。C 与UNIX之间具有传统的非常密切的关系。同年,KThompson和DMRitchie在美国计算机协会的第四届操作系统原理讨论会上提交“The Unix Time Sharing System ”一文,UNIX系统正式向外披露,此文后来刊登于1974年7月的Commnnication Of ACM杂志上。
1975年,V6推出,此后,Interactioe System Co (已被SUN收购) 成为 UNIX的第一个转销商,UNIX步出贝尔实验室之外,配备于PDP-11机上开始广泛流传,在大学校园中尤其风行。剖析UNIX的结构,修正错误并作出改进,开发更好用的应用软件,这一切成为计算机专业的师生的最佳习作与毕业设计题材。在加州大学伯克利分校(UCB)以Willian Joy 为首的一些软件技术人员研制出由V6派生的BSD,成为UNIX家族的一名新成员,BSD在伯克利分校得到了很大的发展。直到1992年,UNIX商标持有人USL(AT&T后来开设的一家子公司)控告伯克利不当使用 Unix执照,尽管USL最终败诉,但伯克利也在同年宣布不再发展BSD,BSD的终极版本是44BSD,此乃后话。以下附有UNIX两大流派AT&T UNIX 与BSD各自的发展历程示意图。除UCB外,卡耐基美伦大学(CMU)的Mach计划也对UNIX的发展产生深远影响。现在许多流行的UNIX系统都与Mach有关。
AT&T在V6推出后,于1978年又推出V7,包括了更多的命令并可支持大尺度的文件,V7后来被移植到VAX机上,称为32 V,1981年,研制出System III,1983年,推出适用于教育并且易于维护的System V。
除了两个主要流派外,还有一些软、硬件厂商在不同的CPU平台上开发的“类似于”UNIX的操作系统。这些系统尽管实现方法各不相同,但其所具有的功能及操作管理手段均与主要流派中的某些版本相似,我们称之为“兼容的”UNIX,下表为一张兼容UNIX的列表:
名称 公司 硬件平台 特点
AIX IBM RS6000, POWER PC 融合SVR2和BSD的特点,有特色的系统管理
IRIX SGI PC/工作站 最新版本V5x基于SVR4
ULTRIX DEC PC 具有许多42BSD与43BSD的特点
SunOS
(Solaris) SUN 68K, Sparc, X86 基于43BSD,也有许多来自于SYSTEM V的内容,SUN自身开发的NFS、OPEN LOOK GUI标准
HP-UX HP X86, HP工作站 42BSD发展而来
NeXT NeXTstep 68K, X86 基于Mach核心的43BSD,用户界面友好,遵守Openstep标准
Xenix SCO/Microsoft X86 以SVR2为基础
SCO UNIX SCO X86 Xenix的后续产品,影响较大的PC UNIX
UNICOS Cray Cray超级电脑
Dell UNIX Dell X86 基于SVR4
Minix 个人作品 X86, Mac, Atari 与V7兼容,LINUX的鼻祖
有趣的是,它们大部分不叫“UNIX”,主要原因是UNIX商标为AT&T(后来是它的子公司USL)所持有,1993年春,NOVELL将USL收购,UNIX商标从此归属NOVELL,“AT&T UNIX”这一名称成为历史。在1994年,NOVELL令人吃惊地放弃了“UNIX”这一商标,将其转售给英国的X/OPEN,这使到所有符合X/OPEN标准的操作系统都可称为“UNIX”。不过,NOVELL仍然保留了原UNIX系统程序码的版权。
BSD出到44版就由于和AT&T打版权官司而停止发展(后来部分开发成员在BSD工作的基础上,去掉和AT&T有版权问题的代码,发展出今天的FreeBSD)。这场官司最后庭外和解,之后AT&T面临反垄断控告,才把UNIX部分卖给了SCO,NOVELL把源码和他们的unixware产品一起卖给了SCO,而最近SCO又把他们的UNIX服务器部分卖给了Linux厂商Caldera
UNIX的两个发明者由于他们的杰出贡献在80年代
获得IT界的诺贝尔奖——Turing奖
谁知道UNIX操作系统的历史
本文2023-10-25 21:24:56发表“资讯”栏目。
本文链接:https://www.lezaizhuan.com/article/340176.html