綦江网站建设公司,wordpress 好用吗,如何将百度地图加入网站,深圳市网站设计公司目录一、进程的概念二、CPU分时机制三、并发与并行1.并发2.并行四、pcb的概念一、进程的概念
什么是进程#xff1f; 进程就是进行中的程序#xff0c;即运行中的应用程序。比如#xff1a;电脑上打开的LOL、QQ…… 这些都是一个个的进程。 什么是应用程序#xff1f; 应用…
目录一、进程的概念二、CPU分时机制三、并发与并行1.并发2.并行四、pcb的概念一、进程的概念
什么是进程 进程就是进行中的程序即运行中的应用程序。比如电脑上打开的LOL、QQ…… 这些都是一个个的进程。 什么是应用程序 应用程序就是程序员写的代码在应用程序还没有运行的时候这些代码就是一堆存储在硬盘里的机器指令。 应用程序是怎么运行的 操作系统将程序的代码也就是机器指令从硬盘加载到内存中然后CPU从代码的指定位置开始进行处理这样一个程序就开始运行了进程也就产生了。 二、CPU分时机制
要了解程序的并发与并行首先要了解CPU的分时机制。
什么是CPU的分时机制 单核CPU只有一个核心一个核心意味着在一段时间内只有一个程序可以运行也就是说QQ和LOL不能同时运行。那如果我们想一边玩LOL一边聊QQ岂不是实现不了但我们现在并没有遇到这样的情况我们可以一边打游戏一边聊QQ同时还可以听歌。这是因为CPU的分时机制正因为有了分时机制我们才可以实现多个程序一起运行。
CPU的分时机制 每个程序运行一小段时间即一个时间片然后换下一个程序运行以此类推。但是CPU的运行速度很快所以我们在使用的时候感觉不到程序是在切换运行而是感觉多个程序同时在运行。这是因为有分时机制才让我们可以一起运行多个程序。
三、并发与并行
并发与并行都是用来形容多个程序一起运行的但是它们的差别很大。
1.并发
并发多个程序在同一个时间段一起运行。 一个核心在同一时间点只能处理一个程序但是我们又不可能等程序A全部执行完才能执行程序B。如果我们现在使用电脑时运行完QQ后才可以运行LOL想必大家会很难受的。因此程序是轮流运行的在同一个时间段可以让QQ和LOL轮流运行一个程序运行一小会这就是分时机制。因为CPU的处理速度非常快所以我们其实感觉不到程序在轮流运行给我们的感觉就像是同时运行。 如图一个箭头代表只有一个核心在A时间到B时间这个时间段由于CPU的分时机制三道程序轮流运行这就是并发。 2.并行
并行多个程序在同一个时间点一起处理。 一个核心在一个时间点只能处理一个程序如果有多个核心那么就可以每个核心都运行一个程序这样就实现了多个程序在同一时间点一起处理。 如图有三个核心在A时间点三个核心同时运行三道程序这就是并行。
四、pcb的概念
pcb的产生其实就是因为CPU的分时机制接下来先看看关于CPU分时机制的一点疑惑。
1对CPU分时机制的疑问 如果此时有两个进程在运行LOL和QQLOL运行完一个时间片后接下来该QQ来运行下一个时间片QQ运行完后又轮到LOL。问题来了当QQ第二次运行的时候怎么知道它上次运行到了哪里怎么知道接下来从哪里开始运行这就是对于CPU分时机制的疑问。
2对CPU分时机制疑问的解决 为了解决上述问题操作系统就要对运行中的程序即进程进行一些描述描述LOL在上个时间片用完的时候运行到了哪里上个时间片用完的时候LOL的运算数据保存在哪里下一个时间片应该从哪里开始运行LOL程序存在于内存中的哪个位置等等诸多信息。因为如果不知道这些数据那么等到下一次再运行LOL的时候怎么知道该从哪里继续运行呢。
3什么是pcb pcb进程控制块的作用就是保存程序运行时的信息也就是进程信息在Linux中pcb就是task_struct结构体结构体里面就记录了这个进程的各个信息里面记录的描述信息有内存指针上下文数据程序计数器进程状态IO信息记账信息等。通过这些信息使得下一次轮到这个进程运行的时候程序可以正常进行。