一文全面讲清操作系统,附各类操作系统(windows、macOS 、ChromeOS等应知应会)

首先我们来了解一下操作系统定义。根据百度百科的定义,操作系统是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序。

在计算机中,操作系统是其最基本也是最为重要的基础性系统软件。根据定义我们可以发现操作系统与其他计算机软件存在本质的区别。相比于其他软件,操作系统是最贴近硬件的第一层软件,虽属于系统软件,却又不同于其他的系统软件,其他系统软件都受操作系统的管理和控制,得到操作系统的支持和服务;

操作系统在计算机系统中处于承上启下的地位,向下衔接硬件层的物理设备,向上为应用软件提供运行环境;操作系统实现计算机软件运行、外设与资源管理、资源利用效率最大化;

操作系统从应用场景或者运行环境划分,桌面、服务器、移动终端、嵌入式操作系统等。

接下来再简单介绍一下操作系统结构,不同体系的操作系统,结构上略有差异,比如windows操作系统主要分为内核,硬件抽象层(HAL),执行体和大量的子系统。Unix操作系统从结构上可以分为内核层、系统调用层和应用层。Linux操作系统则主要包括内核、Shell、文件系统和应用程序四个部分。

可以看出,无论是windows,还是unix、Linux,内核都是其最基础的核心模块,用于管理系统资源。广义的操作系统包括内核(kernel)和系统应用(system programs):前者是我们想要讨论的真正的操作系统,它一直在电脑中运行着,是操作系统真正的功能部分;而系统应用作为内核的辅助存在,像之前提到的各种操作系统自带的应用程序都属于系统应用。需要说明的是,图形界面也不属于内核,操作系统的正常运行不需要图形界面,你可能见过只有黑乎乎的命令行界面的操作系统。

近年随着移动设备的发展,操作系统还出现了中间件(middleware),这是一系列提供给应用开发者各种服务的软件,或者说框架。谷歌的Android和苹果的iOS都包含了中间件,提供数据库、多媒体和图形服务。

总而言之,操作系统由以下组件构成:一直运行并发挥核心功能的内核、协助应用程序开发的中间件以及辅助计算机系统运行的各种系统软件。拿Linux来说,Linux这个词本身只表示Linux内核,基于Linux内核,并使用GNU工程各种工具和应用程序打造的操作系统称为GNU/Linux。将Linux内核与其他应用工具打包形成的操作系统称为Linux发行版,其中包含开源的GNU/Linux,也有商业闭源的操作系统。

注:GNU是一个操作系统,其内容软件完全以GPL方式发布。这个操作系统是GNU计划的主要目标,名称来自GNU's Not Unix!

GPL:GNU通用公共许可证(GNU General Public License)。

从上图可以看出操作系统在一个计算机系统中所处的一个位置,就如之前所提到的,操作系统是唯一直接和硬件打交道的软件,是承上启下的关键。在这里就图上的几个名词做一个解释:

指令集架构(ISA)(Instruction Set Architecture),也被称为计算机体系结构。执行由该ISA描述的指令的设备,例如中央处理单元(CPU),称为实现。指令集架构通常分为复杂指令集运算(Complex Instruction Set Computing,CISC);精简指令集运算(Reduced Instruction Set Computing,RISC)两大类,其中X86指令集属于CISC,而ARM指令集、MIPS指令集、RISC-V指令集都属于RISC指令集。

ABI则是应用程序二进制接口(ABI,Application Binary Interface)的简称,ABI包含了应用程序在这个系统下运行时必须遵守的编程约定。ABI总是包含一系列的系统调用和使用这些系统调用的方法,以及关于程序可以使用的内存地址和使用机器寄存器的规定。从一个应用程序的角度看,ABI既是系统架构的一部分也是硬件体系结构的重点,因此只要违反二者之一的条件约束就会导致程序出现严重错误。

