【一】什么是操作系统
- Operating System(操作系统) 简称OS
- Windows,MacOS,Linux都是操作系统
- 操作系统(Operating System)是计算机系统中的核心软件,它管理并控制计算机硬件和软件资源,为用户和应用程序提供统一的接口和环境。
- 操作系统负责调度任务、分配内存、管理文件系统、提供网络连接等功能,以确保计算机系统正常运行。
【二】什么是BootLoader
- 在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境
- 一般在计算机启动的时候,选择启动Linux还是Windows的BootLoader是GRUB
- 如果没有选择,GRUB会在几秒后启动默认的操作系统
- BootLoader是计算机系统引导程序的一部分,主要用于启动操作系统。
- 它位于计算机系统的固定存储介质(如硬盘或固态硬盘)的特定位置,并在计算机开机时首先加载到计算机内存中执行。
- BootLoader负责初始化硬件设备、建立内存空间映射图,从而为操作系统内核运行准备好正确的环境。
- 常见的启动加载程序包括GRUB(通用引导加载程序)和UEFI(统一固件接口)等。
【三】Linux和Windows的软件
- windows系统下的软件,不能在Linux上运行,Linux上的软件不能在windows上运行
- Linux上的软件,基本上都是免费的
- Linux上软件,更新更频繁,且免费
- Linux上软件,效率更高
- 在操作系统上运行的软件通常需要根据操作系统的特性和架构进行开发和适配。
- 因此,Windows系统下的软件通常无法直接在Linux上运行,而Linux上的软件也不能直接在Windows上运行。
- 这是因为两个操作系统之间的API(应用程序接口)和底层工作机制存在差异。
- 在Linux上,许多软件是开源的,并且可以免费使用和自由传播。
- 这使得Linux成为开发人员和用户的首选平台之一。
- Linux上的软件更新频繁,社区支持良好,因此在功能、性能和安全性方面具有很高的优势。
- Windows系统上的软件通常是商业软件,并且有许可证限制。
- Windows作为桌面操作系统和游戏平台广泛应用,支持各种商业软件和游戏开发。
- Windows软件也借助于图形用户界面和丰富的应用程序生态系统,为用户提供了友好的交互体验。
【四】操作系统发展
- 1984年,微软发布了第一个操作系统-->MS-DOS
- 1980年,西雅图电脑产品公司(Seattle Computer Products)的一名24岁的程序员蒂姆·帕特森(Tim Paterson)花费了四个月时间编写出了86-DOS操作系统
- 在1981年7月27日,比尔盖茨完全获得了一个叫做Seattle Computer Systems(西雅图计算机系统公司)的“Quick and Dirty Operating System”,简称QDOS的授权,花费5w美元。后来该操作系统被称作MS-DOS
- 同时代,1969年(1970年,计算机元年)起,也有一款比较出名的操作系统叫Unix
- 1968年 Multics项目
- MIT、Bell实验室、美国通用电气有限公司走到了一起,致力于开发Multics项目。到后期由于开发进度不是很好,MIT和Bell实验室相继离开这个项目的开发,最终导致项目搁浅。
- 1970年(Unix元年,时间戳) Unix诞生
- 当时在开发Multics项目的时候,实验室中有一个开发成员开发了一款游戏(travel space:遨游太空),因为两个实验室相继离开项目开发,导致这名开发人员没法玩游戏,后来他提议组织人员重新在Multics项目之上重新的开发,也就出现了1970年的Unix。当时Unix操作系统是使用的汇编语言(机器语言)开发的。
- 1973年 用C语言重写Unix
- 因为汇编语言有一个最大的局限性:对于计算机硬件过于依赖。导致移植性不好,所以后期在1973年使用了C语言对其进行重新开发。
- 1975年 Bell实验室允许大学使用Unix。
- 1975年,bell实验室允许大学使用Unix操作系统用于教学作用,而不允许用于商业用途。
- 在1984年,微软发布DOS的同时,理查德·马修·斯托曼(Richard Matthew Stallman, RMS)创立了GUN项目
- GNU项目 (牛羚),GNU is not Unix的缩写,目的是创建一个类Unix的操作系统,因为unix不是免费的,商业收费,刚开始学校教学免费使用,后来不免费了,价格比较贵(MacOS是类Unix操作系统)
- 理查德·马修·斯托曼:1953年出生,自由软件运动的精神领袖、GNU计划以及自由软件基金会(Free Software Foundation)的创立者、著名黑客,代表作:Emacs编辑器,GCC编译器,GDB调试器
- 自由的和免费的
- 自由的意味着源代码必须公开(windows和macos是私有的)
- 自由软件大部分是免费的,但是可以复制,修改,出售
- 1991年 Linux的开发作者,Linux之父,李纳斯·托瓦兹。Linux诞生时是荷兰在校大学生。
- 1991年 0.0.1版本
- 李纳斯当时学校使用的就是Unix操作系统,然后其对系统的底层代码进行了修改,放到了学校为学生开放的网站上,原先他把文件命名写成了Linus’s Unix,后期网络管理发现之后觉得这个名字不好,自己手动的将名字改成Linux。随后其他同学下载之后发现这个版本还是挺好用的,随后都把自己代码贡献给李纳斯。
- 1992年 0.0.2版本
- 1994年 1.0版本
- 2003年 2.6版本
- 1991年 0.0.1版本
- Linux吉祥物企鹅
- 李纳斯以前在澳大利亚被一只企鹅咬过
- 操作系统的发展历经多个阶段和里程碑。早期的操作系统如UNIX和MS-DOS开创了个人计算机时代的先河。
- 1969年,Unix操作系统诞生于AT&T贝尔实验室,它开创了多用户和多任务操作系统的先河,并且在学术界和商业领域广受欢迎。Unix的核心思想和设计哲学对后来的操作系统产生了深远影响。
- 1981年,微软从西雅图电脑产品公司购买了一个简单的操作系统86-DOS,并推出了自己的变种MS-DOS,成为当时个人计算机上最流行的操作系统。
- 1984年,Apple推出了Macintosh计算机,并搭载了基于图形用户界面的操作系统MacOS。MacOS的出现引领了个人计算机界面设计的革命,并对后来的操作系统产生了重大影响。
- 在GNU项目创始人理查德·马修·斯托曼(Richard Matthew Stallman)的领导下,自由软件运动兴起。1985年,GNU项目宣布创建一个完整的类Unix操作系统,包括操作系统内核和应用程序工具集。
- 1991年,芬兰大学生Linus Torvalds开发并发布了Linux内核,这一事件标志着Linux操作系统的诞生。后来,Linux与GNU项目合作,通过将GNU工具与Linux内核结合,形成了现代的Linux操作系统。
- 操作系统的发展不仅在个人计算机上取得了重要突破,也在服务器、移动设备和嵌入式系统等各个领域取得了广泛应用。目前,各种操作系统如Windows、Linux、macOS和Android等都在不断演进和创新。
【五】Linux和GNU的联系
- 这两个项目是互补的,Linus其实就写了一个类Unix内核
- 1991年GNU项目已经创建了不少操作系统外网软件,比如cp命令,rm命令,GCC,GDB等--》好比Linux就是人的骨骼,GUN就是血肉
- 后来完善Linux的工作就由Linus和广大开源社区的黑客们
- GNU项目+Linux内核=完整的操作系统,我们现在叫的Linux一般都是指GUN项目+Linux内核
- Linux和GNU项目是互补关系,在形成完整的操作系统时发挥了重要作用。
- GNU项目早期已经开发了大量的操作系统工具和应用程序,如shell、编译器、调试器等。这些工具被广泛用于各种UNIX系统上。
- Linus Torvalds开发了Linux内核,而GNU项目则为Linux提供了丰富的软件工具集。
- 因此,将GNU工具与Linux内核结合起来,形成了现代使用广泛的Linux操作系统。
- 通常所称的Linux操作系统,是指GNU项目的软件工具和Linux内核的组合。
- GNU提供了Linux上运行的基本的shell、命令行工具、图形界面环境等,而Linux内核负责底层任务调度、设备驱动等功能。
- Linux和GNU的结合为用户提供了强大的开源操作系统平台,充分发挥了自由软件的优势,同时也受益于GNU项目对自由软件的推动和支持。
【六】Linux内核
- 上述所提及的版本号并不是分支版本,而是指Linux的内核版本。
- Linux内核网站(现在最新5.x版本,3.x多一些,原来2.x多,现在docker要跑在3上)
- Linux内核是Linux操作系统的核心部分,由Linus Torvalds及其他开发人员维护和更新。
- Linux内核不同于Linux发行版(如Ubuntu、Fedora),它是操作系统的基础,负责管理计算机硬件和提供操作系统服务。
- Linux内核的每个版本都有一个特定的版本号,例如5.x版本、3.x版本等。在该版本的基础上,开发者不断改进和优化Linux内核,修复漏洞、增加新功能以及提高系统性能。
- 为了方便获取最新的Linux内核版本,用户可以访问Linux内核官方网站https://www.kernel.org/。
【七】各个操作系统的关系
- MacOS和Linux是基于Unix的意思是复刻了Unix的运行模式,源代码是不通的
- 目前Windows的版本是基于革命性的Windows NT内核
- MacOS和Linux是基于Unix的操作系统,它们在设计和运行模式上具有相似之处,因此可以互相借鉴和衍生。
- 然而,MacOS和Linux是两个独立的操作系统,它们的源代码、开发和管理机制都不同。
- Windows操作系统采用了自己的Windows NT内核,与Unix和Unix-like系统有很大的区别。
- Windows NT内核是Microsoft专门为Windows操作系统开发的,它具有与Unix不同的特性和工作机制。
【八】Linux发行版和区别
- 因为Linux是开源自由软件
- 所以基于开源的代码可以定制属于自己的Linux系统
- 所以Linux的版本特别多
-
Linux不同发行版的区别(centos 乌班图 麒麟。。)
- 安装方式不一样,有的简单,有的复杂
- 安装应用程序的方式也不一样 (yum apt-get)
- 预装的应用程序不一样 ()
-
不同发行版使用的Linux内核一样
- 我们现在说的Linux其实都是指的是发行版(Distribution version),就是使用Linux内核加上各种GNU的库文件、应用程序,构造而成的操作系统
- 可以想象成同一个人(Linux内核),穿不通的衣服裙子羽绒服(软件)
-
不同发行版有的免费,有的收费
-
不同发行版
- Red Hat:性能稳定,老牌的Linux发行版,RHEL收费,是red hat的企业版,源代码是开放的,收费是因为长期升级更新服务
- 现在Red Hat分两个系列:一个是red hat公司提供收费技术支持的RHEL,另一个是社区开放的免费版Fedora,每半年发行一次,由于发行频繁导致性能不太稳定,企业一般不选用Fedora
- Centos:算是RHEL的克隆版,社区企业级操作系统, 改与Redhat, 完全开源,兼具社区和企业特性,融合了Fedora和redhat优点,长期支持,大规模使用稳定,企业普遍使用,特别适合做服务器
- Deepin:深度,中国发行
- Debian:迄今为止,最遵循GUN规范的Linux系统
- Ubuntu :Debian一个后继或分支,社区维护, 现在主要做手机系统和电脑桌面系统。
graph TD;
-
Linux--> Debian
Linux--> RedHat
Linux--> Deepin深度 -
RedHat--> RHEL
RedHat--> CentOS
RedHat--> Fedora