问题

.net内核能够移植到arm上,那windows能运行在上面么?

回答
.NET Core 的设计理念是跨平台,这意味着它能够运行在包括 ARM 在内的多种处理器架构上。这得益于 .NET Core 使用了像 RyuJIT 这样的即时编译器(JIT)以及其精心设计的运行时环境。RyuJIT 能够针对不同的 CPU 架构生成优化的机器码,因此 .NET Core 代码可以编译并在 ARM 处理器上执行。

那么,Windows 本身能否在 ARM 架构上运行,进而承载 .NET Core 应用呢?答案是肯定的,并且这并非什么新鲜事。实际上,微软很早就开始涉足 Windows 在 ARM 上的支持。

早期的尝试,比如 Windows CE(后来演变成 Windows Mobile 和 Windows Phone),就已经在 ARM 芯片上运行。这些系统虽然与我们今天桌面版的 Windows 有很大区别,但已经展示了在嵌入式和移动设备上运行 Windows 操作系统的可能性。

更近一步,微软推出了 Windows on ARM。这是一个完整的 Windows 操作系统版本,经过专门的优化和移植,能够原生运行在 ARM 处理器上。这不仅仅是 ARM 设备上能运行一些简单的应用,而是指整个操作系统,包括用户界面、系统服务以及各种驱动程序,都能够流畅地在 ARM 硬件上运行。

Windows on ARM 最初主要面向移动设备和一些轻量级笔记本电脑(如 Surface RT 系列)。然而,随着 ARM 芯片性能的飞速发展,特别是高通等厂商推出的骁龙(Snapdragon)系列处理器,Windows on ARM 的能力得到了极大的提升。如今,许多搭载 ARM 处理器的笔记本电脑(通常被称为“Always Connected PCs”)都预装了 Windows 10 或 Windows 11 on ARM。

这些 ARM 版本的 Windows 能够做什么呢?它们可以运行绝大多数为 x86/x64 架构开发的 Windows 应用程序。这主要通过一个叫做 模拟器(Emulator) 的技术来实现。当你在 Windows on ARM 设备上尝试运行一个为 x86(32 位)或 x64(64 位)Intel/AMD 处理器编译的程序时,操作系统会调用相应的模拟器,将 x86/x64 指令实时翻译成 ARM 指令。这个翻译过程在早期可能伴随着性能损耗,但随着技术的进步,模拟器的效率越来越高,许多日常使用的应用程序,包括很多 .NET Framework 和 .NET Core 应用,在模拟环境下也能获得相当不错的运行体验。

当然,对于 Windows on ARM 来说,原生为 ARM 架构编译的应用程序能够获得最佳的性能和效率。而 .NET Core 的跨平台特性就显得尤为重要了。开发者可以针对 ARM 架构重新编译他们的 .NET Core 应用,这样就能获得原生性能,无需经过模拟器的转换。许多流行的 .NET 应用程序,包括 IDE(如 Visual Studio Code,虽然它本身是用 Electron 和其他技术构建的,但其底层运行时和插件是可移植的)、开发工具、Web 应用后端等等,都可以通过 .NET Core 轻松地在 Windows on ARM 上实现原生运行。

因此,.NET Core 的 ARM 支持与 Windows on ARM 的存在是相辅相成的。.NET Core 提供了在 ARM 平台上运行托管代码的能力,而 Windows on ARM 则为这些应用程序提供了一个完整的操作系统运行环境。这意味着,只要你拥有一台运行 Windows on ARM 的设备,你不仅可以运行操作系统本身提供的原生 ARM 应用,还可以通过 .NET Core 运行各种为 ARM 优化的 .NET 应用,或者即使不是原生 ARM 编译的 .NET 应用,只要它们能够通过 Windows on ARM 的模拟器运行,同样也能在你的 ARM 设备上得到支持。这种组合为 ARM 设备的 Windows 生态系统带来了巨大的灵活性和潜力。

网友意见

user avatar

你首先要定义一下什么叫做Windows 完全版,,,,


