Among other things , a multiprogramming operating system kernel must be responsible for managing all system memory which is currently in use by programs . this ensures that a program does not interfere with memory already used by another program science programs share time , each. program must have independent access to memory