01 极简Linux操作系统发展历史

Unix操作系统的诞生

1965 年之前的时候,电脑并不像现在一样普遍,它可不是一般人能碰的起的,除非是军事或者学院的研究机构,而且当时大型主机至多能提供30台终端(30个键盘、显示器),连接一台电脑。

【为了解决数量不够用的问题】

1965 年左后由 贝尔实验室 加入了 麻省理工学院 以及 通用电气 合作的计划 —— 该计划要建立一套 多使用者(multi-user)多任务(multi-processor)多层次(multi-level)MULTICS 操作系统,想让大型主机支持 300 台终端。

1969 年前后这个项目进度缓慢,资金短缺,贝尔实验室退出了研究。

1969 年从这个项目中退出的 Ken Thompson 当时在实验室无聊时,为了让一台空闲的电脑上能够运行 "星际旅行(Space Travel)" 游戏,在 8 月份左右趁着其妻子探亲的时间,用了 1 个月的时间,使用汇编写出了 Unix 操作系统的原型。

1970 年,美国贝尔实验室的 Ken Thompson,以 BCPL 语言为基础,设计出很简单且很接近硬件的 B 语言(取BCPL的首字母),并且他用 B 语言 写了第一个 UNIX 操作系统。

1971 年,同样酷爱 "星际旅行(Space Travel)" 的 Dennis M.Ritchie 为了能早点儿玩上游戏,加入了 Thompson 的开发项目,合作开发 UNIX,他的主要工作是改造 B 语言,因为B 语言 的跨平台性较差

1972 年,Dennis M.RitchieB 语言 的基础上最终设计出了一种新的语言,他取了 BCPL 的第二个字母作为这种语言的名字,这就是 C 语言。

1973 年初,C 语言的主体完成,ThompsonRitchie 迫不及待地开始用它完全重写了现在大名鼎鼎的 Unix 操作系统。

肯·汤普逊(左)和丹尼斯·里奇(右)

C语言的诞生

在把UNIX移植到其他类型的计算机上使用时,C 语言强大的移植性(Portability)在此显现。

机器语言和汇编语言都不具有移植性,为 x86 开发的程序,不可能在 Alpha,SPARC 和 ARM 等机器上运行

C 语言程序则可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的 C 语言编译器和库,然后将 C 源代码编译、连接成目标二进制文件之后即可运行

Minix的诞生

因为 AT&T(通用电气) 的政策改变,在 Version 7 Unix 推出之后,发布新的使用条款,将 UNIX 源代码私有化,在大学中不再能使用 UNIX 源代码

Andrew S. Tanenbaum(塔能鲍姆) 教授为了能 在课堂上教授学生操作系统运作的细节,决定在不使用任何 AT&T 的源代码前提下,自行开发与 UNIX 兼容的操作系统,以避免版权上的争议

小型 UNIX(mini-UNIX)之意,将它称为 MINIX

Unix操作系统家族进化史

Linux的诞生

1991 年 林纳斯(Linus) 就读于赫尔辛基大学期间,对 Unix 产生浓厚兴趣,尝试着在Minix 上做一些开发工作

因为 Minix 只是教学使用,因此功能并不强,林纳斯 经常要用他的终端 仿真器(Terminal Emulator) 去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件系统,这些在后来成为了 Linux 第一个内核的雏形,当时,他年仅 21 岁。

林纳斯·本纳第克特·托瓦兹

它利用 GNU 的 bash 当做开发环境,gcc 当做编译工具,编写了 Linux 内核,一开始 Linux 并不能兼容 Unix

----------  即 Unix 上跑的应用程序不能在 Linux 上跑,即应用程序与内核之间的接口不一致

---------- 一开始 Linux 只适用于 386,后来经过全世界的网友的帮助,最终能够兼容多种硬件

Linux 内核及发行版

Linux 内核版本

  • 内核(kernel)是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层
  • Linux 内核版本又分为

    稳定版和开发版

    两种版本是相互关联,相互循环

    • 稳定版:具有工业级强度,可以广泛地应用和部署。新的稳定版相对于较旧的只是修正一些 bug 或加入一些新的驱动程序
    • 开发版:由于要试验各种解决方案,所以变化很快
  • 内核源码网址:http://www.kernel.org
  • 所有来自全世界的对 Linux 源码的修改最终都会汇总到这个网站,由 Linus 领导的开源社区对其进行甄别和修改最终决定是否进入到 Linux 主线内核源码

Linux 发行版本

Linux 发行版(也被叫做 GNU/Linux 发行版)通常包含了包括桌面环境、办公套件、媒体播放器、数据库等应用软件

常见的发行版本如下:

  • Ubuntu
  • Tails
  • Elementary OS
  • Redhat
  • Fedora
  • openSUSE
  • Linux Mint
  • Debian
  • Manjaro
  • Mageia
  • CentOS
  • Arch

