计算机基础知识-操作系统

计算机基础知识-操作系统

第1章 操作系统概述

1. 操作系统的定义、目标与功能?

参考答案

  • 定义:OS 是管理和控制计算机软硬件资源的系统软件,是用户与计算机硬件之间的接口。

  • 目标:方便用户使用、提高系统效率、合理分配资源。

  • 功能:

  1. 处理机管理(进程/线程)
  2. 存储器管理(内存分配、保护、虚拟)
  3. 设备管理(I/O、缓冲、驱动)
  4. 文件管理(文件系统、目录、磁盘)
  5. 提供用户接口(命令、程序、图形)

2. 操作系统的基本特征?

参考答案

  1. 并发:多个程序宏观上同时运行(区别于并行)。
  2. 共享:资源互斥共享或同时访问。
  3. 虚拟:物理实体变为多个逻辑实体(如虚拟内存、虚拟CPU)。
  4. 异步:进程以不可预知速度推进,但结果可再现。

3. 内核态与用户态的区别?为什么要区分?

参考答案

  • 用户态:应用程序运行,权限低,不能直接访问硬件。

  • 内核态:OS 内核运行,权限高,可执行特权指令。

  • 目的:保护系统安全,防止用户程序破坏硬件和内核数据。

4. 系统调用是什么?与函数调用区别?

参考答案

  • 系统调用:用户程序通过中断进入内核,请求 OS 服务(如 open、read、fork)。

  • 区别:

  • 系统调用:切换态,开销大,由 OS 提供。

  • 函数调用:不切换态,开销小,由库/用户程序提供。

第2章 进程与线程

1. 进程定义与组成(PCB)?

参考答案

  • 进程:具有独立功能的程序在一个数据集合上的一次执行过程,是资源分配的基本单位。

  • 组成:PCB(进程控制块)+ 程序段 + 数据段。

  • PCB 包含:PID、状态、寄存器、优先级、内存指针等,是进程唯一标志。

2. 进程的五种基本状态及转换?

参考答案

  1. 新建态
  2. 就绪态:获得除CPU外所有资源
  3. 运行态:占有CPU
  4. 阻塞态(等待态):等待某事件
  5. 终止态
  • 转换:

  • 运行→就绪:时间片到、抢占

  • 运行→阻塞:I/O、等待信号

  • 阻塞→就绪:事件完成

3. 进程与线程的区别?

参考答案

  • 进程:资源分配单位,独立地址空间,切换开销大,通信复杂。

  • 线程:调度执行单位,共享进程资源,切换开销小,通信方便。

  • 同一进程内多线程共享:代码、数据、文件、地址空间;

独享:栈、寄存器、线程控制块 TCB。

4. 线程实现方式:用户级线程(ULT)与内核级线程(KLT)?

参考答案

  • 用户级线程:内核不知情,由线程库管理,切换快,不能利用多核。

  • 内核级线程:内核管理,可并行多核,切换开销大。

  • 组合方式:轻量级进程 LWP 连接二者。

5. 进程控制:fork 做了什么?

参考答案

  • 创建子进程,复制父进程 PCB,写时复制(Copy-On-Write)地址空间。

  • 父进程返回子 PID,子进程返回 0。

第3章 处理机调度

1. 三级调度分别是什么?

参考答案

  1. 高级调度(作业调度):决定外存作业调入内存。
  2. 中级调度(内存调度):决定进程挂起/激活(内存-外存)。
  3. 低级调度(进程调度):决定就绪进程上CPU(最频繁)。

2. 进程调度方式:抢占 vs 非抢占?

参考答案

  • 非抢占:进程主动放弃(结束/阻塞),实现简单,实时性差。

  • 抢占:可被高优先级/时间片剥夺,实时性好,系统开销大。

3. 经典调度算法(必考)?

参考答案

  1. FCFS:先来先服务,利于长作业,不利于短作业。
  2. SJF/SRTF:短作业优先/短剩余优先,平均等待时间最短,可能饥饿。
  3. 优先级调度:静态/动态,可能饥饿。
  4. RR 时间片轮转:公平,响应快,片大小影响效率。
  5. 多级反馈队列:综合,无需预知长度,实际OS常用。

