Skip to main content

Blocking System Calls in KRoC/Linux

Barnes, Frederick R.M. (2000) Blocking System Calls in KRoC/Linux. In: Welch, Peter H. and Bakkers, A.W.P., eds. Communicating Process Architectures 2000. Concurrent Systems Engineering . IOS Press, Amsterdam, Netherlands, pp. 155-178. ISBN 978-1-58603-077-3. (KAR id:21966)

Abstract

This paper describes an extension to Kent Retargetable occam Compiler (KRoC), which enables the execution of a blocking call, without blocking the occam-kernel. This allows a process to make a blocking system call (eg, read, write), without blocking processes running in parallel with it. Blocking calls are implemented using Linux clones which communicate using shared memory, and synchronise using kernel level semaphores. The usefulness of this is apparent in server applications with a need to handle multiple clients simultaneously. An implementation of an occam web-server is described in section 5, which uses standard TCP sockets via an occam socket library. The web-server comes with the ability to execute CGI scripts as well as dispensing static pages, which demonstrates some level of OS process management from within occam. However, this mechanism is not limited to blocking in the Linux kernel. On multi- processor machines, the clones are quite free to be scheduled on different processors, allowing computationally heavy processing to be performed aside the occam world, but still with a reasonable level of interaction with it. Using them in this way provides a coarse-grained level of parallelism from within the fine-grained occam world.

Item Type: Book section
Uncontrolled keywords: blocking KRoC occam CSP system-calls
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Funders: University of Kent (https://ror.org/00xkeyj56)
Depositing User: Mark Wheadon
Date Deposited: 12 Sep 2009 11:56 UTC
Last Modified: 12 Jul 2022 10:39 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/21966 (The current URI for this page, for reference purposes)

University of Kent Author Information

Barnes, Frederick R.M..

Creator's ORCID:
CReDIT Contributor Roles:
  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.