1、进程有哪三种基本状态,各状态之间如何转换?
进程分为以下三种状态:
①运行态:进程获得资源,并占有CPU,处理机执行当前程序。
②就绪态:进程等待系统为其分配CPU
③阻塞态:指进程因某个事件而暂停运行,如为等待I/O设备或者等待使用某个资源。
CPU空闲时,系统将选择一个处于就绪态的程序占有CPU从而进入运行态,而当时间片用完之后,处于运行态的程序就会进入就绪态,而若处于运行态的程序需要等待I/O输入的话,就会进入阻塞态,而当等待完毕之后,阻塞态就会变成就绪态。
2、进程的特征有哪些?
并发性:可以多个进程并发执行同一段代码
动态性:进程存在一定的生命期,有不同状态间的转换
独立性:每一个进程都是独立的个体,是资源调度和分配的独立单元
制约性:一个进程的执行可能需要另一个进程的结果,形成相互间的等待
异步性:进程的执行时间相对是不同,无法确定的
结构性:进程由数据段、程序段、PCB组成
3、管程的主要特征和它与进程间的区别
管程由四部分组成,管程名、局部变量、数据结构说明、操作原语及初始化代码
主要特征:
模块化:每个管程都是一个单独可编译的实体
抽象数据类型:管程将数据结构和操作细节集中在软件模块中,是数据和操作代码的封装
信息隐蔽:管程的实现过程时半透明的