Bien sûr, voici un exemple de code Python qui simule un processus simple dans le domaine de la gestion des ressources de mémoire (MR) en utilisant un ton narrateur. Ce code simule l’allocation et la libération de mémoire dans un système d’exploitation.
« `python
class MemoryManager:
def __init__(self, total_memory):
self.total_memory = total_memory
self.available_memory = total_memory
self.allocated_memory = 0
self.allocations = {}
def allocate_memory(self, process_id, size):
if self.available_memory >= size:
self.available_memory -= size
self.allocated_memory += size
self.allocations[process_id] = size
print(f »Memory allocated to process {process_id}. Allocated size: {size}. »)
return True
else:
print(« Insufficient memory available for allocation. »)
return False
def free_memory(self, process_id):
if process_id in self.allocations:
size = self.allocations.pop(process_id)
self.available_memory += size
self.allocated_memory -= size
print(f »Memory freed by process {process_id}. Freed size: {size}. »)
else:
print(« No memory allocated to this process ID. »)
def display_status(self):
print(f »Total Memory: {self.total_memory} »)
print(f »Available Memory: {self.available_memory} »)
print(f »Allocated Memory: {self.allocated_memory} »)
print(« Memory Allocations: »)
for pid, size in self.allocations.items():
print(f » Process ID: {pid}, Size: {size} »)
# Narration begins
print(« Welcome to the Memory Management Simulation. »)
# Initialize the memory manager with total memory of 1024 units
memory_manager = MemoryManager(1024)
print(« Initial memory status: »)
memory_manager.display_status()
print(« Let’s allocate some memory to processes. »)
# Allocate memory to processes
memory_manager.allocate_memory(1, 200)
memory_manager.allocate_memory(2, 300)
memory_manager.allocate_memory(3, 150)
print(« Memory status after allocations: »)
memory_manager.display_status()
print(« Now, let’s free some memory from processes. »)
# Free memory from processes
memory_manager.free_memory(2)
memory_manager.free_memory(4) # This will result in an error message since process 4 has no allocated memory
print(« Final memory status: »)
memory_manager.display_status()
print(« Thank you for using the Memory Management Simulation. »)
« `
Ce code Python crée une classe `MemoryManager` pour gérer l’allocation et la libération de la mémoire. La classe a des méthodes pour allouer de la mémoire à un processus, libérer de la mémoire d’un processus et afficher l’état actuel de la mémoire. Le script inclut également une narration pour guider l’utilisateur à travers différentes étapes de la simulation.