#include <Memory.hpp>
Inheritance diagram for corelinux::Memory
Public Methods | |
Memory ( void ) throw ( Assertion ) | |
Default constructor. | |
virtual | ~Memory ( void ) |
Virtual Destructor. | |
Static Public Methods | |
MemoryStoragePtr | createStorage ( Size aByteSize, Int Rights = OWNER_ALL ) throw ( StorageException ) |
Default create method, creates a private block of read write shared memory of size aByteSize, sharing attributes default to owner. More... | |
MemoryStoragePtr | createStorage ( MemoryIdentifierCref aIdentifier, Size aByteSize, CreateDisposition disp = CREATE_OR_REUSE, Int Rights = OWNER_ALL, AddressingConstraint addressing = READ_WRITE ) |
Create method, creates or opens a specifically identified block of shared memory of size aByteSize, sharing attributes default to owner. More... | |
MemoryStoragePtr | createStorage ( CharCptr aName, Size aByteSize, CreateDisposition disp = CREATE_OR_REUSE, Int Rights = OWNER_ALL , AddressingConstraint addressing = READ_WRITE ) |
Create method, creates or opens a specifically identified block of shared memory of size aByteSize, sharing attributes default to owner. More... | |
void | destroyStorage ( MemoryStoragePtr ) |
Destroy a previously allocated storage block. More... | |
Protected Methods | |
Memory ( MemoryCref ) throw ( Assertion ) | |
Copy constructor prohibited. | |
MemoryRef | operator= ( MemoryCref ) throw ( Assertion ) |
Assignment operator prohibited. | |
bool | operator== ( MemoryCref ) const |
Equality always returns false. | |
Static Protected Attributes | |
MemoryManager | theMemoryManager |
The singleton instance of Memory for synchronization. |
Upon allocation request, the operating system provides user processes with a memory storage region that is in addition to the current memory resources (stack, program, data) of the process. The memory can be made visible to all processes in the system, a select few, or just to the process that requested the storage. If made visible to other processes, memory provides a fast and efficient way to transfer information between the processes, and in this manner can be catagorized as high speed interprocess communication. It is up to the processes that share this memory area to agree on a synchronization protocol. The operating system allows a process to "mark" a memory region attribute as:
|
Create method, creates or opens a specifically identified block of shared memory of size aByteSize, sharing attributes default to owner.
|
|
Create method, creates or opens a specifically identified block of shared memory of size aByteSize, sharing attributes default to owner.
|
|
Default create method, creates a private block of read write shared memory of size aByteSize, sharing attributes default to owner.
|
|
Destroy a previously allocated storage block.
|