Processes vs. User-Level Threads in Scsh
نویسندگان
چکیده
The new version of scsh enables concurrent system programming with portable user-level threads. In scsh, threads behave like processes in many ways. Each thread receives its own set of process resources. Like Unix processes, forked threads can inherit resources from the parent thread. To store these resources scsh uses preserved thread fluids, a special kind of fluid variables. The paper gives a detailed description of an efficient implementation for thread-local process resources. Scsh also provides an interface to the fork system calls which avoids common pitfalls which arise with a userlevel thread system. Scsh contains a binding for fork that forks “only the current thread.”
منابع مشابه
User-Level Threads and Interprocess Communication
User-level threads have performance and exibility advantages over both Unix-like processes and kernel threads. However, the performance of user-level threads may su er in multiprogrammed environments, or when threads block in the kernel (e.g., for I/O). These problems can be particularly severe in tasks that communicate frequently using IPC (e.g., multithreaded servers), due to interactions bet...
متن کاملCommander S — The shell as a browser
Commander S is a new approach to interactive Unix shells based on interpretation of command output and cursor-oriented terminal programs. The user can easily refer to the output of previous commands when composing new command lines or use interactive viewers to further explore the command results. Commander S is extensible by plug-ins for parsing command output and for viewing command results i...
متن کاملUser-Level Scheduling with Kernel Threads
Today’s operating systems provide kernel threads for parallel applications and multi-threaded servers. Scheduling plays an important role with regard to efficiency and fairness — especially for distributed applications, multimedia processing and server processes. A multi-threaded application should be able to specify the scheduling strategy for its threads itself. In most modern operating syste...
متن کاملHood: A User-Level Threads Library for Multiprogrammed Multiprocessors
The Hood user-level threads library delivers efficient performance under multiprogramming without any need for kernel-level resource management, such as coscheduling or process control. It does so by scheduling threads with a non-blocking implementation of the work-stealing algorithm. With this implementation, the execution time of a program running with arbitrarily many processes on arbitraril...
متن کاملSupporting Preemptive User-Level Threads for Embedded Real-Time Systems
In embedded real-time systems, it becomes imperative to support preemptive multithreading at a low cost in order to timely respond to high priority asynchronous events. Although user-level threads provide more flexible abstraction with lower overhead than kernel-level threads, kernel-level threads are more favored in real-time systems due to their simpler thread scheduling and signal handling. ...
متن کامل