进程

一.进程具有哪些特征?
(1)并发性。
(2)动态性。
(3)独立性。
(4)异步性。
(5)结构特征。

二 .调用创建新进程的系统调用来创建进程的一般步骤有哪些?
(1)申请空白 PCB;
(2)为新进程分配资源;
(3)初始化进程控制块;
(4)将新进程插入就绪队列。

三.进程之间的高级通信机制分为哪几类?
(1)共享存储器系统;
(2)消息传递系统;
(3)管道通信系统。

四.操作系统在什么情况下需要创建进程?
(1)用户登陆。
(2)作业调度。
(3)提供服务。
(4)应用请求。

五.为什么要引入线程。
由于进程既是独立执行的基本单位,又是资源拥有者,在进程创建、撤销和切换 时需要较大的时空开销。所以,系统中所设置的进程数和进程切换的频率都受到了限制,影响了操作系统并发程度的提高。引入线程作为独立调度和分派的单位,不独立拥有资源,而与其他线程共享同一进程的资源,减小了系统的时空开销。

六.请简述线程控制块的定义和所包含的信息。
定义:每个线程都由一个数据结构表示,包括它的基本状态、标识及记账信息。
这个数据结构就是线程控制块。
线程控制块包含线程标识信息、处理机状态信息、线程调度信息和线程控制信息。

七.请说明同步机制应遵循的准则。
(1) 空闲让进
(2) 忙则等待
(3) 有限等待
(4) 让权等待

八.请说明系统调用与一般函数调用的区别。
(1)系统调用运行在系统态(核心态),而一般函数运行在用户态;
(2)系统调用与一般函数调用的执行过程不同;
(3)系统调用要进行“中断处理”,比一般函数调用多了一些系统开销。

九.请简述引起中断的原因。
(1) 人为设置中断;
(2)程序性事故;
(3)硬件故障;
(4)I/O 设备;
(5)外部事件。

十.请简述操作系统内核的功能。
1)支撑功能;
2)资源管理功能。

十一.请简述进程的唤醒过程。
(1)将进程从阻塞队列中移出;
(2)将进程状态由阻塞态改为就绪态;
(3)将进程插入就绪队列。

十二.操作系统在什么情况下可能进行进程的阻塞和唤醒操作?
(1)请求系统服务;
(2)启动某种操作;
(3)新数据尚未到达;
(4)无新工作可做。

十三.请说明进程控制块中所包含的信息。
(1)进程标识符信息;
(2)处理机状态信息;
(3)进程调度信息;
(4)进程控制信息。

十四.进程调度的功能是什么?
进程调度功能由操作系统内核的进程调度程序完成,在 Linux 内核中,进程调度功能的实现从调用内核函数 schedule()开始。进程调度的功能是按照某种策略和算法从就绪态进程(在 Linux 中是可执行进程)中为当前空闲的 CPU 选择在其上运行的新进程。

十五.请说明实现实时调度的基本条件。
(1)提供必要的调度信息;
(2)系统处理能力强;
(3)采用抢占式调度机制;
(4)具有快速切换机制。

十六.自调度有什么优缺点?
自调度的优点是易移植和有利于提高 CPU 的利用率。缺点是瓶颈问题、低效性和线程切换频繁。

十七.什么是自调度方式?
采用自调度的系统中设置有一个公共的就绪队列,任何一个空闲的处理器都可以自行从该就绪队列中选取一个进程或者一个线程运行。

十八.什么是多级队列调度算法?
多级队列调度:将就绪队列分成多个独立队列,根据进程的某些属性,如需要占用的内存大小、进程优先权和进程类型,进程会被永久地分配到一个队列。每个队列有自己的调度算法。

十九.说明什么是时间片轮转调度算法?
时间片轮转调度算法:系统将所有的就绪进程按先来先服务的原则,排成一个队列,每次调度时把 CPU 分配给队首进程,并令其执行一个时间片。
当时间片用完时,调度程序终止当前进程的执行,并将它送到就绪队列的队尾。

二十.请说明处理死锁的基本方法。
处理死锁的基本方法有预防死锁、避免死锁、检测并解除死锁和忽略死锁问题。

二十一。请简述选择进程调度算法的准则。
(1) 周转时间短
(2) 响应时间快
(3) 截止时间的保证
(4) 系统吞吐量高
(5) 处理机利用率好

二十二.请简述进程切换的步骤。
(1) 保存包括程序计数器和其他寄存器在内的 CPU 上下文环 境。
(2) 更新被替换进程的进程控制块。
(3) 修改进程状态,把执行态改为就绪态或者阻塞态。
(4) 将被替换进程的进程控制块移到就绪队列或阻塞队列。
(5) 执行通过进程调度程序选择的新进程,并更新该进程的进程控制块。
(6) 更新内存管理的数据结构。
(7) 恢复被调度程序选中的进程的硬件上下文。

二十三.什么是死锁?引起死锁的原因是什么?
由于多个进程竞争共享资源而引起的进程不能向前推进的僵死状态称为死锁。
产生死锁的原因为:竞争共享资源且分配资源的顺序不当。

二十四.请说明进程终止的方式。
(1)终止所有死锁进程。
(2)一次只终止一个处于死锁的进程,直到死锁接触。

二十五.请说明解除死锁的途径。
(1)终止处于死锁状态的进程
(2)抢占死锁进程占有的资源

二十六.什么是死锁的避免?
避免死锁的方法是把系统的资源分配状态分为安全状态和不安全状态,只要资源分配使系统资源分配处于安全状态,死锁就不会发生。

二十七.如何预防发生死锁?
预防死锁可以通过摒弃下列三个必要条件之一来实现:
(1) 摒弃请求和保持条件
(2) 摒弃不剥夺条件
(3) 摒弃环路等待条件

二十八.请说明产生死锁的必要条件。
(1) 互斥条件
(2) 请求和保持条件
(3) 不剥夺条件
(4) 环路等待条件

二十九.什么是银行家算法?
银行家算法是一种能够避免死锁的资源分配算法。其基本思想是一个进程提出资源请求后,系统先进行资源的试分配。
然后检测本次的试分配是否使系统处于安全状态,若安全则按试分配方案分配资源,否则不分配资源。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值