脑图
一些概念和错题知识点整理
创建
进程实质上是创建进程映像中的PCB
;撤销
进程实质上是撤销进程的PCB
进程映像
是静态
的,进程
是动态
的- 进程控制用的程序段称为
原语
,它是不可分割
的基本单位 - 允许一个进程创建另一个进程,
创建者为父进程,被创建者为子进程
- Block原语和Wakeup原语是一对作用刚好相反的原语,
必须成对使用
。Block是由被阻塞进程自我调用
实现的,而Wakeup原语是一个与被唤醒进程合作或被其他相关进程
调用实现的 进程切换
与处理机模式切换
是不同的,模式切换无须改变当前进程的环境信息
;进程切换需要改变当前环境信息
调度
是决定资源分配给哪个进程的行为,是一种决策行为
;切换
是实际分配的行为,是执行行为
。一般来说先有资源的调度,才有进程的切换
- 并发进程失去
封闭性
是指并发进程共享变量,其执行结果与速度有关
- 一个计算机系统中,
进程最大数目
主要受内存大小
限制
简答题
1.进程和程序之间可以形成一对一、一对多、多对多的关系,请分别举例说明在什么情况下会形成这样的关系
执行一条命令或运行一个应用程序时,进程和程序之间形成一对一的关系。进程在执行过程中可以加载执行不同的应用程序,从而形成一对多的关系;以不同的参数或数据多次执行同一个应用程序,形成多对一的关系;并发地执行不同的应用程序时,形成多对多的关系
2.父进程创建子进程和主程序调用子程序有何不同
父进程创建子进程后,父进程与子进程同时执行(并发)。主程序调用子程序后,主程序暂时停在调用点,子程序开始执行,直到子程序返回,主程序才开始执行
3.为什么进程之间的通信必须借助于操作系统的内核功能?简单说明进程通信的几种主要方式
每个进程都有自己独立的地址空间。在操作系统和硬件的地址保护机制下,进程无法访问其他进程的地址空间,所以必须借助于操作系统的系统调用函数实现进程之间的通信。进程通信的主要方式有:
- 1.共享内存区
- 2.消息传递
- 3.管道系统
- 4.共享文件
4.什么是多线程?多线程与多任务有什么区别?
多线程是指在一个程序中可以定义多个线程并同时运行他们,每个线程可以执行不同的任务。
多线程与多任务的区别:多任务是针对操作系统而言的,代表操作系统可以同时执行的程序个数,多线程是针对一个程序而言的,代表一个程序可以同时执行的线程个数,而每个线程可以完成不同的任务
5.回答下列问题
1)若系统中没有运行进程,是否一定没有就绪进程?为什么?
是。若操作系统中未运行进程,则系统会选择一个就绪进程运行。只有就有队列中无进程时,CPU才会处于空闲状态
2)若系统中既没有运行进程,又没有就绪进程,系统中是否就没有进程?为什么?
不一定。因为系统中的所有进程可能都处于等待态,可能处于死锁状态,也可能因为等待的时间未发生而进入循环等待态
3)在采用优先级进程调度时,运行进程是否一定是系统中优先级最高的进程?
不一定。因为高优先级的进程有可能正处在等待队列中,进程调度会从就绪队列中选择一个进程占用CPU,这个被选中的进程可能优先级较低