操作系统有两大阵营,一边是基于微软 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. JQuery Easyui/TopJUI 基本树形表格的创建

    <table data-toggle="topjui-treegrid" data-options="id:'menuTg', idField:'id', tree ...

  2. Unable to load EJB module

    http://stackoverflow.com/questions/12414526/unable-to-load-ejb-module

  3. react-native-video的使用

    /** * Sample React Native App * https://github.com/facebook/react-native * * @format * @flow */ impo ...

  4. JavaScript进阶 - 第7章 JavaScript内置对象

    第7章 JavaScript内置对象 7-1 什么是对象 JavaScript 中的所有事物都是对象,如:字符串.数值.数组.函数等,每个对象带有属性和方法. 对象的属性:反映该对象某些特定的性质的, ...

  5. hadoop分布式存储(1)-hadoop基础概念

    hadoop是一种用于海量数据存储.管理.分析的分布式系统.需要hadoop需要储备一定的基础知识:1.掌握一定的linux操作命令 2.会java编程.因此hadoop必须安装在有jdk的linux ...

  6. 部署ASP.NET Core应用程序在CentOS 7

    CentOS 7部署ASP.NET Core应用程序 看了几篇大牛写的关于Linux部署ASP.NET Core程序的文章,今天来实战演练一下.2017年最后一个工作日,提前预祝大家伙元旦快乐.不扯淡 ...

  7. Fedora桌面系统Idea中的部分中文无法显示解决

    在Linux 桌面开发已经有一段时间了,个人用的是最新的Fedora ,装上idea后,写代码再加中文注释的时候发现部分汉字打不出来,删除的时候发现汉字占着位,只是显示不出来,最初以为是注释问题,调整 ...

  8. Uncaught Error: Bootstrap's JavaScript requires jQuery

    在写bootstarp的时候,一直报 Uncaught Error: Bootstrap's JavaScript requires jQuery 查看了自己引入的文件路径是对的,也可以使用jquer ...

  9. IntelJ IDEA创建简单Java工程

    1.  打开IDEA J 2017开发工具,如下图: 2.点击“Create New Project”,将打开以下图: 3.选择 “Java”,选择“Next”,打开下图: 4.“Create pro ...

  10. fleet - 基于Machine Metadata的任务调度

    基于Machine Metadata的任务调度 复杂和特定的要求的应用程序可以针对一个子集的集群调度通过machine metadata.强大的部署拓扑结构,可以实现的基础上的机器的地区,机架位置,磁 ...