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 = ''
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
def __init__(self, filename="test_jobs.txt"): ''' Constructor ''' self.filename = filename self.entryQueue = MyQueue()