def __init__(self, space=16384, os=4096):
        '''
        Constructor
        '''
        self.space = space  # total space of memory
        self.os = os  # space of OS in memory

        self.elapsedTime = 0
        self.jobProcessed = 0

        # create OS partition and free partition called "main"
        # double link partition in memory
        self.osPartition = MyPartition("OS partition", 4096, "Undefined", "OS",
                                       [0, self.os])
        self.mainPartition = MyPartition("blank partition", 12288, 0,
                                         "Available", [self.os, self.space])
        self.osPartition.nextPartition = self.mainPartition
        self.mainPartition.prevPartition = self.osPartition

        # get data from text file and put them in entry queue
        dataQueue = ReadData()
        dataQueue.readDataFile(dataQueue.filename)
        self.entryQueue = MyQueue()
        self.entryQueue = dataQueue.entryQueue

        # variables used to compute statistics of best-fit, first-fit, and next-fit
        self.entryQueueLength = {}
        self.memoryRatio = {}
        self.fragmentation = {}

        # variable used to store memory output
        self.output = ''
Exemple #2
0
def reverseK(queue, k):
    if k > queue.size() or k < 0 or queue.is_empty():
        return None

    stack = MyStack()
    new_q = MyQueue()

    for i in range(k):
        v = queue.dequeue()
        stack.push(v)

    while not stack.is_empty():
        v = stack.pop()
        new_q.enqueue(v)

    while not queue.is_empty():
        v = queue.dequeue()
        new_q.enqueue(v)

    return new_q
Exemple #3
0
 def __init__(self, filename="test_jobs.txt"):
     '''
     Constructor
     '''
     self.filename = filename
     self.entryQueue = MyQueue()