| Przemyslaw Pardyak and Brian N. Bershad. Dynamic binding for an extensible system. In Proceedings of the Second Symposium on Operating Systems Design and Implementation (OSDI '96), Seattle, Washington, October 1996. |
....and signal handling mechanisms, core components of any operating system kernel, map into the general event model, where interrupts or signals map into events and their corresponding service routines into event handlers. SPIN, an extensible operating system, relies on events for extensibility [22]. Events in SPIN correspond to procedure calls that can be handled by one or more implementations (event handlers) Like our general model, any number of event handlers can be bound to an event, the order of the handlers can be specified, and handlers can have both bind time and raise time ....
P. Pardyak and B. Bershad. Dynamic binding for an extensible system. In Proceedings of the Second USENIX Symposium on Operating Systems Design and Implementation (OSDI), pages 201--212, Seattle, WA, Oct 1996.
....of what we learned during the implementation, summarizes our mechanism and results, and describes possible future work. Related Work A number of research operating system projects have explored customizability. Recent research in extensible and customizable operating systems includes SPIN [3, 22], VINO [26, 27] Exokernel [8] Fluke [9] L4 [18] Cache Kernel [6] Choices [4] Nemesis [17] Scout [20] and K42 [2] Many of the above operating systems achieve customizability by extensibility. The Exokernel, Fluke, L4, and Cache Kernel allow for customizability by having the kernel ....
....to use the same memory to cache the file if they are implemented in two different address spaces. SPIN and VINO achieve customizability by allowing user code, compiled from a safe language, to be downloaded into the kernel. SPIN employs an event mechanism to dispatch downloaded extensions [22]. Predicate functions, or guards, are evaluated in the dispatch path to decide which extension to execute. VINO allows extensions, or grafts, to be installed in system graft points. Both systems, while customizable, suffer from performance overheads resulting from predicate evaluation associated ....
P. Pardyak and B. Bershad. Dynamic binding for an extensible system. In Proc. 2nd Symp. on Operating Systems Design and Implementation, pages 201--212, 1996.
....to the OSKit [5] framework and set of libraries, Think provides a better flexibility since all components are independent. The Ka#eOS [6] project proposes some techniques to preserve quality of service in a Java environment, using the type safety properties of the language. Similarly, the SPIN [7] extensible operating system uses the properties of the Modula 3 language to permit the safe binding of modules in the operating system. In Think, we aim to remain independent of the component development language. In the DTOS [8] project, policy neutral security is enforced by way of security ....
Przemyslaw Pardyak, Brian N. Bershad. Dynamic Bindings for an Extensible System. In Proceedings of the 2nd USENIX Symposium on Operating Systems Design and Implementation, 1996.
....to the OSKit [4] framework and set of libraries, Think provides a better flexibility since all components are independent. The Ka#eOS [5] project proposes some techniques to preserve quality of service in a Java environment, using the type safety properties of the language. Similarly, the SPIN [6] extensible operating system uses the properties of the Modula 3 language to permit the safe binding of modules in the operating system. In Think, we aim to remain independent of the component development language. In the DTOS [7] project, policyneutral security is enforced by way of security ....
Przemyslaw Pardyak, Brian N. Bershad. Dynamic Bindings for an Extensible System. In Proceedings of the 2nd USENIX Symposium on Operating Systems Design and Implementation, 1996.
....to the OSKit [2] framework and set of libraries, THINK provides a better flexibility since all components are independent. The KaffeOS [3] project proposes some techniques to preserve quality of service in a Java environment, using the type safety properties of the language. Similarly, the SPIN [4] extensible operating system uses the properties of the Modula 3 language to permit the safe binding of modules in the operating system. In THINK, we aim to remain independent of the component development language. In the DTOS [5] project, policy neutral security is enforced by way of security ....
Przemyslaw Pardyak, Brian N. Bershad. Dynamic Bindings for an Extensible System. In Proceedings of the 2nd USENIX Symposium on Operating Systems Design and Implementation, 1996.
....operating systems correctness depends on extensions not being able to affect parts of the system beyond the extension s scope. SPIN provides such protection through the use of a type safe programming language combined with a dispatcher which enforces constraints described by the service writer [44]. For example, the dispatcher might enforce the constraint that a particular virtual memory extension can only handle faults for the process that installed it. SPIN also includes a hierarchical name space that limits the scope of customized modules to only those tasks that specifically ask to use ....
Pardyak, P. and B.N. Bershad. Dynamic binding for an Extensible System. in Symposium on Operating Systems Design and Implementation (OSDI). 1996.
....of new services. It effects the evaluation of the architecture only in that the local node performance will be underestimated. In future versions of the toolkit, a more promising approach may be to use a dynamic binding mechanism based on events, for example, similar to the one used in [ Pardyak and Bershad, 1996 ] This would allow changes that occur as less than the capsule forwarding rate, for example, the presence of node extensions or information in the soft store, to control which version of the forwarding method is invoked for a given type. The implementation may be efficient, since it overloads ....
Przemyslaw Pardyak and Brian Bershad. Dynamic Binding for an Extensible System. In Proc. of the Second USENIX Symposium on Operating Systems Design and Implementation (OSDI'96), pages 201--212, Seattle, WA, October 1996.
....to the application plug in with appropriate error information. The user can come to fault tolerant behaviour by providing the exception code. Otherwise, the application is set into failed state and outside intervention is required. The event based processing concept has shown to be scalable [6] and efficient [7] The additional processing time per received or sent message is in the range of 1 gsec, independent of the transport or data format. There is no central place in which incoming information is parsed. The plug in has to know, what it shall do with the received message. Each DDM ....
P. Pardyak and B. N. Bershad, "Dynamic Binding for an Extensible System", Proc. of the 2 USENIX symposium on operating systems design and implementation, 1996, pp. 201-212.
....true building parts of the system. A variety of configurable systems exists, e.g. VEST [102] Ensemble [64] the approach to system development with real time components introduced by Isovi c [49] and systems based on the port based object (PBO) model [105] 3.3. 2 Extensible systems SPIN SPIN [12, 85] is an extensible operating system that allows applications to define customized services. Hence, SPIN can be extended to provide so called application specific operating system services [12] An application specific service is one that precisely satisfies the functional and performance ....
P. Pardyak and B. N. Bershad. Dynamic binding for an extensible system. In Proceedings of the Second USENIX Symposium on Operating Systems Design and Implementation (OSDI), Operating Systems Review, Special Issue, pages 201--212, Seattle WA, USA, October 1996. ACM and USENIX Association. ISBN 1-88044682 -0.
....The dispatcher is also the responsible of invoking the original service definition, as if nothing happened. Extensions can provide their own dispatchers to enable different ways of invoking extension code, for instance to allow multiple handlers for the same event, as in other frameworks [14] [15]. Dynamic adaptation facilities Once the application has been started, it is still possible to make changes in the execution environment, given that both loading and bind manipulation facilities are available through the interface of the DI runtime. By means of these dynamic facilities, we can ....
P. Pardyak, B. Bershad "Dynamic Binding for an Extensible System", 2nd OSDI Symposium, Oct. 1996
....on static issues, rather then on dynamic features, such as adaptation to changes in system congurations, or runtime applicationcustomized resource allocation. Exokernel is a good example of a platform for a dynamic resource manager, like Magnet, proposed in this thesis. 2.1. 2 SPIN The spin [5, 59] project provides user level extensions of traditional operating system services by downloading user code into the kernel (user extensions written in a type safe language are compiled by the kernel compiler and linked to the kernel) Extensible procedure calls, called events [59] can be executed ....
.... SPIN The spin [5, 59] project provides user level extensions of traditional operating system services by downloading user code into the kernel (user extensions written in a type safe language are compiled by the kernel compiler and linked to the kernel) Extensible procedure calls, called events [59], can be executed by multiple handlers in response to an event. This technique provides dynamic binding of events to handlers by extended procedure call semantics, such as conditional execution, multicast, and asynchrony. Although spin enables applications to write their own system calls ....
P. Pardyak, B. Bershad. Dynamic Binding for an Extensible System. In Proceedings of the second Symposium on Operating Systems Design and Implementation, Seattle, USA, pages 201-212, October 1996.
....other components in the system, facilitating system evolution. Event based publish subscribe models like the one offered by ECho have become increasingly popular and their utility within a variety of other environments, including Internet and E commerce applications[30] extensible systems[23], collaborative systems[14] distributed virtual reality[19] and mobile systems[32] has been well established. ECho differs from such ongoing or past research in its efficient support for event transmission across heterogeneous machines, derived from its ability to recognize and provide runtime ....
....and sink use identical types but performing the necessary transformations when source and sink types differ in content or layout. The type variation allowed in ECho differs from that supported by message passing systems and intraaddress space event systems. For example, the Spin event system [23] supports only statically typed events. Similarly, MPI s user defined type interfaces do not offer any mechanisms through which a program can interpret a message without a priori knowledge of its contents. Additionally, MPI performs strict type matching on message sends and receives, specifically ....
Przemyslaw Pardyak and Brian N. Bershad. Dynamic binding for an extensible system. In Proceedings of the 2nd USENIX Symposium on Operating Systems Design and Implementation, pages 201--212, Seattle, WA, October 1992. USENIX.
....CD . Figure 5 shows the flow of control when a delegated method A is invoked on a base component. Requests are shown as solid lines, replies as dotted lines. Figure 5. Delegation Delegation allows authorised entities to customise system services to improve performance, correctness and simplicity [21]. For example, a new component could delegate an existing printer instance to provide fair scheduling, or a directory set to provide a customised file cache. Delegation allows these new services to be added in a manner that is transparent to clients. Without delegation, all clients must manually ....
P. Pardyak and B. Bershad. Dynamic binding for an extensible system. In Proceedings of the 2nd USENIX Symposium on Operating Systems Design and Implementation (OSDI), Seattle, WA, USA, Oct. 1996.
....messages, the user can provide software. The system can provide default procedures if for a given event no code is supplied. This is also a way to come to a homogeneous view of software components with fault tolerant behaviour. An event based processing concept has been shown to be scalable [24]. There is no need for a central place in which incoming messages have to be parsed. It is the sole responsibility of each device to know, what it shall do with the incoming message. Each device module in this concept is an active object that contains a local dispatcher. Doing so, it is not even ....
P. Pardyak and B. N. Bershad. "Dynamic Binding for an Extensible System", Proceedings of the second USENIX symposium on Operating systems design and implementation, pp. 201-212, October 29 - November 1, 1996, Seattle, WA USA
.... the transmit event, and frame drop can be achieved when processing the packet drop event in the example above (we present a more detailed example with precise event definitions in the case study later in the paper) Recent works in the areas of software engineering [8] and operating systems [9] have already advocated the use of event driven architectures for implementing extensible systems. Specifically, these works have argued for extensibility along two dimensions: a) instantiation of new components (services in the case of Protean) and (b) dynamic change in the interaction between ....
....systems. Specifically, these works have argued for extensibility along two dimensions: a) instantiation of new components (services in the case of Protean) and (b) dynamic change in the interaction between components (glues between services in Protean) We believe that the arguments in [8][9] are equally applicable in the context of Protean. III. OVERVIEW OF THE PROTEAN ROUTER ARCHITECTURE Figure 3 illustrates the Protean router architecture. As seen in the figure, the router is event driven. On top of the basic event driven architecture are the network contexts. The Protean router ....
P. Pardyak and B.N. Bershad, "Dynamic binding for an extensible system," Proceedings of the ACM SIGOPS/USENIX Association Symposium on Operating System Design and Implementation, October 1996.
....system [1] To our knowledge, RGE is the only reflective model that uses graphs and events as data structures for representing computations. The event paradigm is well established and many systems use it as the basis for extensibility, e.g. Coyote [5] the Java Bean Component Model [29] SPIN [26], and Ensemble [15] We use the event abstraction within the RGE model to capture and reflect the internals of objects to programmers. Events allow programmers to intercept and reroute both messages and method invocations. More importantly, associating events with the acts of receiving sending ....
P. Pardyak and B. Bershad, "Dynamic Binding for an Extensible System", Proceedings of the Second USENIX Symposium on Operating Systems Design and Implementation (OSDI), Seattle, WA, pp. 201-212, October 1996.
....means that significant work has had to go into building this extension mechanism so that it works in all situations that it may be needed in. For example, a complicated system of guards and run time code generation is used to determine when extensions can run and making their invocation efficient [11]. We want to use a small amount of mechanism if we can, such as having events simply record counts such as timer ticks and page faults by default along with using explicit scheduling of applications waiting for events. These techniques should work in quite a few places and promise to be simple to ....
P. Pardyak and B. Bershad. Dynamic binding for an extensible system. In Proceedings of the Second Symposium on Operating Systems Design and Implementation, October 1996.
....81] database systems exploit it to enrich queries and extend data types, and more recently web browsers and servers have used it to extend their base functionality. A variety of operating systems have allowed applications to download untrusted code into them as a way to extend their functionality [9, 22, 25, 32, 48, 71, 79, 80, 92]. This chapter documents experiences drawn from the exokernel systems described in this thesis. These experiences cover a period of four years, and span numerous rethinkings of the role of downloaded code, and, as well, much belated realization of its implications and misuses. The ability to ....
.... just knowing what is appropriate can be expressed as a kernel action. 6.6 Related Work There have been a number of papers that evaluate different downloading code mechanisms. Small and Seltzer compare several extension techniques [80] Bershad et al. 9] and Pardyak and Bershad describe [71] different aspects of the SPIN operating system s extensibility framework. This chapter complements this prior work. Stallman [81] and Borenstein and Gosling [11] discuss language issues in the context of the EMACS text editor. The discussion is largely complementary, since extensions in this ....
[Article contains additional citation context not shown here]
Przemyslaw Pardyak and Brian Bershad. Dynamic binding for an extensible system. In Proceedings of the Second USENIX Symposium on Operating Systems Design and Implementation (OSDI), pages 201--212, October 1996.
....believe that the performance advantages that accrue from optimizing for locality will more than make up for any overhead entailed by an object oriented design. 4. Comparison to other approaches Recent examples of other approaches for developing customizable systems include those taken by the SPIN [1, 12], VINO [15] Exokernel [4] Fluke [5] L4 [11] and Cache Kernel [3] projects. The SPIN and VINO operating systems allow applications to extend and customize the operating system by allowing them to down load untrusted code into the kernel. Distinguishing features of SPIN include the compiler ....
P. Pardyak and B. Bershad. Dynamic binding for an extensible system. In Proc. 2nd Symp. on OperatingSystemsDesign and Implementation, pages 201--212, 1996.
....safety problems introduced by extensibility. Such technologies include type safe languages, trusted compilers, garbage collected kernels, trusted dynamic linkers, capabilities, sandboxing, sophisticated resource management, proof carrying executables, and even kernel level transactional facilities [2, 6, 12, 14, 16, 18]. In addition to safety concerns, extensible kernels also raise difficult questions with respect to compatibility, interoperability, and evolution of OS implementations. In conventional systems, applications and operating system interact only through the API. This API is a contract that protects ....
....as vehicles for new development that can help meet the real challenges facing OS design and implementation. Efforts in building extensible kernels should focus on mechanisms that allow flexible and powerful additionand interpositionof kernel extensions, such as SPIN s dynamic binding framework [14]. Once in place, such kernels should then be used to support research into generic OS enhancements and inherently safe customizations that advance the state of the art in OS design and implementation. The next section provides a concrete example of how a set of apparently applicationspecific ....
P. Pardyak and B. N. Bershad. Dynamic binding for an extensible system. In Proc. 2nd Symp. on Operating Systems Design and Implementation, Seattle, WA, Oct. 1996.
....in which protocol code can be downloaded from protocol servers. The Streams [21] and x Kernel [8] subsystems support some level of configurability and extensibility while Da CaPo [19] seeks to improve network performance through the elimination of unnecessary protocol functionality. SPIN [20] is an extensible operating system supporting the dynamic addition of protocols at run time while still providing a level of safety and performance. Although the work described here is similar in various ways to each of these, it differs in its focus on Java, which has sufficient momentum behind ....
Pardyak Przemyslaw and Brian N. Bershad. Dynamic binding for an extensible system. In Proceedings of the Second Symposium on Operating Systems Design and Implementation (OSDI'96), pages 201--212, October 1996.
....just as statically linked kernel code. They may access data and call procedures in any visible kernel interface (i.e. an interface successfully linked against) A Unix emulation of this type is currently under development. 3. 2 Invocation Invocation is controlled by the SPIN dispatcher [Pardyak Bershad 96] The dispatcher communicates events to event handlers. An event is an announcement of or a request for a change in system state. An event handler is a procedure which acts in response to an event. Dynamically linked extensions integrate themselves into a running system by installing new ....
Pardyak, P. and Bershad, B. Dynamic Binding for Extensible Systems. To appear in Proceedings of the Second Symposium on Operating Systems Design and Implementations, Seattle, WA, October 1996.
....work The majority of the techniques used by LRTL have been successfully applied in other systems. For example, events are well understood and have been used for a variety of purposes, from graphical user interfaces such as X Windows, to the construction of operating system kernels such as SPIN [12]. The versatility of an event based abstraction resides in its ability to decouple communication between various components of a system both temporally and spatially. This feature is essential to LRTL, which is required to support a variety user requirements. A diverse set of dynamically ....
P. Pardyak and B. N. Bershad. Dynamic Binding for an Extensible System. In Second USENIX Symposium on Operating System Design and Implementation, 1996.
....in the nature of a virtual machine that could support Active Nets. The choice of Java is a potential weakness, as a number of serious security problems have been discovered. Unlike ML [MTH90] Java lacks a mathematical definition, making formal analysis of programs difficult. The SPIN [BSP 95, PB96, APC 96] operating system allowed extensions to the operating system through the use of Modula 3 programs. Through the use of restricted interfaces, the kernel is able to ensure that extensions are restricted to only modify shared resources in ways that are consistent with the policy imposed ....
Przemyslaw Pardyak and Brian Bershad. Dynamic binding for an extensible system. In Proceedings of the Second USENIX Symposium on Operating System Design and Implementation (OSDI), pages 201--212, Seattle, WA, October 1996.
No context found.
Przemyslaw Pardyak and Brian Bershad, `Dynamic Binding for Extensible Systems', Proceedings of the Second USENIX Symposium on Operating Systems Design and Implementation (OSDI), Seattle, WA, October 1996.
....at link time: The extension to be loaded into the system needs to be linked against other extensions, whose interfaces it will execute and extend. It is thus necessary, at link time, to provide access control over which interfaces a given extension can link against for execution and extending [38, 32]. Enforcing this link time control over extensions is important, since it presents a first line of defense against unauthorized access (after all, if an extension can not link against an interface, it can not directly use it) and since it may result in opportunities for optimizing away dynamic ....
....to other systems. Third, the implementation should be fast to impose as little performance overhead as possible. In SPIN, a statically linked core provides most basic services, including hardware support, the Modula 3 runtime [39, 18] the linker loader [38] threads, and the event dispatcher [32]. All other services, including networking and file system support, are provided by dynamically linked extensions. We have implemented the basic abstractions of our access control mechanism, such as security identifiers and access modes, as well as the enforcement manager as part of this static ....
[Article contains additional citation context not shown here]
P. Pardyak and B. N. Bershad. Dynamic Binding for an Extensible System. In Proceedings of the Second Symposium on Operating Systems Design and Implementation, pages 201--212, Seattle, Washington, October 1996.
.... An Efficient and Extensible Thread Management Architecture Emin Gun Sirer Przemys law Pardyak Brian N. Bershad May 15, 1996 1 Introduction Applications can significantly benefit from specializing thread packages, schedulers and synchronization primitives to their needs. In prior systems, specialization has been accomplished through a partitioning of service across the user kernel boundary. The kernel provides some ....
....takes advantage of the extension, integration and protection services offered by SPIN. First, we reduce upcall overhead by placing application specific thread packages in the same address space as the kernel. We further optimize strand upcall dispatch through run time code generation[Pardyak Bershad 96] In order to reduce the latency of user kernel boundary crossings, we delay scheduling actions until they are necessary. Finally, we expose machine dependent architectural events to applications, and allow applications to handle low level trap events. Combined, these techniques yield competitive ....
Pardyak, P. and Bershad, B. Dynamic Binding for Extensible Systems. Submitted to 1996 OSDI, May 1996.
No context found.
Przemyslaw Pardyak and Brian N. Bershad. Dynamic binding for an extensible system. In Proceedings of the Second Symposium on Operating Systems Design and Implementation (OSDI '96), Seattle, Washington, October 1996.
No context found.
Przemyslaw Pardyak, and Brian Bershad. Dynamic Binding for an Extensible System, in Proceedings of the Second USENIX Symposium on Operating Systems Design and Implementation (OSDI). 1996.
No context found.
P. Pardyak and B.N. Bershad, "Dynamic Binding for an Extensible System," Operating Systems Review, Vol. 30, Special Issue, October 1996, pp. 201-212. Available at http://www.cs.washington.edu/research/projects/spin/www/papers/OSDI96/eventsOSDI96.ps
No context found.
P. Pardyak and B. N. Bershad, "Dynamic binding for an extensible system," in Proc. USENIX Symp. Operating Systems Design Implementation , 1996, pp. 201--212.
No context found.
Przemyslaw, P., Bershad, B.N., "Dynamic Binding for an Extensible System". Proceedings of the Second USENIX Symposium on Operating System Design and Implementation (OSDI'96), pp 201-212, Seattle WA, U.S.A., October 1996
No context found.
P. Pardyak and B. Bershad, "Dynamic Binding for an Extensible System", Proceedings of the Second USENIX Symposium on Operating Systems Design and Implementation, Seattle, WA, pp. 201-212, October 1996.
No context found.
Przemyslaw Pardyak and Brian N. Bershad. Dynamic binding for an extensible system. In Proc. of the 2nd Symposium on Operating System Design and Implementation (OSDI), October 1996.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC