UNIX
维基百科,自由的百科全书。
<!-- start content -->
UNIX是一个强大的多用户,多任务操作系统,支持多种处理器架构,最早由Ken Thompson,Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。
简介
Ken和Dennis最早是在贝尔实验室开发UNIX的,此后的10年,UNIX在学术机构和大型企业中得到了广泛的应用,当时的UNIX拥有者AT&T公司以低廉甚至免费的许可将UNIX源码授权给学术机构做研究或教学之用,许多机构在此源码基础上加以扩充和改进,形成了所谓的UNIX“变种(Variations)”,这些变种反过来也促进了UNIX的发展,其中最著名的变种之一是由加州大学Berkeley开发的BSD产品。
后来AT&T意识到了UNIX的商业价值,不再将UNIX源码授权给学术机构,并对之前的UNIX及其变种声明了版权权利。为了不和AT&T的版权冲突,BSD产品在版本3之后将代码进行了重写,BSD产品在此之后不再包括有版权的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因为其安全可靠,高效强大的特点在服务器领域得到了广泛的应用,与此形成对比的是,在桌面和个人计算领域,微软的Windows系列和苹果的Mac OS系列产品占据了绝大部分市场。
历史
初创期
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:4.1c、4.2、4.3、4.3-Tahoe、4.3-Reno、Net2、4.4以及 4.4-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。SCO最近对多家开发或使用Linux的大公司提出控告,指控Linux中不当使用了SCO拥有知识产权的专有代码。
标准
从20世纪80年代开始,POSIX,一个开放的操作系统标准就在制定中,IEEE制定的POSIX标准现在是UNIX系统的基础部分。
自由的类UNIX系统
1983年,Richard Stallman建立了GNU项目,要创建一个能够自由发布的类UNIX系统。20年来,这个项目不断发展壮大,包含了越来越多的内容。现在,GNU项目开发的产品,比如Emacs,GCC等已经成为各种其他自由发布的类UNIX产品中的核心角色。
1991年,Linus Torvalds 发布了Linux内核,并逐渐引起人们的注意。当GNU软件与Linux内核结合后,GNU软件构成了这个POSIX兼容操作系统GNU/Linux的基础。今天Linux已经成为发展最为活跃的自由/开放源码操作系统。
1994年,BSD UNIX走上了复兴的道路。BSD的开发也走向了几个不同的方向,并最终导致了FreeBSD, OpenBSD和NetBSD的出现。
分享到:
相关推荐
为了提高Unix环境下的用户体验,本文将详细介绍如何在Unix环境下使用C语言开发一个类似于Windows系统的菜单程序。 #### 关键概念与目标 本项目的目标是创建一个在Unix系统中运行、具有类似Windows菜单功能的应用...
ZT进程杀手持续集成快速概述该项目是在中创建的,具有停止从Java运行进程的稳定基础功能。... 在UNIX上,它会优雅地终止它们。 由于从Java调用kill命令很容易出错,因此应该具有建议的API和良好的测试覆盖范围。
GDB,全称为GNU Debugger,是GNU项目下的一款强大且开放源代码的调试工具,专为Unix及其类操作系统设计。相较于图形用户界面(GUI)的调试工具如Visual Studio或Borland C++ Builder中的调试器,GDB在命令行界面上...
`BusyBox`是一个集合了众多Linux实用工具的精简版,它提供了一系列基本的Unix命令,使Android设备能够执行更多的系统级操作。在安卓手机上安装`BusyBox`是为了扩展原生系统的功能,比如增加命令行工具,便于开发者...
"Solaris启动过程详解 zt.htm" 详细解释了Solaris的启动流程,包括Boot Prompts、Boot Loader、Kernel加载、System Initialization和Service Activation等阶段。 四、命令行操作 "solaris常用命令.htm"涵盖了...
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix...
AIX是IBM开发的一种基于UNIX的操作系统,广泛应用于企业级服务器环境中,因其稳定性和安全性而受到青睐。 在文件的部分内容中,可以看到一些关于AIX系统的命令和概念介绍,虽然文本中包含了大量非标准字符和编码...
Vim是一款强大的文本编辑器,在Linux及Unix系统中被广泛使用。它具有丰富的功能和高度的可定制性,支持多种编程语言,是学习Linux编程不可或缺的工具之一。本文将详细介绍VIM的一些常用快捷键及其应用场景,帮助用户...
其中,vi(visual editor)作为Unix系统及其类Unix操作系统(如GNU/Linux)中的一个强大的文本编辑器,其功能强大且操作灵活,是许多开发者进行代码编写、配置文件修改时的首选工具。本文将详细介绍vi编辑器中的一些...
Vim是一款功能强大的文本编辑器,在Linux和其他类Unix系统中广泛使用。对于程序员和技术人员而言,掌握Vim的基本操作和高级技巧至关重要。本文将根据提供的“Vim命令图解”资料,详细介绍Vim中的各种常用命令及其...
Vim 编辑器是 Unix 系统中一个功能强大且灵活的文本编辑器,用户可以通过键盘快捷键来快速地编辑文本。以下是 Vim 编辑器中常用的快捷键记录: 光标移动 * h 左移光标,j 下移光标,k 上移光标,l 右移光标 * Ctrl...
Vim(Vi IMproved)是Unix/Linux系统中最常用的文本编辑器之一,其强大的功能和高度可定制性使其成为开发人员和系统管理员的首选工具。对于Linux开发人员而言,熟练掌握Vim的基本命令至关重要。本文将详细介绍Vim...
`vim`是一款高度可配置且功能强大的文本编辑器,在Linux和其他Unix-like操作系统中广泛使用。对于初学者来说,掌握`vim`的基本快捷键是提高编码效率的关键。本文将根据提供的部分`vim`快捷键列表,详细介绍这些...
在Linux或Unix系统中,SSH命令是系统管理员常用的工具。以下是SSH的一些常用命令: 1. `ssh 用户名@主机地址`:连接到指定主机的指定用户。 2. `reboot`:在SSH会话中输入此命令可以重启远程服务器。 3. `service ...
Vim是一款强大的文本编辑器,在Linux及类Unix系统中广泛使用。它具有多种工作模式,包括正常的命令模式、插入模式等,用户可以通过简单的键盘操作来高效地进行文本编辑。本文将详细介绍vim的基本使用命令,并通过...
SSH 客户端通常预装在大多数 Unix 系统中,而 Windows 用户可以通过安装 OpenSSH 或其他第三方客户端来使用 SSH。 #### 常用 SSH 命令 SSH 命令的基本格式为 `ssh [options] user@hostname`,其中 `user` 是远程...
vi编辑器,作为Unix及类Unix系统中的标配文本编辑器,其强大的功能和灵活的操作方式,使其成为许多专业程序员和系统管理员的首选。本文将深入解析vi编辑器的核心指令代码,旨在为嵌入式开发人员提供一份详尽的vi命令...
**MobiLink 服务器** 负责执行数据同步操作,它可以在 Windows 或 Unix 等操作系统上运行。 - **运行 MobiLink 服务器**:启动 MobiLink 服务器通常通过命令行工具 `mlsrv10` 来完成。该命令有许多选项,用于指定...
- **vi的诞生**:1976年,Bill Joy为Unix系统开发了vi(Visual Editor),这是Vim的基础。vi的出现极大地改善了程序员在终端上的编辑体验,被认为是程序员世界的“火种”。 - **vim的发展**:1991年,Bram Moolenaar...
VI(Visual Editor)是一款强大的文本编辑器,尤其是在Unix和Linux系统中极为普及。它具有丰富的命令集,能够高效地进行文本编辑工作。本文将详细介绍VI的一些高级指令及其应用技巧,帮助读者更好地掌握这款编辑器。...