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

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

目标

  • 了解操作系统的发展历史
  • 知道 Linux 内核及发行版的区别
  • 知道 Linux 的应用领域

01. 操作系统的发展历史

1.1 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.Ritchie 在 B 语言 的基础上最终设计出了一种新的语言,他取了 BCPL 的第二个字母作为这种语言的名字,这就是 C 语言
  • 1973 年初,C 语言的主体完成,Thompson 和 Ritchie 迫不及待地开始用它完全重写了现在大名鼎鼎的 Unix 操作系统

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

C 语言

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

    • 机器语言和汇编语言都不具有移植性,为 x86 开发的程序,不可能在 Alpha,SPARC 和 ARM 等机器上运行
  • 而 C 语言程序则可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的 C 语言编译器和库,然后将 C 源代码编译、连接成目标二进制文件之后即可运行

Unix 家谱

1.2 Minix

  • 因为 AT&T(通用电气) 的政策改变,在 Version 7 Unix 推出之后,发布新的使用条款,将 UNIX 源代码私有化,在大学中不再能使用 UNIX 源代码
  • Andrew S. Tanenbaum(塔能鲍姆) 教授为了能 在课堂上教授学生操作系统运作的细节,决定在不使用任何 AT&T 的源代码前提下,自行开发与 UNIX 兼容的操作系统,以避免版权上的争议
  • 以 小型 UNIX(mini-UNIX)之意,将它称为 MINIX

1.3 Linux

  • 1991 年 林纳斯(Linus) 就读于赫尔辛基大学期间,对 Unix 产生浓厚兴趣,尝试着在Minix 上做一些开发工作
  • 因为 Minix 只是教学使用,因此功能并不强,林纳斯 经常要用他的终端 仿真器(Terminal Emulator) 去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件系统,这些在后来成为了 Linux 第一个内核的雏形,当时,他年仅 21 岁!
  • 林纳斯 利用 GNU 的 bash 当做开发环境,gcc 当做编译工具,编写了 Linux 内核,一开始 Linux 并不能兼容 Unix
    • 即 Unix 上跑的应用程序不能在 Linux 上跑,即应用程序与内核之间的接口不一致
    • 一开始 Linux 只适用于 386,后来经过全世界的网友的帮助,最终能够兼容多种硬件

02. Linux 内核及发行版

2.1 Linux 内核版本

  • 内核(kernel)是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层
  • Linux 内核版本又分为 稳定版 和 开发版,两种版本是相互关联,相互循环
    • 稳定版:具有工业级强度,可以广泛地应用和部署。新的稳定版相对于较旧的只是修正一些 bug 或加入一些新的驱动程序
    • 开发版:由于要试验各种解决方案,所以变化很快
  • 内核源码网址:http://www.kernel.org

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

2.2 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确立了难以企及的严格标准

03. Linux 的应用领域

3.1 服务器领域

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

3.2 嵌入式领域

  • 近些年来 Linux 在嵌入式领域的应用得到了飞速的提高
  • Linux 运行稳定、对网络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百 KB 等特点,使其近些年来在嵌入式领域的应用得到非常大的提高

主要应用:机顶盒、数字电视、网络电话、程控交换机、手机、PDA、等都是其应用领域,得到了 Google、三星、摩托罗拉、NEC 等公司的大力推广

3.3 个人桌面领域

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

在 Ubuntu 中玩 QQ

原文地址:https://www.cnblogs.com/dreamer-lin/p/10752753.html

时间: 2024-10-31 01:38:18

2操作系统的发展史(科普章节)的相关文章

037_操作系统的发展史

内容回顾 C/S和B/S架构 osi五层模型 应用层 自定义协议(struct) _ 解决黏包 验证客户端合法性 _ hmac os.urandom 解决TCP协议的server端并发问题 _socketserver socket 传输层 端口 在一台机器上唯一标识一个运行中的网络程序 tcp??三次握手 四次挥手 黏包问题 udp 四层交换机 四层路由器 网络层 ip协议 ip 网关ip 子网掩码 路由器 三层交换机 数据链路层 arp协议 ip-->mac??广播单播 网卡 交换机 广播 组

计算机与操作系统的发展史

操作系统简介什么是操作系统 精简的说的话,操作系统就是一个协调.管理和控制计算机硬件资源和软件资源的控制程序 操作系统位于计算机硬件与应用软件之间,本质也是一个软件.操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组成,所以,单纯的说操作系统是运行于内核态的,是不准确的 操作系统应该分成两部分功能 #一:隐藏了丑陋的硬件调用接口,为应用程序员提供调用硬件资源的更好,更简单,更清晰的模型(系统调用接口).应用程序员有

