Skip to Main Content
计算机科学导论:跨学科方法
book

计算机科学导论:跨学科方法

by 罗伯特 塞奇威克, 凯文 韦恩
August 2021
Beginner to intermediate content levelBeginner to intermediate
450 pages
19h
Chinese
Pearson
Content preview from 计算机科学导论:跨学科方法

6.4 TOY虚拟机

考虑到TOY是一个虚拟机,我们如何能够运行和调试程序呢?在本节中,我们将为这个问题提供一个完整的答案,然后讨论其意义。在本节中你将看到,我们可以轻松地编写一个称为虚拟机的Java程序,它可以运行任何TOY程序。事实上,正如你所看到的,虚拟机定义了TOY的实现方式,它精确地描述了每个TOY指令的效果,并且始终保存着TOY机器的完整的状态信息。

虚拟机定义的是这样的一种机器:它像真机一样执行程序,但不需要与任何物理硬件直接对应。通常我们使用这个术语来宽泛地指代机器以及实现它的软件(或硬件)。

虚拟机的概念在一开始或许会令人不太适应,为确保读者能够完全理解这一概念,我们会完整地讲述这一概念的所有细节,而虚拟机的概念也是第5章中讨论的计算理论基本思想的核心。事实上,邱奇-图灵理论意味着任何计算系统都可以执行相同的计算,只要内存足够大,因此每台计算机都可以视作其他计算机的虚拟机。

虚拟机的核心概念是处理程序的程序。你可能还记得,在停机问题的证明中,我们引入了一个想法,即一个程序可以将另一个程序作为输入。这个想法起初似乎有点奇怪,实际上,这个想法是一个基本的计算机科学概念,我们将在本节中详细探讨。

作为热身,我们讨论一些简单的TOY编程概念的实际应用,其中包括一个重要的和难以避免的常见问题。我们会讨论这些问题与Java存在很多相似与关联,进而开始讨论本节的核心部分TOY虚拟机。最后我们讨论这一模型对现代和未来计算机的影响。

本节涵盖了很多方面的内容,从TOY到停机问题,再到服务器农场和云计算,接下来我们将会揭示这些概念和术语背后的深层含义,并诠释它的能力、简洁以及重要性。篇幅所限,我们无法对它们进行详尽的解释,但对于从事计算的人来说,理解这些术语非常重要。

启动和导出 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

数据科学之编程技术:使用R进行数据清理、分析与可视化

数据科学之编程技术:使用R进行数据清理、分析与可视化

迈克尔 弗里曼, 乔尔 罗斯
C语言核心技术(原书第2版)

C语言核心技术(原书第2版)

Peter Prinz, Tony Crawford

Publisher Resources

ISBN: 9787111641414