时代的印迹:Unix操作系统发展历程

UNIX系统的起源远远早于现在的主流系统windows,说起Unix就要追本溯源,看看二十世纪六十年代计算机刚刚开始大规模应用的情况。当时的计算机课没有现在那么强悍,当时是真正的计算机,而且采用的还是批处理……所以呢当时的好几家大公司,比如通用电气公司、美国电话电报局还有著名的麻省理工学院和贝尔实验室打算联合开发一个多用途操作系统,名字就是MULTICS,可惜的是目标太多没有完成,所以到1969年贝尔实验室退出了这个项目。

虽然贝尔实验室退出了,但是实验室内一个叫Ken Thompson的人可不愿意了。此公当时给MULTICS写了一个游戏,叫“Space Travel”只可惜在当时半成品的MULTICS上运行起来很慢……所以这哥们为了让自己写的游戏能玩就写了一个极为简单的操作系统,当时被同事们嘲笑为Unics(对MULTICS的一种戏称)所幸,此公就把自己写的操作系统命名为UNIX。

1971年UNIX发布了第一个版本,该系统占用12KB内存,以现代的眼光来看是非常迷你了呢。

1973年UNIX发布第三版的时候,Ken Thompson和Dennis Ritchie两人感觉用汇编语言移植是在过于头痛,所以尝试用高级语言来编写UNIX,这在当时是不可想象的。为了写Unix他们整合了BCPL语言成型了B语言,可惜B语言还是不能完成编写UNIX的重任,所以又改写了B语言,这就形成了大名鼎鼎的C语言。用C语言编写的UNIX相当的容易移植,于是C和UNIX很快的主导了全球。

然而到1978年,Unix阵营竟然发生了分裂,分裂成了BSD UNIX和AT&T UNIX两大阵营,各自的主流是4.x BSD和system IV

此后UNIX陷入了长期的分裂与动荡之中,比如Bill Joy以BSD为基础创立了Sun Microsystems发展出了Solaris系统,当然还有很多其他版本,比如著名 MAC OS X,freeBSD,OpenBSD等等

此后UNIX更是陷入了windows、Mac osLinux的交替进攻当中,在今天的PC世界桌面版的UNIX几乎绝迹,只有SUN的Solaris还能算是Unix后裔存在,MAC OS X则早已偏移了UNIX的基础。目前Unix的主要领域和linux类似,但是更偏向于高端行业,所以掌握了Unix才算是真正掌握了计算机高端技术,不过对我们平时而言是用不到的。

Unix系统的今日与其分支之OpenBSD系统

Unix可以说是人类历史上第一种真正意义上的操作系统,因为Unix第一次实现了使用高级语言来编写操作系统,并且为了打造适合的高级语言诞生了实际上最NB的编程语言即著名的C语言。但是几十年过去了,Unix的江山早已经不复存在了,个人计算机上windows独霸江山,超级计算机上linux独占鳌头,就连平板也是android和ios各占半壁江山,Unix视乎早已淡出人们的视线……于是今天搜集了一些Unix系统的资料,由于linux系统发展中出现了分裂,所以这次先介绍主要分支之一——BSD分支的一种,即OpenBSD

Unix重要分支OpenBSD系统Logo

Open BSD系统的诞生有一种斗气的意味,它的父亲——Theo de Raadt被赶出了NetBSD(当时的BSD分支主力系统)开发团队,估计这哥们比较窝火,于是纠集了一群人开发新的OpenBSD系统,并在1996年完成了OpenBSD的第一个作品,OpenBSD 1.2,同年10月释出了OpenBSD 2.0,以后每半年出一个新版本(很高的更新速度,和linux旗鼓相当)。

我们平时都知道linux很安全,但是面对计算机高手的攻击,也有不少linux系统被黑客攻破,linux系统也先后被爆出多处漏洞(虽然不及windows百分之一,但是毕竟也有几十个),而如果我们看看OpenBSD系统的网站声明一定会被彻底雷到:

直到2002年6月前,OpenBSD的网站上都是如此声明:

“ 在预设安装下,过去六年没有任何远端漏洞被发现 ”

2002年6月,Mark Dowd发现预设安装下 OpenSSH 中的一个远端漏洞,因此网站上的声明改成:

“ 在预设安装下,超过八年的时间只有一个远端漏洞被发现 ”

2007年3月13日,OpenBSD又被找到一个远端漏洞 ,因此网站上的声明又改成:

“ 在预设安装下,超过十年的时间只有两个远端漏洞被发现 ”

可见OpenBSD的设计是多么的保守,不过毕竟在预设安装环境下能执行的服务很少,当服务被开启的很多时漏洞也就增多了,但是总体山来说比linux的要强点。
OpenBSD虽然比linux更安全,软件也比linux少得多,几乎可以说除了内置软件外很难获取新的软件了,而且OpenBSD不支持多处理器,这让它完全不可能运行在现在的机器上(比较恶心)

