当前位置: 首页 > 科技观察

为什么操作系统在2017年之后仍将发挥重要作用?_0

时间:2023-03-16 16:52:01 科技观察

【.com快译】该操作系统在可预见的未来将继续存在并保持活跃。  操作系统的历史虽然没有计算科学那么长,但已经有了相当长的发展历程。大型机客户在1950年代后期编写了第一个操作系统,这些操作系统在几十年后仍然很流行——包括来自IBM和贝尔实验室的OS/360。Unix。  操作系统负责在单个系统的基础上执行大量有用的功能,但我们可以将它们分为三类以简化理解。  首先,操作系统是基于物理系统,直接与硬件交互。这使得许多应用软件能够充分享受硬件提供的特性和功能。这意味着,例如,开发人员可以为硬件创新提供更多空间,因为操作系统可以处理支持新处理器和各种服务器设计的问题——而无需强迫开发人员进行这些工作。可以说,在机器学习等关键软件发展趋势的背景下,硬件创新将更加蓬勃,这意味着我们不再需要年复一年地等待CMOS工艺改进带来有限的性能提升。随着混合云架构变得越来越普遍,这个抽象层提供的可移植性将变得更加重要。  其次,操作系统本身——特别是操作系统内核——负责执行应用程序所需的例行任务。它管理进程调度、电源管理、root访问、内存分配以及所有其他低级监护和运行时细节,以保持整个系统高效、安全地运行。  最后,操作系统还作为它自己的“用户相关”程序(日志记录、性能配置等系统工具)和用户编写的应用程序之间的接口存在。操作系统应该通过基于开放标准的各种API(即应用程序编程接口)为应用程序提供一致的接口。此外,商业支持的操作系统还将提供与其在业务和技术层面保持合作关系的第三方应用程序提供商的产品,并作为内容渠道为平台提供更多可信的内容。  计算领域在过去几年发生了很大变化,这改变了我们对操作系统及其影响的思考方式——尽管它们仍然扮演着几乎相同的核心角色。总的来说,我们需要考虑在应用程序打包方式、计算基础设施的快速发展以及未来的威胁和漏洞方面的一些重大转变。  容器化  在Linux容器中运行的应用程序相当于在物理服务器上运行的单个操作系统的隔离副??本。这种方法不同于以前基于管理程序的虚拟化实例。虚拟机方法意味着每个应用程序都与来宾操作系统的完整副本捆绑在一起,并通过管理程序与硬件进行通信。简而言之,hypervisor负责虚拟化硬件资源,而容器技术负责虚拟化操作系统资源。这样一来,容器技术需要占用的内存等系统资源更少,应用程序的运行基本不会造成额外的性能损失。  容器化在很大程度上依赖于众所周知的操作系统概念。容器建立在Linux内核的进程模式之上,配合其他操作系统功能,如命名空间(如进程、网络、用户)、cgroups和权限模式,旨在实现完整的系统功能,同时实现容器隔离。  容器技术的优势在于可以将整个应用拆分成一组可移植的层结构,从而以极低的成本实现不同环境之间的迁移。在这方面,容器实际上只是一个笼统的概念,它有许多不同的实现形式——而且还没有成为主流。(至少距离虚拟化应用普及不远。)对于容器技术来说,最重要的变化是开源和开放标准开始发挥核心作用。以开放容器计划为例。这个合作项目由Linux基金会管理,旨在围绕容器的格式和运行时建立开放的行业标准。  同样值得注意的是,容器技术与软件定义基础设施(如OpenStack)的结合已经被纳入Linux的范畴。透过计算机软件的发展历程,可以清楚地看到,将技术方案融入操作系统,意味着相关技术将得到广泛采用,迎来更广阔的发展空间和更强的生态系统支持——TCP/可以证明通过用于联网的IP或任何其他广泛采用的与安全相关的功能。  Scale  另一个明显的转变是,我们越来越多地将计算资源的表示归于大型数据中心,而不是单个服务器。这种转变自Web诞生以来就已经存在,但必须承认,今天我们更加积极地利用HPC“网格”技术来处理传统的批处理工作负载以及新的面向服务的工作负载。  基于松散耦合的“微服务”(在容器内运行的服务)与容器和应用程序交互——有或没有持久存储——已经成为一类流行的云原生解决方案。虽然与面向服务的架构(Service-OrientedArchitecture,简称SOA)的概念有重叠,但这种解决方案已经显示出很强的可行性,并发展出一种不同于以往整体应用开发理念的新思路。通过细粒度、松散耦合的架构实现的微服务应用程序使我们能够在应用程序架构中反映单个应用程序定义良好的功能。微服务架构的快速更新、可扩展性、容错性等优势,正在让这类组合式应用全面压制传统的单体式应用。毕竟,我们很难在不影响其他组件的情况下更改后者的单个组件。.  从操作系统的角度来看,这种转变意味着应用程序可以将单个“计算机”视为一组聚合的数据中心资源。当然,还有大量的底层独立服务器;尽管它们具有一定的自动化程度和自主运行能力,但仍需要运维。然而,容器调度和管理的效率优势催生了一种新的抽象机制,即运行工作负载和组合多层应用程序的新实现层——而不是仅仅依赖于服务器。  云原生计算基金会(CNCF)是Linux基金会的一部分,旨在“推动由数以万计的自愈多租户节点组成的现代分布式系统环境采用新的计算范式。”之一CNCF下的优秀项目是Kubernetes。这个开源的容器集群管理工具最初是由谷歌设计的,但现在已经得到了红帽等许多其他厂商的支持和贡献。  安全性  所有适用于虚拟化环境的安全增强机制、性能调整机制、可靠性技术手段、认证等,同样适用于容器化技术。事实上,操作系统在隔离容器和软件定义基础设施领域的安全和资源交付责任远高于原有的专用硬件或软件执行环境。Linux一直是使用开源模型构建安全实施功能综合工具包的受益者,包括通过SELinux的强制访问控制、广泛的用户空间和内核强化、身份管理和访问控制以及加密。  然而,目前信息安全形势仍在不断变化。无论是允许客户和合作伙伴访问特定系统和数据、允许员工使用自己的智能手机和笔记本电脑、使用软件即服务(SaaS)提供商的应用程序,还是使用来自公有云提供商的优势,我们都无法通过单一的解决方案解决所有的实际需求。  开放的开发模式让整个行业都认可同一套标准,并鼓励最聪明的开发者不断测试和改进这些技术方案。大型企业及其部门能够及时向Linux等开源软件厂商提供安全反馈,也是未来技术发展道路上社区合作解决问题的实践能力的有力证明。此外,开源开发过程意味着整个开发者社区和供应商可以协作提供代码更新、安全指导和文档,以应对暴露的安全漏洞。  除了操作系统,混合云基础架构也采用相同的流程和做法,旨在升级现有解决方案并纳入更多新功能。此外,当组件以微服务和其他松散耦合架构的形式被重用时,维护这些组件及其依赖项(用于构建应用程序时)的质量的重要性将进一步增加。  有变化,没有变化  当前操作系统开发和运营的具体优先级已经明显转移。我们目前的重点是如何大规模地自动化部署,而不是定制、调整和优化单个服务器。与此同时,威胁的速度和规模正在模糊安全边界——这意味着我们需要对网络有系统级的了解,并需要特定的方法来快速响应。  综上所述,应用正在变得更具适应性、更移动化、更分布式、更稳定、更轻量级。它的放置、配置和保护必须与更高级别的自动化相协调。在此期间,有些做法应该保持,有些应该改变。这意味着我们必须找到一种可以随着新需求而发展并适应新型工作负载的解决方案?答案当然是操作系统——或者更确切地说,是Linux操作系统。  原文链接:  https://opensource.com/16/12/yearbook-why-operating-system-matters  原标题:为什么操作系统在2017年更重要  作者:GordonHaff更多热点资讯,敬请关注《科技新闻早报》专栏!