星海

操作系统 · 单选题 · 第 23 题

计算机基础面试八股 · 第 23 题

下列操作中,一定会让进程从用户态陷入内核态的是?

  1. A调用 read() 从文件描述符读取数据
  2. B调用 strlen() 计算一个字符串的长度
  3. C对栈上的两个局部整型变量做一次加法
  4. D调用同一个程序里定义的普通函数

答案

A A. 调用 read() 从文件描述符读取数据

解析

read() 是系统调用的封装,要通过陷入指令进入内核,由内核访问文件或设备。strlen、普通函数调用和算术运算都在用户态完成,不需要内核参与。用户态进入内核态的途径有三类:系统调用、异常(如缺页)和外部中断。

在线刷这套题:即时判分、错题本、闪卡复习,不用登录就能练。