学习目标:
1:掌握操作系统的定义及其作用
2:了解不同领域的操作系统分类
3:了解操作系统的发展史
4:掌握Linux内核和发行版区别
学习内容:
一:操作系统的定义及其作用
- 定义:操作系统是最底层的应用软件,没有安装操作系统的计算机称之为裸机。
操作系统作为接口的示意图如图所示。
- 如果在裸机上运行自己所编写的程序,就必须使用机器语言。
- 如果安装了操作系统之后,就可以安装相应的高级语言编程环境,用高级语言完成程序开发。
作用:
- 是现代计算机系统中最重要和最基本的应用软件。
- 是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩展。
- 主要作用是管理好计算机硬件资源,并且为用户和应用程序之间提供一个简单的接口,以便于使用。
- 其他的诸如编译程序、数据库管理系统、以及大量的应用软件,都直接依赖于操作系统的支持。
二:不同应用领域的操作系统
根据应用在不同的领域,操作系统大致可以分为四类
- 桌面操作系统
- 服务器操作系统
- 嵌入式操作系统
- 移动设备操作系统
1>桌面操作系统
- Windows系列------用户群体大
- macOS--------------适合开发人员
- Linux-----------------应用软件少
2>服务器操作系统
- Linux----(安全,稳定,免费,占有率较高)
- Windows Server---(付费,占有率较低)
3>嵌入式操作系统
- Linux
4>移动设备操作系统
- IOS(苹果)
- Android(基于Linux)
三:虚拟机
定义:虚拟机(Vitural Machine)是指通过软件模拟的具有完整硬件功能的,运行在一个完全隔离环境的完整计算机系统。
- 虚拟系统通过生成现有操作系统的全新虚拟镜像,具有真实操作系统完全一样的功能。
- 进入虚拟系统之后,所有操作都是在这个全新的系统中独立进行的,可以进行独立安装运行软件,保存数据,拥有独立的桌面,不会对真正的系统产生影响。
四:操作系统发展史简介
- 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 源代码编译、连接成目标二进制文件之后即可运行
2.Minix
- 因为 AT&T(通用电气) 的政策改变,在 Version 7 Unix 推出之后,发布新的使用条款,将 UNIX 源代码私有化,在大学中不再能使用 UNIX 源代码
- Andrew S. Tanenbaum(塔能鲍姆) 教授为了能 在课堂上教授学生操作系统运作的细节,决定在不使用任何 AT&T 的源代码前提下,自行开发与 UNIX 兼容的操作系统,以避免版权上的争议
- 以 小型 UNIX(mini-UNIX)之意,将它称为 MINIX
3.Linux
- 1991 年 林纳斯(Linus) 就读于赫尔辛基大学期间,对 Unix 产生浓厚兴趣,尝试着在Minix 上做一些开发工作
- 因为 Minix 只是教学使用,因此功能并不强,林纳斯 经常要用他的终端 仿真器(Terminal Emulator) 去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件系统,这些在后来成为了 Linux 第一个内核的雏形,当时,他年仅 21 岁!
- 林纳斯 利用 GNU 的 bash 当做开发环境,gcc 当做编译工具,编写了 Linux 内核,一开始 Linux 并不能兼容 Unix
- 即 Unix 上跑的应用程序不能在 Linux 上跑,即应用程序与内核之间的接口不一致
- 开始 Linux 只适用于 386,后来经过全世界的网友的帮助,最终能够兼容多种硬件
五:Linux内核及发行版
1>Linux内核(只有一个)
- 内核(kernel)是系统的心脏,是运行程序和管理磁盘和硬件资源的核心程序,它提供了一个在裸设备和应用程序之间的抽象层。
- Linux内核版本又分为稳定版和开发版,两种版本相互关联,相互循环。
- 稳定版:具有工业级强度,可以广泛的应用和部署,新的稳定版相对于较旧的只是修改一些bug或加入一些新的驱动程序。
- 开发版:由于实验各种解决方案,所以变化很快。
2>Linux发行版本(可以有好多个)
- Linux发行版(也称为GNU),通常包含桌面环境,办公套件,媒体播放器,数据库等应用软件。
- 常见的发行版本如下:
Ubuntu
Redhat
Fedora
openSUSE
Linux Mint
Debian
Manjaro
Mageia
CentOS
Arch
学习时间
2021.3.30-2021.3.31日完成
学习产出:
- 学习了操作系统的定义,作用
- 针对不同的应用领域,学习了操作系统的分类
- 对Linux操作系统的发展简史进行了总结,并且给出发行版本和内核的概念。
- 努力不一定成功,但是不努力肯定不会成功,加油!!!