目标

了解操作系统的发展历史

知道 Linux 内核及发行版的区别知道 Linux 的应用领域

01. 操作系统的发展历史1.1 Unix

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

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

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

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

1969 年从这个项目中退出的 Ken Thompson 当时在实验室无聊时,为了让一台空闲的电脑上能够运行 "星际

旅行(Space Travel)" 游戏,在 8 月份左右趁着其妻子探亲的时间,用了 个月的时间,使用汇编写出了

Unix 操作系统的原型

1970 年,美国贝尔实验室的 Ken Thompson,以 BCPL 语言为基础,设计出很简单且很接近硬件的 语言

(取BCPL的首字母),并且他用 语言 写了第一个 UNIX 操作系统

1971 年,同样酷爱 "星际旅行(Space Travel)" 的 Dennis M.Ritchie 为了能早点儿玩上游戏,加入了

Thompson 的开发项目,合作开发 UNIX,他的主要工作是改造 语言,因为语言 的跨平台性较差

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

1973 年初,语言的主体完成,Thompson 和 Ritchie 迫不及待地开始用它完全重写了现在大名鼎鼎的

Unix 操作系统

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

语言

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

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

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

Unix 家谱

1.1 Minix

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

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

以 小型 UNIXmini-UNIX)之意,将它称为 MINIX

1.2 Linux

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

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

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

Unix

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

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

01. Linux 内核及发行版

2.1 Linux内核版本

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

Linux 内核版本又分为 稳定版 和 开发版,两种版本是相互关联,相互循环

稳定版:具有工业级强度,可以广泛地应用和部署。新的稳定版相对于较旧的只是修正一些 bug 或加入一些新的驱动程序

开发版:由于要试验各种解决方案,所以变化很快内核源码网址:http://www.kernel.org

所有来自全世界的对 Linux 源码的修改最终都会汇总到这个网站,由 Linus 领导的开源社区对其进行甄别和修改最终决定是否进入到 Linux 主线内核源码中

2.1 Linux发行版本

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

常见的发行版本如下:

Ubuntu Redhat Fedora openSUSE Linux Mint Debian Manjaro Mageia CentOS Arch

十大 Linux 服务器发行版排行榜:http://os.51cto.com/art/201612/526126.htm

在几乎每一份与 Linux 有关的榜单上,基于 Debian 的 Ubuntu 都占有一席之位。Canonical 的Ubuntu 胜过其他所有的 Linux 服务器发行版 ―― 从简单安装、出色的硬件发现,到世界级的商业支持,Ubuntu确立了难以企及的严格标准

01. Linux 的应用领域

3.1 服务器领域

Linux 在服务器领域的应用是其重要分支

Linux 免费、稳定、高效等特点在这里得到了很好的体现早期因为维护、运行等原因同样受到了很大的限制

近些年来 Linux 服务器市场得到了飞速的提升,尤其在一些高端领域尤为广泛

3.2 嵌入式领域

近些年来 Linux 在嵌入式领域的应用得到了飞速的提高

Linux 运行稳定、对网络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百 KB

等特点,使其近些年来在嵌入式领域的应用得到非常大的提高

主要应用:机顶盒、数字电视、网络电话、程控交换机、手机、PDA、等都是其应用领域,得到了

Google、三星、摩托罗拉、NEC 等公司的大力推广

3.3 个人桌面领域

此领域是传统 Linux 应用最薄弱的环节

传统 Linux 由于界面简单、操作复杂、应用软件少的缺点,一直被 Windows 所压制

近些年来随着 UbuntuFedora 等优秀桌面环境的兴起,同时各大硬件厂商对其支持的加大,Linux 在个人桌面领域的占有率在逐渐的提高

在 Ubuntu 中玩 QQ

