eaaomk

eaaomk eaaomk
主页
博客
  • 常用命令
  • 情景再现
  • AMS
  • Zygote
  • 审计
  • 财务会计
  • 进程与线程
  • 消息传递
  • 处理机调度与死锁
  • 设计思想与代码质量优化
  • 设计模式
  • 数据结构
  • 算法
  • VSCODE
标签
时间轴
关于
author-avatar

eaaomk

37

文章

10

标签

主页
博客
  • 常用命令
  • 情景再现
  • AMS
  • Zygote
  • 审计
  • 财务会计
  • 进程与线程
  • 消息传递
  • 处理机调度与死锁
  • 设计思想与代码质量优化
  • 设计模式
  • 数据结构
  • 算法
  • VSCODE
标签
时间轴
关于

进程与线程-基于操作系统层次

进程与线程-基于操作系统层次

eaaomk 2022-01-07 23:00:00 OS

# 进程与线程-基于操作系统层次

# 并发与并行

  • 首先我们需要知道并发和并行的区别,很多人都错误的理解了并发的概念。
  • 并发是指在一个时间段内触发很多个任务,从宏观上看,任务是同时执行的,从微观上看不是。也就是说在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。
  • 并行是指在一个时间点也就是某个时刻,许多个任务同时刻的触发,无论是微观还是宏观,多个任务它是精确到每一时间点都是同时执行的。也就是说在同一时刻,有多条指令在多个处理器上同时执行。所以无论从微观还是从宏观来看,二者都是一起执行的。

或许上面的理论有点抽象,在这里举一个更具体的例子:

  • 并发:安排一个人同时看两本书,那么在某一时刻,只有一本书正在被这个人用眼睛阅读,要看完两本书,只能这一本先看一点,然后另外一本书再看一点,这就是所谓的时间片轮转调度 (opens new window)。
  • 并行:安排两个人同时看两本书,那么在某一时刻,这两本书都是在被人阅读。

# 进程与线程的理论知识

  • 进程(Process) 是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。程序是指令、数据及其组织形式的描述,进程是程序的实体。

  • 线程(thread) 是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

简化一下:

  • 进程:指在系统中正在运行的一个应用程序;程序一旦运行就是进程;进程——资源分配的最小单位。

  • 线程:系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元执行流。线程——程序执行的最小单位。

# 深入理解进程与线程

  1. 前趋图与程序的执行
  2. 进程的描述
  3. 进程控制
  4. 进程同步
  5. 经典进程同步的问题
  6. 进程通信
  7. 线程的基本概念
  8. 线程的实现