操作系统有两大阵营,一边是基于微软 Windows NT 的操作系统,一边是由UNIX衍生下来的操作系统。

Linux, Mac OS X, Android, iOS, Chrome OS甚至路由器上的固件,这些操作系统同出一族,都是基于最初的UNIX系统开发而来,统称Unix-like 操作系统。

Unix系统由AT&T贝尔实验室于1960年代开发。Unix哲学是专注于一件事去创造小而精的工具,并将他们做的完美。比如,在Linux终端上可以使用管道符组合几个工具去完成一项复杂的任务。在Unix系统中,一起皆文件,包括硬件设备和特殊文件在内,都属于文件。

Unix的“子孙后代“

截止目前,Unix已有40几年的历史,其子孙繁多。简单的说,Unix沿着个两个分支发展。

学院派分支

一个分支在学术界发展起来。这个分支中,比较出名的是BSD(Berkeley Software Distribution),它是一个开源的unix-like操作系统。BSD衍生出了 FreeBSD, NetBSD, 和 OpenBSD。NeXTStep也是基于BSD开发的,苹果公司的OS X 又是基于NeXTStep开发,iOS又在OS X基础上开发。

MINIX是一个用于教学的Unix-like操作系统。首MINIX启发,大学生 Linux开发了Linux操作系统。我们今天口口相传的Linux操作系统确切来说是GNU/Linux,至于为什么要加个‘GNU‘字样,那是另外一个话题了。GNU/Linux由 Linux kernel 内核和很多 GNU 工具组成。GNU/Linux并不是直接由BSD发展而来,但是它还是基于Unix,况且它出自校园,毕竟还是归结在学院派分支里。今天市面上常见的Android, Chrome OS和嵌入式操作系统,都是基于Linux操作系统开发的。

商业分支

AT&T UNIX, SCO UnixWare和Sun Microsystems Solaris这些是大公司开发的商业操作系统。商业操作系统不是经常接触到,不多说了。

下图Unix族谱 

DOS 和 Windows NT

随着IBM个人PC的流行,微软DOS操作系统在个人电脑上流行起来。DOS是一个与Unix完全不相干的操作系统,这一点可以从DOS使用反斜杠来表示文件目录分隔符上看出来。Unix在70年代就使用正斜杠来分割文件目录,但是80年代在个人电脑上流行起来的DOS并不支持文件目录。DOS使用正斜杠来表示转换字符,以至于后来DOS2.0支持了目录后选择用反斜杠表示目录分隔符。Windows 3.1, Windows 95, Windows 98, 和 Windows ME底层都是DOS,后来微软开发了新一代的操作系统Windows NT(Windows New Technology),Windows XP是其代表作。在此之后的Windows 7, Windows 8, Windows RT, Windows Phone 8, Windows Server都是Windows NT内核。Windows NT同样不是Unix-like操作系统。 

为了兼容之前的DOS系统和windows软件,Windows NT沿用了DOS的一些设计,比如磁盘符,目录反斜杠,正斜杠命令切换等。

UNIX 是啥?!和Linux什么关系?的更多相关文章

  1. UNIX发展史(BSD,GNU,linux)

    先前的一個理想 UNIX 系统自 1969 年 Ken Thompson 与 Dennis Ritchie 在美国贝尔电话实验室(Bell Telephone Laboratories)发展出雏形至今 ...

  2. UNIX发展史(BSD,GNU,linux)(转)

    转自 UNIX发展史(BSD,GNU,linux) 这篇文章写的非常好,在这里转一下. 先前的一個理想 UNIX 系统自 1969 年 Ken ThompsonKen Thompson 与 Denni ...

  3. 【历史】- UNIX发展史(BSD,GNU,linux)

    先前的一個理想 UNIX 系统自 1969 年 Ken Thompson 与 Dennis Ritchie 在美国贝尔电话实验室(Bell Telephone Laboratories)发展出雏形至今 ...

  4. Linux进程关系

    Linux进程关系   作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Linux的进程相互之间有一定的关系.比如说,在Linux ...

  5. Unix(AIX,Linux)

    AIX全名为(Advanced Interactive Executive),它是IBM公司的UNIX操作系统. 虽然Linux和aix都是Unix兼容的操作系统,但他们在不同的领域存在各自的特点和差 ...

  6. 八一八android与Linux的关系

    Linux与Androld的关系 虽然Android基于Linux内核,但是它与Linux之间还是有很大的差别,比如Android在Linux内核的基础上添加了自己所特有的驱动程序.下面我们就来分析一 ...

  7. [Linux]终端设备关系

    1.概述 tty中基本上可以划分为console(/dev/console).虚拟终端(/dev/tty0~n)和伪终端(/dev/pts/0~n). 它们之间存在一定的关系. 为了说明这段关系,先要 ...

  8. U-boot与linux的关系

    基本上没有啥关系,U-boot的话你也知道,说白了就像是Dos工具箱,本身算是个精简的Linux系统了,主要是负责硬件的初始化和引导,本身带有一些工具,作为引导程序,常作为嵌入式设备的引导.当真正的系 ...

  9. UNIX操作系统和Linux操作系统介绍

    UNIX操作系统(尤尼斯),是一个强大的多用户.多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson.DennisRitchie和DouglasMcI ...

随机推荐

  1. React入门看这篇就够了

    摘要: 很多值得了解的细节. 原文:React入门看这篇就够了 作者:Random Fundebug经授权转载,版权归原作者所有. React 背景介绍 React 入门实例教程 React 起源于 ...

  2. katalon studio配置git与git项目创建

    katalon 是一款在2015年诞生的可以安装在windows.macOS.linux操作系统上,基于selenium 和 Appium 测试框架,并集成了这些框架的优点的自动化测试工具.关于这个工 ...

  3. 黑马学习SpringMVC bug集锦X1

  4. 黑马学习MyBatis 用MyBatis对表进行条件查询 模糊查询 动态sql

    package cn.itcast.domain; /* CREATE TABLE `message` ( `id` int(11) NOT NULL, `command` varchar(16) D ...

  5. 页面出现滚动条时,body里面的内容不能自动居中?

    弹窗后允许页面滚动 这种方式通常使用 position: absolute; ,可以看看我做的这个 Demo.主要用来应对弹窗内容很大很多的情况,超过了屏幕的宽高需要产生滚动条来方便浏览者查看.有一些 ...

  6. codeforces772C

    给一段序列,给你去掉所有数字的顺序,输出每去掉一个数,当前联通的子序列的最大值. 倒着来,每次插入一个数,然后求联通的最大值,线段树每个节点标记一下,区间的左右是否插入了数字,还有如果有数字从左边/右 ...

  7. oracle中CAST函数使用简介【转】

    CAST()函数可以进行数据类型的转换. CAST()函数的参数有两部分,源值和目标数据类型,中间用AS关键字分隔. 以下例子均通过本人测试. 一.转换列或值 语法:cast( 列名/值 as 数据类 ...

  8. NET Core 2.0使用Cookie认证实现SSO单点登录

    NET Core 2.0使用Cookie认证实现SSO单点登录 之前写了一个使用ASP.NET MVC实现SSO登录的Demo,https://github.com/bidianqing/SSO.Sa ...

  9. SSRS-lookupSet-DataSet-分组查询

    SSRS-lookupSet-DataSet-分组查询 来源:http://www.cnblogs.com/biwork/p/3621885.html 目录:http://www.cnblogs.co ...

  10. WebStorm快捷键(Mac版)

    编辑 Command+alt+T 用 (if..else, try..catch, for, etc.)包住 Command+/ 注释/取消注释的行注释 Command+alt+/ 注释/取消注释与块 ...