/// <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); }