操作系统——进程测试题目

1. 进程的定义:

  • 进程是程序的一次执行
  • 进程是可以和别的计算并发执行的计算
  • 进程是一个数据结构及能在其上进行操作的程序
  • 进程是程序及其数据在处理机上顺序执行的过程
  • 进程是程序在某一数据集合上的运行过程

进程(强调并发性和动态性):可以并发执行的程序在某个数据集合上的运行过程,是系统进行资源分配和调度的独立单位,并发的基本单位。

2. 进程和程序的区别:

  • 进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行。通常进程不可在计算机之间迁移;而程序通常对应着文件、静态和可以复制。创建而产生,调度而运行,撤销而消亡。
  • 进程是暂时的,程序是永久的:进程是一个状态变化的过程,程序可长久保存。
  • 进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。
  • 进程与程序的组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)。

3. 进程的特征:

  • 结构性:由程序+数据+进程控制块组成了进程实体,其中进程控制块(PCB)是进程存在的标志。
  • 动态性:进程是进程实体的执行过程,它由创建而产生,由调度而执行,因某事件而暂停,由撤销而消亡。
  • 并发性:多个进程同时存于内存中,一起向前推进,并发执行。
  • 独立性:进程是独立获得资源和独立调度的基本单位。
  • 异步性:各进程都各自独立的不可预知的速度向前推进。

4. 进程的三种基本状态及其转换:

(1)运行态:当一个程序在处理机上运行时,则称该进程处于运行状态。
(2)就绪态:一个进程获得了除处理机外的一切所需资源,一旦得到处理机即可运行,则称此进程处于就绪状态。
(3)阻塞态:当一个进程正在等待某一事件发生(例如请求I/O,申请资源未获得)而暂时停止运行,故称该进程处于阻塞状态。注意与就绪状态的不同在于即使处理机处于空闲状态也无法运行。


状态转换
  • 就绪--->运行:调度程序选择一个新的进程运行
  • 运行--->就绪:运行进程用完时间片被中断或在抢占调度方式中,因为一高优先级进程进入就绪状态
  • 运行--->阻塞:进程发生I/O请求或等待某事件时
  • 阻塞--->就绪:当I/O完成或所等待的事件发生时

5. 挂起状态(细分的进程调度状态):

由于终端用户及操作系统的需要(排除故障或为系统减负),为了能够将指定进程暂时静止下来(不接受调度),增加了静止阻塞(阻塞挂起)和静止就绪(就绪挂起)态,原阻塞和就绪改称为活动阻塞和活动就绪状态。
(1)运行或活动就绪--->静止就绪,活动阻塞--->静止阻塞,通过挂起操作
(2)静止就绪--->活动就绪,静止阻塞--->活动阻塞,通过激活操作
(3)静止阻塞--->静止就绪:当等待的事件发生时。


具有挂起操作的进程状态转换图

具有创建、挂起、终止操作的进程状态转换图

6. PCB:

进程是一个正在执行的程序。 进程是程序的一个实例。 进程能分配处理器并由处理器执行的实体。 如果从内核的角度看的话:进程是分配系统资源的单位。当一个程序被加载到内存之后并为他分配一个PCB(进程控制块),这时候就称为进程了。

在linux中PCB就是一个名字叫做task_struct的结构体,我们叫他”进程描述符”。它里面有进程执行的所有信息,所以CPU对task_struct进行管理就相当于在对进程进行管理。 PCB叫做进程控制块,它用来维护进程相关的信息,每个进程都有一个PCB。在linux中这个PCB是一个叫做task_struct的结构体。

  • PCB表:
    系统把所有PCB组织在一起,并把它们放在内存固定区域,就构成了PCB表。
    PCB表的大小决定了系统中最多可同时存在的进程个数,称为系统的并发度。
  • PCB表组织方式:链接方式和索引方式

成员:

  • 标识符:描述本进程的唯一标示符,用来区别其他进程;
  • 状态:任务状态,退出代码,退出信号等;
  • 优先级:相对于其他进程的优先级;
  • 程序计算器:程序中即将被执行的下一条指令的地址;
  • 内存指针:包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针;
  • 上下文数据:进程执行时处理器的寄存器中的数据;
  • I/O状态信息:包括现实的I/o请求,分配给进程的I/O设备和被进程使用的文件列表;
  • 记账信息:可能包括处理器时间总和,使用的时钟数总和,时间限制,记账号;
  • 其他

你可能感兴趣的:(操作系统——进程测试题目)