MINIX 3: local bindery service - Pessolani, Pablo Andrés (2011)
MINIX 3 is an open-source operating system designed to be highly reliable, flexible, and secure. The kernel is small and user processes, specialized servers and device drivers runs as user-mode isolated processes. MINIX uses message transfers paradigm to communicate user processes, servers, and device drivers. System Calls use Interprocess Communication (IPC) primitives to send messages requesting services from the Process Manager Server (PM) or the File System Server (FS), and to wait for reply messages. The request messages refer to destination processes with fixed endpoint numbers for each server. MINIX 3 kernel could use a Local Bindery Service to get the endpoint number of a desired service, therefore System Calls could be provided by processes other than FS or MM, without changes in the user’s program source code. This article describes that problem, presents a solution approach, and sketches kernel source code changes as a proof of concept.