large data types ================ for large data types it can be useful to override the way it it accessed, for several reasons: - to save memory usage in general. - to save memory bandwidth for types that are mostly "passed around" (i.e. copied, e.g. to/from shared memory or disk). - to use memory more efficiently for "read-rarely, write-never" data. - to avoid using up address space on 16 and 32 bit platforms. - to access data in some form of a cluster. these types could: - be compressed - be swapped out to disk - be stored remotely since read and write-back operations would be overloaded, we could also implement: - transactions - logging - versioning - m-of-n comparison between nodes (e.g. for correctness) - encryption (e.g. for passwords and keys in memory). -- for "register only" plaintext access, the kernel needs support, and plaintext access needs to be restartable if it was interrupted (context-switch) and the register data was lost.