模拟进程状态的转换。
作业内容:进程的3个基本状态:执行、就绪、等待,其转换标识分别为(如图)。
编程模拟进程状态转换过程,要求:分别建立等待队列和就绪队列(单队列、结构不限),初始状态时,1个进程处于执行状态,7个进程在等待队列中,7个进程在就绪队列中。手工触发任意一种转换,显示转换发生后的执行进程和两个队列的进程。
程序流程图:
说明(1)上为运行结果,x:x为进程号;y为进程结束剩余时间片。
(2)程序中使用队列数据结构,并以结构体process(进程)作为队列元素。
(3) 程序自动进行时间片分配,但每次运行一个进程前需要进行阻塞判断,手动输入。
#include
#include
#include<>
using namespace std;
struct process
int id;
int rt;
process(){
process(int a,int b)
queue re,bl,ru;
int main()
return 0;
void show(queue re,queue ru,queue bl)
cout<<"就绪中的任务:";
if(!else cout<<"空";
cout< if(!
else cout<<"空";
cout< }
操作系统 软件 操作系统作业
1 信号量的物理含义是什么?2 处于执行状态的进程若同时发生了下列两种情况 1 对某信号量执行p操作后,信号量的值变为负数。2 该进程的时间片到时产生中断。试问,该进程将由执行状态变迁为就绪态,还是阻塞态?简述理由。3 设有n个进程共享一临界区,对于下述情况,说明信号量的初值 含义,并用pv操作写出...
操作系统作业
4.程序并发执行时为什么会失去封闭性和可再现性?因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是由多个程序来改变,致使程序的运行失去了封闭性。而程序一旦失去了封闭性也会导致其再失去可再现性。6.试从动态性,并发性和独立性上比较进程和程序?a.动态性是进程最基本的特性,可表现为...
操作系统作业
一 选择题。1 在进程的组成部分之中,进程在运行中不可修改的部分是 a 私用程序段b 共享程序段。c 数据段d 进程控制块。2 响应比高者优先作业调度算法是以计算时间和 来考虑的。a 输入时间 b 完成时间 c 周转时间 d 等待时间。3 在消息缓冲通信中,消息队列属于 资源。a 临界 b 共享 c...