/// <summary>
        /// 载入一个程序段
        /// </summary>
        /// <param name="p_id">程序ID</param>
        /// <param name="p_name">程序别名</param>
        /// <param name="program">程序主体</param>
        /// <returns>返回加载结果</returns>
        public bool AddProgram(int p_id, string p_name, ProgramUnit program)
        {
            bool result = false;

            if (LoadTable.Add(p_name, p_id))
            {
                ProgramTable.Add(p_name, program);
                result = true;
            }
            return(result);
        }
        /// <summary>
        /// 进程构造函数
        /// </summary>
        /// <param name="pid">进程号-主程序号</param>
        /// <param name="main_program">主进程程序段</param>
        /// <param name="s_size">公共数据堆栈大小</param>
        public Process(int pid, ProgramUnit main_program, int s_size)
        {
            MainProgramCode = pid;

            RunTable     = new ProgramEXT();
            LoadTable    = new ProgramLoadTable();
            DataStack    = new PublicDataStack();
            MOCCTable    = new SortedList <long, Memory_Package>();
            FileTabel    = new SortedList <string, int>();
            ConnectTabel = new SortedList <string, int>();
            ProgramTable = new Hashtable();
            MainProgram  = main_program;

            StackSize = s_size;
            Program   = pid;
            RunTable.NewProgram(Program);
        }