抽象机器与虚拟机:JVM、CLI 及泛型类型解析
1. 抽象机器概述
在软件开发和计算机科学领域,抽象机器是一个非常重要的概念,它为不同编程语言和系统的运行提供了基础框架。以下介绍几种不同的抽象机器。
1.1 通用语言基础结构(CLI)
CLI 原本是为微软 Windows 操作系统设计的,但 Mono 项目为包括 Linux、MacOS、Windows、Apple 的 iOS、Google 的 Android 等多个平台创建了开源实现。它实现了一个基于栈的抽象机器,与 Java 虚拟机(JVM)有很多相似之处,如都有堆、帧栈和字节码验证等。
1.2 并行虚拟机(PVM)
PVM 是一种不同类型的虚拟机,它是 C、C++ 和 Fortran 程序的库,能让计算机网络看起来像一台大型计算机。程序任务可以轻松地相互通信,即使在不同的处理器架构(如 x86、Sun Sparc、PowerPC)和不同的操作系统(如 Linux、MS Windows、Solaris、HP - UX、AIX、MacOS X)之间也能如此,其目的是支持分布式科学计算。
1.3 LLVM
LLVM 是一个编译器基础设施,提供了抽象指令集,从而对不同的机器架构有统一的视图。它被用作 Clang(C/C++/Objective - C 编译器)的后端,也是并行编程的平台。许多知名的软件和系统都使用了 LLVM,例如苹果用它来支持 iPhone(使用 ARM 架构)和 MacOS(使用 x86 架构),GHC Haskell 编译器使用 LLVM,CLI 的 Mono 实现使用 LLVM 作为即时编译(JIT)后端,Nvidi
超级会员免费看
订阅专栏 解锁全文
168万+

被折叠的 条评论
为什么被折叠?



