• 主存空间的分配与回收

    设计思路 (1)假定系统的主存被分成大小相等的64个块,用0/1对应空闲/占用。 (2)数组mem[i][j]表示64块分为8行8列 (3)当要装入一个作业时,根据作业对主存的需求量,先查空闲块数是否能满足作业要求,若能满足,则查位示图,修改位示图和空闲块数。位置与块号的对应关系为: 块号=j*8+i,其中i表示位,j表示字节。 (4)根据分配的块号建立页表,返回分配的块号。 回收时,修改位示图和空闲块数。 要求能接受来自键盘的空间申请及释放请求,能显示位示图和空闲块数的变化,能显示进程的页表。

    5
    101
    4KB
    2011-06-12
    15
  • 优先数进程调度算法 vc++

    (1)假定系统有5个进程,每个进程用一个PCB来代表。PCB的结构为: •进程名——如P1~P5。 •指针——按优先数的大小把5个进程连成队列,用指针指出下一个进程PCB的首地址。 •要求运行时间——假设进程需要运行的单位时间数。 •优先数——赋予进程的优先数,调度时总是选取优先数大的进程先执行。 •状态——假设两种状态:就绪和结束,用R表示就绪,用E表示结束。初始状态都为就绪状态。 (2) 开始运行之前,为每个进程确定它的“优先数”和“要求运行时间”。通过键盘输入这些参数。 (3) 处理器总是选择队首进程运行。采用动态改变优先数的办法,进程每运行1次,优先数减1,要求运行时间减1。 (4) 进程运行一次后,若要求运行时间不等于0,则将它加入就绪队列,否则,将状态改为“结束”,退出就绪队列。 (5) 若就绪队列为空,结束,否则转到(3)重复。 要求能接受键盘输入的进程优先数及要求运行时间,能显示每次进程调度的情况,如哪个进程在运行,哪些进程就绪,就绪进程的排列情况。

    5
    161
    3KB
    2011-06-12
    9
关注 私信
上传资源赚积分or赚钱