当然更能突出OpenBSD强大潜力的是它的后继者们,在现在世界上,除了微软windows和开源的linux外,比较杰出的系统应该就数苹果OS X和SUN的Solaris,前者是在移动领域占据半壁江山的ios的母体,而后者则是现在维系着Unix这个神话的最强力后盾,由此可见OpenBSD当年的设计是多么的强悍。而且要知道openBSD系统的开发和维护竟然只有不到15人,而系统代码却高达300MB,如此客观的效率恐怕在世界上难出其右者。

目前OpenBSD系统还在维护和更新,最新的版本是OpenBSD5.0,在2011年11月发布。而包括adobe在内的很多公司都或多或少的在使用OpenBSD系统。

此外还有一点哦,由于龙梦科技把一台龙芯笔记本送给了OpenBSD的开发团队以支持他们的工作,现在OpenBSD系统已经能流畅的运行在国产龙芯CPU的本子上了,可喜可贺哦。

OReilly动物图书图案

计算机图书:O’Reilly动物系列吸引了我

       一直以来都被O’Reilly的动物系列(不知道一直出的话能不能集成一个动物世界)丛书所吸引,因为即使在汗牛充栋有那么多花花绿绿的图书馆里都能一眼识别出来O’Reilly的图书来。我想想哪天把这些书都收集起来拼成一幅彩虹。在我看来是最好的计算机图书

O’Reilly的简介

      O’Reilly Media, Inc. 是世界上在 unix、X、Internet 和其他开放系统图书领域具有领导地位的出版公司,同时是联机出版的先锋。从最畅销的《The Whole Internet User’s Guide & Catalog》(被纽约公共图书馆评为二十世纪最重要的50本书之一)到GNN(最早的Internet门户和商业网站),再到WebSite(第一个桌面PC的Web服务器软件),O’Reilly Meida,Inc. 一直处于Internet发展的最前沿。

     许多书店告诉我们,我们是最稳定的计算机图书出版商——每一本书都一版再版。 与大多数计算机图书出版商相比,我们在计算机专业方面具有强烈的背景,这使我们形成了一个非常不同于其他出版商的出版方针。我们所有的编辑人员以前都是程序员,或者 是顶尖级的技术专家,我们还有许多固定的作者群体——他们曾是咨询专家,而现在编写著作,我们依靠他们准时地推出图书。因为我们紧密地与计算机业界联系着,所以我们知道市场上真正需要什么图书。

这是部分出现在“动物系列”丛书上的动物图案

      因为这些封面是专门的设计人员设计的,与书籍编写者没有任何关系,但是就封面的选择上就出现了点矛盾。因为为什么这个内容会选那个动物之类,连作者也会追问,有些作者甚至不爽自己封皮上的动物,怕读者会误以为作者像河马一样胖或者像蓝脚鲣鸟一样笨,但是她从来没有解释过这些选择背后的原因,文章里当然也没有明确解释出来,只是说每个选择并不是随便挑出来的,的确有着某种原因(强烈谴责卖关子行为)。

最后附上一张照片,一直盯着它的眼睛看,会有惊喜的:

文:root@linux
如若复制、转载请注明原文地址:http://mtoou.info/o-reilly-tushu/

系统

从服务器下载文件用记事本打开出现”乱码”黑点空格消失的原因

      相信很使用wordpress做独立博客的博主都有遇到过这种现象。自己从服务器下的文件准备用记事本打开后出现空格小时,而且还多出了很多黑点,给人感觉就像出现乱码一样。这是为什么呢?其实这是因为wordpress是运行的系统下和你的记事本运行的windows系统不同的缘故。

这里要个大家讲一个《回车与换行的故事》

在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。

于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。

这就是“换行”和“回车”的来历,从它们的英语名字上也可以看出一二。

后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。于是,就出现了分歧。

Unix系统里,每行结尾只有“ <换行> ”,即“\n”;
Windows系统里面,每行结尾是“ <换行> <回车> ”,即“\n\r”;
Mac系统里,每行结尾是“ <回车> ”。

一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。

换行(\n)就是光标下移一行却不会移到这一行的开头,
回车(\r)就是回到当前行的开头却不向下移一行.
Enter键按下后会执行\r\n这样就是我们看到的一般意义的回车了,所以你用16进制文件查看方式看一个文本,就会在行尾发现”\r\n”

问题解决:读取文件进行了一次替换,保证里面的换行是\r\n

本故事引用 Vinceen.com作者Vinceen的《回车与换行一文》

哈哈,相信讲了这个故事,大家应该明白了吧,不过你如果是在windows系统下安装的wordpress,那应该不会出现这个问题了。

本文出自电脑知识与技术博客 http://mtoou.info

文链接:http://mtoou.info/server-txt-unix/