The main memory represents level of hierarchy of memory. The main memory satisfies inquiries a cache memory and serves as the input-output interface as it is the destination for input and a source for a conclusion. For an assessment of productivity of the main memory two key parameters are used: delay and pass-band.
The delay of memory is traditionally estimated by two parameters: time of access (access time) and duration of a cycle of memory (cycle time). Time of access represents a period between delivery of request for reading and the moment of receipt of the requested word from memory. Duration of a cycle of memory is defined by the minimum time between two consecutive appeals to memory.
Coordination of productivity of modern processors with speed of the main memory of computing systems remains today as one of the major problems.
The concept of virtual memory standard now appeared for a long time. It allowed solving a number of topical issues of the organization of calculations. First of all, ensuring reliable functioning of multiprogramming systems belonging to number of such questions.
At any moment the computer carries out a set of processes or tasks, each of which has the address space. It would be too unprofitable to give all physical memory to any one task as many tasks really use only a small part of the address space. Therefore the mechanism of division of small physical memory between various tasks is necessary. Virtual memory is one of ways of realization of such possibility. It divides physical memory into blocks and distributes them between various tasks. Thus it provides also some scheme of protection which limits a task to those blocks which belong to it. The majority of types of virtual memory reduce also time of initial start of the program on the processor, as not all program code and data are required it in physical memory to begin performance.
Systems of virtual memory can be divided into two classes: systems with the fixed size of the blocks called by pages and systems with the variable size of the blocks called by segments.
Page organization of memory
In systems with the page organization the main and external memory (mainly disk space) shares on blocks or pages of the fixed length. Some part of address space which can exceed the main memory of the computer and which is limited only to the possibilities of addressing put in system of teams provided to each user. This part of address space is called the virtual memory of the user. Each word in virtual memory of the user is defined by the virtual address, two-piece: the senior categories of the address considered as page number, and younger – as word number (or byte) in page.
Other approach to the organization of memory leans on that fact that programs are usually divided into separate areas segments. Each segment represents the separate logic unit of information containing a data set or programs and located in address space of the user. Segments are created by users who can address to them on a symbolical name. Each segment has own numbering of words, since zero is established.
Usually in similar systems exchange of information between users is under construction on the basis of segments. Therefore segments are separate logic units of information which are necessary for protecting, and at this level various modes of access to segments are entered. It is possible to allocate two main types of segments: program segments and segments of data (segments of a stack are a special case of segments of data). From program segments a sample of teams and reading constants is allowed only. Record in program segments can be considered as illegal and to be forbidden by system. Sample of teams of segments of data also can be considered illegal, and any segment of data can be protected from addresses on record or on reading.