A lightweight process facility supporting meta-level programming

被引:1
|
作者
Shinjo, Y [1 ]
Kiyoki, Y [1 ]
机构
[1] KEIO UNIV, FAC ENVIRONM INFORMAT, FUJISAWA, KANAGAWA 252, JAPAN
关键词
lightweight processes; threads; meta-level programming; shared-memory multiprocessors; virtual processors; operating systems;
D O I
10.1016/S0167-8191(96)00045-2
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
This paper presents an implementation method of application-specific lightweight processes (threads). The main feature of this method is that the design of lightweight processes is done by using meta-level programming techniques. In this method, lightweight processes are implemented by using the concepts of microprocesses and virtual processors. A microprocess is an application-level (user-level) lightweight process and it is included in a regular (heavy weight) process. Microprocesses are executed by virtual processors which are provided by the operating system kernel. A virtual processor is an entry of a real processor which is assigned to an application process by the kernel. In this method, a virtual processor is regarded as a meta-lightweight process of user-level lightweight processes, Application programmers can describe the behavior of lightweight processes at the meta-level as well as at the base lightweight process level. In other words, application programmers can control lightweight processes by dealing with virtual processors, Each virtual processor has its own private areas of memory, These areas correspond to the lightweight-process-specific data areas, and they are used to store the identifier of the virtual processor, the variables and the stack of the lightweight process scheduler. At the meta-level, events for state transitions of lightweight processes are recorded, and they are used to tune performance.
引用
收藏
页码:1429 / 1454
页数:26
相关论文
共 50 条