//////////////////////////////////////////////////////////////////////////// // PROCESS.H // //-The process class contains all the object need to run a single process // in its own address space. // // The process class contain: // -AddressSpace // -Count of threads still alive. // -OpenFile Table // -Join Information // -Page Table Location /////////////////////////////////////////////////////////////////////////// #ifndef PROCESS_H_ #define PROCESS_H_ #include "addrspace.h" #include "openfile.h" class Process { public: Process(OpenFile *executable, bool joinable=false); ~Process(); int getThreadCount(); void incrementThreadCount(); void decrementThreadCount(); AddrSpace* getSpace(); OpenFile* openFileTable[10]; private: AddrSpace* addrSpace; int threadCount; protected: }; #endif