关于操作系统知识详细解读

2023-04-17

  广义的操作系统包括:计算机(PC、工作站、服务器)系统、移动端系统(例如

  计算机操作系统的功能角色:作为用户和计算机硬件资源之间的交互,管理调度硬件资源,为应用 软件提供运行环境。操作系统属于基础软件,是系统级程序的汇集,为用户屏蔽底层硬件复杂度, 并提供编程接口和操作入口。

  操作系统控制处理器(CPU)调度系统资源,控制应用程序执行的时机, 决定各个程序分配的处理器时间(CPUtime)。操作系统需要兼容底层硬件和应用软件,才能实现计 算机的功能。

  微软公司内部的研发团队开发 Windows 操作系统,并开发配套的应用软件,比如 Office。在生态 建设方面,Intel和 Windows 长期合作形成 Wintel 体系,在 PC 端市占率全球领先

  Windows 系统的访问分为 User mode(用户模式)和 Kernel mode(内核模式)。用户级的应用程序在 用户模式中运行,而系统级的程序在内核模式中运行。

  Windows 系统最大的优势在于图形界面,使得普通用户操作起来非常便利。相比大部分Linux系 统,windows 的常用软件安装和系统设置不需要以命令行的方式去输入系统指令,只需要点击“按 钮”即可完成。如今,绝大多数常见软件、专用软件和底层硬件都支持 Windows 操作系统,形成 了 Window 强大的生态整体。

  Linux kernel(内核)由 Linus Torvalds 在 1991 年发布,代码免费公开,由全球开发者共同贡献, 已成为影响最广泛的开源软件项目。以 Linux 内核为基础,不同的开发团体(开源社区、企业、个 人等)对内核代码进行一定的修改和补充,加入 GUI(图形界面)、应用等部分,形成了相应的 Linux 操作系统发行版。

  开源社区是 Linux 系统的创新源泉和主要的开发场所。Linux 操作系统发行版分为社区版本和商 业版本。社区版本数量较多,其开发和维护的主体是开源社区。少数的商业版本(比如红帽企业版) 则是在社区版本的基础上,进一步优化而来。整体来看,无论是否涉及商业活动,开源社区是 Linux 发行版的创新来源和主要的开发场所。而成熟的开源社区通常由相应的开源基金会(或者项目委员 会)进行管理。开源基金会为开发社区制定了规则,进行资源管理,负责可能的商务对接,以及保 护社区的健康运转。社区的开源基金会(委员会)一般由开源贡献方进行赞助和决策支持。

  许多开源社区背后都有一个主导企业,为社区提供资金和研究支撑,甚至直接委派员工参与开源 项目。例如,Fedora 社区的核心开发者中 1/3 是红帽的正式雇员。通过资助和维护开源社区的方 式,企业可以发挥研究力量的“杠杆”作用,通过向社区输入自有的研究资源,吸引更多的外部贡 献者参与进来,扩大创意来源;另一方面,开源社区版本也成为企业扩大技术影响力的重要途径。

  Linux 操作系统由 4 部分组成:kernel、shell、文件系统、应用程序。Kernel(内核)是操作系统的 核心,不同于 windows 的内核,Linux 的内核不仅实现了进程调度、内存管理、中断处理、异常陷 阱处理,而且还实现了进程管理、进程通信机制、虚拟内存管理、文件系统驱动和USB网络、声 音等各类设备驱动子系统,决定了整个系统的性能和稳定性。而 shell 是系统的用户界面,提供用 户与内核交互的接口,接收用户输入的命令并送入内核去执行。

  Linux 操作系统主要的优势领域是服务器和嵌入式。据 Linux 基金会统计,全球 90%的公有云平 台采用了 Linux 系统,99%的超算和 62%的嵌入式设备也都是基于 Linux。亚马逊AWS、微软 Azure、微软 Azure、谷歌云平台和阿里云等主流云服务商,都提供了 Linux 系统方案。全球公有 云平台运行的所有应用,超过 54%是运行在 Linux 虚拟机上。甚至微软 Azure 的近 30%的虚拟机 也是基于 Linux。根据 IDC 在 2017 年的统计数据,全球服务器操作系统使用份额(免费+付费)中, 68%是 Linux 服务器操作系统。

  1)创新方面,集思广益。全球开发者对 Linux 内核保持了持续的更新,提供了充足的创新动力。据 GitStats 分析结果,截至 2018 年 9 月,已有超过 19000 名开发者为 Linux 内核贡献了代码, 这些开发者遍布全球范围超过1500个组织/企业。广泛分布的开发者,从不同视角不同方面对Linux 内核的补充,使得 Linux 系统得以快速适应服务器领域的变化。

  2)系统代码可以修改和自定义,用户可调用计算机资源的自由度极高。Linux 操作系统的使用者 可以轻松查看系统代码,可以自由修改代码来修补常见的问题,也可以开发自己的程序并添加入 Linux 操作系统中。相比 Windows 等闭源系统,Linux 支持了使用者对于计算机资源极大的使用自 由度,支持专业用户去构建和自定义服务器,由此获得了互联网公司、云计算公司的青睐。

  3)运行效率高,运维成本低。Linux 系统在服务器上面的运行效率较高,相对比较轻量化,除非硬 件资源分配出现问题,不易出现系统卡死状况。而且 Linux 系统天然地支持虚拟化。因此,在服务 器集群上,Linux 系统的运维成本较低。

  4)安全。Linux 从发展根源上就是针对多用户系统设计的,系统管理员和 root 用户具有系统管理 权限。Linux 面向全球开发者开源,系统文件都是文档,在全球开发者多次的筛查和更新中,基本 排除了“后门植入”的可能。实际应用中,普通不成熟的 Linux 操作系统确实可能存在安全问题, 也是和系统的文档属性有关。例如,用户 root 权限和 sudo 指令可在有意或无意间修改 Linux 系 统文档,可能会对其他用户或整个系统造成不利影响。因此,成熟的 Linux 操作系统解决方案,有 必要对这类属性进行设计方面的防范,去进行适当的权限屏蔽。而这些安全属性的设计,本质上并 不存在难以解决的障碍。

  近年来,中国经济发展的环境发生重大变化,人口红利、 城镇化等驱动因素对增长的边际贡献下降,传统调控手段负面效应增加,中国经济增长面临一定的 下行压力。而数字经济的快速发展,以互联网、大数据、云计算、人工智能区块链物联网等为 代表的新一代数字科技与实体经济的日趋融合,新市场与新业态的层出不穷,为中国经济增长注入 了新的源泉。据中国信息通信研究院《中国数字经济发展与就业白皮书(2019)》显示,2018 年 中国数字经济规模占 GDP 比重达 34.8%,对 GDP 增长的贡献率超过三分之二;2016—2018 年,数字经济连续 3 年维持 20%以上的名义增速,高于同期 GDP 名义增速十余个百分点,为中国经济 提供了重要支撑。

  新一轮数字经济基础建设拉开序幕。2020 年 3 月 4 日,中共中央政治局常务委员会会议强调,加 快5G网络、数据中心等新型基础设施建设进度。新一轮数字经济基础建设启动,各地纷纷出台相 应政策推动新基建项目的实施。

  操作系统作为软件应用的基础和平台,直接关系到信息安全。棱镜门事件,使得信息安全正式成为 国际关注的重要问题。而操作系统作为最重要最根本的基础软件,是所有应用软件和数据处理场景 的基础和平台,直接关系到信息安全。在过去的国际贸易摩擦中,针对基础软硬件(芯片、操作系 统等)的限制事件再一次提升了信创战略的重要性。

  操作系统的 Wintel 体系垄断,也对信息安全造成了不利影响。在 Windows XP 停服三年后,全球 迎来了史上最严重的一次病毒攻击—WannaCry 借“永恒之蓝”漏洞发起攻击,袭击了安装 Windows 系统的设备,对全国多个国家造成了较为严重的经济损失。2020 年 1 月 14 日,微软 win7 停服,使得现有已安装 win7 系统的设备再次暴露于漏洞风险中。因此,在关键领域推广国产 操作系统,已经成为迫切需求。

  计算机操作系统开发是一项庞大而复杂的工程。软件开发工作量可以用代码行数进行粗略表征。主 流的操作系统代码量都比较庞大,而且随着版本升级呈增长趋势。据公开可查证资料显示, Windows Vista(2007)有5000万行代码, Windows 7(2009)和Windows XP(2001)各有4000万行, Windows 2000 有 2900 万行代码,相比 1992 年的版本增长了数十倍。

  对于 Linux 操作系统,仅 Linux 内核 4.13 就包含 6 万个系统文件,代码量近 2500 万行。成熟的 Linux 操作系统发行版需要 在内核基础上加入 GUI 以及必要的应用文件,总的代码量会更高。

  如果采用闭源的开发方式,操作系统开发所需要的资金和人力资源较大。比如微软,一方面要进行 Windows 系列的开发、升级和维护,另一方面也要为 Windows 系统开 发关键的应用软件,包括 Office、Microsoft Visual Studio(集成开发环境 IDE)等,每年的研发费用 达百亿美元。2019 财年(18 年 6 月-19 年 6 月)微软的研发费用 169 亿美元,员工达 14.4 万人。

  如果假设 Linux 操作系统都是闭源开发的,相应的成本也比较高。据“ Linux 中国”官方账号报道, David A. Wheeler 等研究了 Linux 发行版代码行数代表的复杂性,指出 Linux 2002 年发行版对 应的闭源开发成本为 12 亿美元。而如果闭源开发 Fedora 9 发行版(2008 年发布),估计需要投入 108 亿美元。从开发者数量角度,据 GitStats 分析结果,截至 2018 年 9 月,已有超过 19000 名 开发者为 Linux 内核贡献了代码,这些开发者遍布全球范围超过 1500 个组织/企业。

  操作系统和底层硬件、应用软件的兼容,在技术上并不是轻易就能实现。在适配底层硬件层面,引 用龙芯技术专家的观点“操作系统需要针对不同的主板和升级后的CPU进行磨合适配,而在Wintel 体系中可以实现不同主板及 CPU 的操作系统二进制兼容,其背后是 Wintel 体系统一的系统架构,包括指令系统、地址空间布局、中断系统、多核互联架构、IO 接口规范等,需要 CPU、BIOS、桥 片、操作系统配合完成。”在应用软件方面,需要软件开发商针对操作系统的版本进行相应的调试 和调优,同款应用软件经常有多个版本以适应不同的操作系统。

  操作系统对软/硬件的兼容是双向的,需要操作系统技术路线有足够的影响力。兼容不只是需要操 作系统自身的努力,也要硬件/应用软件厂商主动配合,在硬件/软件产品设计方面进行适当调整。在操作系统技术路线的影响力足够强的前提下,硬件/软件厂商才有足够强的动机进行配合。

  在生态兼容方面,主流操作系统推出时间都比较早,经历了多次的版本迭代,和硬件、应用软件厂 商共同成长,先发优势显著。Windows 生态建设:在个人 PC 机诞生初期,微软就推出了操作系 统软件,凭借发优势迅速普及。通过和芯片厂商、软件应用厂商以及自研应用的长期磨合,Windows 系统如今已具备庞大的用户群体和长期养成的用户习惯;Linux 生态建设:Linux 内核开源通过全 球开发者和主流 IT 厂商的参与,经历了多代升级和完善,获得了较广泛的软硬件支持,但部分专 业软件(特别是某些大型商业软件)尚未支持 Linux 架构。

  获取用户群体也是生态建设的难点。从用户选择角度,新的操作系统厂商面临 4 个挑战:用户习 惯、服务支持力度、安全、迁移成本。在用户习惯方面,普通用户养成了对 Windows 图形界面的 使用习惯,缺乏足够的动力去主动选择陌生界面的操作系统;在服务和支持力度方面,企业级用户 强调软件产品的稳定性,需要有较强的服务和技术团队去及时对接用户,以及满足用户的部分定制 化需求;从安全角度,操作系统这里基础软件,直接关系到用户的信息安全,供应商要有足够的技 术实力去解决可能出现的漏洞、网络攻击等风险;迁移成本也很重要,选择新的操作系统,则需要 用户把部分软件和数据迁移过去,产生迁移成本,操作系统供应商要有足够的技术实力解决迁移问 题。

  我们认为,国产操作系统理想的发展路径:自主版本形成——建立初步、稳定的用户群体——“可 用”向“好用”升级——实现市场良性循环。

  1)选择适当的技术路线,形成自主版本。最佳的选择是基于开源资源。在 Linux 内核的基础上, 进一步开发形成自主的操作系统版本,缩短开发时间周期同时节约开发成本。“站在巨人的肩膀 上”,采用开源内核,省去了重复造轮子的过程,操作系统厂商可以把精力集中于提升用户体验和 生态推广方面。事实上,国产操作系统基本上都以 Linux 内核为基础进行开发。

  2)通过政策支持形成初步、稳定的用户群体,达到“可用”状态。在政策支持下,有望初步形成 稳定的、成规模的用户群体。而用户群体的建立,提高了软/硬件厂商的适配意愿。在完成常用软/ 硬件生态建设的基础上,产品达到“可用”层面,基本满足用户日常的办公需求。

  3)“可用”到“好用”升级,进入市场良性循环阶段,扩大用户群体。在对初步的客户群体进行 服务和技术支持的过程中,厂商不断完善系统版本,通过版本迭代提升产品性能,逐渐达到“好用”, 进入良性的市场循环。

  ,是很的培圳资料。[此贴子已经被作者于2009-4-19 22:05:06编辑过]

  已经从简单走向成熟,有代表性的产品主要有VxWorks,QNX,Palm OS,Windows CE等

  ,以移动存储设备为载体,集成常用办公软件,可实现自启动前的身份认证、屏蔽本地磁盘和网络功能,数据存储区使用时需要进行身份认证,同时

  本帖最后由 raw-os-txj 于 2013-4-26 19:53 编辑 经过一年多的流离,txj最终加入了新的公司(深圳市君益兴科技开发有限公司)。此次加入公司新开了一个部门(实时

  本帖最后由 hkcj 于 2016-10-4 21:06 编辑 大二party,最近在研究单片机

  公司要把ubuntu移植到arm板上,最终顺利移植成功,但是从此开始问自己什么是linux

  研究现状及相关工作OSEK OS及Trampoline分析在Linux/x86上开发Trampoline应用程序

  内存管理简述进程线程切换的流程如果想要从A进程切换到B进程,必定要先从用户态切换到内核态,因为这个切换工作是由

  发信人: easyfish (晶鱼), 信区: Embedded 标题: [合集]

  的选择,闹心,大牛给点指点吧 发信站: 水木社区 (Sun Nov4 12:41:06 2012), 站内 ☆────────────────────────

  **欢迎使用Markdown编辑器Linux概述linux是一套免费使用和自由传播的类UNIX

  是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的

  原理的基础上,用丰富的实例代码,一步一步地指导读者用C语言和汇编语言编写出一个具备

  pdf /

  ppt /

  教程 pdf /

  教程 /

  课件) 第五章 文件管理.doc第六章 设备管理(部分).doc第二章 进程管理.doc第3章 并发控制——互斥与同步.doc

  支持环境下的API函数介绍及编程应用。首先,介绍了RAW API的特点及优缺点,然后逐个介绍了LwIP提供的

  面广的专业基础课程,该课程的教学一直在计算机专业教学计划中居重要位置.本文在分析了目前国内计算机

  教程_孙钟秀 /

  VxWorks下的并口通信技术 /

  中任务间通信的一种方法 /

  原理的基础上,用丰富的实例代码,一步一步地指导读者用C语言和汇编语占编写出一个具备

  只会打印一句话: Hello World 在这之前,我们需要了解有关计算机底层的基础

  的安装教程 /

  uC/OS-II简介及特点,4 uC/OS-II内核 ,5 uC/OS-II在STC

  教程说明 /

  从开机到关机本篇内容比较简单,但却很繁琐,篇幅也很长,毕竟是囊括了整个

  的生命周期。这篇文章的目的是作为后续设计多任务开发的铺垫,后续会单独再抽出一篇分析

  从开机到关机(转) /

  (Operating System,简称OS)传统上是负责对计算机硬件直接控制及管理的

  介绍 SymbianWindows CEPalm OSLinux1998年爱立信、诺基亚、摩托罗拉和Psion共同投资成立的Sy

  (Operating System,简称 OS)的出现、使用和发展是近四十余年来计算机软件的一个重大进展。

  ,RobotOperatingSystem),是专为机器人软件开发所设计出来的一套电脑

  [简称SPGnux]、深度Linux(Deepin)、红旗Linux、银河麒麟、中标麒麟Linux(原中标普华Linux)、雨林木风

  不仅能够让编程人员了解计算机运行逻辑而且还有助于培养编程“软实力”,如果想真正在编程之路上走下去,那么

  资料介绍 /

  讲解:走进内存 /

  讲解:走进linux 内存地址空间 /

  讲解:走进Linux 内存分配算法 /

  讲解:走进Linux 内存使用场景 /

  讲解:避免内存使用七大坑 /

  解释一下。 首先要介绍的就是Linux,Linux是一种免费、开源的工控电脑

  ,因此其支持软件多,可用资源丰富。目前将Linux的内核移植在ARM嵌入式工控电脑上,可使用更多的Linux功能。无论是对于企业服务器还是对于嵌入式

  与 RTOS之间的关系详解 /

  ,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等

  我们平时分享的µC/OS、FreeRTOS、RT-Thread、ThreadX这些都是实时

  欧拉(openEuler)Summit 2021上,SUSE大中华区董事长,江永清讲述,SUSE

  的愿景 /

  作为BSW的重头戏,始终让学习AUTOSAR的同学望而生畏,进而望而却步。所以,今天整理下基于AUTOSAR规范的

  如何用线束测试仪测量微小电阻?#工欲善其事必先利其器,晒一晒你的工具库 #线束测试仪 #仪器仪表 #电阻

  开源软件-wxSQLite3 SQLite 3.x数据库的C++包装器

方舟号 Axial Fans