【操作系统】1.进程和线程

1. 进程(Process)

  • 定义:进程是操作系统资源分配的基本单位,一个进程包含了程序的代码、数据、文件、内存等资源。每个进程之间都是独立的,拥有独立的地址空间。
  • 特性
    • 独立性:每个进程之间是独立的,不能直接访问其他进程的内存空间。
    • 资源占用:进程会占用较多的系统资源,例如内存、文件描述符等。
    • 切换开销高:进程切换时,操作系统需要保存当前进程的状态并加载新的进程,开销较大(上下文切换涉及保存和恢复大量的状态信息、内存管理、调度开销以及可能的缓存失效)。
  • 应用场景:适用于需要完全独立执行的任务,比如多个独立的程序(如浏览器、播放器)运行在各自的进程中,互不影响。

2. 线程(Thread)

  • 定义:线程是操作系统调度的基本单位,属于进程内部的一个“轻量级”执行单元。一个进程可以包含多个线程,多个线程可以共享进程的资源(如内存、文件)。
  • 特性
    • 共享资源:同一进程中的线程可以共享进程的内存和资源,通信方便。
    • 开销低:线程的切换开销比进程低,且多个线程可以并行执行,提高效率。
    • 相互影响:由于资源共享,一个线程的异常会影响到同进程中的其他线程。
  • 应用场景:适用于需要共享数据、并行执行的任务,比如在浏览器的一个页面中打开多个标签页,每个标签页可以是一个线程,共享内存数据。

3. 进程与线程的区别总结 

特性进程线程
基本单位 资源分配单位 调度单位
资源独立性 进程间独立 线程共享资源
创建与销毁 开销较大 开销较小
切换开销 较高 较低
稳定性 稳定,彼此独立 容易互相影响
posted @ 2024-10-30 23:23  朝槿yys  阅读(19)  评论(0编辑  收藏  举报