Exemplo n.º 1
0
 def __init__(self, idP, pages, size, priority=0, frameSize=1,dataScope=[]):
     self.pc = 0
     self.pid = idP
     self.pages = pages
     self.size = size
     self.state = ReadyPCB()
     
     # The scheduler change this value
     self.burst = -1
     self.priority = priority
     self.frameSize = frameSize
     self.dataScope= dataScope
     self.flagZ=False
     self.flagS=False
Exemplo n.º 2
0
    def __init__(self,
                 idP,
                 pages,
                 size,
                 priority=0,
                 frameSize=1,
                 dataScope=[]):
        self.pc = 0
        self.pid = idP
        self.pages = pages
        self.size = size
        self.state = ReadyPCB()

        # The scheduler change this value
        self.burst = -1
        self.priority = priority
        self.frameSize = frameSize
        self.dataScope = dataScope
        self.flagZ = False
        self.flagS = False
Exemplo n.º 3
0
 def runing(self):
     self.state = RuningPCB()
Exemplo n.º 4
0
 def toTerminated(self):
     self.state = TerminatedPCB()
Exemplo n.º 5
0
 def toWaiting(self):
     self.state = WaitingPCB()
Exemplo n.º 6
0
 def toReady(self):
     self.state = ReadyPCB()
Exemplo n.º 7
0
class PCB:

    #este lo crea el loader
    def __init__(self,
                 idP,
                 pages,
                 size,
                 priority=0,
                 frameSize=1,
                 dataScope=[]):
        self.pc = 0
        self.pid = idP
        self.pages = pages
        self.size = size
        self.state = ReadyPCB()

        # The scheduler change this value
        self.burst = -1
        self.priority = priority
        self.frameSize = frameSize
        self.dataScope = dataScope
        self.flagZ = False
        self.flagS = False

    def incrementPc(self):
        self.state.incrementarPC(self)

    def getCurrentPage(self):
        return self.pages[self.pc / self.frameSize]

    def getCurrentLogicPage(self):
        return self.pc / self.frameSize

    def getDataPage(self, relativePosition):
        return self.dataScope[relativePosition / self.frameSize]

    def getDataPageNumber(self, relativePosition):
        return relativePosition / self.frameSize

    def getFlagZ(self):
        return self.flagZ

    def getFlagS(self):
        return self.flagS

    def getPages(self):
        return self.pages

    def getDataPages(self):
        return self.dataScope

    def getPc(self):
        return self.pc

    def getSize(self):
        return self.size

    def getBurst(self):
        return self.burst

    def finished(self):
        return self.pc >= self.size

    def getPid(self):
        return self.pid

    def getState(self):
        return self.state.name()

    def toReady(self):
        self.state = ReadyPCB()

    def toWaiting(self):
        self.state = WaitingPCB()

    def toTerminated(self):
        self.state = TerminatedPCB()

    def isTerminated(self):
        return self.state.isTerminated()

    def runing(self):
        self.state = RuningPCB()

    def assignBurst(self, burst):
        self.burst = burst

    def rafagaIsOver(self):
        return self.burst == 0

    def getPriority(self):
        return self.priority

    def decrementPriority(self):
        self.priority = (self.priority - 1)

    def decrementQuantum(self):
        self.burst = self.burst - 1
Exemplo n.º 8
0
 def runing(self):
     self.state = RuningPCB()
Exemplo n.º 9
0
 def toTerminated(self):
     self.state = TerminatedPCB()
Exemplo n.º 10
0
 def toWaiting(self):
     self.state = WaitingPCB()
Exemplo n.º 11
0
 def toReady(self):
     self.state = ReadyPCB()
Exemplo n.º 12
0
class PCB:

    #este lo crea el loader
    def __init__(self, idP, pages, size, priority=0, frameSize=1,dataScope=[]):
        self.pc = 0
        self.pid = idP
        self.pages = pages
        self.size = size
        self.state = ReadyPCB()
        
        # The scheduler change this value
        self.burst = -1
        self.priority = priority
        self.frameSize = frameSize
        self.dataScope= dataScope
        self.flagZ=False
        self.flagS=False

    def incrementPc(self):
        self.state.incrementarPC(self)
        
    def getCurrentPage(self):
        return self.pages[self.pc / self.frameSize]
    
    def getCurrentLogicPage(self):
        return self.pc / self.frameSize
    
    def getDataPage(self,relativePosition):
        return self.dataScope[relativePosition / self.frameSize]
    
    def getDataPageNumber(self,relativePosition):
        return relativePosition / self.frameSize
        
    def getFlagZ(self):
        return self.flagZ
    
    def getFlagS(self):
        return self.flagS
        
    def getPages(self):
        return self.pages
    
    def getDataPages(self):
        return self.dataScope

    def getPc(self):
        return self.pc

    def getSize(self):
        return self.size
    
    def getBurst(self):
        return self.burst

    def finished(self):
        return self.pc >= self.size
    
    def getPid(self):
        return self.pid
    
    def getState(self):
        return self.state.name()
    
    def toReady(self):
        self.state = ReadyPCB()
        
    def toWaiting(self):
        self.state = WaitingPCB()
        
    def toTerminated(self):
        self.state = TerminatedPCB()
        
    def isTerminated(self):
        return self.state.isTerminated()
                
    def runing(self):
        self.state = RuningPCB()

    def assignBurst(self, burst):
        self.burst = burst
        
    def rafagaIsOver(self):
        return self.burst == 0
    
    def getPriority(self):
        return self.priority
    
    def decrementPriority(self):
        self.priority = (self.priority - 1)
            
    def decrementQuantum(self):
        self.burst = self.burst - 1