十大 Linux 服务器发行版排行榜:https://www.10besty.com/best-linux-distros/

Linux 的应用领域

服务器领域

  • Linux 在服务器领域的应用是其重要分支
  • Linux 免费、稳定、高效等特点在这里得到了很好的体现
    • 早期因为维护、运行等原因同样受到了很大的限制
    • 近些年来 Linux 服务器市场得到了飞速的提升,尤其在一些高端领域尤为广泛

嵌入式领域

  • 近些年来 Linux 在嵌入式领域的应用得到了飞速的提高
  • Linux 运行稳定、对网络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百 KB 等特点,使其近些年来在嵌入式领域的应用得到非常大的提高
  • 主要应用:机顶盒数字电视网络电话程控交换机手机PDA手表、眼镜等都是其应用领域,得到了 Google、三星、摩托罗拉、NEC 等公司的大力推广

个人桌面领域

  • 此领域是传统 Linux 应用最薄弱的环节
  • 传统 Linux 由于界面简单、操作复杂、应用软件少的缺点,一直被 Windows 所压制
  • 近些年来随着 UbuntuFedora 等优秀桌面环境的兴起,同时各大硬件厂商对其支持的加大,Linux 在个人桌面领域的占有率在逐渐的提高

Linux 和 Window

单用户操作系统和多用户操作系统

  • 单用户操作系统:指一台计算机在同一时间 只能由一个用户 使用,一个用户独自享用系统的全部硬件和软件资源

    • Windows XP 之前的版本都是单用户操作系统
  • 多用户操作系统:指一台计算机在同一时间可以由 多个用户 使用,多个用户共同享用系统的全部硬件和软件资源
    • UnixLinux 的设计初衷就是多用户操作系统

WindowsLinux 文件系统区别

Windows的文件系统

Windows 下,打开 “计算机”,我们看到的是一个个的驱动器盘符:

每个驱动器都有自己的根目录结构,这样形成了多个树并列的情形,如图所示

Linux 下的文件系统

Linux 下,我们是看不到这些驱动器盘符,我们看到的是文件夹(目录)

Ubuntu 没有盘符这个概念,只有一个根目录 /,所有文件都在它下面

什么叫做用户目录

Window系统的用户目录

在cmd下输入echo %USERPROFILE%可以查看当前系统用户目录

这边列举一些其他常用的获取系统路径的:

%WINDIR%                 {系统目录 - C:\WINDOWS}

%SYSTEMROOT%             {系统目录 - C:\WINDOWS}

%SYSTEMDRIVE%            {系统根目录 - C:}

%HOMEDRIVE%              {当前用户根目录 - C:}

%USERPROFILE%            {当前用户目录 - C:\Documents and Settings\wy}

%HOMEPATH%               {当前用户路径 - \Documents and Settings\wy}

%TMP%                    {当前用户临时文件夹 - C:\DOCUME~1\wy\LOCALS~1\Temp}

%TEMP%                   {当前用户临时文件夹 - C:\DOCUME~1\wy\LOCALS~1\Temp}

%APPDATA%                {当前用户数据文件夹 - C:\Documents and Settings\wy\Application Data}

%PROGRAMFILES%           {程序默认安装目录 - C:\Program Files}

%COMMONPROGRAMFILES%     {文件通用目录 - C:\Program Files\Common Files}

%USERNAME%               {当前用户名 - wy}

%ALLUSERSPROFILE%        {所有用户文件目录 - C:\Documents and Settings\All Users}

%OS%                     {操作系统名 - Windows_NT}

%COMPUTERNAME%           {计算机名 - IBM-B63851E95C9}

%NUMBER_OF_PROCESSORS%   {处理器个数 - 1}

%PROCESSOR_ARCHITECTURE% {处理器芯片架构 - x86}

%PROCESSOR_LEVEL%        {处理器型号 - 6}

%PROCESSOR_REVISION%     {处理器修订号 - 0905}

%USERDOMAIN%             {包含用户帐号的域 - IBM-B63851E95C9}

%PATH%    {搜索路径}

Linux系统的用户目录

位于 /home目录下,称之为用户工作目录或家目录,表示方式:

cd  /home/user
cd  ~

原文地址:https://www.cnblogs.com/zhaochengf/p/12127961.html

时间: 2024-08-17 14:01:12

01 极简Linux操作系统发展历史的相关文章

Linux 操作系统发展历程及系统版本选择

第1章 Linux简介 1.1 什么是操作系统? 简单讲:操作系统就是一个人与计算机硬件的中介. 操作系统,英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心. 操作系统的作用是管理和控制计算机系统中的硬件和软件资源,例如,它负责直接管理计算机系统的各种硬件资源,如对CPU,内存,磁盘等的管理,同时对系统资源供需的优先次序进行管理.操作系统还可以控制设备的输入,输出以及操作网络与管理文件系统

1.Linux的发展历史以及 GNUGPL和open source