操作系统主要包含5大核心功能,这也是操作系统内核的主要职责:1进程管理:决定哪个进程运行、挂起、交换等;2、内存管理:决定哪个进程得到内存;3、文件管理:检查访问权限、修改目录、路径等;4、作业管理:由用户的进程发"请求",系统根据资源的充分利用,统筹安排;以及5、设备管理:处理输入输出的请求和工作。

介绍完了操作系统的定义和一些基本概念,相信大家已经能够对操作系统的重要性有所理解了。

如上图所示,操作系统管理着计算机系统的全部硬件资源、软件资源以及数据资源。如同一座大楼的根基,操作系统是保障计算机系统、智能终端系统正常运行的最基本内核与基石。基于自有IT底层架构和标准建立起来的IT产业生态便是信创产业的主要内涵。

作为IT重要架构的操作系统本身就是对整个软硬件进行管理的一个关键性基础软件,相当于软硬件的一个整体统筹部门;将操作系统做好,上面的软件可以构建生态,下面的硬件性能可以得到优化,所以说是非常之关键。

在整个信息系统体系中,无论是产品标准体系、系统标准体系还是云平台标准体系,操作系统都处在重要的核心位置。

接下来说说操作系统的发展史。

操作系统的发展与计算硬件及网络的发展紧密相关,至今,差不多经历了四个大的发展阶段,第一阶段始于上世纪六七十年代至八十年代初,操作系统与互联网都诞生于上世纪六十年代,那时候,美国四所大学的超级计算机开始采用TCP/IP协议联机,拉开了互联网时代的序幕,而当时的操作系统以Unix为代表,主要部署于大型机、小型机等主机设备之上,系统界面是命令行形式,没有图形界面。

到了上世纪八十年代,随着大规模集成电路工艺技术的飞跃发展,微处理机的出现和发展,使得个人计算机得到普及,以及http协议的诞生,因特网进入万维网时代,也就是PC互联时代,这一阶段的操作系统以MacOS、Windows、Linux为主,操作系统具有界面图形化、多用户、多任务、网络支持良好、出色的多媒体功能、硬件支持良好、应用程序丰富等特点,极大地降低了使用者门槛。

时间进入到二十一世纪,随着移动通讯迈入3G时代,2008年,苹果iPhone 3G问世,开启了移动互联智能手机时代,同年第一台Android手机HIC G1也发布,苹果和安卓两大智能手机阵营正式诞生。移动时代操作系统采用多点触控的新型人机交互技术、多端协同的互联互通协议、基于软件商店的应用部署、硬件适配的内核抽象等技术,使用更加便捷、应用更加丰富、操作更加灵活。

2019年10月,工信部宣布5G商用正式启动。我们也从移动互联时代正式迈向万物互联时代,以微软、苹果、谷歌为代表的国际主流操作系统厂商对万物互联的新技术研究非常重视,并根据自身技术和产品的优势,不断拓展操作系统的边界,向着泛在领域发展。这几大公司在这方面的具体举措会在后面对应的章节中讲到。

结合前面提到的四个发展阶段,我们来看一下对应的一些里程碑事件。

1946年第一台计算机诞生,那时还没有操作系统,1964年诞生了第一个分时操作系统Multics,并在此基础上于1969年,Unix操作系统问世。

到了1980年,DOS系统诞生,1984年Mac OS诞生,1985年基于MS-DOS的windows 1.0诞生,标志着个人计算机时代的开启。1991年Linux诞生。随着win95,win98,以及windows xp的发布,个人计算机时代步入鼎盛时期,而2008年随着iOS和android 1.0的诞生,移动操作系统开始正式登上历史舞台。之后这些年的一些里程碑事件则包括了,2015年 windows 10发布,2016年 中标麒麟V7发布,2019年鸿蒙OS 1.0发布,2020年银河麒麟V10发布,2021年windows11发布,2022年鸿蒙3.0发布。

让我们把目光从全球拉回到国内,来看看我们自己的操作系统发展史。