Linux 操作系统的发展史(科普章节)相关推荐

  1. Linux内核与Linux操作系统的区别,[科普] Linux 的内核与 Linux 系统之间的关系

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 在 FHS 协议里,有这样的规定: /bin/ 需要在单用户模式可用的必要命令(可执行文件):面向所有用户,例如: cat. ls. cp. /boot/ ...

  2. 操作系统的发展史(科普章节)

    操作系统的发展史(科普章节) 作者:一直特立独行的猫1994 目标 了解操作系统的发展历史 知道 Linux 内核及发行版的区别 知道 Linux 的应用领域 01. 操作系统的发展历史 1.1 Un ...

  3. Linux 系统发展史小览 (与Unix区别科普文)

    不少人虽然知道 Unix.Linux等操作系统,甚至可能是技术高手,但知道它们之间那千丝万缕关系的人并不多.其实, Unix,Linux,macOS甚至 iOS.Android 这些操作系统的渊源都颇 ...

  4. 新手学堂:Linux操作系统的启动步骤说明

    1.读取MBR的信息,启动Boot Manager Windows使用NTLDR作为Boot Manager,如果您的系统中安装多个版本的Windows,您就需要在NTLDR中选择您要进入的系统. L ...

  5. Linux学习记录-01(Linux系统发展史)

    对计算机一直感觉很神秘,想要学习,奈何不是计算机专业出身,最近决定开始学习,也算是充实一下自己,希望自己可以坚持下去. 一.Linux系统 Linux是一套免费使用和自由传播的类Unix操作系统,是一 ...

  6. 七种操作系统的发展史及特点

    七种操作系统的发展史及特点 CP/M 系统篇 CP/M 其实就是第一个微机操作系统,享有指挥主机.内存.磁鼓.磁带.磁盘.打印机等硬设备的特权.通过控制总线上的程序和数据,操作系统有条不紊地执行着人们 ...

  7. 计算机与linux操作系统的发展

    一.计算机 (一)计算机的概念 1.概念:计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能.是能够按照程序运行,自动.高速 ...

  8. 常用Linux操作系统的发展历史

    文件目录 文件权限 特权文件suid,sgid,sbit Linux操作系统 Linux发展史及简介 Linux简单介绍 Linux发展史 Linux族谱 Linux重要人物 Linux与Unix的渊 ...

  9. Linux内核发展史和linux发行版

    参考链接:Linux内核发展史(1)和Linux内核简介.版本号.发布历史及发行版 一.巨人的肩膀 其实,除了之前提到的Minix系统外,Linux系统本身也是站在巨人的肩膀上,在它发布之前操作系统就 ...

最新文章

  1. goto VS longjmp setjmp
  2. 在世界第二届半机械人奥运会上,瘫痪驾驶员在Cybathlon BCI竞赛中争夺金牌
  3. python基础语法有哪些-python有哪些语法元素
  4. 快速实现移动端短视频功能?没你想得那么难!
  5. python编程基础_月隐学python第一课
  6. 轮廓检测_轮廓检测| Richer Convolutional Features | CVPR | 2017
  7. 浅谈HTTPS以及Fiddler抓取HTTPS协议
  8. 短视频的运营团队分为三种
  9. 最新快手面试题(含总结):设计模式+红黑树+Java锁+Redis等
  10. Python时间戳与时间字符串互相转换实例代码
  11. 北理工c语言作业 2048,C语言实现2048小游戏
  12. 网易云(HTML+CSS)
  13. 使用萤石云的出现设备不在线问题的解决方法
  14. TypeError: format expected at most 2 arguments, got 7
  15. 分享几个在线生成头像的网站
  16. BAT机器学习面试1000题系列(第1~305题
  17. React中实现类似v-click-outside效果
  18. 【JavaEE】进入Web开发的世界-HTML
  19. 【MATLAB教程案例43】初识matlab中三维数据处理相关函数——plot3,surf,mesh,isosurface,slice等
  20. Tinymce 编辑器中字数统计问题,统计所有字符(包括数字,字母。。。)

热门文章

  1. 绽家斩获天猫金妆奖,若羽臣全链路赋能新品牌高效增长
  2. TensorFlow的运行机制
  3. Myeclipse中如何创建spring配置文件
  4. nginx upstream完整交互源码分析
  5. python中常见的漏洞_注意!Python中的10个常见安全漏洞及修复方法
  6. c语言多条件查找,Vlookup函数实现多条件查找,又有新方法了!
  7. QT居中显示一张图片
  8. ios获取新数据要不要关_切记,iPhone 不要滑动关后台 !
  9. JDBC——连接mysql的报错处理(Mysql8.0以上的报错处理)
  10. 深度学习之检测苹果、橙子和香蕉并语音输出结果(Python+PaddleDetection)