1 操作系统的分类

目前市面上大部分的操作系统都可以分为两类:一类是基于微软Windows NT内核的操作系统,而剩余其他几乎所有的操作系统的祖先都是Unix。

比如Linux,Ubuntu,Mac OS X,安卓Andoird,iOS,Chrome OS以及PS4上面的Orbis OS,这些跑在各种各样硬件上面的操作系统,它们的祖先都是Unix操作系统,所以通常也被叫做“类Unix”操作系统。

2 Unix的设计无处不在

Unix于上个世纪60年代(1960s)在传奇的AT&T的贝尔实验室研制,其中一些非常重要的设计理念仍然在流传至今。

秉承着Unix哲学中的“做一件事并且把它做好”,Unix设计并实现了一系列独立、小巧、模块化的优秀实用工具,比如管道,输出重定向,后台执行等等,你可以通过将这些工具进行不同方式的组合来完成更加复杂的任务。这也极大降低了shell脚本的编写难度,也让shell脚本能够完成更加复杂的任务。

”在Unix里一切都是文件“也同样是Unix的经典设计之一。硬件设备,目录,特殊文件,普通的数据文件,所有的内容在Unix看来都是文件,所有的程序都使用这个统一的文件系统进行通信与交互。而Windows操作系统来源于DOS,所以还保留着”盘符“的概念。

3 基于Unix衍生的主流系统

和其他的历史一样,在过去的50年里面,基于Unix衍生的系统十分繁杂,为了使问题变得简单,我们可以将其大致分为两类:BSD和Linux。

3.1 BSD

Unix的一大分支最初是在学术领域研发出来的,第一代的版本叫做BSD(Berkeley Software Distribution),是一个开源的,类Unix的操作系统。

后来BSD派生出了FreeBSD, NetBSD, and OpenBSD几类操作系统。

NeXTStep也是基于BSD开发的,我们现在使用的苹果Mac OS X就是基于NeXTStep开发的,而移动端的iOS系统又是基于Mac OS X开发的。

许多其他的操作系统,比如PS4上运行的Orbis OS也是BSD操作系统的衍生物。

3.2 Linux 或 GNU/Linux

GNU-当时随着AT&T对Unix的限制条款越来越严格,自由软件运动的精神领袖理查德·马修·斯托曼(Richard Matthew Stallman)启动了名为GNU的项目,在1985年发表了著名的GNU宣言。

MINIX-20世纪80年代,由于AT&T所有的UNIX版权的限制,荷兰的Andrew S. Tanenbaum教授决定写一个不包含任何AT&T源代码的UNIX系统,名为MINIX(即小型的UNIX),并开放全部源代码给大学教学和研究工作。

GNU/Linux就是受到了MINIX的启发,并使用了很多GNU的组件完成的一个类Unix系统。

我们熟知的CentOS安卓(Android),Chrome OS,Steam OS以及大量的嵌入式设备的操作系统,以及Debian(及其衍生版本Ubuntu、Linux Mint)、Fedora(及其相关版本Red Hat Enterprise Linux、CentOS)和openSUSE等,都是基于Linux的系统。

3.3 其他的分类

很多大型企业也基于Unix衍生出了自己的操作系统,五花八门,不过现今的主流仍然是BSD和Linux两大派系。

4 关于Linux的发行版本

上面提到,Unix的衍生系统可以大致分为两类:BSD和Linux。

苹果相关操作系统和PS4的操作系统Orbis OS等都是基于BSD开发的。而更多的类Unix操作系统是基于Linux衍生的,所以这一节简单说一下Linux的发行版。

为了使问题变得简单,我们可以将Linux的发行版大致分为三类:Slackware,Debian和Red Hat。

Slackware是最古老的Linux发行版之一,于1993年创建,与很多其他的发行版不同,坚持 KISS(Keep It Simple Stupid)原则,比较小众,但更有经验的用户可能会喜欢这种方式的透明性和灵活性。

Debian计划是一个致力于创建一个自由操作系统的合作组织。所创建的这个操作系统名为Debian。熟知的Ubuntu就是Debian的衍生。

Red Hat(红帽)公司是一家开源解决方案供应商,衍生的我们熟知的操作系统主要有:Fedora(新),CentOS(免费,稳定)和Red Hat企业版(稳定,技术支持,收费)。

除了上面三个大类,其他的发行版本还有很多很多,比较著名的有:

  • 基于Gentoo的Google的Chromium OS
  • Android

5 关于Windows NT 和 DOS

最初业内很多人希望类Unix系统成为世界上标准的操作系统,但是最终DOS和IBM电脑爆发并成为了世界的主流。在基于DOS的操作系统中,微软的DOS系统是最成功的。

但是DOS和Unix是一点关系都没有的,这就是为什么Windows系统使用反斜杠,而剩余其他所有系统要使用正斜杠:Windows系列的系统底层都是基于DOS的,而BSD, Linux, Mac OS X和其他类Unix系统都是基于Unix的。

Windows 3.1, Windows 95, Windows 98, 和 Windows ME底层都是基于DOS的。后来微软开发了Windows NT(Windows New Technology)内核,从知名的Windows XP开始都是用了Windows NT内核,如:Windows 7, Windows 8, Windows RT, Windows Phone 8, Windows Server 以及 Xbox等等。同样,Windows NT不是类Unix的。

