In
computer programming,
housekeeping can refer to either a standard entry or exit routine appended to a user-written block of code (such as a
subroutine or
function, sometimes known as a
function prologue and epilogue) at its entry and exit or, alternatively, to any other automated or manual software process whereby a computer is
cleaned up after usage (e.g. freeing resources such as
virtual memory). This might include such activities as removing or archiving logs that the system has made as a result of the users activities, or deletion of temporary files which may otherwise simply take up space. Housekeeping can be described as a necessary chore, required to perform a particular computer's normal activity but not necessarily part of the algorithm. For cleaning up
computer disk storage, utility software usually exists for this purpose such as
data compression software - to "shrink" files and release disk space and
defragmentation programs - to improve disk performance.