The Structure of the "THE"-Multiprogramming System
摘要
文章开头部分有所改动:
该系统被描述为将活动分解为连续的进程,并按层次组织;强调了这种分层结构对逻辑完整性及实现准确性的重要性。
由此可知作者将系统划分为若干层级,并讨论了独立抽象概念的重要性。
接下来让我们了解作者是如何设计这一系统的吧。
工具和目标
这部分是对该系统架构进行了概述,并阐述了其设计目标与实现原则。具体而言,在这一部分中阐述了该系统的架构设计思路及其核心目标:尽可能优化用户的程序流程运行体验。随后详细讨论了该系统的设计理念:不提供公共数据进行用户间交互交流的可能性,并且规定仅限于共享配置信息等技术细节内容。通过这一章节我们得以全面理解了该系统的架构设计思路及其核心目标:尽可能优化用户的程序流程运行体验。
进程报告
在这一部分中,该作者指出他存在一些错误,并特别强调了其中两个问题:一是过于投入于"perfect installation"的概念;二是缺乏足够的创意来为系统主体编码。随后又提到了一些心理上的担忧等问题。
系统结构研究
内存分配
在这一部分中,作者巧妙地提出"段"与"页"两个核心概念,在传统冯诺伊曼架构的基础上进行了创新性设计。与一般的冯诺伊曼机器不同的是,在该系统中实现信息检索的方式更加独特:它不是简单地按照地址空间进行寻址而是通过明确地区分内存单元与其对应的信息单元,并分别提出了"页"与"段"这两个概念来进行操作。在执行信息检索的过程中,则是以特定的索引字段(即段标识符)以及相关属性(即段变量)为基础进行定位;随后作者详细阐述了这种技术的优势。
处理器分配
在这一部分中, 作者首先阐述了单道进程调度资源的顺序特性. 接着, 为了适应多道程序的需求, 必须设计出一种更为合理的进程调度方式. 研究者借鉴了现代使用的"时间片"概念, 即每个用户对应一个程序, 并通过同步的方式进行调用. 而不是连续地执行完一个程序, 而是在一段极小的时间内同时运行多个进程. 这种并行处理的方式显然更加科学合理.
系统分层
在这一部分中,作者对系统的分层进行了详细阐述,并指出该系统采用了层次结构体系(hierarchical structure),包含五个层级。
level 0
在level 0层次中,信号量(signal)被表示为同时执行的进程(processes)。该层为此上层提供了一个名为process的抽象机制。通过定时中断机制实现对所有进程的均匀调度,并保证每个进程都能公平地使用资源。
level 1
level 1负责实现物理内存向虚拟内存的转换过程。
level 2
Level 2提出了消息解释器这一概念,并将其命名为"message interpreter"。不同进程之间的通信采用了消息传递的方式进行操作。每条消息(message)都有其独特的开头部分(opening sentence),其中包含了发送方进程的信息以及接收方进程地址等关键信息。因此必须依赖消息解释器来处理消息来源(sender)与接收目标(destination)。
在Level 2之上设置了每个进程独立的会话控制台(conversational console)。实际上所有这些会话控制台都是共享使用的,并且通过同步机制确保只有一个对话可以在同一时间运行(one conversation at a time)。不同的对话之间互不干扰。Level 2的作用就是将单个控制台转变为多个可用的数量(as many as needed)。
由于消息是存储在特定内存区域中的(segment),本层需要建立Level 1中所需的抽象模型,并在此基础上构建更高层次的功能模块。
level 3
level 3的主要功能是将I/O设备转换为process.该程序与外围设备所属进程之间的通信主要采用message的方式,从而 necessitated the establishment of a level 2 abstraction layer.因此该层位于上一层(level 2)之下.
level 4
发现了独立的用户程序。
level 5
关于操作员,作者未实现。
设计经验
改写说明
结论
在这一段中,作者阐述了程序验证中的相关问题,并表示感谢。
附件
此部分阐述了系统中采用的同步机制原理。其中主要涉及两种操作机制:P操作与V操作。该 semaphore变量的初始值通常设置为0或1,在程序运行过程中可能会出现负数值的情况。对于P操作而言,在每次执行时会将 semaphore 变量减一;如果结果仍为非负数,则能够顺利执行;若结果变为负数,则会被阻塞。而 V 操作则会增加 semaphore 变量的值;如果此时值仍大于零,则不会引起任何变化;但如果结果等于零,则会唤醒正在等待该 semaphore 所对应的进程。
总结
在本文的论文中,作者定义了'段落'和'页面'这两个概念,阐述了同步机制,阐述了系统分层,并类比地引入了一个类似时间片的概念,这些内容都是极具前瞻性的。
