咨询热线:

18929371983

昊林pcb全国服务热线

全国服务热线

18929371983

如果您有任何疑问或是问题, 请随时与我们联系

查看联系方式>>
pcb问题解答 当前位置: 首页 > pcb问题解答

xv6中pcb是以什么方式存放的,链表还是数组?系统 最多允许同时运行多少个进程

时间:2017/4/14 8:52:50

问题描述:#define MAX 5 //进程数量 #define RR 2 //时间片大小 /*时间片轮转算法*/ struct pro { int num; int arriveTime; int burst; int rt; //记录进程被运行的次数 struct pro *next; }; int TOTALTIME; //记录所有进程的总时间 //函数声明 struct pro* creatList(); void insert(struct pro *head,struct pro *s); struct pro* searchByAT(struct pro *head,int AT); void del(struct pro* p); int getCount(struct pro *head,int time); struct pro* searchEnd(struct pro *head); void move(struct pro *headF,struct pro *headT,int n); struct pro* creatList() //创建链表,按照进程的到达时间排列,记录所有进程的信息 { struct pro* head=(struct pro*)malloc(sizeof(struct pro)); head->next=NULL; struct pro* s; int i; TOTALTIME=0; for(i=0;i<MAX;i++) { s=(struct pro*)malloc(sizeof(struct pro)); printf("请输入进程名:\n"); scanf("蝢uot;,&(s->num)); printf("请输入到达时间:\n"); scanf("蝢uot;,&(s->arriveTime)); printf("请输入运行时间:\n"); scanf("蝢uot;,&(s->burst)); TOTALTIME+=s->burst; //计算总时间 s->rt=1; //rt的初始值为1 s->next=NULL; insert(head,s); } return head; //到达队列中的进程按照其到达时间的先后顺序排列 } void insert(struct pro *head,struct pro *s) //插入节点 { struct pro *p=searchByAT(head,s->arriveTime); s->next=p->next; p->next=s; return; } struct pro* searchByAT(struct pro *head,int AT) //查找第一个到达时间大于等于AT的节点,返回其前一个指针 { struct pro *p,*q; p=head; q=head->nex......


回答(2).今晚我帮你写这部分代码,需要稍等一下!


回答(3).1. UNIX系统有哪些基本特征? a. 开放性; b. 多用户,多任务环境; c. 功能强大,实现高效; d. 提供了丰富的网络功能. 2. UNIX系统核心分成哪两大部分?各包含哪些功能? a. UNIX系统核心分为进程控制子系统部分和文件子系统部分; b. 进程控制子系统包含进程控制,进程通信,存贮器管理和进程调度功能;文件子系统包含文件管理,高速缓冲机制和设备驱动程序的功能. 3. UNIX系统中的PCB含哪几部分?并用图来说明它们之间的关系. a. UNIX系统中的PCB含四部分:进程表项,U区,进程区表和系统区表项; 4. 进程映象含哪几部分?其中系统级上下文的动态部分的作用是什么? a. 进程映象(Process Image)包含三部分:用户级上下文,寄存器上下文和系统级上下文; b. 系统级上下文的动态部分包含核心栈和若干层寄存器上下文,它的作用是当因中断或系统调用而进入核心态时,核心把一个寄存器上下文压入核心栈,退出系统调用时,核心又将弹出一个寄存器上下文,在进行上下文切换时,核心将压入老进程的上下文层,而弹出新进程的上下文层. 5. 在UNIX系统中,用于进程控制的系统调用有哪些(主要的)?它们的主要功能是什么? a. fork,用于创建一个新进程; b. exec,改变进程的原有代码; c. exit,实现进程的自我终止; d. wait,将调用进程挂起,等待子进程终止; e. getpid,获取进程标志符; f. nice,改变进程的优先级. 6. 为创建一个新进程,需做哪些工作? a. 为新进程分配一进程表项和进程标志符; b. 检查同时运行的进程数目; c. 拷贝进程表项中的数据; d. 子进程继承父进程的所有文件; e. 为子进程创建进程上下文; f. 子进程执行. 7. 为何要采取进程自我终止方式?如何实现exit? a. 为了及时回收进程所占用的资源,并减少父进程的干预,UNIX系统利用exit来实现进程的自我终止; b. 实现exit,核心应该做的工作是:关闭软中断; 回收资源; 写记帐信息; 置进程为"僵死状态". 8. UNIX系统采用什么样的进程调度算法?其优先级是如何计算的? a. UNIX系统采用的是多级反馈队列轮转调度算法; b. 每隔1秒,核心按如下公式重新计算用户优先数:优先数=(最近使用CPU的时间/2)+基本用户优先数. 9. 试说明信号与中断两种机制间的异同处? a. 相似处:信号和中断都采用了相同的异步通信方式; 当检测出有信号或中断请求时,都是暂停正在执行的程序而转去执行相应的处理程序;两者都是在处理完毕后返回到原来的断点;对信号或中断都可进行屏蔽; b. 差异处:中断有优先级,而信号没有优先级,即所有信号都是平等的; 信号处理程序是在用户态下运行的,而中断处理程序则是在核心态下运行的; 中断响应是及时的,而信号响应通常都有较大的时间延迟. 10 扼要说明信号机制中信号的发送和对信号的处理功能? a. 信号的发送是指由发送进程把信号送到指定进程的信号域的某一位上; b. 对于对信号的处理功能:首先,-利用系统调用signal(sig,func)预置对信号的处理方式,func=1时,该类信号被屏蔽;-func=0时,进程收到信号后终止自己;-func为非0,非1类整数时,func的值即作为信号处理程序的指针. 然后,--如果进程收到的软中断是一个已决定要忽略的信号(func=1),进程不......


