A distributed kernel named KASEN (Kaist Agent Support ENvironment) is designed and implemented. The main concern of KASEN is how to structure the closely related processes to achieve efficient information sharing and reduced communication cost. We propose the "agent" process structuring concept where an agent consists of many closely related processes and share informations which is global in an agent. In this way, an agent can provide a concurrent activity and the communications between processes can be reduced. The basic distribution unit of KASEN is agent and the processes within it can be scheduled only locally. Basically, KASEN consists of kernel primitives and a distributed executive where the kernel primitives provide services at the process level and the distributed executive at the agent level. A TTY server, file server, and system library is also developed for programmability.