操作系统八股

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

文章目录

进程和线程的区别

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

并行和并发的区别

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

相关推荐
大数据新鸟12 小时前
信号(Signal) vs 信号量(Semaphore)
操作系统
A-刘晨阳1 天前
麒麟v10桌面版2403版本运行程序提示权限不足(KYSEC)
运维·云计算·操作系统·银河麒麟·麒麟桌面系统
a里啊里啊2 天前
常见面试题目集合
linux·数据库·c++·面试·职场和发展·操作系统
Beginner x_u3 天前
前端八股整理|CSS|高频小题 01
前端·css·八股
方安乐4 天前
win10专业版如何禁止更新至win11
操作系统
艾莉丝努力练剑5 天前
【Linux系统:多线程】线程概念与控制
linux·运维·服务器·c++·后端·学习·操作系统
凉、介6 天前
Flash 块设备驱动开发
c语言·驱动开发·笔记·学习·操作系统·嵌入式
.普通人7 天前
freertos源码解析(里面的源码来源于另一个博主,我这里只是讲一下我自己的理解)
操作系统·rtos
努力的章鱼bro7 天前
操作系统-net
c++·操作系统·dma·risc-v
努力的章鱼bro9 天前
操作系统-FileSystem
c++·操作系统·risc-v·filesystem