4. 什么是饥饿?如何解决?

参考答案

  • 饥饿:某进程长期得不到服务。

  • 解决:老化(Aging),随等待时间增加动态提升优先级。

第4章 同步互斥与死锁

1. 临界资源、临界区、互斥、同步?

参考答案

  • 临界资源:一次只允许一个进程使用的资源(如打印机)。

  • 临界区:进程中访问临界资源的代码段。

  • 互斥:多个进程不能同时进入临界区。

  • 同步:进程间按预定次序执行(如生产者-消费者)。

2. 实现互斥的硬件方法?

参考答案

  • 关中断、Test-and-Set、Swap 指令,原子操作,实现简单。

3. 信号量机制与 P、V 操作?

参考答案

  • 信号量:表示资源数目或同步条件。

  • P 操作(wait):申请资源,s--,若 s<0 阻塞。

  • V 操作(signal):释放资源,s++,若 s≤0 唤醒。

  • 用于实现互斥、同步、前驱关系。

4. 经典同步问题(生产者-消费者、读者-写者、哲学家进餐)

参考答案(口述要点)

  • 生产者-消费者:互斥信号量 + 空缓冲区数 + 满缓冲区数。

  • 读者-写者:读共享、写独占,分读者优先/写者优先。

  • 哲学家:最多4人拿叉/先拿左右再申请,避免死锁。

5. 死锁的定义、4个必要条件?

参考答案

  • 死锁:多个进程因竞争资源而互相等待,无法推进。

  • 四个必要条件:

  1. 互斥
  2. 请求并保持
  3. 不可剥夺
  4. 循环等待
  • 破坏任一条件即可预防死锁。

6. 死锁处理策略:预防、避免、检测与解除、忽略?

参考答案

  • 预防:破坏必要条件,保守,资源利用率低。

  • 避免:银行家算法,动态检查安全性。

  • 检测与解除:允许死锁,定期检测,通过剥夺/终止解除。

  • 忽略(鸵鸟算法):如 Windows/Linux,死锁概率低时用。

第5章 内存管理

1. 内存管理的功能?

参考答案

  • 内存分配与回收、地址映射、内存保护、内存扩充(虚拟内存)。

2. 连续分配方式:单一连续、固定分区、动态分区?

参考答案

  • 动态分区分配算法:
  1. 首次适配
  2. 最佳适配
  3. 最坏适配
  • 问题:外部碎片,可用紧凑(拼接)解决。

3. 非连续分配:分页、分段、段页式?

参考答案

  • 分页:等分页与页框,地址离散,无外部碎片,有内部碎片。

  • 分段:按逻辑模块分段,共享与保护方便,有外部碎片。

  • 段页式:先分段再分页,结合优点,地址结构:段号+页号+页内偏移。

4. 快表 TLB 作用?

参考答案

  • 高速相联存储器,缓存常用页表项,减少访存次数。

  • 有效访存时间 EAT 计算:命中率×(TLB+内存)+缺失率×(2×内存)。

5. 虚拟存储器定义、理论基础、特征?

参考答案

  • 定义:利用辅存扩充主存,用户看到的是远大于物理内存的逻辑地址空间。

  • 理论:局部性原理(时间、空间局部性)。

  • 特征:多次性、对换性、虚拟性。

6. 请求分页与页面置换算法?

参考答案

  • 请求分页:需要时才调入页面,缺页时中断处理。

  • 置换算法:

  1. OPT 最优(理论)
  2. FIFO 先进先出(可能 Belady 异常)
  3. LRU 最近最少使用(实际常用,硬件支持)
  4. Clock 时钟算法(近似 LRU)

7. 工作集模型?

参考答案

  • 进程在一段时间内访问页面集合,用于预调页和控制缺页率,防止抖动。

8. 抖动(Thrashing)是什么?原因与解决?

参考答案

  • 抖动:频繁页面换入换出,CPU 利用率急剧下降。

  • 原因:分配给进程的物理页框太少,缺页率过高。

  • 解决:调整工作集、调整多道程序度、挂起进程。

第6章 文件管理

