Skip to content

Latest commit

 

History

History
286 lines (207 loc) · 13.5 KB

7-process&thread.md

File metadata and controls

286 lines (207 loc) · 13.5 KB

进程、线程管理

单选题


(2010年计算机联考真题)下列选项中,导致创建新进程的操作是() 1)用户登陆成功 2)设备分配 3)启动程序执行

  • 仅1和2
  • 仅2和3
  • 仅1和3
  • 1、2、3

解释:设备分配是通过系统中设置相应的数据结构实现的,不需要创建进程

(2012年计算机联考真题)下列关于进程和线程的叙述中,正确的是()

  • 不管系统是否支持线程,进程都是资源分配的基本单位
  • 线程是资源分配的基本单元,进程是调度的基本单位
  • 系统级线程和用户级线程的切换都需要内核的支持
  • 同一进程中的各个线程拥有各自不同的地址空间

解释:引入线程的操作系统中,通常都是把进程作为资源分配的基本单位,而把线程作为独立运行的基本单位。同一进程中的各个线程都可以共享进程所拥有的系统资源,这表现在所有线程都有相同的地址空间。对于用户级线程的切换,通常是发生在一个应用进程的诸多线程之间,这时,也同样无须内核的支持

(2010年计算机联考真题)下列选项中,降低进程优先级的合理时机是()

  • 进程时间片用完
  • 进程刚完成I/O操作,进入就绪队列
  • 进程长期处于就绪队列
  • 进程从就绪状态转为运行状态

解释:进程时间片用完,从执行态进入就绪态应降低优先级以让别的进城那个调度进入执行状态,B中进程刚完成I/O,进入就绪队列后应该等待被处理器调度,故应提高优先级,C中类似,D中不应该降低,应该在时间片用完后再降低

(上海交通大学)OS对()分配内存资源

  • 线程
  • 高速缓冲存储器
  • 进程
  • 快表

解释:进程是系统资源分配的基本单位,线程是调度的基本单位,高速缓冲存储器和快表都是硬件

(四川大学)一进程基本状态可以从其他两种基本状态转变过去,这个基本状态一定是()

  • 执行状态
  • 阻塞状态
  • 就绪状态
  • 完成状态

解释:处于就绪状态的进程,已具备了运行条件,但由于未能获得CPU,故仍不能运行,就绪状态可以从运行状态和阻塞状态转换得到

(上海交通大学)下列说法()不是创建进程必须的

  • 建立一个进程的进程表项
  • 为进程分配内存
  • 为进程分配CPU
  • 将进程表项放入就绪队列

解释:进程刚被创建时,实际上是处于就绪状态的,所以不需为进程分配CPU

(2011年全国统考)在支持多线程的系统中,进程P创建的若干个线程不能共享的是()

  • 进程P的代码段
  • 进程P打开的文件
  • 进程P的全局变量
  • 进程P中某线程的栈指针

解释:多线程系统中,一个进程的多个线程共享进程的代码段、文件和全局变量,进程中某线程的栈指针是归该线程所独有,对其他线程透明,但不恩能够与其他线程共享。

(2011年全国统考)下列选项中,在用户态执行的是()

  • 命令解释程序
  • 缺页处理程序
  • 进程调度层序
  • 时钟中断处理程序

解释:缺页处理程序和时钟中断都属于中断,进程调度属于系统调用,均在核心态执行,命令解释程序属于命令借口,它在用户态执行

(南京理工大学)进程和程序之间有密切联系,但又有不同的概念,两者的一个本质区别是()

  • 程序是静态概念,进程是动态概念
  • 程序是动态概念,进程是静态概念
  • 程序保存在文件中,进程存放在内存中
  • 程序顺序执行,进程并发执行

解释:进程和程序的本质区别是程序是静态的,进程是动态的

(电子科技大学)若一进程拥有100个线程,这些线程属于用户级线程,则在系统调度执行时间上占用()个时间片

  • 1
  • 100
  • 1/100
  • 0