看过央视纪录片《红色财经.信物百年》的朋友们都知道,第一款中文操作系统CCDOS1.0正是由中国电子研制完成的,之后在1993年,中软推出了第一代国产操作系统COSIX1.0,这是一款基于Unix的操作系统,之后随着Linux的诞生和开源运动的兴起,研发Linux发行版很快就成为了当时国产操作系统开发的主流,1999年,中软Linux 1.0,红旗Linux 1.0和蓝点Linux 1.0 先后发布;2003年,中标软件成立,中标普华Linux 1.0 发布;

2006 年,国务院发布《国家中长期科学和技术发展规划纲要(2006-2020)》将"核高基"(核心电子器件、高端通用芯片及基础软件产品)列为16 个重大科技专项之一,标志着信创的起步,同年。银河麒麟 KYLIN OS 1.0 发布。2011年,武汉深之度成立;到了2014年信创一期试点,天津麒麟成立,中国操作系统也从觉醒,起步,加速进入到真正可用阶段,这段时间推动国产操作系统发展的主要还是靠国家政策引导和科研院校的参与。随着2018-2019年信创二期试点成功实施,信创从党政向8大关键行业全面铺开,信创正式进入产业化阶段,国产操作系统进入了一个高速发展期。

相对前面提到的全球操作系统的四个发展阶段,国产操作系统也经历了类似的发展阶段,这里需要特别提到的是,一方面,操作系统正在从闭源向着越来越广泛的开源发展,另一方面随着移动通讯从1G时代一步步迈向5G时代,网络连接方式也从机器互联,人机互联,发展到万物互联,操作系统也从最初的服务器操作系统,桌面操作系统,嵌入式操作系统,发展出了移动操作系统,云操作系统,物联网操作系统,以及人工智能操作系统,跨终端操作系统等不同类型。

接下来就来介绍这方面的内容。

操作系统按照产品形态和应用领域,可细分为桌面操作系统、服务器操作系统、移动操作系统、嵌入式操作系统等类型。

以微软、苹果和谷歌这三家国际巨头为例,我们来了解一下他们各自的操作系统发展路线。首先是我们最熟悉的Windows发展路线,

Windows从桌面到泛在的发展历程:

1、基于MS-DOS的Windows操作系统

1985年windows 1.0 操作系统发布,其前身就是OS/2 3.0的系统,开创第一款图形操作系统;

1987年windows2.0 操作系统发布,使用MS- DOS内核,系统搭载WORD和EXCEL应用软件;

1990年windows 3.0 操作系统发布,搭载多语言能力,多任务并行实现能力,完成100万销售记录;

1995年windows 95 操作系统发布;

1998年windows 98 操作系统发布。

2、基于Windows NT的Windows操作系统

1993年Windows NT 3.1操作系统发布,开启了微软除了MS---DOS系统以外的第二产品线,也是NT的第一代产品,开启工作站、网络操作系统、大型计算机的产品布局;

1994年Windows NT 4.0操作系统发布,NT系列里程碑节点的产品,此产品完成了windows NT网络操作系统布局及商品战略,实现了除PC机领域外,服务器领域的占领态势;

2001年Windows XP 操作系统发布,采用NT内核的消费级产品

2007年1月Windows Vista 操作系统发布;

2009年10月 windows 7 操作系统发布,采用的是vista内核;

3、跨平台支持的Windows操作系统

2013年10月Windows 8操作系统发布,支持个人电脑(X86构架)及平板电脑(X86构架或ARM构架)。三屏一云的操作系统发布,完成云计算、智能移动设备、自然人机交互等操作系统领域拓展;

2015年windows 10 操作系统发布,发型家庭、专业、企业版、教育版、移动版、移动企业版、物联网核心版的同期发布,且windows 10 IOT Core支持树莓派。

在2021年6月的Windows 11发布活动上,微软展示了新的安卓 Windows子系统(WSA),它支持AOSP,并允许用户在Windows桌面上运行安卓应用程序。

接下来介绍macOS的一个发展路线,

macOS从桌面到泛在的发展历程:

1、1984年至2001年 Classic Mac OS 时代:

