本文目录如下:
- 计算机基础-操作系统 面试题
- 一、计算机系统概述
- CPU 内核态 和 用户态 的区别?
- 从 用户态 切换到 内核态 的常见方法:
- 二、进程管理
- 线程 和 进程 的区别?
- 协程 (goroutine) 和 线程的区别?
- 进程有哪些状态?
- 进程 的 通信方式 有哪些?
- 产生的必要条件?
计算机基础-操作系统 面试题
一、计算机系统概述
CPU 内核态 和 用户态 的区别?
内核态
:运行 操作系统程序,几乎可以访问计算机的任何(硬件)资源。用户态
:运行 用户应用程序。
从 用户态 切换到 内核态 的常见方法:
- 系统调用
- 异常
- 硬件中断
二、进程管理
线程 和 进程 的区别?
进程
是 程序运行 和 资源分配 的基本单位。线程
是 进程 的一个实体,是 CPU调度 的基本单位,多个 线程 共享 进程 的资源,减少切换次数,所以效率更高。
协程 (goroutine) 和 线程的区别?
点击查看
线程
是 CPU调度 的基本单位。协程
可以说是 轻量级线程,多个 协程 共享 线程 的资源, 上下文切换代价小,所以效率更高。
进程有哪些状态?
进程有 5 种状态: 创建、就绪、运行、阻塞、终止。
进程 的 通信方式 有哪些?
- 管道通信
- 消息队列
- 共享内存