解释:在引入线程的系统中,资源仍然是按进程分配的,由于分配给该进程1个时间片,所以在执行时间上总共占1个时间片

(上海交通大学)一个进程被唤醒,意味着()

  • 该进程可以重新占用CPU
  • 优先级变为最大
  • PCB移到就绪队列之首
  • 进程变为运行态

解释:在一个进程被唤醒时,它将从阻塞状态变成就绪状态,从而可以重新获得CPU并投入运行

对进程的描述中,下列说法错误的是()

  • 一个程序只对应一个进程
  • 一个进程可以包含若干个程序
  • 进程是有生命周期的
  • 一个程序可以对应多个进程

解释:进程是执行中的程序,它是有生命周期的,程序本身不是进程,程序只是被动实体,一个程序可能会有多个进程相关

下列的进程状态变化中,()变化是不可能发生的

  • 运行一等待
  • 等待一运行
  • 等待一就绪
  • 运行一就绪

解释: 进程状态是由当前活动所定义,运行状态表示指令正在被执行,等待状态表示进程等待某个事件的发生,就绪态表示进程等待分配处理器,由进程状态图我们可以看到等待状态无法直接转变成运行状态,需要从等待态先变成就绪态

一个运行的进程用完了分配给它的时间片后,它的状态变为()

  • 运行
  • 等待
  • 就绪
  • 终止

解释: 当一个进程用完了分配给它的时间片后,状态会变为就绪态,之后会继续等待分配处理器

将进程的()连接在一起形成进程队列

  • 堆栈段
  • 数据段
  • PCB

解释:进程调度选择一个可用的进程到CPU上执行,而进程进入洗头膏时,会被加到作业队列中,改队列包括系统中的所有进程,驻留在内存中就绪、等待运行的进程保存在就绪队列中,改队列通常用链表来实现,其头节点指向链表的第一个和最后一个PCB块的指针。

下列关于进程控制块的描述中,说法错误的是()

  • 进程控制块记录进程的状态及名称等
  • 进程控制块位于主存储区内
  • 进程控制块对每个进程不止有一个
  • 进程控制块的内容、格式及大小可能不同

解释:每个进程在操作系统内用一个进程控制块来表示,每个进程控制块都记录进程的状态及名称等,并且每个进程对应一个进程控制块,进程控制块的内容、格式及大小可能不同,并且进程控制快位于主存储区内

PCB是进程存在的唯一标志,下列()不属于PCB

  • 堆栈指针
  • 全局变量
  • 进程ID
  • CPU状态

解释:进程描述块包含许多与一个特定进程相关的信息,主要有:进程状态、程序计数器、CPU调度信息、内存管理信息、记账信息以及I/O状态信息。从题目中我们可以看出CPU状态信息并不包含在内。

对于标准的线程,下列叙述中,错误的是()

  • 进程中可以包含多个线程
  • 线程并不拥有资源,只是使用他们
  • 线程可以创建其他线程
  • 线程没有生命期

解释:线程依然有生命周期

()系统调用是用来被父进程等待子进程结束的

  • wait()
  • fork()
  • exit()
  • exec()

解释:当进程完成执行最后的语句并使用系统调用的exit()请求操作系统删除自身时,进程终止。这时,进程可以返回状态值到父进程,而这个父进程等待子进程结束的方法是通过父进程系统调用wait()

多个进程的实体能存在于同一内存中,在一段时间内都得到运行。这种性质称为进程的()

  • 动态性
  • 调度性
  • 并发性
  • 独立性

解释:概念题,进程有四个特性,动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消亡的;并发性:任何进程都可以同其他进程一起并发执行;独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位;异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进

现在操作系统中,()是资源分配的基本单位,()是CPU调度的基本单位。

  • 作业,程序
  • 内存,进程
  • 进程,线程
  • 代码,数据

解释:概念题,在现代操作系统中,进程使资源分配的基本单位,线程是CPU调度的基本单位。其中线程与属于同一进程的其他线程共享代码段、数据段和其他操作系统资源,如果进程有多个控制线程,那么它能同时做多个任务

