357 research outputs found

    Porting the Chorus Supervisor and Related Low-Level Functions to the PA-RISC

    Get PDF
    This document is part of a series of reports describing the design decisions made in porting the Chorus Operating System to the Hewlett-Packard 9000 Series 800 workstation. The Supervisor is the name given by Chorus to a collection of low-level functions that are machine dependent and have to be implemented when Chorus is ported from one machine to another. The Supervisor is responsible for interrupt, trap and exception handling, managing low-level thread initialization, context switch, kernel initialization, managing simple devices (timer and console) and offering a low-level debugger. This document describes the port of the Supervisor and related low-level functions. The informacion contained in this paper will be of interest, to people who wish to understand: • The main characteristics of Chorus and PA-RISC architecture that are useful in understanding the port of the Chorus Supervisor. • The requirements and implementation of the Chorus Supervisor. • The requirements and implementation of Chorus page fault interface • The requirements and implementation Chorus System call interface • The requirements and implementation of \u27mutex\u27 interface which is a part of the Chorus system call interface for efficient thread synchronization. • Reasons for the modifications to the portable layers of Chorus kernel to implement the above requirements. A summary of the modifications is also presented. It is useful to read the port overview before reading this document. It is also a good idea to have the Precision Architecture and Instruction Set Reference Manual and Chorus v3.3 implementation guide on hand although it is not absolutely necessary

    DRAFT: work in progress - - - comments solicited evolving Mach 3.0 to use migrating threads

    Get PDF
    technical reportLike most operating systems, Mach 3.0 views threads as statically associated with a single task. An alternative model is that of migrating threads, in which a single thread abstraction moves between tasks with the logical flow of control, and "server" code is passively executed. We have compatibly replaced Mach's static threads with migrating threads, isolating that aspect of operating system design and implementation. The key element of our design is a decoupling of the thread abstraction into the controllable execution context and the schedulable thread of control, consisting of a chain of contexts. A key element of our implementation is that threads are now "based" in the kernel, and temporarily make excursions into tasks via upcalls. The new system provides cleaner and more powerful semantics for thread manipulation, allows scheduling and accounting attributes to follow threads, simplifies both kernel and server code, and improves RPC performance. We have retained the old thread and IPC interfaces for backwards compatibility, with no changes required to existing client programs and only a minimal change to servers, as demonstrated by a functional Unix single server and clients. Code size along the critical RPC path has been reduced by a factor of three, while its logical complexity has been reduced by an order of magnitude. Initial timings show that the performance of local RPC, doing normal marshaling, has also improved by a factor of three. We conclude that a migrating thread model is superior to a static model, and that it is feasible to improve existing operating systems in this manner

    Flattening an object algebra to provide performance

    Get PDF
    Algebraic transformation and optimization techniques have been the method of choice in relational query execution, but applying them in object-oriented (OO) DBMSs is difficult due to the complexity of OO query languages. This paper demonstrates that the problem can be simplified by mapping an OO data model to the binary relational model implemented by Monet, a state-of-the-art database kernel. We present a generic mapping scheme to flatten data models and study the case of straightforward OO model. We show how flattening enabled us to implement a query algebra, using only a very limited set of simple operations. The required primitives and query execution strategies are discussed, and their performance is evaluated on the 1-GByte TPC-D (Transaction-processing Performance Council's Benchmark D), showing that our divide-and-conquer approach yields excellent result

    Direct Inter-Process Communication (dIPC): Repurposing the CODOMs architecture to accelerate IPC

    Get PDF
    In current architectures, page tables are the fundamental mechanism that allows contemporary OSs to isolate user processes, binding each thread to a specific page table. A thread cannot therefore directly call another process's function or access its data; instead, the OS kernel provides data communication primitives and mediates process synchronization through inter-process communication (IPC) channels, which impede system performance. Alternatively, the recently proposed CODOMs architecture provides memory protection across software modules. Threads can cross module protection boundaries inside the same process using simple procedure calls, while preserving memory isolation. We present dIPC (for "direct IPC"), an OS extension that repurposes and extends the CODOMs architecture to allow threads to cross process boundaries. It maps processes into a shared address space, and eliminates the OS kernel from the critical path of inter-process communication. dIPC is 64.12× faster than local remote procedure calls (RPCs), and 8.87× faster than IPC in the L4 microkernel. We show that applying dIPC to a multi-tier OLTP web server improves performance by up to 5.12× (2.13× on average), and reaches over 94% of the ideal system efficiency.We thank Diego Marr´on for helping with MariaDB, the anonymous reviewers for their feedback and, especially, Andrew Baumann for helping us improve the paper. This research was partially funded by HiPEAC through a collaboration grant for Lluís Vilanova (agreement number 687698 for the EU’s Horizon2020 research and innovation programme), the Israel Science Fundation (ISF grant 769/12) and the Israeli Ministry of Science, Technology and Space.Peer ReviewedPostprint (author's final draft

    Jiko kaifukugata operetingu shisutemu kochiku furemu waku

    Get PDF
    制度:新 ; 報告番号:甲2786号 ; 学位の種類:博士(工学) ; 授与年月日:2009/2/25 ; 早大学位記番号:新500

    Mobile Open Systems Technologies For The Utilities Industries

    Get PDF
    This chapter considers the provision of mobile computing support for field engineers in the electricity industry. Section 11.2 describes field engineers current working practices and from these derives a set of general requirements for a mobile computing environment to support utilities workers. A key requirement which is identified is the need for field engineers to access real-time multimedia information in the field and it is on this requirement that the remainder of the chapter focuses. Sections 11.3 and 11.4 present a survey of enabling technologies to support distributed systems operating in both local and wide area wireless environments. The impact of these technologies on the provision of mobile computing support is assessed in section 11.5. Section 11.6 describes a software architecture which attempts to address the requirements highlighted in section 11.2 and in particular is designed to support real-time access to data in the field. Finally, section 11.7 considers the degree to which utilities workers requirements can be met by the surveyed technologies and considers the likely impact of remote data access on field engineers working practices

    Design, Implementation, and Evaluation of a Distributed Real-Time Kernel for Distributed Robotics (Dissertation Proposal)

    Get PDF
    Modern robotics applications are becoming more complex due to greater numbers of sensors and actuators. The control of such systems may require multiple processors to meet the computational demands and to support the physical topology of the sensors and actuators. A distributed real-time system is needed to perform the required communication and processing while meeting application-specified timing constraints. We are designing and implementing a real-time kernel for distributed robotics applications. The kernel\u27s salient features are consistent, user-definable scheduling, explicit dynamic timing constraints, and a two-tiered interrupt approach. The kernel wi1l be evaluated by implementing a two-arm robot control example. Its goal is to locate and manipulate cylindrical objects with spillable contents. Using the application and the kernel, we will investigate the effects of time granularity, network type and protocol, and the handling of external events using interrupts versus polling. Our research will enhance understanding of real-time kernels for distributed robotics control

    The design and implementation of a prototype exokernel operating system

    Get PDF
    Thesis (M.S.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 1996.Includes bibliographical references (p. 99-106).by Dawson R. Engler.M.S
    corecore