操作系统八股

来源网络资料,仅作个人学习记录使用。

文章目录

进程和线程的区别

  1. 基本概念
    进程是资源分配和调度的基本单位;线程是程序执行的最小单位,是进程执行的子单位。一个进程至少拥有一个线程,一个进程可以运行多个线程,这些线程共享同一块内存。
  2. 资源开销
    进程:由于每个进程都有独立的内存空间,创建和销毁进程的开销较大;进程间切换需要保存和恢复整个进程状态,因此上下文切换开销较高。
    线程:线程共享相同的内存空间,创建和销毁开销较小;线程间切换只需要保存和恢复少量的线程上下文。
  3. 通信和同步
    由于进程间相互隔离,通信需要使用一些特殊机制,如消息队列、管道、共享内存等;线程可通过共享内存直接访问共享数据,通信更加方便。
  4. 安全性
    进程独立性更高,一个进程崩溃不会直接影响其他进程的稳定性,安全性更高;而一个进程里的线程由于内存共享,一个线程崩溃有可能会影响整个进程稳定性,安全性较低。

并行和并发的区别

并行是在同一时刻 执行多个任务,每个任务在不同的处理单元(如多个CPU核心)上执行;并发是在相同时间段执行多个任务,任务可能交替执行,通过时间片轮转或者事件驱动的方式实现。

相关推荐
木斯佳2 天前
前端八股文面经大全:小红书前端一二面OC(下)·(2026-03-17)·面经深度解析
前端·vue3·proxy·八股·响应式
敲代码的嘎仔2 天前
Java后端面试——SSM框架面试题
java·面试·职场和发展·mybatis·ssm·springboot·八股
范特西林2 天前
AI OS 已来:OpenClaw与第三次操作系统革命
操作系统·agent
榴莲omega3 天前
第7天:网络进阶——TCP/UDP、WebSocket、长连接
javascript·网络·tcp/ip·udp·八股
番茄去哪了4 天前
Java基础面试题day01
java·开发语言·后端·javase·八股·面向对象编程
Bruce_kaizy5 天前
c++ linux环境编程——linux信号(signal)
linux·c++·操作系统·环境编程
橙子也要努力变强5 天前
Linux I/O 缓冲区、inode、软硬链接与磁盘结构全解析
linux·c++·操作系统
Byte不洛5 天前
手写一个C++ TCP服务器实现自定义协议(顺便解决粘包问题)
linux·c++·操作系统·网络编程·tcp
棉花糖超人7 天前
【操作系统】三、线程
java·开发语言·操作系统
橙子也要努力变强8 天前
进程间通信基础
c++·操作系统