Skip to main content

A Process Oriented Approach to USB Driver Development

Ritson, Carl G. and Barnes, Frederick R.M. (2007) A Process Oriented Approach to USB Driver Development. In: McEwan, Alistair A. and Schneider, S.A. and Ifill, W. and Welch, Peter H., eds. Communicating Process Architectures 2007. Concurrent Systems Engineering Volume . IOS Press, pp. 323-338. ISBN 978-1-58603-767-3. (KAR id:14574)

Language: English
Download (184kB) Preview
[thumbnail of Process.pdf]
This file may not be suitable for users of assistive technology.
Request an accessible format


Operating-systems are the core software component of many modern computer systems, ranging from small specialised embedded systems through to large distributed operating-systems. The demands placed upon these systems are increasingly complex, in particular the need to handle concurrency: to exploit increasingly parallel (multicore) hardware; support increasing numbers of user and system processes; and to take advantage of increasingly distributed and decentralised systems. The languages and designs that existing operating-systems employ provide little support for concurrency, leading to unmanageable programming complexities and ultimately errors in the resulting systems; hard to detect, hard to remove, and almost impossible to prove correct. Implemented in occam-pi, a CSP derived language that provides guarantees of freedom from race-hazards and aliasing error, the RMoX operating-system represents a novel approach to operating-systems, utilising concurrency at all levels to simplify design and implementation. This paper presents the USB (universal serial bus) devicedriver infrastructure used in the RMoX system, demonstrating that a highly concurrent process-orientated approach to device-driver design and implementation is feasible, efficient and results in systems that are reliable, secure and scalable.

Item Type: Book section
Uncontrolled keywords: concurrency, occam-pi, operating-systems, USB, PC/104, device-drivers
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
Depositing User: Mark Wheadon
Date Deposited: 24 Nov 2008 18:04 UTC
Last Modified: 16 Nov 2021 09:52 UTC
Resource URI: (The current URI for this page, for reference purposes)
  • Depositors only (login required):


Downloads per month over past year