发展历史: 20实际60年代:那时候的计算机一般只有在军事,科研以及学术院校才能见到,不是一般人能接触的东西.开始的时候计算机的时候的输入靠卡片阅读器,即程序开发者在卡片上打洞放入卡片阅读器上输入,在通过打印机输出,后来虽然出现了键盘输入,但是由于计算机的数量过少,大家去用计算机都需要等待很长的时间,这时MIT由此发明了一个分时系统.即一个主机多个终端,终端可以接收输入并接收主机发来的处理结果,这时候的分时其实只是在不同终端任务间进行切换. 1965年前后:后来大家觉得这样的方式,最先进的计算机

计算机和操作系统发展历史

(1)ENIARC,冯.诺伊曼原理:计算机分成五大部分 CPU:运算器,控制器,寄存器,缓存(一级,二级,三级等等) 存储器:内存\RAM(random access memory) 输入设备 输出设备 (2)程序:数据+指令,另一种角度:算法+数据结构 (3)32位CPU最多能使用4G内存空间 (4)过程式编程:顺序执行,循环执行,选择执行 (5)计算机发展经历的四代:电子管时代,晶体管时代,集成电路时代,大规模集成电路时代 (6)计算机系统类型: 批处理系统 单任务系统 多任务系统: Bel

001——操作系统发展历史

前言 早期计算机没有OS,程序直接操作硬件资源. 后来引入OS,OS本身也是靠计算机硬件执行的一种程序.OS把复杂的硬件虚拟化后提供简单的接口给应用程序使用.有OS这个程序来运行应用程序,而不是应用程序自己操作硬件. 早期单任务模式 这时候应用程序一般存放在软盘或其他介质之上.重启计算机,机器从软盘特定扇区载入应用程序执行,结果显示在显示器上.每个需要使用计算机的用户都需要经历插入软驱,重启,等待运算结果.应用程序运行期间,如果CPU空闲,其他用户的程序只能等待.可见这时候因为没有OS,每执行新

(极简)linux安装QT4.7.3

1.下载QT http://download.qt.io/ 我用的:qt-everywhere-opensource-src-4.7.3.tar.gz 2.解压安装QT 建议解压到/use/local目录 #tar jzxf qt-everywhere-opensource-src-4.7.3.tar.gz 进入解压后的目录 #./configure #make #make install 默认安装至/usr/local/Trolltech/Qt-4.7.3 3.修改所有用户环境变量 #vi /

Linux的渊源与发展历史

Linux的渊源与发展历史 1 Unix的起源及发展 Unix是较早被广泛使用的计算机操作系统之一,它的第一版于1969年由Ken Thompson在AT&T贝尔实验室实现,1973年Ken Thompson与Dennis Ritchie用C语言重写了Unix的第三版内核. 1969年,Unix系统的第一个版本(由Ken Thompson在AT&T贝尔实验室实现) 20世纪70年代末:AT&T成立Unix系统实验室 20世纪70年代末:CSRG(加州大学伯克利分校计算机系统研究小组

RancherOS正式版发布:最轻量的开源容器Linux操作系统

RancherOS正式版现已全面发布!就在此刻,一个建立在容器基础上的极简Linux发行版. RancherOS筛除了任何不必要的库和服务,因此RancherOS占用的内存是其它容器操作系统的三分之一.简化的容器环境缩减了容器的启动时间,减少组件数量使得效率和安全性得以大大提高. BRCloud Services首席执行官Helvio Lima表示:"在BRCloud Services,我们致力于提供最佳解决方案,以满足客户的需求.RancherOS体现了现代基础设施的应有面貌.我们很高兴将Ra

(59)Linux操作系统深入应用

目录: 第一部分:嵌入式的含义 第二部分:DOS命令 第三部分:linux的发展历史(与unix的关系) 第四部分: 基于ubuntu下的linux命令详解大全 第一部分:嵌入式的含义 嵌入式软件工程师学习路线: 1.什么是嵌入式? 除PC外的一切以应用为中心的专用计算机系统.(满足人们特定需求) 专用的.可裁剪性的嵌入式设备. 2.嵌入式技术的特点: 低功耗.  联网化  .RISC精简指令集CPU .  OS(linux.Android.RTOS).分层(感知层.底层硬件.OS层.应用层).

自主研发Linux操作系统是当务之急

去年11月30日,俄罗斯向我国政府建议共同联手开发自主Linux操作系统,至今时间已经过去半年,不见动静. 近年来,俄罗斯自主研发的ALT Linux操作系统发展很快,势头不错.我们应该抓住战机.搞好中.俄合作. 以往,我们业界的主要问题是:不承认Linux操作系统是自由软件.在我们的词汇里面根本没有自由软件这个词. 在如何对待自由软件Linux操作系统方面,我们应该向俄罗斯学习,放下架子. 说明:十年前的"六一儿童节",我与家人正好在俄罗斯,见到那里的小朋友快乐地度过自己的节日.明日