资讯详情

资讯详情

操作系统底层机制与国产化实践:从Windows、UNIX、Linux到安全定制

简介这是一份面向计算机专业学生、系统方向研究者及技术爱好者的操作系统综述文档围绕国内外操作系统的发展现状、存在问题与未来趋势展开适合用于课程论文写作、技术调研或知识梳理。资源包内含1个docx文档约27KB内容涵盖操作系统的定义与五大管理功能并重点梳理Windows、Unix、Linux三大主流系统的演进脉络与各自特色同时分析安全性、兼容性、可移植性等现实问题展望云计算、物联网背景下更智能、安全、开放的发展方向。文档结构清晰、条理分明可作为操作系统入门与专题研究的参考素材帮助读者快速建立对操作系统整体格局的认知框架。目前已有5870人学习下载具备一定的参考价值与学习热度。1. 操作系统为什么它既是计算机的灵魂又是最容易被忽视的黑匣子打开电脑点开浏览器你几乎不会意识到操作系统的存在。但恰恰是这个“看不见”的层决定了你能否同时开二十个标签页不卡、决定了你的密码会不会被某个恶意程序悄悄读走、决定了同一份代码在服务器上跑得飞快却在手机上烫得能煎蛋。操作系统是管理计算机硬件与软件资源的程序是计算机系统的内核与基石大致承担进程与处理机管理、作业管理、存储管理、设备管理、文件管理五个方面的职责。它具备并发性、共享性、虚拟性和不确定性四个基本特征。很多人把操作系统当成一个“装好就不用管”的东西但当你真正去追问“为什么 Windows 的注册表能控制一切”“为什么 Linux 的驱动可以编进内核也可以做成模块”“为什么国产系统大多基于 Linux 而不是从零写内核”你会发现每一个设计选择背后都是几十年的工程博弈。这份关于国内外操作系统发展现状、存在问题、发展趋势的资源恰好把这些散落在历史里的决策串成了一条线。搞懂这条线你再看任何系统层面的问题都不会只停留在“重装试试”的层面。2. 三大主流系统的底层机制Windows、UNIX、Linux 各自解决了什么问题2.1 Windows图形界面之下注册表和驱动程序才是真正的控制中枢Windows 是目前世界上使用最广泛的桌面操作系统在全球桌面操作系统市场中占有约 90% 的份额。早期版本的 Windows 通常仅仅被看作是一个图形用户界面不是操作系统主要因为它们在 MS-DOS 上运行并且被用作文件系统服务。但即使最早的 16 位版本也已经具有了许多典型的操作系统功能包括拥有自己的可执行文件格式以及为应用程序提供自己的设备驱动程序。这里有一个容易被忽略的机制Windows 的硬件必须由驱动程序引导。USB、声卡、显卡、网卡、光驱、主板、CPU 等等都需要驱动程序。安装了驱动程序硬件才能正常使用。有了主板的驱动系统才可以正常使用、运行有声卡才会发声有显卡才有图像。这背后的设计逻辑是Windows 把硬件抽象层和驱动模型做了强绑定好处是硬件厂商可以针对特定版本发布经过认证的驱动坏处是一旦驱动出问题整个系统可能直接蓝屏。更底层的是注册表。Windows 由资源管理器和注册表这两个程序控制注册表是控制着脚本、命令、启动项目的工具也是 Windows 的核心部分。注册表本质上是一个层次化的数据库存储了系统级和用户级的配置信息。应用程序安装时写入注册表系统启动时从注册表读取配置驱动加载时也要查注册表。这种集中式配置管理让 Windows 的可管理性很强但也带来了一个副作用注册表一旦被写坏系统可能连安全模式都进不去。以 Windows 7 为例它的设计主要围绕五个重点——针对笔记本电脑的特有设计、基于应用服务的设计、用户的个性化、视听娱乐的优化、用户易用性的新引擎。在启动时间上据实测在 2008 年的中低端配置下运行系统加载时间一般不超过 20 秒这比 Windows Vista 的 40 余秒相比是一个很大的进步。这个提升不是靠单一优化实现的而是靠对启动阶段驱动加载顺序、服务启动策略、预读取机制的综合调整。2.2 UNIX多用户多任务的原始设计为什么能活过五十年UNIX 操作系统具有多用户、多任务的特点支持多种处理器架构。它最早由肯·汤普逊、丹尼斯·里奇和 Douglas McIlroy 于 1969 年在 ATT 的贝尔实验室开发。UNIX 具有统一开放的事实标准和认证规范该规范使不同 UNIX 操作系统上开发的应用程序可以轻松移植极大地促进了 UNIX 的发展和应用。UNIX 的设计哲学里有一条很关键一切皆文件。设备是文件管道是文件网络连接也可以是文件。这个抽象让 UNIX 的 I/O 模型极其统一程序员只需要掌握一套文件操作接口就能操作绝大多数系统资源。另一个关键设计是管道和过滤器机制它允许把多个小工具串联起来完成复杂任务每个工具只做一件事并做好。这种设计思路后来被 Linux 完整继承。UNIX 因为其安全可靠、高效强大的特点在服务器领域得到了广泛的应用。直到 GNU/Linux 流行开始前UNIX 也是科学计算、大型机、超级计算机等所用操作系统的主流。UNIX 商业化计划催生了 GNU 计划推动了 FreeBSD、Linux 等开源 UNIX 类操作系统的发展。这里有一个历史性的转折UNIX 的闭源商业化路线让很多用户和开发者感到不安于是有了 GNU 计划要做一个完全自由的操作系统但 GNU 自己的内核 Hurd 迟迟没有完成而 Linux 内核的出现恰好补上了这个缺口。2.3 Linux内核与发行版的分层以及开源模式如何改变开发节奏Linux 操作系统是 UNIX 操作系统的一种克隆系统诞生于 1991 年 10 月 5 日。严格来讲Linux 这个词本身只表示 Linux 内核但在实际上人们已经习惯了用 Linux 来形容整个基于 Linux 内核并且使用 GNU 工程各种工具和数据库的操作系统。这个区分非常重要。内核负责进程调度、内存管理、设备驱动、文件系统、网络协议栈这些最底层的工作。而用户看到的桌面环境、包管理器、命令行工具大多来自 GNU 工程或其他开源项目。常见的实现思路是内核提供系统调用接口上层工具通过系统调用与内核交互。这种分层让 Linux 可以在从嵌入式设备到超级计算机的广泛范围内运行因为内核可以裁剪上层可以替换。Linux 是自由软件和开放源代码发展中最著名的例子。免费与开源的特性使得 Linux 对 Windows 的威胁也越来越大。在服务器和嵌入式系统市场上Linux 已经是主流的操作系统之一。Linux 现正稳步拓展桌面操作系统市场。随着 Linux 的流行越来越多的厂商开始在其销售的计算机上预装 Linux。开源模式带来的一个直接好处是驱动和硬件支持可以并行开发。某个厂商的网卡在 Linux 下没有驱动社区开发者可以自己写一个提交上去不需要等官方排期。这种开发节奏和 Windows 的驱动认证模式完全不同前者是自下而上的后者是自上而下的。3. 国产操作系统的实现路径基于 Linux 定制到底改了哪些东西3.1 红旗 Linux 与共创 Linux桌面体验的本地化改造国产操作系统目前主要是基于 Linux 开发的但也有一些是自主开发的。红旗 Linux 是由北京中科红旗软件技术有限公司开发的一系列 Linux 发行版包括桌面版、工作站版、数据中心服务器版、HA 集群版和红旗嵌入式 Linux 等产品。红旗 Linux 是中国较大、较成熟的 Linux 发行版之一。共创 Linux 桌面操作系统采用了国际最新的内核 Kernel 2.6.16 版本开发功能丰富适用于在政府和企业办公领域可以部分地替代现有常用的 Windows 桌面操作系统。它采用类似于 Windows XP 风格的图形用户界面符合 Windows XP 的操作习惯让用户使用起来感觉更熟悉更易用降低了培训成本。这里有一个值得注意的工程决策共创 Linux 开发了新的安装程序一共只有 6 个步骤普通用户也能很轻松地进行安装。以往的 Linux 系统安装时要选择复杂的磁盘分区普通用户几乎不可能自行安装而且安装时很容易导致磁盘分区的损坏。这个改动看起来只是安装流程的简化但背后是对目标用户群体的重新定位——如果目标用户是政府和企业办公人员他们习惯了 Windows 的安装方式那么安装程序的复杂度就是一道硬门槛。共创 Linux 还提供了优秀的中文支持能力支持各种常用的中文和英文字体字体显示效果十分美观。高度智能化的中文拼音输入法使用方便、输入效率高达到 Windows 下拼音输入法同等的水平。这些本地化工作不是简单的翻译而是涉及字体渲染引擎的调整、输入法框架的适配、编码处理的兼容性测试。3.2 银河麒麟三层架构背后的安全与兼容权衡银河麒麟是由国防科技大学、中软公司、联想公司、浪潮集团和民族恒星公司合作研制的闭源服务器操作系统。此操作系统是 863 计划重大攻关科研项目目标是打破国外操作系统的垄断研发一套中国自主知识产权的服务器操作系统。银河麒麟完全版共包括实时版、安全版、服务器版三个版本简化版是基于服务器版简化而成的。最近银河麒麟经过权威机构进行了源码级鉴定表明银河麒麟安全操作系统主要分为三层最底层是自己加的“既不像内核也不像虚拟机”的东西上面是 FreeBSD 的内核最上面是 Linux 兼容库。开放给公众使用的系统不包括最底层的东西。完全版的银河麒麟是内核态多线程的。这个三层架构的设计动机很明确底层负责安全性和实时性可以自由替换加载中间层用 FreeBSD 内核提供成熟的进程管理和网络协议栈上层用 Linux 兼容库保证应用程序的兼容性。这种设计的好处是安全模块可以独立于内核演进不需要每次修改都动整个内核。代价是层次多了之后性能开销和调试复杂度都会上升。常见的实现思路是在底层和内核之间定义一套稳定的接口底层模块通过这套接口向内核注册安全钩子内核在关键路径上调用这些钩子做检查。3.3 凝思磐石与中标普华安全认证与业务适配的工程细节凝思磐石安全操作系统遵循国内外安全操作系统 GB17859、GB/T18336、GJB4936、GJB4937、GB/T20272 以及 POSIX、TCSEC、ISO15408 等标准进行设计和实现。凝思磐石安全操作系统在操作系统内核实现了多项安全机制在应用层对应用软件进行安全增强在系统管理层实现了四权分立的系统管理并提供了多种冗余容错机制形成了多层次的安全体系能够充分保证信息的私密性、完整性和可获得性。四权分立是一个值得展开的机制。传统的操作系统里root 用户拥有一切权限。四权分立把系统管理权限拆分成四个相互制约的角色比如系统管理员、安全管理员、审计管理员、网络管理员。每个角色只能做自己职责范围内的事任何一个角色都无法单独完成对系统的完全控制。这种设计在涉密环境中非常重要因为单一管理员权限被滥用或泄露的风险太高。凝思磐石安全操作系统是国内第一款达到军 B 级和 EAL3 级认证的安全操作系统产品。凝思科技基于安全操作系统的核心技术相继研发出了安全 CA、安全邮件、安全 Web、安全 DNS、安全数据库、安全文件共享等多款通用安全服务器平台产品。在各类涉密项目实施过程中积累了大量技术和经验对政府、军队、电力和电信行业的业务流程和产品需求有深刻的理解能够为用户定制特定用途的专用设备。中标普华 Linux 桌面软件是上海中标软件有限公司发布的面向桌面应用的操作系统产品。中标普华 Linux 桌面软件提供丰富的应用程序、完善的在线升级机制、全新设计的用户界面和统一的管理工具入口、简单实用的桌面小程序、炫酷的 3D 桌面特效全面支持中国移动、中国电信、中国联通的 3G 业务满足政府、企业及个人用户的使用需求。雨林木风操作系统YLMF OS基于 Ubuntu 9.10 版本定制去除不常用系统软件包增加中文语言包增加最常用的应用软件。Ylmf OS 是广东雨林木风计算机科技有限公司为纪念雨林木风工作室解散一周年制作了 Ylmf OS 雨林木风工作室周年纪念版作为雨林木风开源操作系统的初始发布版本界面换成了精仿的经典 Windows 主题界面操作简洁明快。4. 避坑与排查操作系统选型和迁移中最容易翻车的几个点4.1 驱动缺失导致硬件无法工作现象在国产 Linux 发行版上安装后无线网卡不识别或者显卡只能跑在低分辨率模式下。原因Linux 内核虽然集成了大量驱动但某些较新的硬件或厂商未公开规格的硬件驱动可能没有包含在发行版的内核中。Windows 下厂商会提供驱动安装包Linux 下则需要内核模块或第三方驱动。解决先确认硬件型号用lspci或lsusb查看设备 ID然后查找对应的内核模块是否已加载。如果没有尝试安装厂商提供的 Linux 驱动或更新内核版本。对于显卡可以考虑使用开源驱动或厂商提供的闭源驱动但要注意两者不能同时加载。4.2 注册表损坏导致 Windows 无法启动现象Windows 开机后蓝屏提示注册表错误或者卡在启动界面反复重启。原因注册表是 Windows 的核心配置数据库某些软件安装、驱动更新或恶意程序可能写入了不兼容的键值。注册表文件本身损坏也会导致系统无法读取配置。解决尝试进入安全模式使用系统还原点回滚。如果没有还原点可以用 Windows 安装介质启动进入修复模式从备份中恢复注册表文件。预防措施是定期导出注册表备份尤其是在安装大型软件或驱动之前。4.3 国产系统上 Windows 应用无法直接运行现象在基于 Linux 的国产操作系统上双击 Windows 的.exe文件没有任何反应或者提示格式不支持。原因Linux 和 Windows 的可执行文件格式不同系统调用接口也不同。Windows 程序依赖的是 Win32 API 和 NT 内核的系统调用Linux 提供的是 POSIX 接口和 Linux 系统调用。解决可以使用 Wine 或 CrossOver 这类兼容层它们把 Win32 API 调用翻译成 POSIX 调用。但兼容层不是万能的依赖底层驱动或反作弊机制的程序往往无法运行。另一种方案是使用虚拟机或容器在 Linux 上跑一个完整的 Windows 环境。选择哪种方案取决于应用对性能和硬件访问的要求。4.4 四权分立配置不当导致管理操作被拒现象在凝思磐石这类安全操作系统上以管理员身份登录后某些操作仍然提示权限不足。原因四权分立把传统 root 的权限拆分成多个角色每个角色有独立的认证和授权。如果当前登录的角色没有被授予对应权限即使你知道 root 密码也无法执行操作。解决先确认当前角色和目标任务所需的权限角色然后用对应角色登录或申请授权。在配置四权分立时要提前规划好各角色的职责边界避免出现某个操作没有任何角色能执行的情况。审计日志会记录每次权限检查的结果排查时可以先看审计日志。4.5 内核升级后第三方模块加载失败现象Linux 系统升级内核后之前正常工作的显卡驱动或虚拟化模块无法加载提示版本不匹配。原因Linux 内核模块与内核版本是强绑定的。内核升级后模块的二进制接口可能发生变化之前编译的模块无法直接使用。解决升级内核后需要重新编译第三方模块。大多数发行版的包管理器会自动处理这个问题但手动安装的模块需要手动重新编译。建议在升级内核前先确认所有关键模块都有对应的新版本或者保留旧内核作为回退选项。5. 从开源化到安全化操作系统演进中的设计取舍与验证思路操作系统的发展趋势呈现几个明确的方向。开源化方面随着微软公司与诺维尔公司在 Linux 上的结盟以及升阳启动 Open Solaris 项目开源软件模式及其实现的价值越来越得到社会的认可。开源改变了未来操作系统的开发模式使得聚集大家的力量打破组织边界、持续创造出更高质量、更安全和更易用的操作系统成为可能。更重要的是它改变了操作系统的使用方式——从“使用许可”为主的商业模式变成以支持和咨询等面向服务为主的商业模式。从本质上讲开源操作系统的开发模式和许可机制更加适合于面向服务的商业模型其利润核心并不是纯软件开发或者是任何形式的软件产品而是软件服务。小型化或微型化方面通用操作系统的规模和复杂性过大。为了适应特定的应用领域比如手机、手持游戏机和个人数字助理甚至在特定的家用设备如智能遥控器等未来操作系统必然逐渐向规模和功能小型化发展。此外随着纳米技术的发展在一些微型设备中需要专门设计一些微型操作系统已经开始研究的纳米操作系统就是其中一种。网络化方面网络已经成为人们生活中的一部分操作系统也越来越依赖网络资源的共享与通信。尽管目前提出了网络操作系统和分布式操作系统但这类操作系统在技术上还不成熟因此要想达到目标要在相关领域做重点研究。安全化或可信化方面迄今为止基于互联网的应用已经渗透到金融、电信、宇航、电子商务、电子政务和军事等社会的各个领域。但是互联网本身具有的开放性和动态性正日益导致各种安全问题日益严重其应用的发展也越来越受到制约。因此包括微软和升阳在内的众多厂商开始重视并逐步建立起安全和可信的操作系统。然而这种具有较高安全性和可信性的操作系统离用户可接受程度还有一定距离这也成为业界积极研究的课题。在验证一个操作系统是否适合特定场景时我一般会从几个维度去实测。第一是驱动覆盖度把目标硬件列出来逐个确认是否有可用驱动。第二是系统调用兼容性用目标应用做实际负载测试而不是只看官方兼容列表。第三是安全机制的实测比如四权分立是否真的能阻止越权操作审计日志是否完整。第四是升级路径从当前版本升级到下一个版本时配置和驱动是否能平滑迁移。有一个设计取舍值得反复思考银河麒麟的三层架构把安全模块放在最底层FreeBSD 内核在中间Linux 兼容库在最上面。这种分层让安全性和兼容性可以独立演进但层与层之间的接口一旦不稳定整个系统的可维护性就会下降。另一种思路是把安全机制直接做进内核像凝思磐石那样在内核实现多项安全机制。这种做法的性能开销更小但内核的修改会带来维护成本每次内核升级都需要重新适配安全补丁。两种思路没有绝对优劣取决于团队的技术栈和长期维护能力。传统操作系统也许会被边缘化。如果现在把 Intel 的 CPU 更换成 AMD 的也许很多人都不能马上发觉也许不远的未来同样的情况也会发生在操作系统上。操作系统对很多应用和用户来说越来越底层了很多应用也许只需要一个浏览器就可以了。某些互联网公司也提供了开放的 API 和个性化服务试图成为未来意义上的操作系统。甚至专为手机设计的操作系统也将拓展到上网本领域。云端操作系统也在希望在云计算平台大展身手。从那以后我每次评估一个操作系统方案都强制走一遍驱动清单、系统调用兼容性测试、安全机制实测和升级路径验证这四步。少一步后面就可能要花十倍时间填坑。希望帮到你。本文还有配套的精品资源点击获取
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →