0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Azure主机操作系统–云主机

jf_9aVl32Dp 来源:Arm软件开发者 2023-01-11 10:29 次阅读

作者:Hari Pulapaka

Windows是一种多功能、灵活的操作系统,可在多种机器架构上运行,并有多种SKU。它目前支持x86、x64和ARM体系结构。它甚至曾经支持Itanium、PowerPC、Alpha和MIPS(wiki:http://en.wikipedia.org/wiki/Windows_NT)。Windows也可以在多种环境中运行;从数据中心、笔记本电脑和电话到ATM机等嵌入式设备。

即使有了所有这些支持,Windows的核心在所有这些架构和SKU上几乎保持不变。Windows可以动态扩展,这取决于其运行的体系结构和处理器,以充分利用硬件的功能。这同样适用于Microsoft Azure。因此,如果您曾经想知道Windows如何在数据中心运行Azure节点,请继续往下看!

正如Satya所说,“我们正在将Azure打造成世界级计算机”,为世界级计算机提供动能表明了Windows的扩展能力。为了展示这种规模,这里是数据中心M系列机器(Azure中可用的最大虚拟机之一,具有896个逻辑处理器)中直接在Azure主机上运行的taskmgr的快照。

330f5748-90ee-11ed-bfe3-dac502259ad0.png

M-series taskmgr

在这篇文章中,我们将讨论为数据中心的Azure主机服务的Azure主机操作系统的内部结构。

云主机–Azure主机操作系统

Azure是微软的云计算服务,它提供IaaS(基础设施即服务)虚拟机(VM)、PaaS(平台即服务)容器和许多其他SaaS服务(例如Azure Storge、Networking等)。对于IaaS和PaaS服务,所有客户代码最终都在虚拟机中运行。因此,在核心平台层,Azure主机操作系统的主要目的是管理虚拟机并将其管理得非常好!管理VM包括启动、关闭、实时迁移、更新等。

由于Azure使用Windows作为操作系统,所有这些虚拟机都作为Microsoft Hyper-V(即我们的虚拟机管理程序)的guest运行。Microsoft Hyper-v是一种type1(https://en.wikipedia.org/wiki/Hypervisor)的管理程序,因此,当我说Azure Host操作系统时,它在技术上是根操作系统。这是一个完全控制硬件并提供虚拟化设施以运行guest VM的操作系统。

请记住,我们使用的hypervisor与我们在所有数百万客户计算机上的Windows客户端和Windows服务器上使用的hypervisor相同。我们将在即将发布的博客文章中解释Microsoft Hyper-V的一些关键功能,这些功能允许Azure安全可靠地管理guest VM。

云主机

正如我提到的,Azure主机操作系统的目标是良好地管理VM的生命周期。这意味着Windows(或称Azure主机操作系统)不需要通常与Windows关联的大量功能来执行此功能。因此,我们创建了一个专门的控制台(没有GUI,有些人还称之为headless)版本的Windows,称为云主机。

这是基于OneCore的Windows版本。OneCore是所有Windows SKU系列(或版本)构建其功能的基础层。它是所有版本的Windows(PC、Windows Server、XBOX或IOT)所需的一组组件(可执行文件、DLL等)。如果拿编程类比的话,它是所有Windows类继承的基类(例如Object)。如果您查看OneCore内部以了解它提供的功能,您可以看到提供核心功能的API集,如内核、虚拟机监控程序、文件系统支持、网络、安全、Win32 API等。下图中调用的OneCoreUAP是用于构建客户端PC版本的稍高层的另一个示例,GUI堆栈和更高级别的网络组件,如媒体堆栈和WiFi。

3337c23c-90ee-11ed-bfe3-dac502259ad0.png

OneCore中可用的一些代表性组件

我们如何构建云主机?

需要在Azure主机上运行少量代码,以与控制平面集成,并监控和管理容器/VM。基于对该代码的依赖集的分析,我们确定了Azure在OneCore之上需要的一组功能(DLL和API集)。然后将这些二进制文件(数十个二进制文件)添加到OneCore中,将其用作Azure主机的操作系统。

为了添加这些DLL,我们创建了一个名为云主机的全新SKU,并将所有这些二进制文件添加到云主机。您可以将云主机视为OneCore的“子类”。注意,我们必须创建一个新的SKU“云主机”,因为我们需要向OneCore添加新的二进制文件。我们可以直接将它们添加到OneCore中,但它更干净,可以创建专门构建的SKU/版本,同时保持OneCore未修改。换句话说,云主机是一个专门为运行数据中心中的Azure主机节点而设计和构建的SKU。您可能更熟悉其他Windows SKU,通常称为版本,如Pro、Enterprise等[wiki:https://en.wikipedia.org/wiki/Windows_10_editions]。云主机是一个类似的SKU/版本,仅用于数据中心中的Azure节点。

有了这个解释,让我们看看这个云主机。这是一张云主机WIM(https://en.wikipedia.org/wiki/Windows_Imaging_Format#:~:text=The%20Windows%20Imaging%20Format%20(WIM,Windows%20Fundamentals%20for%20Legacy%20PCs.)文件的图片(WIM文件就像一个zip文件,用于存储要启动的Windows映像)。您可以看到它的大小为280MB,比典型的PC WIM文件小10倍多。

335b75b0-90ee-11ed-bfe3-dac502259ad0.png

这比您在PC上使用的任何Windows都要小得多,典型的客户端企业版WIM文件大小为3.6 GB。

33e2826c-90ee-11ed-bfe3-dac502259ad0.png

云主机引导到控制台Shell中,体验通常类似于Windows Server Core。这是一张云主机会话的图片,来自我们的一台测试机器。

(请记住,我们通常不会登录到Azure主机节点,这纯粹是为了演示目的)

3403521c-90ee-11ed-bfe3-dac502259ad0.png

带有cmd shell、taskmgr和Regedit的云主机

您可能注意到的另一件事是,taskmgr甚至regedit看起来与您在Windows 11上看到的不同。这是因为正如我提到的,云主机是基于OneCore构建的,它是headless(或基于控制台的),因此它不包含任何Windows的GUI部分。我们有一个特殊的taskmgr和regedit版本,它与Windows11中的所有现代GUI功能都不相关联,这给了他们“老式”的外观。

API:什么样的代码可以在Azure主机节点上运行?

我们可以在Azure主机上运行C++Python甚至Rust代码。要记住的主要一点是,作为一名开发人员,如果您正在构建代码以在Azure Host上运行(这只是我们的内部开发人员),您只能链接OneCore SDK(OneCore.lib)。我们在这里(https://docs.microsoft.com/en-us/windows/win32/apiindex/windows-umbrella-libraries)记录了OneCore可用的API界面,以对应在这里(https://docs.microsoft.com/en-us/windows-hardware/drivers/develop/building-for-onecore)构建OneCore的信息

34318fd8-90ee-11ed-bfe3-dac502259ad0.png

随着对Azure云主机内部结构的深入了解,未来的博客文章将继续介绍更新Azure主机的代码和设计内部结构(例如,Tardicade、VM PHU、Hypervisor热重启和实时迁移)、内核/虚拟化功能、安全性以及操作系统平台中的许多其他领域。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • WINDOWS
    +关注

    关注

    3

    文章

    3440

    浏览量

    87144
  • 操作系统
    +关注

    关注

    37

    文章

    6285

    浏览量

    121886
  • 主机
    +关注

    关注

    0

    文章

    897

    浏览量

    34609
  • 云主机
    +关注

    关注

    1

    文章

    37

    浏览量

    8584
  • Azure
    +关注

    关注

    1

    文章

    109

    浏览量

    12689

原文标题:Azure主机操作系统–云主机

文章出处:【微信号:Arm软件开发者,微信公众号:Arm软件开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    阿里专有宿主机(公测)发布

    摘要: 产品介绍: 阿里专有宿主机是一台物理独享的主机,和其他租户在物理级别上隔离。专有宿主机提供给用户一种依托阿里
    发表于 05-15 10:56

    请问飞控主机是不是一定要用操作系统

    飞控主机是不是一定要用操作系统,可以单片机直接跑吗?
    发表于 07-24 23:19

    开发环境介绍主机操作系统

    开发环境介绍主机操作系统:Ubuntu14.04 64位目标平台:IMX.6Q ARM Cortex-A9内核交叉工具链:arm-poky-linux-gnueabi,gcc4.9.1Go版本
    发表于 07-16 06:54

    微软发布 Azure Linux 正式版

    服务(AKS)的一个开源容器主机操作系统,它针对 Azure 进行了优化,旨在使开发人员更容易使用微软的工具来部署和管理容器工作负载。Azure Linux 源于微软的 CBL-Mariner 项目,是“自我独立的 Linux
    发表于 05-28 08:34

    微软云计算操作系统Windows Azure将在中国落地

    微软云计算操作系统Windows Azure将在中国落地 腾讯科技讯(王丹) 4月12日消息,微软大中华区开发工具及平台事业部总
    发表于 04-13 08:26 974次阅读

    基于单片无操作系统的 USB 主机控制器接口

    论文以Compaq、Microsoft 等公开的 USB 主机控制器接口规范为基础,遵循USB 主机的协议规范,开发了独立于操作系统的USB 主机底层驱动程序,并在S3C2410 平台
    发表于 06-24 09:30 669次阅读
    基于单片无<b class='flag-5'>操作系统</b>的 USB <b class='flag-5'>主机</b>控制器接口

    基于网络欺骗的操作系统抗识别模型NDAF

    针对传统主机操作系统抗识别技术整体防御能力不足的问题,提出一种基于网络欺骗的操作系统抗识别模型( NDAF)。首先,介绍模型的基本工作原理,由网络内的欺骗服务器制定欺骗指纹模板,各主机根据欺骗模板
    发表于 12-21 10:17 0次下载
    基于网络欺骗的<b class='flag-5'>操作系统</b>抗识别模型NDAF

    虚拟主机用途_虚拟主机使用方法步骤_虚拟主机如何绑定域名

    为什么要用虚拟主机呢,因为自己购买服务器到安装操作系统和应用软件需要较长时间。而租用虚拟主机通常只需要几分钟的时间可以开通,方便用户的使用。关于虚拟主机用途以及使用方法,如何绑定域名等
    发表于 01-19 09:23 2271次阅读

    虚拟主机的硬件条件是什么_虚拟主机怎么用

    完整的Internet服务器功能。在同一台硬件、同一个操作系统上,运行着为多个用户打开的不同的服务器程序,互不干扰;而各个用户拥有自己的一部分系统资源(IP地址、文件存储空间、内存、CPU时间等)。虚拟主机之间完全独立, 在外界
    发表于 04-02 11:26 1972次阅读

    Linux主机是什么

    Linux主机是基于Linux内核的服务器操作系统配置的主机(常见Linux服务器操作系统如:Redhat,CentOS,Debian,FreeBSD,Ubentu等)。
    发表于 05-15 09:16 1553次阅读

    基于uPD720100控制器实现新型USB2.0高速主机适配卡的应用方案

    USB界面通过USB主控制器与计算机主机系统相连接。USB主控制器不但提供与主机的PCI总线接口,同时也包含根集线器。根集线器可提供一个或多个连接点用于USB设备的连接,从而使主机操作系统
    的头像 发表于 06-15 15:20 2402次阅读
    基于uPD720100控制器实现新型USB2.0高速<b class='flag-5'>主机</b>适配卡的应用方案

    主机要不要更新操作系统,更新后会有影响吗

    主机要不要更新操作系统?我们在租用云主机时,除了要考虑配置、带宽、IP等等因素,操作系统的选择也是很重要的环节。而且云主机操作系统不是选择
    的头像 发表于 09-02 17:50 1457次阅读

    麒麟桌面操作系统的作用

    麒麟桌面操作系统是一款高安全、高可用、高性能的国产操作系统,提供了简单易用、界面友好、安全稳定的桌面操作体验。在极客主机上可流畅运行麒麟桌面操作系统
    发表于 11-12 11:43 1216次阅读

    微软发布自己的Linux发行版,“Linux是种癌症”影响犹在

    根据介绍,Azure Linux 是针对 Azure Kubernetes 服务 (AKS) 的开源容器主机操作系统,针对 Azure 进行了优化,旨在让开发人员更轻松地使用微软的工具
    的头像 发表于 05-29 10:28 486次阅读
    微软发布自己的Linux发行版,“Linux是种癌症”影响犹在

    Ubuntu替代Windows?使用Station主机打造桌面操作系统

    等,也被公认是Linux发行版中最好的桌面操作系统。那么在Station主机上能不能用Ubuntu代替Windows?打造桌面操作系统呢?系统安装&设置一般
    的头像 发表于 04-16 16:19 1250次阅读
    Ubuntu替代Windows?使用Station<b class='flag-5'>主机</b>打造桌面<b class='flag-5'>操作系统</b>!