Just like any other computer the satellite has it’s own version of software. Each satellite has at least one computer on board used for its control along with RAM (random access memory) and PROM (programed read only memory) . The flight software is resident in PROM and is copied to RAM to run at system start-up.  Some satellites also have the ability to modify the software while on orbit.  This is accomplished by use of EPROM (erasable programed read only memory) or EEPROM. When EPROM’s are used there is still a PROM for start-up then it copies the software from EPROM to RAM to run.  Once the flight software (FSW) process have been started it will run in RAM until it is restarted. The flight software collects data or issue commands to and from each unit on a scheduled basis. Once collected the data is either processes it for transmission as telemetry or passes it to the C&DH system to complete that process.  Commands from the ground or commands passed from the C&DH system are processed and executed in FSW. The ACS software also run as part of FSW to collect sensor data, produce error control signals and apply the signals to the control actuators to maintain the Attitude and pointing of the satellite. The FSW in complex satellite architectures will also interface with independent processors for each subsystem to collect telemetry and process commands. Flight recorders have been employed to store data on the satellite for retrieval at a later time, or store Attitude parameters used at start-up to minimize transients. Without the use of EPROM ground commands may be issued to change the software running in RAM on a contingency basis to correct problems, if this is done then the same commands will be required after every re-start.

If the architecture includes a C&DH system the actual Flight Computer hardware is included in that system.