Nowadays computing environments are made of heterogeneous networked resources, but unlike environments used a decade ago, the current e n vironments are highly dynamic. During a computing session, new resources are likely to appear and some are likely to go o i n e o r t o m o ve to some other place. The operating system is supposed to hide most of the complexity o f such e n vironments and make it easy to write applications using them. However, that is not the case with our current operating systems. Plan B is a new operating system that attempts to allow the applications and their programmers select and use whatever resources are available without forcing them to deal with the problems created by their dynamic distributed and heterogeneous environments. It does so by using constraints along with a new abstraction used to replace the traditional le abstraction.
Today, there are several different communication interfaces available and we plug/unplug them at will. However, our network programming interfaces remain similar to those used when there was at most one network interface.As a result, applications must struggle with the problem of adapting to changes in network facilities: they must select the appropriate network, switch to another when the current one fails, re-establish failed connections, and so on. Although there are systems and middleware that solve part of these problems, there is no integrated approach that addresses the underlying problem: a new network programming interface is needed for applications that must run in mobile and ubiquitous computing environments. This paper presents the design, implementation, and experience with a novel network programming interface introduced in the Plan B's Operating System, called /net. It also shows how this interface addresses the problems mentioned and simplifies network programming, including some example applications.
Nowadays computing environments are made of heterogeneous networked resources, but unlike environments used a decade ago, the current e n vironments are highly dynamic. During a computing session, new resources are likely to appear and some are likely to go o i n e o r t o m o ve to some other place. The operating system is supposed to hide most of the complexity o f such e n vironments and make it easy to write applications using them. However, that is not the case with our current operating systems. Plan B is a new operating system that attempts to allow the applications and their programmers select and use whatever resources are available without forcing them to deal with the problems created by their dynamic distributed and heterogeneous environments. It does so by using constraints along with a new abstraction used to replace the traditional le abstraction.
Summary The Nix operating system permits different roles to be assigned to the cores. One of the roles is to be able to run user‐space code with no interrupts from the operating system, which is particularly useful for high‐performance computing. System calls are especially expensive to a core playing this role. This paper presents a new implementation of optimistic semaphores that avoid performing expensive system calls in an uncontended scenario. The implementation is straightforward and somewhat unorthodox: a semaphore is based on a data structure and a lock that are shared between user space and kernel space. This study aims at evaluating if such an approach is viable. In addition, the implementation includes a non‐deterministic choice operation over a collection of semaphores, altsems. This novel operation facilitates the creation of higher‐level communication mechanisms, such as sockets and channels. To support this claim, we implemented a new kind of buffered communication channels named tubes, tailored for communicating processes running on different (heterogeneous) cores. The paper describes the implementation of the semaphores and the tubes, a comparative analysis of optimistic and non‐optimistic semaphores on Nix, and a comparative analysis of tubes and other kinds of communication channels that are available on the Nix operating system. Copyright © 2014 John Wiley & Sons, Ltd.
The use of context is necessary for a rich interaction with the users and adaptation of the system to their needs. However, how to integrate context with the applications and the system is yet an unsolved problem. Looking at other services provided by our computing platforms, we ask ourselves: How can context be made a system service?. Making the context an application neutral system service would permit to share and update it from different sources and applications, making the user able to interact with it easily. Even applications which are not context aware would be able to benefit from this approach. We are designing and implementing an application called CUROCO to deal with this issues.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2025 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.