操作系统的发展史

1,手工操作--穿孔卡片 特点:(1)用户独占全机.不会出现因资源已被其他用户占用而等待的现象,但资源利用率低. (2)cpu等待手工操作.cpu的利用不充分 2,批处理--磁带存储(串行) 2.1,联机批处理系统(读磁带的速度很快):即作业的输入/输出由cpu来处理,主机与输入机之间增加一个存储设备(磁带),在运行与主机的监督程序的自动系统下,计算机可自动完成. 但,在作业输入和结果输出时,主机的高速的CPU仍处于空闲状态,等待慢速的输入/输出设备的完成工作:主机处于'忙等'状态. 2.2,脱

python之路——操作系统的发展史

阅读目录 手工操作 -- 穿孔卡片 批处理 -- 磁带存储和批处理系统 多道程序系统 分时系统 实时系统 通用操作系统 操作系统的进一步发展 操作系统的作用 手工操作 -- 穿孔卡片 1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式.此时还没有操作系统的概念.     程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行:计算完毕,打印机输出计算结果:用户取走结果并卸下纸带(

python——操作系统的发展史

一.手工操作 —— 穿孔卡片 1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式.此时还没有操作系统的概念.    程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行:计算完毕,打印机输出计算结果:用户取走结果并卸下纸带(或卡片)后,才让下一个用户上机. 手工操作方式两个特点: (1)用户独占全机.不会出现因资源已被其他用户占用而等待的现象,但资源的利用率低. (2)CPU

简述操作系统的发展史

简述点: 1.人工操作方式 用户独占全机,CPU等待人工操作:人工操作严重降低了计算机资源的利用率,所谓人机矛盾. 2.脱机输入/输出(I/O)方式 引入磁带,将数据程序输入待磁带上,需要程序和数据时,再从磁带上高速调入内存. 输入输出方式:联机输入/输出方式, 优点:减少CPU的空闲时间:提高I/O速度. 3.单道批处理系统 流水线式的工作, 单道批处理系统是解决人机矛盾和CPU与I/O设备速度不匹配矛盾的过程中形成的: 批处理系统旨在提高系统资源的利用率和系统吞吐量. 缺点:系统资源不能够充

0909对操作系统的认识

作为一个初学者,我对操作系统这个概念不是很清楚,从网上查阅了一些资料大概了解到什么是操作系统,操作系统是用户和计算机之间的界面,是对所有系统资源进行管理的程序的集合.它管理所有的硬件和软件资源 ,且为用户提供了一个抽象概念上的计算机.我们为什么要学操作系统?原因是在操作系统的帮助下, 我们在使用计算机时可以避免了对计算机系统硬件的直接操作.如果我们是和计算机有关的从业人员,很多时候我们在做一些工程有很多东西都跟操作系统有联系,想要在这个领域能够有一点成绩的话,学好操作系统是必须的,它会使我们事半

操作系统的网络基础

一.为什么要有操作系统操作系统是安装在一堆硬件之上,给应用程序提供底层环境,帮助应用程序操作硬件的软件系统,更简化了程序员的工作:工作在用户态的应用程序是不能抛开操作系统运行的. 二.操作系统的组成 操作系统位于计算机硬件和应用软件之间,从本质上说他也是一种软件系统,操作系统是有内核程序(运行于内核态).各种接口组成(运行于用户态,给应用程序提供系统调用). 三.操作系统的发展史1.真空管和穿卡打孔无操作系统:1946年第一台计算机诞生--20世纪50年代中期,还未出现操作系统,计算机工作采用手

0909 对操作系统的初步了解

操作系统是直接作用于硬件之上,操作系统还是软件系统的核心,是各种软件的基础运行平台. 由此可看出操作系统的重要性,因此我们要学好操作系统这一门课程,只有学好这一门课才能够熟悉每一个软件在何种系统下运行,有利于各种软件的开发,操作系统已经成为现代计算机系统不可分割的重要组成部分,因此,对于计算机系专业的学生来说,学习操作系统是必不可少的. 我们应该怎样学好操作系统这一门课呢?首先,我们要了解操作系统的作用,其次,要对操作系统有兴趣,主动去了解操作系统的历史,对于学习来说,兴趣这种东西是最重要的,只