回答(4).给,已经编译运行通过了,简单写的: #include<stdio.h> #include<time.h> #include<stdlib.h> /*********************以下是全局数据结构和变量***********************/ /*PCB 结构*/ struct PCB{ int pname; int pri; int runtime; int waittime; struct PCB *next; }pcb[7]; /* 运行指针*/ struct PCB *running; /*高优先级就绪队列头指针*/ struct PCB *Hready; /*低优先级队列头指针*/ struct PCB *Lready; /*等待队列头指针*/ struct PCB *wait; int sig=0; /**************************以下是函数说明****************************/ /*利用循环实现延迟*/ void delay(); /*模拟进程3-9*/ void proc(struct PCB *running); /*将node插入到head所指示的队列的尾部*/ void InsertIntoQueueTail(struct PCB ** head,struct PCB *node); /*进程调度函数*/ int proc_switch(); /*进程等待函数*/ void proc_wait(); /*进程唤醒函数*/ int proc_wakeup(); /************************以下是函数定义及注释************************/ /*主函数*/ main() { int i; /*初始化,创建进程3-9,置低优先级,等待时间为0, 依次插入低优先级队列*/ for(i = 0;i < 7;i++){ pcb[i].pname = i+3; pcb[i].pri = 0; pcb[i].waittime = 0; InsertIntoQueueTail(&Lready,&pcb[i]); } /*等待队列和高优先级队列为空*/ wait = NULL; Hrea......


【返回列表页】
荣誉证书
  • 2小时快速报价
  • 生产层数高达48层
  • 工厂地址:广东省深圳市宝安区沙井
  • 24小时单、双单、加急
  • 生产铜厚高达20oz
  • 详细地址:新和大道西基达利工业园六栋
  • 2-10层加急2-3天
  • 软硬结合线路板
  • 咨询电话:18929371983
  • 12-20层加急4-7天
  • 各类混压线路板
  • 公司座机:0755-29125566
  • 12-20层加急4-7天
  • 特殊工艺线路板
  • Mail邮箱:haolinpcb@163.com
  • 大于≥22层加急7天以上
  • 特殊材料线路板
  • 在线QQ:1301093580
  • 深圳昊林电路有限公司 Copyright ©2016-2017 版权所有 备案图标粤ICP备17023075号   网站XML地图

    展开