(1) Storage hierarchy: memory is the source and destination of information processed by the processor; it occupies an important position, however, none of the storage devices can meet users' needs in terms of speed and capacity. In order to solve the contradiction between speed and capacity, three-level or more-level memory is used to form a storage hierarchy. The higher level is the CPU register and the higher level cache. The middle level is the primary memory (executable memory), and the lowest level is the secondary memory; by using special storage technology, the primary and secondary storage can be further optimized to multi-level; in the storage hierarchy, high-level storage is usually fast, but the high cost makes the capacity limited; the storage capacity close to the bottom is very large, the cost is low, and the relative access speed is slow;
(2) In order to effectively manage computer memory resources, the operating system should have the following four functions: memory allocation, memory protection, address ing, and memory expansion. (3) the main task of memory allocation is ProgramAllocate memory space so that they are "owned by each region". When the program is withdrawn, it will reclaim the memory space it occupies. When allocating, pay attention to improving the memory utilization. (4) Address ing: logical Address and physical address (5) storage protection: the task of memory protection is to ensure that each program runs in its own memory space and does not interfere with each other; protects the system program area from infringement (intentionally or unintentionally); region ------------------ (6) address relocation: namespace, address space and storage space are in the source program, it accesses subroutines and data through symbolic names. We call the collection of symbolic names in a program a "namespace". The source program of the assembler language is compiled, or the source program of a more advanced language is compiled; the obtained Target Program is a module with "0" as the reference address. Then, multiple target modules are connected by the Connection Program into an assembly module with a unified address, so that they can be finally loaded into the memory for execution; we convert the addresses in the target module into relative addresses (or "logical addresses"), and call the set of relative addresses as "relative address space/logical address space "; or "address space" for short ";
(7) file allocation in the disk to the memory/address change;
(8) Dynamic Relocation