A lightweight process facility supporting meta-level programming

Yasushi Shinjo, Yasushi Kiyoki

Research output: Contribution to journalArticle

1 Citation (Scopus)

Abstract

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.

Original languageEnglish
Pages (from-to)1429-1454
Number of pages26
JournalParallel Computing
Volume22
Issue number11
Publication statusPublished - 1997 Jan

Fingerprint

Programming
Data storage equipment
kernel
State Transition
Scheduler
Operating Systems
Thread

Keywords

  • Lightweight processes
  • Meta-level programming
  • Operating systems
  • Shared-memory multiprocessors
  • Threads
  • Virtual processors

ASJC Scopus subject areas

  • Computer Science Applications
  • Hardware and Architecture
  • Control and Systems Engineering

Cite this

A lightweight process facility supporting meta-level programming. / Shinjo, Yasushi; Kiyoki, Yasushi.

In: Parallel Computing, Vol. 22, No. 11, 01.1997, p. 1429-1454.

Research output: Contribution to journalArticle

@article{8a8eda8996834bd6bacca934399f593e,
title = "A lightweight process facility supporting meta-level programming",
abstract = "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.",
keywords = "Lightweight processes, Meta-level programming, Operating systems, Shared-memory multiprocessors, Threads, Virtual processors",
author = "Yasushi Shinjo and Yasushi Kiyoki",
year = "1997",
month = "1",
language = "English",
volume = "22",
pages = "1429--1454",
journal = "Parallel Computing",
issn = "0167-8191",
publisher = "Elsevier",
number = "11",

}

TY - JOUR

T1 - A lightweight process facility supporting meta-level programming

AU - Shinjo, Yasushi

AU - Kiyoki, Yasushi

PY - 1997/1

Y1 - 1997/1

N2 - 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.

AB - 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.

KW - Lightweight processes

KW - Meta-level programming

KW - Operating systems

KW - Shared-memory multiprocessors

KW - Threads

KW - Virtual processors

UR - http://www.scopus.com/inward/record.url?scp=0030811464&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0030811464&partnerID=8YFLogxK

M3 - Article

AN - SCOPUS:0030811464

VL - 22

SP - 1429

EP - 1454

JO - Parallel Computing

JF - Parallel Computing

SN - 0167-8191

IS - 11

ER -