不要说专业的程序员,就算是平常和计算机打交道的人们也很难不会不知道除了windows操作系统外还有其他的桌面操作系统,linux和Unix系统就是其中的翘楚,那么他们之间是什么关系呢?
Linux就是Unix克隆(派生),它是由Linus Torvalds在全球一些黑客的帮助下从头开始编写的 。Linux is a clone of the operating system Unix, written from scratch by Linus Torvalds with assistance from a loosely-knit team of hackers across the Net.
这段话来源于:Linux kernel 源代码顶层目录下的README文件, Linux kernel release 2.6.xx 。相信大家对他们之间的关系不明觉厉了吧 。
文章插图
Linux就是Unix克隆,实际上在创建Linux之前和Windows兴起之前,计算世界由Unix和Unix操作系统家族主导 。
什么是Unix?——大多数操作系统之母
文章插图
Unix 操作系统的诞生:Unix诞生于1960年代后期 。AT&T贝尔实验室的一个由肯·汤普森领导下小型程序员小组,发布了一个用C编写的操作系统被命名为Unix,那时的操作系统不是可移植的,使用低能源语言意味着为操作系统编写的硬件平台就是它所依赖的平台 。但是使用C语言编写的Unix使得可以将其移植到其他硬件体系结构中,它可以更快地进行修改和移植 。
Unix被认为是大多数操作系统的母亲,它具有以下特征:
· 使用纯文本进行数据存储;
· 分层文件系统;
· 处理设备和某些特定类型的进程间通信(IPC)作为文件;
· 使用大量的软件工具;
· 可以通过命令行解释器使用管道将多个小型,简单和模块化的程序线程化在一起,而使用包含所有相同功能的单个整体程序则相反;
Unix Philosophy:Unix操作系统的可移植性(帮助Unix在其他研究,学术和商业环境中的快速采用)使某些操作系统的核心设计概念吸引了程序员和用户 。Unix哲学是针对软件模块化设计,其思想是可以将小型的,专门构建的程序组合起来,以处理大型和复杂的任务 。因为Unix是围绕管道和文件设计的,所以这种将程序的输入和输出"插入"到输入的直接操作集的方法今天仍然很流行 。实际上,当前的云功能即服务(FaaS)/无服务器体系架构起源于Unix思维方式 。
"尽管不能用一句话写下哲学,但其核心思想是系统的力量更多地来自程序之间的关系,而不是程序本身 。许多Unix程序孤立地完成琐碎的事情,但与其他程序结合在一起,成为通用且有用的工具 。"– Brian Kernighan和Rob Pike(开发Unix的主要贡献者) 。
Unix体系结构:如果了解了Unix的架构,基本上可以说对所有的操作系统就都有了一个认知 。
文章插图
Unix的主控制程序是其内核 。内核可以完全控制整个系统,是操作系统的心脏,并充当用户和硬件之间的接口 。每个内核子系统都具有某些功能,例如并发,虚拟内存,分页和虚拟文件系 。在体系结构的外层,具有"外壳"(shell)、命令和应用程序 。Shell是用户和内核之间的接口 。Shell和用户键入命令,解释这些命令并相应地调用计算机程序 。
Unix的历史:由于肯·汤普森于1970年代开始在伯克利大学"休假",许多Unix的故事就从这里开始了,在伯克利期间汤普森继续Unix研究并发布了版本,从而创建了Berkeley Software Distribution,即BSD(最初,BSD并未想和AT&T Unix竞争) 。1979年2BSD(第二个Berkeley软件发行版)问世时,Berkeley研究生Bill Bill Joy提供了更多程序,如vi和C shell(/bin/csh),商业化的Unix产品在1980年代和1990年代初变得很普遍 。随着Unix家族树的不同分支的形成,随之而来的是"Unix战争" 。。。可以关于Unix的战争可以说很久(现在的苹果macOS操作系统是从BSD派生的),甚至可以拍一部"宫廷剧"(给美国短暂的历史增加一些戏码),但这超出了本文的范围(和篇幅),我就此打住,就知道版本多,主权复杂就好了 。
文章插图
Unix最主要的特点:Unix是一个多任务,多用户计算机操作系统家族,它可以用作工作站和服务器中的主控制程序 。但是Unix并不是开源软件,这意味着任何想要使用它的人都需要向拥有它机构购买许可证 。
什么是Linux?——开源软件之父
推荐阅读
- 基于Linux系统的高可用中小型网站集群架构说明
- 重装系统竟如此简单?你还在为这些事儿浪费时间吗
- 茶友分享布朗山系茶,吉普号2013年布朗秋韵开汤
- 点评2021款天梭绅士系列Gentleman Powermatic 80腕表
- 基本医保关系转移接续7问7答
- CentOS7下部署滴滴云开源运维监控系统-Nightingale
- Linux世界——ssh登录安全简单介绍
- Linux下防御DDOS攻击的操作梳理
- 系统管理员不得不掌握的 9 个 kubectl 命令
- Centos8/rhel8 系列重置 root 密码