A kernel for MIMD (Multiple Instruction Multiple Data) type parallel processing system is designed and implemented. The target system of the kernel is the hypercube computer system but can easily be modified to fit other MIMD parallel processors. The kernel separately runs on every node of the hyprcube system and is composed of two parts: primitives and kernel server. The primitives are a set of procedures for node management, message passing, etc. The user processes can use these primitives through system calls. The kernel server interacts with the host to perform the functions such as new agent creation kill, and node status reporting. The basic design criteria for the kernel is to provide the services for more general applications of the hypercube system. For this purpose, we have implemented asynchronous communication between agents, which are the basic unit of distribution in our model. Also, an agent is designed to be able to have multiple processes within it so that the information exchanges between them can be very costeffective. This method results in reduced communication cost if processes of common interest is grouped together within an agent.