Max OS 0.3
Loading...
Searching...
No Matches
memorymanagement.cpp File Reference

Implementation of a Memory Manager for dynamic memory allocation. More...

Go to the source code of this file.

Functions

voidoperator new (size_t size) throw ()
 Overloaded new operator, allocates memory using the KERNEL memory manager.
 
voidoperator new[] (size_t size) throw ()
 Overloaded new operator, allocates memory using the KERNEL memory manager.
 
voidoperator new (size_t size, void *pointer)
 Overloaded new operator, allocates memory using the KERNEL memory manager.
 
voidoperator new[] (size_t size, void *pointer)
 Overloaded new operator, allocates memory using the KERNEL memory manager.
 
void operator delete (void *pointer)
 Overloaded delete operator, frees memory using the KERNEL memory manager.
 
void operator delete[] (void *pointer)
 Overloaded delete operator, frees memory using the KERNEL memory manager.
 
void operator delete (void *pointer, size_t)
 Overloaded delete operator, frees memory using the KERNEL memory manager.
 
void operator delete[] (void *pointer, size_t size)
 Overloaded delete operator, frees memory using the KERNEL memory manager.
 

Detailed Description

Implementation of a Memory Manager for dynamic memory allocation.

Date
20th October 2022
Author
Max Tyson

Definition in file memorymanagement.cpp.

Function Documentation

◆ operator delete() [1/2]

void operator delete ( void pointer)

Overloaded delete operator, frees memory using the KERNEL memory manager.

Parameters
pointerThe pointer to the memory to free

Definition at line 379 of file memorymanagement.cpp.

379 {
380
381 // Handle the memory freeing
383}
static void kfree(void *pointer)
Frees a block of memory using the kernel memory manager.

References MaxOS::memory::MemoryManager::kfree().

◆ operator delete() [2/2]

void operator delete ( void pointer,
size_t  size 
)

Overloaded delete operator, frees memory using the KERNEL memory manager.

Parameters
pointerThe pointer to the memory to free
sizeThe size of the memory to free - ignored in this implementation

Definition at line 402 of file memorymanagement.cpp.

402 {
403
404 // Handle the memory freeing
406}

References MaxOS::memory::MemoryManager::kfree().

◆ operator delete[]() [1/2]

void operator delete[] ( void pointer)

Overloaded delete operator, frees memory using the KERNEL memory manager.

Parameters
pointerThe pointer to the memory to free

Definition at line 390 of file memorymanagement.cpp.

390 {
391
392 // Handle the memory freeing
394}

References MaxOS::memory::MemoryManager::kfree().

◆ operator delete[]() [2/2]

void operator delete[] ( void pointer,
size_t  size 
)

Overloaded delete operator, frees memory using the KERNEL memory manager.

Parameters
pointerThe pointer to the memory to free
sizeThe size of the memory to free - ignored in this implementation

Definition at line 414 of file memorymanagement.cpp.

414 {
415
416 // Handle the memory freeing
418}

References MaxOS::memory::MemoryManager::kfree().

◆ operator new() [1/2]

void * operator new ( size_t  size)
throw (
)

Overloaded new operator, allocates memory using the KERNEL memory manager.

Parameters
sizeThe size of the memory to allocate
Returns
The pointer to the allocated memory

Definition at line 331 of file memorymanagement.cpp.

331 {
332
333 // Handle the memory allocation
335}
static void * kmalloc(size_t size)
Allocates a block of memory in the KERNEL space.

References MaxOS::memory::MemoryManager::kmalloc().

◆ operator new() [2/2]

void * operator new ( size_t  size,
void pointer 
)

Overloaded new operator, allocates memory using the KERNEL memory manager.

Parameters
pointerThe pointer to the memory to allocate
sizeThe size of the memory to free - ignored in this implementation
Returns
The pointer to the memory

Definition at line 356 of file memorymanagement.cpp.

356 {
357
358 return pointer;
359}

◆ operator new[]() [1/2]

void * operator new[] ( size_t  size)
throw (
)

Overloaded new operator, allocates memory using the KERNEL memory manager.

Parameters
sizeThe size of the memory to allocate
Returns
The pointer to the allocated memory

Definition at line 343 of file memorymanagement.cpp.

343 {
344
345 // Handle the memory allocation
347}

References MaxOS::memory::MemoryManager::kmalloc().

◆ operator new[]() [2/2]

void * operator new[] ( size_t  size,
void pointer 
)

Overloaded new operator, allocates memory using the KERNEL memory manager.

Parameters
sizeThe size of the memory to free - ignored in this implementation
pointerThe pointer to the memory to allocate
Returns
The pointer to the memory

Definition at line 368 of file memorymanagement.cpp.

368 {
369
370
371 return pointer;
372}