Android开发面试指南:操作系统篇 (附答案)

2023-04-27  本文已影响0人  像程序那样去思考

面试考察点

1. 跨进程通信方式(IPC)有哪些?

image.png

其底层原理及其对应应用场景分别是什么?

注:此处给出移动端 Android的跨进程通信方式

image.png

2. 进程与线程的定义、特点及其区别是什么?

2.1 进程

image.png

注意 就绪、阻塞状态的区别:

  1. 就绪状态:进程缺少的资源 = 处理机,只要获得处理机资源立即执行
  2. 等待状态:指 进程缺少其他资源(除了处理机) / 等待某一事件
image.png

2.2 线程

  1. 比进程更小的可独立运行的基本单位,可理解为:轻量级进程
  2. 组成:线程ID + 程序计数器 + 寄存器集合 + 堆栈
  3. 注:线程自己不拥有系统资源,与其他线程共享进程所拥有的全部资源。
image.png

2.3 二者区别

image.png

3. 死锁的必要条件是什么?该如何处理?

3.1 定义

运行过程中,多个进程因争夺资源而造成的一种互相等待的僵局

若无外力作用,这些进程都将无法向前推进

3.2 原因

  1. 竞争资源:请求同一有限资源的进程数 > 可用资源数
  2. 进程推进顺序非法:请求 & 释放资源顺序不合理,如资源等待链

3.3 死锁的必要条件

image.png

3.4 死锁的处理策略

image.png

3.5 其他说明:银行算法介绍

  1. 当进程首次申请资源时,要测试该进程对资源的最大需求量
  2. 若系统现存的资源可满足它的最大需求量,则按当前的申请量分配资源;否则,推迟分配

4. 虚拟内存的定义及其特点。

image.png

5. 虚拟地址、逻辑地址、线性地址、物理地址的区别

image.png

6. 段存储、页存储、段页存储的定义及其区别。

6.1 页存储

image.png image.png

页表一般存放在内存中

image.png

6.2 段存储

将用户程序地址空间分成若干个大小不等的段,每段可以定义一组相对完整的逻辑信息。存储分配时,以段为单位,段与段在内存中可以不相邻接,也实现了离散分配

6.3 段页存储

  1. 作业的地址空间首先被分成若干个逻辑分段,每段都有自己的段号
  2. 再将每段分成若干个大小相等的页

对于主存空间也分成大小相等的页,主存的分配以页为单位。

至此,关于面试的操作系统篇讲解完毕。下面我会对面试内容继续进行讲解

上一篇 下一篇

猜你喜欢

热点阅读