美文网首页
进程与线程

进程与线程

作者: L63C | 来源:发表于2018-12-18 17:30 被阅读0次

进程与线程

进程:是一个动态的概念。 狭义定义:进程就是一段程序的执行过程。 广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元。
线程:独立运行和独立调度的基本单位。线程是进程中执行运算的最小单位。

  • 一个进程可以至少包含一个线程。
  • 进程是最基本的资源分配单元。线程是CPU 调度的最基本的执行单元
  • 每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。
    • 文本区域存储处理器执行的代码;
    • 数据区域存储变量和进程执行期间使用的动态分配的内存;
    • 堆栈区域存储着活动过程调用的指令和本地变量。
  • 线程没有地址空间,线程包含在进程的地址空间中。线程上下文只包含一个堆栈、一个寄存器、一个优先权,线程文本包含在他的进程 的文本片段中,进程拥有的所有资源都属于线程。所有的线程共享进程的内存和资源。 同一进程中的多个线程共享代码段(代码和常量),数据段(全局变量和静态变量),扩展段(堆存储)。但是每个线程拥有自己的栈段, 寄存器的内容,栈段又叫运行时段,用来存放所有局部变量和临时变量。
  • 进程5态


    屏幕快照 2018-12-18 下午4.37.32.png
  1. 提交: 进程已经申请到了PCB(Process Control Block),并写入了进程信息和控制信息,获取到了执行所需要的资源。
  2. 选中: cpu 通过调度算法,运行该进程获取CPU资源开始进行运算
  3. 落选:CPU资源不在对该进程提供。如,时间片到或有更高优先级的进程需要执行。
  4. 出现等待事件:正在执行的进程所有资源不足或被其他进程占用。(例:等待I/O)
  5. 等待事件结束:获得所需要的资源。(其他进程I/O 完成,自己可以使用)
  6. 执行完成:进行结束
  7. 挂起: 由于系统不断创建进程,系统资源特别是主存已不能满足进程运行要求,此时必须将某些进程挂起(suspend),置于磁盘对换区,释放其所占资源,暂时不启用低级调度,起到平滑负载的目的。
  8. 解除挂起:资源重新获取

程序

定义:程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。说得直白一点,程序就是只写的代码。

引用

进程、线程与处理器的调度
进程和线程的区别、相同点

相关文章

  • iOS_进程与线程(多进程与多线程)

    iOS_进程与线程(多进程与多线程)

  • Java 线程相关

    目录1.并行与并发2.进程与线程---- 2.1 进程---- 2.2 线程---- 2.3 进程与线程的区别--...

  • 并发编程之进程与线程

    并发编程之进程与线程 2.1 线程与进程 2.1.1 进程 2.1.2 线程 2.1.3 二者对比 2.2 并行与...

  • 进程与线程、线程池

    进程与线程的相关总结进程与线程的简单解释进程: 基本的资源分配资源线程: 最小调度单元 线程安全 线程安全是多线程...

  • 详解iOS面试:进程与线程

    进程与线程 进程 = 资源管理 + 线程, 进程是资源分配单位,线程是 CPU 调度单位 以前没有线程的时候,进程...

  • Python多线程与多进程

    内容简述: 线程与进程的相关概念1、程序,进程,线程,多进程,多线程2、线程的生命周期3、并行与并发,同步与异步4...

  • OpenMP笔记

    进程与线程 进程:进程是正在运行的程序实例线程:线程是进程中实际运作单位,一个进程可以并行多个线程 进程包含如下程...

  • java面试3

    1. 进程与线程的区别? 进程和线程的关系: 进程与线程的区别: 2.struts2和springMVC的区别? ...

  • 22.iOS底层学习之多线程原理

    本篇提纲:1、线程与进程2、多线程3、多线程相关面试题4、线程安全问题5、线程与runloop的关系 线程与进程 ...

  • GO学习笔记(18) - 并发编程(1) - 理解gorouti

    目录 进程、线程与协程 并发模模型介绍 GO并发编程介绍 进程、线程与协程 进程和线程 进程是程序在操作系统中的一...

网友评论

      本文标题:进程与线程

      本文链接:https://www.haomeiwen.com/subject/ioilkqtx.html