下列各项工作步骤中,()不是创建进程所必需的步骤

  • 为进程分配内存等资源
  • 将PCB链入进程就绪队列
  • 作业调度程序为进程分配CPU
  • 建立一个PCB

解释:创建进程时不需要用作业调度程序为进程分配CPU

在多线程操作系统中,对线程具有属性阐述正确的是()

  • 具有进程控制块,共享所属进程资源,处理机的独立调度单位,具有动态性
  • 具有线程控制块,共享所属进程资源,处理机的独立调度单位,具有动态性
  • 具有进程控制块,独享所属进程资源,处理机的独立调度单位,具有动态性
  • 具有进程控制块,共享所属进程资源,处理机的独立调度单位,具有静态性

解释:概念题,线程具有进程控制块,共享所属进程资源,处理机的独立调度单位,具有动态


##多选题


(西安电子科技大学)能正确描述进程和线程的概念是()

  • 线程可以是进程中独立执行的实体,一个进程可以包含一个或多个线程
  • 线程又称为轻型进程,因为线程都比进程小
  • 多线程计数具有明显的优越性,如速度快、通信简便、设备并行性高
  • 由于线程不作为资源分配单位,线程之间可以无约束地并行执行
  • 一个线程可以属于一个或多个进程

解释:虽然线程被称为轻量级线程,这并不意味着线程比进程小,进程和线程之间无法进行大小比较

(电子科技大学)引起挂起状态的原因有()

  • 终端用户的请求
  • 父进程请求
  • 负荷调节的需要
  • 操作系统的需要
  • 平衡各队列中的进程控制块

解释:考察引起挂起的原因

下列各项中属于进程特性的是()

  • 动态性
  • 异步性
  • 独立性
  • 并发性

解释:概念题,进程有四个特性,动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消亡的;并发性:任何进程都可以同其他进程一起并发执行;独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位;异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进

采用多线程技术的操作系统具有()

  • 一个进程中可以有一个或多个线程
  • 把进程作为资源分配单位,把线程作为调度和执行单位
  • 不同的线程一定执行不同的程序
  • 允许多个线程并发执行

解释:不同的线程可能执行相同的程序,一个线程中可以有一个或多个线程,把进程作为资源分配单位,把线程作为调度和执行单位,允许多个线程并发执行


##判断题:


(北京工业大学)子进程可以继承它的父进程所拥有的所有资源()

解释:子进程继承了父进程的代码段和数据段资源,堆栈段则是自己的

(首都师范大学)属于同一进程的用户级线程阻塞了,那么同一个进程的其他用户级线程还可以占有CPU运行,直到时间片用完()

解释:在同一进程中,线程的切换不会引起进程的切换,在由一个进程中的线程切换到另一个进程中的线程时,将会引起进程的切换

在操作系统中,进程是一个静态的概念()

解释:动态概念

一般来说用户进程的PCB存放在用户区,系统进程的PCB存放在操作系统区()

解释: PCB通常是系统内存占用区中的一个连续存区,它存放着操作系统用于描述进程情况及控制进程运行所需的全部信息。

在linux环境里使用fork()来创建新进程()

解释: 概念题,了解进程的创建是如何进行的

在多对一模型的线程中,如果一个线程执行了阻塞系统调用,并不影响整个进程()

解释: 多对一模型的线程中,如果一个线程执行了阻塞系统调用,会影响整个进程,整个进程会阻塞

启动一个线程使用的是start()方法()

解释: 概念题

在父进程还存活的情况下, 不会产生僵死状态()

解释:一个已经终止但是其父进程尚未对其进行善后处理(获取终止子进程的有关信息,释放它仍占用的资源)的进程称为僵尸进程(zombie)。这时进程在调用exit命令结束自己的生命的时候,其实它并没有真正的被销毁,而是留下一个称为僵尸进程(Zombie)的数据结构