Vous êtes sur la page 1sur 2

Memory Management

Memory management is the management of the contents of processor memory (or storage).
Applications and data must be in processor memory before they can be used. As the workload on a
system increases, memory use also increases. Memory management is concerned with optimizing the
use of processor memory to try to keep the applications and data that are being used in memory.
Memory is divided into sections, called pages, and pages that are not being used are moved to disk.
When they are needed again, they must be brought back into memory from disk. This process is
called paging.

OS/390 and UNIX systems take a significantly different approach to memory management.

Figure 1. OS/390 Demand Paging, Block Paging and Swapping

1. OS/390 memory management.

In S/390, there are three levels of memory managed by the operating system. These are central
storage (maximum of 2 GB), expanded storage (maximum of 16,000 TB), and page data sets on disk.
As the demand for central storage increases, the memory management algorithms manage the
contents of central storage according to workload priority and recent memory reference patterns.
Pages that have not been recently referenced, or whose space is required for a higher priority task
(process), will be paged out to expanded storage or to page data sets. Paging between central
storage and expanded storage is extremely efficient, so in many cases adding extra expanded storage
to a system gives the same performance improvement as adding central storage. However, expanded
storage can be configured to much larger sizes.

OS/390 also provides two enhancements to normal paging. When a set of pages need to be paged
out, it will group them together and write them out as one block in one I/O. This is called block paging.
It is more efficient in its use of the I/O subsystem. Also, if OS/390 detects that a piece of work such as
an interactive time-sharing user or a batch job is in a long wait, then it will swap out all of the pages for
that piece of work in one operation. That frees up a lot of pages for other tasks, and therefore reduces
the normal paging activity.

OS/390 also provides sophisticated memory isolation algorithms to protect the memory belonging to
high performance database management systems (DBMS), and other systems that run business-
critical work. These systems are often critical to many users, and therefore their memory use is also
more critical. OS/390 will protect their memory more than that of other normal priority work.

The combination of three levels in the memory hierarchy and sophisticated memory management
algorithms allows OS/390 systems to use memory very efficiently, and to maintain very good response
times even with significant paging activity.

Figure 2. UNIX Demand Paging

2. UNIX memory management.

UNIX memory management algorithms were designed to manage multiple equally important
concurrent interactive users. It was initially designed for multiple users doing program development.
As the demand for processor memory increases, pages are stolen from the user who is using the most
pages. They are considered to be getting more than their fair share. This works well for multiple users
of the same type, such as programmers, but it can hurt business-critical DBMS applications that use a
lot of memory. There is also a lack of differentiation between online users and batch processes.

Database management systems may avoid having their memory stolen by pinning (page fixing in
S/390 terms) sufficient pages to keep their buffers in memory. The result is that UNIX database
systems may require very large memories in order to get good performance, and these memory
requirements are increasing. This is one reason why 64-bit addressing is so important for UNIX
platforms. Pinning has a negative effect on other users, since a lot of the memory is tied to one
subsystem. Pinning is unnecessary in OS/390 systems.

Vous aimerez peut-être aussi