Managing the Linux kernel with AgentX: Design and Implementation