操作系统进程与线程之一(文件系统基础)

好的,我们从序号 1 开


1. 下列选项中,导致创建新进程的操作是()。

I. 用户登录成功 II. 设备分配 III. 启动程序执行

A. 仅I和II

B. 仅II和III

C. 仅I和III

D. I、II、III

答案:C

解析:

  • I. 用户登录成功: 在分时操作系统中,当用户成功登录后,系统会为其创建一个新的进程,通常是一个命令行解释器(Shell),用于接收和执行该用户的命令。因此,这是创建新进程的一个原因。

  • II. 设备分配: 设备分配是操作系统为 已存在的进程 分配其所申请的物理设备,这个操作本身不会创建新进程。

  • III. 启动程序执行: 当用户在操作系统中请求执行一个程序时(例如,在Shell中输入命令或在图形界面上双击图标),操作系统会创建一个新的进程来装载和运行该程序。这是创建进程最常见的场景之一。

因此,导致创建新进程的操作是 I 和 III。

2. 在支持多线程的系统中,进程P创建的若干线程不能共享的是()。

A. 进程P的代码段

B. 进程P中打开的文件

C. 进程P的全局变量

D. 进程P中某线程的栈指针

答案:D

解析:

同一进程内的所有线程共享该进程的大部分资源,但为了能独立执行,每个线程也必须拥有自己私有的资源。

  • 共享的资源: 进程的代码段、数据段(包括全局变量)、堆空间、打开的文件、信号处理器等。

  • 不共享的资源: 每个线程都有自己独立的 栈(Stack)程序计数器(PC)一组寄存器。栈用于存放局部变量和函数调用信息,栈指针(Stack Pointer)就是指向该线程私有栈的指针。

因此,线程之间不能共享的是各自的栈和栈指针。

3. 下列关于进程和线程的叙述中,正确的是()。

A. 不管系统是否支持线程,进程都是资源分配的基本单位

B. 线程是资源分配的基本单位,进程是调度的基本单位

C. 系统级线程和用户级线程的切换都需要内核的支持

D. 同一进程中的各个线程拥有各自不同的地址空间

答案:A

解析:

  • A. 正确。 在引入线程的操作系统中,进程是拥有资源(如内存地址空间、文件句柄)的实体,而线程是共享这些资源并被CPU调度的实体。因此,进程是资源分配的基本单位。在不支持线程的传统系统中,进程既是资源分配单位也是调度单位。所以该叙述正确。

  • B. 错误。 正好说反了。进程是资源分配的基本单位,线程是CPU调度的基本单位。

  • C. 错误。 用户级线程的创建、销毁和切换由用户空间的线程库管理,内核完全不知情,因此其切换需要内核支持,速度很快。系统级线程的切换则需要通过系统调用陷入内核才能完成。

  • D. 错误。 同一进程中的所有线程 共享 同一个地址空间,这是线程相比进程的主要优势之一,它使得线程间通信变得简单高效。

4. 一个进程的读磁盘操作完成后,操作系统针对该进程必做的是()。

A. 修改进程状态为就绪态

B. 降低进程优先级

C. 给进程分配用户内存空间

D. 增加进程时间片大小

答案:A

解析:

当一个进程发起读磁盘这类I/O操作时,它会从执行态进入 阻塞态(等待态),并让出CPU。当I/O操作完成后,磁盘控制器会向CPU发送一个中断信号。操作系统响应中断,识别出是哪个进程的I/O操作完成了,然后 必须 将该进程的状态从阻塞态修改为 就绪态,并将其放入就绪队列,等待调度程序后续分配CPU。其他选项都不是I/O完成后的必然操作。

5. 下列关于管道(Pipe)通信的叙述中,正确的是()。

A. 一个管道可实现双向数据传输

B. 管道的容量仅受磁盘容量大小限制

C. 进程对管道进行读操作和写操作都可能被阻塞

D. 一个管道只能有一个读进程或一个写进程对其操作

答案:C

解析:

  • A. 错误。 匿名管道是半双工的,即数据只能单向流动。要实现双向通信需要建立两个管道。

  • B. 错误。 管道是内核中的一块固定大小的 内存 缓冲区,其容量与磁盘无关,通常较小(如4KB或64KB)。

  • C. 正确。 这是管道的同步机制:当进程试图从一个空管道中读取数据时,它会被阻塞,直到有数据被写入;当进程试图向一个已满的管道写入数据时,它会被阻塞,直到管道中有空间被读出。

  • D. 错误。 管道可以由多个进程共享,允许多个进程向同一个管道写入,或多个进程从同一个管道读取。

6. 下列选项中,会导致进程从执行态变为就绪态的事件是()。

A. 执行P(wait)操作

B. 申请内存失败

C. 启动I/O设备

D. 被高优先级进程抢占

答案:D

解析:

进程从 执行态 变为 就绪态,意味着该进程的运行时间到了(时间片用完)或被更高优先级的进程打断,但它本身仍然具备继续执行的条件。

  • A. 执行P(wait)操作: 如果所需资源不可用,进程会进入 阻塞态

  • B. 申请内存失败: 进程会因等待资源而进入 阻塞态

  • C. 启动I/O设备: 进程需要等待I/O操作完成,会进入 阻塞态

  • D. 被高优先级进程抢占: 在采用抢占式调度的系统中,当一个更高优先级的进程进入就绪队列时,调度程序会立即中断当前正在执行的进程,将其状态从 执行态 变为 就绪态,然后让高优先级进程执行。这是“执行态 -> 就绪态”转换的典型原因。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值