Cache (computing)
CPU caches are generally managed entirely by hardware, other caches are managed by a different kinds  of software. The operating system usually manages a page cache in main memory. Users outside computer science usually call this cache virtual memory. It is managed by the kernel of the operating system.