6 结语

如上图,是本文中涉及到的操作系统,现在,你也许更加能够了解Mac OS X的终端操作方式为什么和Linux很像,为什么和Windows差异那么大——因为Mac OS X和Linux都是类Unix操作系统的问题。

这些历史知识能够帮助你了解什么是”类Unix“系统,为什么很多操作系统很相似但是又和Windows有这么大的差异。

这篇文章只是对历史的一个简要回顾,能够略过细节快速了解目前的情况。如果想要了解更多信息,可以参考一些和Unix历史有关的书籍。

了解Unix的历史与现状相关推荐

  1. ROS高效入门第一章 -- ROS历史与现状

    ROS介绍--历史与现状 1 资料 2 读后整理 2.1 此岸与彼岸 2.2 柳树街68号 2.3 机器人毕业舞会,PR2的缔造者,ROS的起源,ROS被OSRF托管,ROS开发者大会 2.4 ROS ...

  2. 反病毒理念、历史、现状与未来

    反病毒理念.历史.现状与未来 创建时间:2006-12-31 更新时间:2006-12-31 文章属性:原创 文章提交: killer (killer_at_xfocus.org) 反病毒理念.历史. ...

  3. 了解Sun公司的历史以及现状

    了解Sun公司的历史以及现状 升阳微系统公司(Sun Microsystems,简称Sun)在自己的广告中宣称:我们就是.com前面那一点(We are the dot in the .com),这并 ...

  4. 微型计算机地未来发展,微型计算机的发展历史、现状和未来(最新) PDF.doc

    微型计算机的发展历史.现状及未来 学号:030841019 姓名:向世柱 中文摘要: 计算机自从问世以来,就对世界产生了很大的影响,随之就带来了工业上的一次飞跃,使我们的生活发生了前所未有的一次变革, ...

  5. FFmpeg深度学习模块的历史、现状和计划

    本文来自英特尔资深图形图像软件工程师 郭叶军在LiveVideoStack线上分享的内容,详细介绍了FFmpeg中深度学习模块的历史.现状及未来计划,并针对深度学习模块总体架构与代码实践做详细解析. ...

  6. LINUX之前UNIX的历史

    LINUX之前UNIX的历史 1)1969年:Ken Thompson的小型文件服务器系统 2)1973年:UNIX正式诞生,Ritchie等人用C语言写出第一个正式的UNIX核心 3)1977年:重 ...

  7. Linux和unix发行版本,UNIX发展历史和发行版本

    [TOC] >[success] # UNIX发展历史和发行版本 **UNIX**跟**Linux**之间的关系,用**父子**比喻更为恰当,因为学习了**Linux**以后更有助于以后学习** ...

  8. 显卡的结构和工作原理及发展历史与现状

    显卡的结构和工作原理及发展历史与现状 一.显卡的基本结构 1.线路板. 目前显卡的线路板一般采用的是6层或4层PCB线路板.显卡的线路板是显卡载体,显卡上的所有元器件都是集成在这上面的,所以PCB板也 ...

  9. Unix操作系统的历史演变

    Unix操作系统的历史演变 作者:tjianliang Unix简介 Ken和Dennis最早是在贝尔实验室开发Unix的,此后的10年,Unix在学术机构和大型企业中得到了广泛的应用,当时的Unix ...

最新文章

  1. ii 第七单元 访问网络共享文件系统
  2. 深入理解并行编程-分割和同步设计(一)
  3. 如何更改java源码_java – 如何在Android中更改ImageView源码
  4. 清理mysql的sleep链接_Mysql Sleep 链接过多导致 CPU 占用过高的问题
  5. Java中读取属性文件以及做资源国际化
  6. Python【3】-字典dic和集合set
  7. 元素属性的添加删除(原生js)
  8. 如何使WordPress博客添加多个sidebar侧边栏
  9. leetcode 20. 有效的括号 (python)
  10. python3 ImageTk 安装方法
  11. 全国首款网页版(web)真3D商城
  12. mysql case when like_mysql 中casewhen用法
  13. 基于巴法云平台的天猫精灵控制开关
  14. ImportError: cannot import name ‘export_saved_model‘ from ‘tensorflow.python.keras.saving.saved_mode
  15. Java 递归实现树形菜单
  16. 马上大四了,秋招还是春招好?先找工作还是找实习
  17. RTSP播放器高RTSP兼容推流网页无插件流媒体播放器EasyPlayer-RTSP关于MP4的封装调用流程介绍
  18. 汤姆猫信使: 折翼的信使
  19. 卡迪夫大学计算机硕士专业怎么样,卡迪夫大学计算机硕士专业
  20. Python实现淘宝秒杀功能

热门文章

  1. oracle11 exp query,EXP的QUERY参数
  2. DIM公共维度层详细设计(请点赞收藏!!)
  3. 用回C++语言,经常漏掉分号
  4. 3D设计必备!5个免高质量的 HDRI 环境贴图网站
  5. ios6/io7 画面适配
  6. NullPointerException报错
  7. 手机怎么访问kodi_干货:如何使用KODI打造属于自己的娱乐媒体内容库?
  8. 机器学习(四)ROC 和 AUC
  9. 虚拟机玩转 Veritas NetBackup(NBU)之 Windows 配置 NBU 客户端
  10. sap linux客户端,SAP 与 Linux类比