1. 文件逻辑结构与物理结构?

参考答案

  • 逻辑:无结构(流式)、简单结构、索引结构(如记录)。

  • 物理:

  1. 连续分配
  2. 链接分配(隐式/显式)
  3. 索引分配(单级、多级、混合索引,如 UNIX inode)

2. 目录结构:单级、两级、树形、无环图?

参考答案

  • 树形目录:层次清晰,可重名,路径查找。

  • 无环图:允许共享文件/子目录,需解决删除与引用计数问题。

3. 文件共享:硬链接 vs 软链接?

参考答案

  • 硬链接:多个目录项指向同一 inode,不能跨文件系统,不能链接目录。

  • 软链接(符号链接):独立文件存路径,可跨区,可链接目录,源文件删除失效。

4. 文件存储空间管理(空闲块管理)?

参考答案

  1. 空闲表法
  2. 空闲链表法
  3. 位示图法(常用)
  4. 成组链接法(UNIX 用)

5. 磁盘调度算法?

参考答案

  1. FCFS
  2. SSTF 最短寻道优先
  3. SCAN 电梯算法
  4. C-SCAN、LOOK、C-LOOK

第7章 I/O 设备管理

1. I/O 控制方式四种?

参考答案

  1. 程序查询(轮询):CPU 利用率低
  2. 程序中断:I/O 完成发中断
  3. DMA:直接访存,不占 CPU,适合块设备
  4. 通道:专用 I/O 处理器

2. 中断处理过程?

参考答案

请求 → 判优 → 响应(关中断、保存断点) → 服务程序 → 恢复 → 返回。

3. DMA 工作过程?

参考答案

CPU 预处理 → DMA 控制传输 → 传输结束发中断 → CPU 后处理。

4. 缓冲的作用与类型?

参考答案

  • 作用:缓和 CPU 与 I/O 速度矛盾、减少中断次数、提高并行。

  • 类型:单缓冲、双缓冲、循环缓冲、缓冲池。

5. 设备分配:SPOOLing(假脱机)技术?

参考答案

  • 利用外存(输入井/输出井)模拟脱机 I/O,将独占设备变为共享虚拟设备。

  • 组成:输入进程、输出进程、井、输入输出缓冲区。

第8章 操作系统安全(复试低频)

1. 访问控制矩阵、访问控制表、能力表?

参考答案

  • 访问控制矩阵:行主体、列客体、项权限。

  • 访问控制表 ACL:按客体组织。

  • 能力表:按主体组织。

2. 加密、认证、防火墙基本思想?

参考答案

  • 加密:保护数据机密性。

  • 认证:验证身份(口令、数字签名)。

  • 防火墙:内外网间过滤数据包。

复试口述答题模板

  1. 先给定义
  2. 再讲原理/组成/条件
  3. 最后说优缺点/应用/解决方法
  4. 对比题:分点说 A vs B,清晰不混乱
相关推荐
向往着的青绿色2 小时前
完全平方数【Letcode279题解】
开发语言·c++·数学·算法·面试·性能优化·动态规划
木斯佳2 小时前
前端八股文面经大全:阿里云AI应用开发二面(2026-03-21)·面经深度解析
前端·css·人工智能·阿里云·ai·面试·vue
QD_ANJING2 小时前
2026年大厂前端高频面试原题-React框架200题
开发语言·前端·javascript·react.js·面试·职场和发展·前端框架
野犬寒鸦3 小时前
JVM垃圾回收机制深度解析(G1篇)(垃圾回收过程及专业名词详解)
java·服务器·jvm·后端·面试
floret. 小花3 小时前
Vue3 + Electron 知识点总结 · 2026-03-21
前端·面试·electron·学习笔记·vue3
Fairy要carry3 小时前
面试09-Agent 的团队协作
面试·职场和发展
前端摸鱼匠3 小时前
面试题6:因果掩码(Causal Mask)在Decoder中的作用是什么?训练、推理阶段如何使用?
人工智能·ai·语言模型·自然语言处理·面试
yusheng_xyb3 小时前
互联网大厂Java求职面试实录
java·面试·互联网·技术面试