课题基金 / 基金详情

Programming-Language Structures for Representing and Optimizing Operating-System Resources

Programming-Language Structures for Representing and Optimizing Operating-System Resources
用于表示和优化操作系统资源的编程语言结构
批准号:
9633438
负责人:
Gerald Sussman
金额:
$10.0万
依托单位国家:
美国
项目类别:
Standard Grant
财政年份:
1996
资助国家:
美国
项目状态:
已结题
起止时间:
1996-08-15 至 1998-07-31

项目摘要

项目成果

Gerald Sussman的其他基金

相似基金

相关文献

中文摘要
翻译
该研究项目旨在证明基本的操作系统服务和资源可以而且应该直接用高级编程语言的自然语言结构表示。这项工作的一个组成部分是开发积极的优化策略,使这种建模实用和高效。 这项研究的核心问题是:如何将高级编程语言的好处运用到当前的系统编程实践中去? 现代计算机应用程序最常见的是用C语言编写的,C语言因缺乏对编写模块化、健壮程序的支持而闻名。 C没有模块系统,允许危险的数据类型“铸造”,违反抽象障碍,不提供自动存储管理的垃圾收集支持,没有并发操作符,并且通常将底层机器的细节暴露给程序员。它不是根据数学上合理的底层语义来定义的。因此,现代软件是脆弱的,容易出错,难以构建,维护或重用。 现代编程语言,如ML语言家族,为程序员编写大型,健壮的程序提供了更多的支持。不幸的是,这些语言还不是实现真实世界系统软件的实用工具。 实际上,用这些语言编写的程序速度很慢,使用大量内存,并且与操作系统服务的接口很笨拙。 提供从这些语言编写的程序到机器资源的访问,以语言自然的方式,应该有助于解决这些缺点。 这项研究使新的优化,并使新的模型提供给程序员,允许系统程序被写入,利用先进的编程语言的表达能力。服务内核以一种与高级语言紧密集成的方式提供对底层机器资源的访问,无论是在架构上还是在实现上。研究的问题是调查的操作系统是共生的,而不是与C,但与现代编程语言的体系结构,并开发技术,利用紧密集成的操作系统和编译器提供高效的,高层次的服务。该内核正在两个硬件平台上用机器学习开发:一个是裸英特尔PC系统,另一个是无线的、移动的“个人数字助理”,其板载资源有限。 ***
英文摘要
This research project seeks to demonstrate that fundamental operating system services and resources can and should be represented directly in the natural linguistic structures of advanced programming languages. A component of this effort is to develop aggressive optimisation strategies making this modelling practical and efficient. The central question underlying the research is: how can the benefits of advanced programming languages be brought to bear upon current systems-programming practice? Modern computer applications are most commonly written in C, a language well- known for its lack of support for writing modular, robust programs. C has no module system, allows dangerous "casting" of data types, violates abstraction barriers, provides no garbage- collection support for automatic storage management, has no concurrency operators, and generally exposes the details of the underlying machine to the programmer. It is not defined in terms of a mathematically sound underlying semantics. As a result, modern software is fragile, error-prone, and difficult to build, maintain or reuse. Modern programming languages, such as the ML family of languages, provide much more support to the programmer for writing large, robust programs. Unfortunately, these languages are not yet practical tools for implementing real-world systems software. In practice, programs written in these languages are slow, use large amounts of memory, and have awkward interfaces to OS services. Providing access from programs written in these languages to the machine resources, in ways that are natural to the language, should help to address these shortcomings. This research enables new optimisations and makes available new models to the programmer, allowing systems programs to be written that exploit the expressive power of advanced programming languages. A service kernel provides access to the underlying machine resources in a way that is tightly integrated, both in architecture and in implem entation, with advanced languages. The research issue is to investigate the architecture of an operating system that is symbiotic, not with C, but with a modern programming language, and to develop technologies for exploiting the tight integration of the OS and the compiler to provide efficient, high-level services. The kernel is being developed in ML, on two hardware platforms: a bare Intel PC system, and a wireless, mobile "personal digital assistant" with limited on-board resources. ***
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
CSR: SHF: Small: Propagator-Based Computing, A Programming Foundation for Decentralized Systems
Workshop on The Living Heritage of Artificial Intelligence
Bio-QuBIC: Robust Engineering using Biologically-Inspired Models of Cell Differentiation and Morphogenesis
Computational Mechanics Workbench
海外基金