© University of Kent - Contact | Feedback | Legal
The University of Kent, Canterbury, Kent, CT2 7NZ, T +44 (0)1227 764000
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.
Download publication 155 kbytes (PDF)
@inproceedings{2678,
author = {Carl G. Ritson and Frederick R.M. Barnes},
title = {A Process Oriented Approach to {USB} Driver Development},
month = {July},
year = {2007},
pages = {323-338},
keywords = {concurrency, occam-pi, operating-systems, USB, PC/104, device-drivers},
note = {},
doi = {},
url = {http://www.cs.kent.ac.uk/pubs/2007/2678},
publication_type = {inproceedings},
submission_id = {24494_1205782955},
ISBN = {978-1-58603-767-3},
booktitle = {Communicating Process Architectures 2007},
editor = {Alistair A. McEwan and Steve Schneider and Wilson Ifill and Peter Welch},
volume = {65},
series = {Concurrent Systems Engineering Series},
address = {Amsterdam, The Netherlands},
publisher = {IOS Press},
ISSN = {1383-7575},
refereed = {yes},
}