Monitors: an operating system structuring concept
Communications of the ACM
ACM SIGOPS Operating Systems Review
Overview of the Hydra Operating System development
SOSP '75 Proceedings of the fifth ACM symposium on Operating systems principles
The Cambridge CAP computer and its protection system
SOSP '77 Proceedings of the sixth ACM symposium on Operating systems principles
The CAP project - an interim evaluation
SOSP '77 Proceedings of the sixth ACM symposium on Operating systems principles
Proceedings of an ACM conference on Language design for reliable software
A structural view of the Cedar programming environment
ACM Transactions on Programming Languages and Systems (TOPLAS)
A comparison of concurrent languages: a class project
SIGCSE '87 Proceedings of the eighteenth SIGCSE technical symposium on Computer science education
The DUNIX distributed operating system
ACM SIGOPS Operating Systems Review
Design Tradeoffs for Process Scheduling in Shared Memory Multiprocessor Systems
IEEE Transactions on Software Engineering
Primitives for Distributed Computing in a Heterogeneous Local Area Network Environment
IEEE Transactions on Software Engineering
Computer
A distributed, operating system based, blackboard architecture for real-time control
IEA/AIE '90 Proceedings of the 3rd international conference on Industrial and engineering applications of artificial intelligence and expert systems - Volume 1
Paradigms for process interaction in distributed programs
ACM Computing Surveys (CSUR)
Monitors and concurrent Pascal: a personal history
HOPL-II The second ACM SIGPLAN conference on History of programming languages
MULTISAFE—a modular multiprocessing approach to secure database management
ACM Transactions on Database Systems (TODS)
Performance measurement methodologies for database systems
ACM '85 Proceedings of the 1985 ACM annual conference on The range of computing : mid-80's perspective: mid-80's perspective
Manifolds: a very high-level conceptual framework of interprocess synchronization and communication
CSC '87 Proceedings of the 15th annual conference on Computer Science
Concepts and Notations for Concurrent Programming
ACM Computing Surveys (CSUR)
ACM Transactions on Programming Languages and Systems (TOPLAS)
The COSIE communications subsystem: support for distributed office applications
ACM Transactions on Information Systems (TOIS)
Operating system support for database management
Communications of the ACM
Medusa: an experiment in distributed operating system structure
Communications of the ACM
Experience with processes and monitors in Mesa
Communications of the ACM
TOS: kernel support for distributed systems management
Proceedings of the 2001 ACM symposium on Applied computing
Building a robust software-based router using network processors
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
EW 3 Proceedings of the 3rd workshop on ACM SIGOPS European workshop: Autonomy or interdependence in distributed systems?
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
On architecture transparency in operating systems
EW 9 Proceedings of the 9th workshop on ACM SIGOPS European workshop: beyond the PC: new challenges for the operating system
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
DPM: A Measurement System for Distributed Programs
IEEE Transactions on Computers
Cooperative Task Management Without Manual Stack Management
ATEC '02 Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference
A Model of Interaction in Concurrent and Distributed Systems
Proceedings of the Second International ESPRIT ARES Workshop on Development and Evolution of Software Architectures for Product Families
IEEE Internet Computing
Handbook of massive data sets
ICSE '81 Proceedings of the 5th international conference on Software engineering
Performance evaluation of communicating processes
SIGMETRICS '79 Proceedings of the 1979 ACM SIGMETRICS conference on Simulation, measurement and modeling of computer systems
Observations on the development of an operating system
SOSP '81 Proceedings of the eighth ACM symposium on Operating systems principles
The rendezvous and monitor concepts: Is there an efficiency difference?
SIGPLAN '80 Proceedings of the ACM-SIGPLAN symposium on The ADA programming language
Mutual exclusion within both software- and hardware-driven kernel primitives
ACM SIGOPS Operating Systems Review
Messages vs. remote procedures is a false dichotomy
ACM SIGPLAN Notices
The rendezvous and monitor concepts: is there an efficiency difference?
SIGPLAN '80 Proceedings of the ACM-SIGPLAN symposium on Ada programming language
An implementation and empirical evaluation of the tasking facilities in ADA
ACM SIGPLAN Notices
A computer system supporting data abstraction
ACM SIGOPS Operating Systems Review
A computer system supporting data abstraction
ACM SIGOPS Operating Systems Review
Identifier protection in a distributed operating system
ACM SIGOPS Operating Systems Review
The management of operating system state data
ACM SIGOPS Operating Systems Review
Monitors and Concurrent Pascal: a personal history
History of programming languages---II
Building extensible routers using network processors: Research Articles
Software—Practice & Experience
Event-driven programming for robust software
EW 10 Proceedings of the 10th workshop on ACM SIGOPS European workshop
Abstractions for safe concurrent programming in networked embedded systems
Proceedings of the 4th international conference on Embedded networked sensor systems
Sharing Variables in Distributed Memory
Fundamenta Informaticae
The many faces of systems research: and how to evaluate them
HOTOS'05 Proceedings of the 10th conference on Hot Topics in Operating Systems - Volume 10
Gecko: tracking a very large billing system
ATEC '00 Proceedings of the annual conference on USENIX Annual Technical Conference
Programming asynchronous layers with CLARITY
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
The Design of a Reliable Remote Procedure Call Mechanism
IEEE Transactions on Computers
Developing a concurrent service orchestration engine in ccr
Proceedings of the 1st international workshop on Multicore software engineering
Architecture of a Database System
Foundations and Trends in Databases
Scala Actors: Unifying thread-based and event-based programming
Theoretical Computer Science
The design and implementation of a new UNIX kernel
AFIPS '81 Proceedings of the May 4-7, 1981, national computer conference
The multikernel: a new OS architecture for scalable multicore systems
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
TOSThreads: thread-safe and non-invasive preemption in TinyOS
Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems
Actors that unify threads and events
COORDINATION'07 Proceedings of the 9th international conference on Coordination models and languages
A concurrency abstraction for reliable sensor network applications
Proceedings of the 12th Monterey conference on Reliable systems on unreliable networked platforms
Scheduling intense applications most 'surprising' first
Proceedings of the 2010 ACM Symposium on Applied Computing
A compact hard real-time operating system for wireless sensor nodes
INSS'09 Proceedings of the 6th international conference on Networked sensing systems
Asynchronous event handling and safety critical Java
Proceedings of the 8th International Workshop on Java Technologies for Real-Time and Embedded Systems
Your computer is already a distributed system. why isn't your OS?
HotOS'09 Proceedings of the 12th conference on Hot topics in operating systems
Type-safe eventful sessions in java
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Self-replicating objects for multicore platforms
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
The F# asynchronous programming model
PADL'11 Proceedings of the 13th international conference on Practical aspects of declarative languages
Hiding latency in Coarray Fortran 2.0
Proceedings of the Fourth Conference on Partitioned Global Address Space Programming Model
On asynchronous session semantics
FMOODS'11/FORTE'11 Proceedings of the joint 13th IFIP WG 6.1 and 30th IFIP WG 6.1 international conference on Formal techniques for distributed systems
The design of application-tailorable operating system product lines
CASSIS'05 Proceedings of the Second international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
Pause 'n' play: formalizing asynchronous C#
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
Sharing Variables in Distributed Memory
Fundamenta Informaticae
Towards network-on-chip agreement protocols
Proceedings of the tenth ACM international conference on Embedded software
Compiler support for lightweight context switching
ACM Transactions on Architecture and Code Optimization (TACO) - Special Issue on High-Performance Embedded Architectures and Compilers
Intensional and extensional characterisation of global progress in the π-calculus
CONCUR'12 Proceedings of the 23rd international conference on Concurrency Theory
Proceedings of the 2nd edition on Programming systems, languages and applications based on actors, agents, and decentralized control abstractions
New wine in old skins: the case for distributed operating systems in the data center
Proceedings of the 4th Asia-Pacific Workshop on Systems
Eliminating unscalable communication in transaction processing
The VLDB Journal — The International Journal on Very Large Data Bases
A survey of support for structured communication in concurrency control models
Journal of Parallel and Distributed Computing
Hi-index | 0.05 |
Many operating system designs can be placed into one of two very rough categories, depending upon how they implement and use the notions of process and synchronization. One category, the "Message-oriented System," is characterized by a relatively small, static number of processes with an explicit message system for communicating among them. The other category, the "Procedure-oriented System," is characterized by a large, rapidly changing number of small processes and a process synchronization mechanism based on shared data.In this paper, it is demonstrated that these two categories are duals of each other and that a system which is constructed according to one model has a direct counterpart in the other. The principal conclusion is that neither model is inherently preferable, and the main consideration for choosing between them is the nature of the machine architecture upon which the system is being built, not the application which the system will ultimately support.