Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

can be done using java in eclipse using window builder. You are to simulate a mu

ID: 3849747 • Letter: C

Question

 can be done using java in eclipse using window builder. 
   
 You are to simulate a multi-partitioned memory management system where processes are initiated and terminated requiring that memory space be allocated and de-allocated. Free memory space is to kept in a singly linked list as discussed in class, using the data structure containing allocation bits and various pointers also discussed. This is a variable-partition system with different sized "holes" and not the fixed (same) sized partions also discussed in the text. New processes are to be entered from a GUI with a size as a parameter. (numbering should be automatic). Processes are also to be terminated by a GUI action. With each process change a free memory list status is to be output clearly showing the list items and their sizes. First-fit is to be the allocation algorithm. Memory sizes and numbers of processes can be small, just big enough to demonstrate the below listed functionality. Functionality to be provided by you: 1. FF allocation. 2. De-allocation with the four combination possibilities accounted for and demonstrated. 3. A free space status provided for every instance of #1 and #2 above. 4. A process status on command (p#, size, and where located). 5. Garbage compaction as necessary. 6. Appropriate error msg when there is insufficient memory available AFTER compaction. 

Explanation / Answer

struct Chunk {

int size;

bool free;

};

{ (10, true) }

allocate: 2, return offset 0

{ (2,false), (8, true) }

allocate: 3, return offset 2

{ (2,false),(3,false),(5, true) }

allocate: 1, return offset 5

{ (2,false),(3,false),(1,false),(4,true) }

we've been taking sequentially, now for some fun

deallocate: offset 0

see the inevitable fragmentation

{ (2,true),(3,false),(1,false),(4,true) }

asking for a chunk in a fragment will fragment some more

allocate: 1, return offset 0

{ (1,false),(1,true),(3,false),(1,false),(4,true) }

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at drjack9650@gmail.com
Chat Now And Get Quote