1984年苹果公司为Macintosh 电脑开发出第一套桌面操作系统命名System 1。

1997年苹果公司将 System 改名为 Mac OS。但是由于 Classic Mac OS性能差且PC定价高导致市占率低,软件生态难以壮大。因此苹果公司于2002年结束支持Mac OS 9系列,至此 Classic Mac OS落下帷幕。

2、2001年至2011年Mac OS X时代:

Classic Mac OS和Mac OS之间的主要区别之一是,在Mac OS X的第一个主要版本中添加了Aqua UI,这是一个具有水样元素的图形用户界面。相较于 Classic Mac OS,该系列产品对开发者更友好。

2005年6月,苹果宣布将在未来两年内从PowerPC向Intel X86处理器过渡。

2009年,苹果公司在WWDC上宣布,Mac OS X 10.6 Snow Leopard将不再支持PowerPC处理器,只支持Intel X86处理器。

3、2012年至2015年OS X时代:

2012年,随着OS X 10.8 Mountain Lion的发布,该系统的名称从Mac OS X缩短为OS X。苹果新的用户界面设计于2013年在iOS 7上首次亮相。随后OS X 10.10 Yosemite采用了类似于iOS 7的设计,但更为复杂,适用于鼠标控制的界面。

从2012年起,OS X转向类似于iOS的年度发布时间表,并从2013年起取消了升级费用。

4、2016年至今macOS时代:

macOS是1999年发布的Classic Mac OS最终版Mac OS 9的后继者。

2020年6月,发布了第一个支持ARM指令集的macOS的版本:macOS Big-Sur。处理器架构的变化使配备ARM处理器的Mac电脑能够运行iOS和iPadOS应用程序。

2021年苹果发布 macOS Monterey,实现整合不同苹果设备,可跨设备无缝操作,设备之间互联互通将促进苹果用户群进一步扩大。

谷歌从移动终端到泛在的发展历程:

1、安卓操作系统

Android操作系统最初由安迪·鲁宾开发,主要支持手机。2005年8月由Google收购注资。2007年11月推出。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。

谷歌为特定的使用场景开发了多个安卓定制版本,包括Android Wear,后来更名为Wear OS,用于手表等可穿戴设备。还有用于电视的Android TV,用于智能或物联网设备的Android Things,以及用于汽车的Android Automotive。

2、Chrome OS

Chrome OS是谷歌设计的基于Linux的专有操作系统。它源于开源的Chromium OS,并使用谷歌Chrome Web浏览器作为其主要用户界面。

谷歌于2009年7月宣布了该项目,最初将其描述为一个应用程序和用户数据都驻留在云中的操作系统。第一款Chrome OS笔记本电脑,即Chromebook,于2011年5月推出。

2016年以后的Chrome操作系统可以运行谷歌应用商店中的安卓应用程序。自2018年以来,Chromium OS/Chrome OS 69及以后的版本还支持Linux应用程序。

2022年,谷歌宣布推出Chrome OS Flex的开发版本,这是Chrome OS的一个发行版,可以安装在传统PC硬件上,取代Windows和macOS等其他操作系统。

3、Fuchsia操作系统

Fuchsia是Google开发的一款面向多平台的操作系统。2016年8月,它作为一个托管在GitHub上的开源项目首次公开。它能够在各种设备上运行,包括汽车的仪表盘系统、交通信号灯、数字手表、智能手机、平板电脑和个人电脑等。

2021年8月,据报道,谷歌向旗下家用智能设备Nest Hub推送了Fuchsia操作系统。

与谷歌的基于Linux的操作系统(如Chrome OS和安卓)不同, Fuchsia基于一个名为Zircon的新消息传递内核。它的代码库源于用于嵌入式设备的Little Kernel(LK),旨在满足各种低资源设备的使用需求。

操作系统的发展史差不多就介绍到这儿,最后来说说操作系统的将来吧。