Windows当然可以运行在ARM上,WIndows RT是一个完整的操作系统。

当然,你不认为Windows RT是完整的,因为,很多应用程序明明可以运行在Windows 8上面,却无法在Windows RT上安装运行。

很显然,Windows不可能解决这个问题。



就像DOS当然可以运行在Windows环境,但是你要说我的仙剑奇侠传在DOS环境运行得好好的,在Windows就没法跑起来,,,,

类似的话题

  • 回答
    .NET Core 的设计理念是跨平台,这意味着它能够运行在包括 ARM 在内的多种处理器架构上。这得益于 .NET Core 使用了像 RyuJIT 这样的即时编译器(JIT)以及其精心设计的运行时环境。RyuJIT 能够针对不同的 CPU 架构生成优化的机器码,因此 .NET Core 代码可以.............
  • 回答
    Windows 10 预装的 .NET Framework 版本,其演变和兼容性是一个挺有意思的话题,也需要好好聊聊。首先,Windows 10 并非单一版本,它的生命周期内经历过多次功能更新,每一次更新都可能伴随着 .NET Framework 的更新。所以,严格来说,Windows 10 并没有.............
  • 回答
    当我们发现 ASP.NET 应用占用的内存好像“有点多了”,需要着手排查时,这可不是一个简单的“看一眼”就能搞定的任务。这更像是一次深入的“寻宝”,我们要找到那个“吃内存的大胃王”,然后想办法让它“瘦身”。首先,别急着怀疑是 IIS 进程本身在作怪。通常情况下,IIS 只是一个托管者,真正占用内存的.............
  • 回答
    在.NET中编写异步Web API可以带来显著的好处,尤其是在处理高并发、I/O密集型操作以及提升用户体验方面。下面我将详细阐述这些好处: 1. 提升吞吐量和响应能力 (Increased Throughput and Responsiveness)这是异步Web API最核心的好处。 并行处理.............
  • 回答
    .NET 6 的泛型数学新特性:一次深刻的数值计算革新.NET 6 引入的“泛型数学”(Generic Math)预览特性,为 .NET 生态系统的数值计算领域带来了一场深刻的变革。过去,.NET 在处理数学运算时,往往受到静态类型系统的限制,使得编写通用、高效的数值算法变得冗长且充满样板代码。泛型.............
  • 回答
    .NET Standard 和 .NET Core 就像是两种不同层面的设计理念,它们之间并非简单的取舍关系,而是相互关联、共同演进的。理解它们的区别,需要从“目标”和“实现”这两个维度去剖析。.NET Standard:一块通用的“规范石碑”你可以将 .NET Standard 想象成一块立在 ..............
  • 回答
    .NET 平台上的“BS 框架”(BrowserServer 框架,或者更常见的说法是 Web 框架)确实百花齐放,它们之间并非孤立存在,而是有着错综复杂的关系,并且各自在不同的场景下闪耀着实用价值。理解它们,就像梳理一个庞大生态系统中的脉络,能帮助我们更精准地选择适合的工具。咱们先从最底层、最基础.............
  • 回答
    你这个问题触及了 .NET 生态系统里一个颇为现实且值得深思的现象,那就是第三方类库和框架的质量参差不齐。与其说“平均质量真的很差”,不如说 “普遍存在着巨大的质量差异,其中不乏一些质量堪忧的组件” 更加贴切。想象一下,.NET 作为一个庞大的、枝繁叶茂的生态系统,汇聚了无数开发者,其中有经验丰富的.............
  • 回答
    .NET 的垃圾回收(Garbage Collection, GC)并非严格意义上的“定时执行”或“事件触发”,它是一个更为复杂且动态的过程,可以理解为由多种因素共同驱动,并根据系统的实际情况进行决策。你可以这样理解:.NET 的 GC 主要是在特定时机,根据内存使用情况自动启动。它不是按照固定的时.............
  • 回答
    在 .NET Core 中,选择自旋锁(SpinLock)还是传统的 `lock` 语句(其背后是 `Monitor` 类)来管理多线程并发访问共享资源,其关键的开销差异主要体现在线程挂起与恢复的成本,以及CPU资源的占用方式上。让我们深入剖析一下:自旋锁 (SpinLock): CPU 消耗 vs.............
  • 回答
    .NET 程序卡死,这个现象确实可能跟之前修复过的漏洞有着千丝万缕的联系。我们不能简单地说“是”或者“不是”,而是需要理解其中的逻辑关系。想象一下,.NET 程序就像一个精密的机器,里面有无数个零件在按照预设的规则运转。这些零件就是代码,而规则就是程序的逻辑。有时候,这个机器会出现一些“小毛病”,比.............
  • 回答
    在 .NET 的世界里,想要快速上手并构建一些小巧、高效的应用,确实有一些非常值得关注的框架。它们没有那种庞大和复杂的体系,上手成本低,而且能帮你迅速看到成果。如果你想做一个Web应用,最直观的选择就是 ASP.NET Core MVC。虽然名字里带着“MVC”,听起来好像会有点复杂,但实际上 AS.............
  • 回答
    Net Explorer 和 Internet Explorer,名字听起来确实很像,很容易让人产生联想。但如果说 Net Explorer 能不能“代替”Internet Explorer,这得看你对“代替”的定义是什么。首先,我们要明白,Internet Explorer(IE)是微软推出的一款.............
  • 回答
    .NET 框架在设计之初,就展现出了一个清晰的目标:构建一个统一、高效且跨平台的开发环境。将应用程序编程语言“统一”并非是简单地抛弃其他语言,而是通过一个强大的平台,让多种语言能够在此基础上和谐共存,协同工作。这背后蕴含着对开发者效率、代码复用、性能优化以及平台稳定性的深邃考量。首先,我们得理解“统.............
  • 回答
    .NET 中利用 Razor 引擎生成代码,本质上是赋予你的 HTML 标记动态能力。Razor 视图引擎允许你将 C 代码片段无缝地嵌入到 HTML 标记中,从而实现服务器端的数据渲染。这种方式让你可以根据服务器上的数据动态地构建 HTML 结构,让页面内容变得鲜活起来。我们来深入探讨一下这个过程.............
  • 回答
    .NET CLR(公共语言运行时)之所以能够处理“不安全”代码,尤其是那些涉及指针操作、内存访问等可能直接绕过类型检查和托管内存管理的低级操作,并非靠“保证”不挂掉,而是通过一套严谨的机制,将潜在的风险进行隔离、限制和管理,从而在大多数情况下维持程序的稳定运行。理解这一点至关重要:CLR 并不像一个.............
  • 回答
    在.NET类库中,`HashCodeHelper`(或者更确切地说,是那些通过`HashCode.Combine`等方式生成哈希码的方法)的实现,其核心目标是提供一种组合多个值的哈希码生成机制。与直接使用单个对象的`GetHashCode()`方法不同,`HashCodeHelper`旨在将多个对象.............
  • 回答
    在 .NET 开发中,如果你的应用程序需要将数据导出到 Excel 文件,并且你的目标用户可能安装了多个版本的 Microsoft Office(例如 Office 2010 和 Office 2019),那么你可能确实会遇到一个问题:如何控制你的应用程序在导出时具体调用哪个版本的 Office 组.............
  • 回答
    .NET 的 `Dictionary` 并没有为 `IEqualityComparer` 提供一个普遍适用的默认实现,这背后其实是设计上的深思熟虑,旨在为开发者提供更大的灵活性和可控性,而不是为了偷懒或技术限制。让我们深入剖析一下原因。核心在于“相等”的定义并非一成不变当你使用 `Dictionar.............
  • 回答
    在ASP.NET的Web.config文件中,`compilation`节点下的`debug`属性扮演着一个至关重要的角色,它直接影响着应用程序在开发和生产环境下的调试能力和性能表现。理解它背后的机制,能够帮助我们更好地管理和优化我们的.NET Web应用程序。首先,让我们深入了解`debug`属性.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有