黑客的基本知识
UNIX是历史最悠久的通用操作系统。1969年,美国贝尔实验室的K.Thompson和D.M.Ritchie在规模较小及较简单的分时操作系统MULTICS的基础上开发出UNIX, 当时是在DEC的PDP—7小型计算机上实现的,1970年正式投入运行。此后数年,UNIX一直是一个限于在AT&T内部使用的操作系统。1971年,发展出以 PDP-11/20汇编语言所写成的V1版,包括最基本的文件系统和一些简单的软件,之后,又经历了一些改进。
1973年,D.M.Ritchie研制出系统描述语言C,并应用新的C来改写原来用汇编语言编写的UNIX,这就是V5,这使得UNIX修改更容易,并且具有在不同CPU平台上的可移植性,这便成为UNIX一大重要特点,自此以后,UNIX操作系统和应用程序几乎都用C语言编写,只需拥有相应平台上的C编译器(将C语言转变为相应平台机器语言的翻译软件),便可进行移植。C 与UNIX之间具有传统的非常密切的关系。同年,K.Thompson和D.M.Ritchie在美国计算机协会的第四届操作系统原理讨论会上提交“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的终极版本是4.4BSD,此乃后话。以下附有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/工作站 最新版本V5.x基于SVR4
ULTRIX DEC PC 具有许多4.2BSD与4.3BSD的特点
SunOS
(Solaris) SUN 68K, Sparc, X86 基于4.3BSD,也有许多来自于SYSTEM V的内容,SUN自身开发的NFS、OPEN LOOK GUI标准
HP-UX HP X86, HP工作站 4.2BSD发展而来
NeXT NeXTstep 68K, X86 基于Mach核心的4.3BSD,用户界面友好,遵守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出到4.4版就由于和AT&T打版权官司而停止发展(后来部分开发成员在BSD工作的基础上,去掉和AT&T有版权问题的代码,发展出今天的FreeBSD)。这场官司最后庭外和解,之后AT&T面临反垄断控告,才把UNIX部分卖给了SCO,NOVELL把源码和他们的unixware产品一起卖给了SCO,而最近SCO又把他们的UNIX服务器部分卖给了Linux厂商Caldera...
UNIX的两个发明者由于他们的杰出贡献在80年代
获得IT界的诺贝尔奖——Turing奖
UBB代码是HTML的一种变体。一般情况下,如果允许你用HTML,也就可以使用UBB代码。即使你的讨论区不能让你使用HTML,你也可以使用UBB代码。 由于要求使用的编码很少,即使可以使用HTML,可能也想使用UBB代码,因为代码错误的可能性大大减小了
无论是修改许多网上源码库中的代码,还是调用常见的操作系统例行程序,您免不了要花一些时间去琢磨您没有编写过的代码,而且您还可能没有这些代码的源文件。在开始调试代码时,您需要有一个好的 Java 反编译器,并了解正确使用它的技术。同时,您还要知道如何保护您自己的代码不被窥视。为此,您还需了解有关代码模糊处理的问题。在这篇有关打开和封锁 Java 代码的初学者指南中, Greg Travis 使用 Mocha、HoseMocha、jmangle 和 JODE 等流行工具中的范例,来循序渐进地教你有关反汇编、反编译和 Java 代码模糊处理的基础知识。
1965年时,贝尔实验室(Bell Labs)加入一项由奇异电子(General Electric)和麻省理工学院(MIT)合作的计画;该计画要建立一套多使用者、多任务、多层次(multi-user、multi-processor、multi-level)的MULTICS操作系统。直到1969年,因MULTICS计画的工作进度太慢,该计画就被停了下来。当时,Ken Thompson(后被称为Unix之父)已经有一个称为「星际旅行」的程序在GE-635的机器上跑,但是反应非常的慢,正巧也被他发现了一部被闲置的PDP-7(Digital的主机),Ken Thompson和Dernis Ritchie就将「星际旅行」的程序移植到PDP-7上。而这部PDP-7就此在整个计算机历史上留下了芳名。
MULTICS 其实是"MULTiplexed Information and Computing System"的缩写,在1970年时,那部PDP-7却只能支持两个使用者,当时,Brian Kernighan 就开玩笑地戏称他们的系统其实是:"UNiplexed Information and Computing System",缩写为"UNICS",后来,大家取其谐音,就称其为"Unix"了。
1970年可称为是Unix元年,1971年,他们申请了一部PDP-11/20,申请的名义是:要发展文书处理系统。该提案被获采纳,他们也发展出了一套文书处理系统 ─ 就是现在Unix操作系统里面文书处理系统(nroff/troff)的前身。有趣的是,没有多久,贝尔实验室的专利部门真的采用了这套系统作为他们处理文件的工具,而贝尔实验室的专利部门也就顺理成章地成为Unix的第一个正式使用者。当时,那部PDP-11/20只有0.5MB磁盘空间。而描述这整个系统的文件被标示为:"First Edition",版本日期是1970年11月。从此以后,Unix的版本就以系统文件的版别来称呼。
UNIX是历史最悠久的通用操作系统。1969年,美国贝尔实验室的K.Thompson和D.M.Ritchie在规模较小及较简单的分时操作系统MULTICS的基础上开发出UNIX, 当时是在DEC的PDP—7小型计算机上实现的,1970年正式投入运行。此后数年,UNIX一直是一个限于在AT&T内部使用的操作系统。1971年,发展出以 PDP-11/20汇编语言所写成的V1版,包括最基本的文件系统和一些简单的软件,之后,又经历了一些改进。
1973年,D.M.Ritchie研制出系统描述语言C,并应用新的C来改写原来用汇编语言编写的UNIX,这就是V5,这使得UNIX修改更容易,并且具有在不同CPU平台上的可移植性,这便成为UNIX一大重要特点,自此以后,UNIX操作系统和应用程序几乎都用C语言编写,只需拥有相应平台上的C编译器(将C语言转变为相应平台机器语言的翻译软件),便可进行移植。C 与UNIX之间具有传统的非常密切的关系。同年,K.Thompson和D.M.Ritchie在美国计算机协会的第四届操作系统原理讨论会上提交“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的终极版本是4.4BSD,此乃后话。以下附有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/工作站 最新版本V5.x基于SVR4
ULTRIX DEC PC 具有许多4.2BSD与4.3BSD的特点
SunOS
(Solaris) SUN 68K, Sparc, X86 基于4.3BSD,也有许多来自于SYSTEM V的内容,SUN自身开发的NFS、OPEN LOOK GUI标准
HP-UX HP X86, HP工作站 4.2BSD发展而来
NeXT NeXTstep 68K, X86 基于Mach核心的4.3BSD,用户界面友好,遵守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出到4.4版就由于和AT&T打版权官司而停止发展(后来部分开发成员在BSD工作的基础上,去掉和AT&T有版权问题的代码,发展出今天的FreeBSD)。这场官司最后庭外和解,之后AT&T面临反垄断控告,才把UNIX部分卖给了SCO,NOVELL把源码和他们的unixware产品一起卖给了SCO,而最近SCO又把他们的UNIX服务器部分卖给了Linux厂商Caldera...
UNIX的两个发明者由于他们的杰出贡献在80年代
获得IT界的诺贝尔奖——Turing奖
UBB代码是HTML的一种变体。一般情况下,如果允许你用HTML,也就可以使用UBB代码。即使你的讨论区不能让你使用HTML,你也可以使用UBB代码。 由于要求使用的编码很少,即使可以使用HTML,可能也想使用UBB代码,因为代码错误的可能性大大减小了
无论是修改许多网上源码库中的代码,还是调用常见的操作系统例行程序,您免不了要花一些时间去琢磨您没有编写过的代码,而且您还可能没有这些代码的源文件。在开始调试代码时,您需要有一个好的 Java 反编译器,并了解正确使用它的技术。同时,您还要知道如何保护您自己的代码不被窥视。为此,您还需了解有关代码模糊处理的问题。在这篇有关打开和封锁 Java 代码的初学者指南中, Greg Travis 使用 Mocha、HoseMocha、jmangle 和 JODE 等流行工具中的范例,来循序渐进地教你有关反汇编、反编译和 Java 代码模糊处理的基础知识。