18929371983
时间:2017/4/14 8:52:50
回答(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......
线路板打样/pcb打样制作/加工/双面/加急/pcb抄板电路板制作FPC
玉石打孔针 金刚石棒针琥珀钻头工具翡翠蜜蜡磨头玛瑙钻孔打眼针