事物的发展肯定要顺应时代发展的要求,万物互联时代给操作系统带来了新挑战。具体来说,万物互联的发展带来很多新需求,强调"人机物"全面互联、智能互联,要求操作系统具备更加灵活的可定制性、支持智能弹性扩展以适应大中小不同设备的智能应用场景,同时要具备低能耗、低时延、高可靠、实时性等诸多特性,需要操作系统创新基础架构,打造万物智联的操作系统。

说完了时代发展的要求,再讲一下国家政策对于操作系统发展提出的新要求。国家在十四五规划里对于基础软件的供给与保障能力提出了明确要求,强调要完善桌面、服务器、移动、车载等操作系统产品及配套工具集;推动操作系统与数据库、中间件及各类应用的集成、适配、优化;加强操作系统总体架构设计和技术路径规划;提升操作系统与底层硬件的兼容性、与上层应用的互操作性;加速云操作系统迭代升级,布局下一代云计算软件体系。

结合时代发展和国家政策的要求,我们来看一下操作系统的市场发展趋势,可以看出市场趋势与时代发展和国家政策要求是相符合的,未来,云操作系统、物联网操作系统、工控操作系统的市场占比将不断扩大。

基于前述的这些客观变化,具体到操作系统本身,以未来的两个主流操作系统类型举例,万物互联操作系统首先将实现操作系统对各类终端设备的支持覆盖,实现较为全面的设备互联;接下来,丰富操作系统对各类应用场景业务系统的支持,满足千行百业的场景互联;之后,不断提高操作系统的智能水平,向着智能装备和元宇宙方向发展,实现人、机、物的全面、安全、智慧互联。

这里提到的企业级操作系统,指的主要是服务器操作系统和云操作系统,核心是作为计算底座,实现多种计算架构协同运行,这里不仅包括不同CPU之间,还包括CPU与GPU,DPU等XPU之间的协同运行,并通过与其他基础软件的深度适配,定制优化,释放充分算力,使能千行百业的应用。

总结来说,操作系统自它诞生起就扮演着承上启下,如同一座大楼的根基,是保障计算机系统、智能终端系统正常运行的最基本内核与基石,因此不断提升支撑能力始终是操作系统发展的核心趋势。从最初的传统计算平台,到移动计算平台,云平台,乃至未来涌现的新计算平台,莫不如此。

谈操作系统始终离不开生态,打破不同操作系统之间的壁垒,实现真正的互联互通,多端融合,万物互联,让用户不再有切换系统,重新适应的烦恼。这也是操作系统未来发展的未来趋势之一。

相关推荐
闻道且行之20 分钟前
Windows|CUDA和cuDNN下载和安装,默认安装在C盘和不安装在C盘的两种方法
windows·深度学习·cuda·cudnn
Johny_Zhao40 分钟前
CentOS Stream 9上部署FTP应用服务的两种方法(传统安装和docker-compose)
linux·网络安全·信息安全·kubernetes·云计算·containerd·ftp·yum源·系统运维
守望时空331 小时前
RustDesk搭建指南
linux
C++ 老炮儿的技术栈1 小时前
在 Scintilla 中为 Squirrel 语言设置语法解析器的方法
linux·运维·c++·git·ubuntu·github·visual studio
墨痕砚白2 小时前
VMware Workstation Pro虚拟机的下载和安装图文保姆级教程(附下载链接)
服务器·windows·vmware·虚拟机
白鹭2 小时前
基于LNMP架构的分布式个人博客搭建
linux·运维·服务器·网络·分布式·apache
java叶新东老师2 小时前
linux 部署 flink 1.15.1 并提交作业
linux·运维·flink
程序员JerrySUN3 小时前
Linux系统架构核心全景详解
linux·运维·系统架构
无敌的牛3 小时前
Linux文件理解,基础IO理解
linux·运维·服务器
未来之窗软件服务3 小时前
跨平台 WebSocket 服务器的设计与实现 —— 基于.NET 8 的跨操作系统解决方案linux,macos,windows——开发工具
linux·服务器·websocket·仙盟创梦ide·东方仙盟