进程与线程(一)

大家好,久违了,我是大成子。前段时间因为疫情,自己有些松散,没有进行学习。现在我们恢复正常学习和文章更新。本次学习将对进程和线程有一个初步的认识,理解其产生的原因,定义,算是开篇的一个理论知识点,后面我们将一步步实践学习。

背景知识

一个程序要能够在计算机中进行运行,除了程序本身必须是机器可执行的目标代码之外,还要有相应的数据。程序和数据还要提前存储在存储器中,即需要把一定的存储空间分配给这个程序和数据。另外,在执行该程序前,处理器中的指令计数器必须指向存储器中被执行程序的首地址。如果有多个程序要进入内存并运行,那么每个运行的程序也需要准备程序代码,数据,资源信息以及保存这些东西的存储空间。为了在技术上能够准确的描述正在运行,将要运行或者刚刚退出运行的各个程序的执行代码等信息,我们引入了进程这个概念。

程序的顺序执行与并发执行

程序是一个在时间上按照严格次序前后相继的操作序列,这些操作是机器指令或高级语言编写的语句。一个具有独立功能的程序独占处理器直到得到最终结果的过程称为程序的顺序执行。

而两个或者两个以上程序在计算机系统当中,同时处于已经开始执行且尚未结束的状态,我们称为程序的并发执行。程序的并发执行,可以充分利用系统的资源,提高计算机的处理能力。

并发程序和顺序程序的执行有本质的差异,为了能更好的描述程序的并发执行,实现操作系统的并发性和共享性,引入了“进程”这个概念。

进程

进程是具有一定独立功能的程序在某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。

进程可以分为系统进程和用户进程。系统进程是操作系统一些相关必要的程序,完成操作系统的某些功能;用户进程则是直接为用户服务,运行用户的程序。系统进程优先级一般高于用户进程的优先级。

进程和程序的区别和联系

联系:程序是构成进程的组成部分之一,一个进程的运行目标就是执行它所对应的程序,如果没有程序,进程就失去了存在的意义。静态角度看,进程是由程序,数据和进程控制块(PCB,Process Control Block,用于系统中控制和描述进程的活动过程的一个专门的数据结构)三部分组成的。

区别:进程是程序的一个执行过程。程序是静态的,而进程是动态的。程序的存在是永久的(不考虑关机等其他因素或人为终止一个程序),而进程是为了程序的一次执行而暂时存在的,进程有生命周期,会产生也会消失。一个程序可以产生多个进程,一个进程也可以执行多个程序。

进程可以创建其他的进程,被创建的进程称为子进程,创建者称为父进程。

进程的特性

并发性。一个进程可以同其他进程一起向前推进,即一个进程的第一个动作可以在另一个进程的最后一个动作结束之前就开始。

动态性。进程具有生命周期,在其生命周期当中,它的状态也是不断在变化的。(进程有三种状态:运行,就绪,等待)

独立性。一个进程是一个相对完整的资源分配单位。

交往性。一个进程在运行的过程中可能会与其他的进程发生直接或间接的相互作用。

异步性。每个进程按照各自独立的,不可预知的速度向前推进。

结构性。一个进程由程序,数据和进程控制块构成。

进程的并发执行基础

(1)进程是一个可拥有独立资源的独立单位;

(2)进程同时又是一个可以独立调度和分派的基本单位。

线程

随着科技的进步,计算机系统软硬件日益强大,人们于是提出了比进程更小的,能够独立运行的基本单位:线程。线程可以提高系统内程序并发执行的级别,可以进一步提高系统的效率。

在操作系统中引入进程,是为了使多个程序并发执行,以改善资源利用率和提高系统的效率;而引入线程,则是为了减少程序并发执行所付出的空间和时间开销,使操作系统具有更好的并发性。

线程是进程中的一个实体,是处理器调度和分派的基本单位。线程自己基本上不拥有系统资源,只拥有少量的在运行当中必不可少的资源(如程序计数器,一组寄存器和栈等等),但他可与同属一个进程的其他线程共享进程所拥有的全部资源。【一般而言,线程自己并不拥有自己的系统资源,但它可以访问其隶属进程的资源。比如一个进程的代码段,数据段,或者相关的系统资源(比如已经打开的文件,分配使用的I/O设备等等),总之,一个进程中的资源可以供它属下的所有线程共享】同一个进程中的多个线程之间可以并发执行。

线程的一些属性

(1)不同的线程可以执行相同的程序,即同一个服务程序被不同的用户调用时,系统可以为它们创建不同的线程。

(2)同一个进程中的各个线程共享该进程的内存地址空间,各个线程之间的通信和同步的实现比较容易。线程之间的切换对操作系统的开销要远远低于进程之间的切换。

(3)线程是处理器的独立调度单位,多个线程是可以并发执行的。在单处理器的计算机系统中,各线程可交替占用处理器;在多处理器的计算机系统中,各个线程可同时占用不同的处理器;假如各个处理器同时为一个进程的各线程服务,则可缩短进程的处理时间。

不仅进程之间可以并发执行,而且在一个进程中的多个线程之间也可以并发执行,因而使操作系统具有更好的并发性,从而更有效的使用系统资源和提高系统的吞吐量。

(4)一个线程在被创建后便开始了它的生命周期,直到消亡。

好了,今天的学习知识点就到这里了,可能有些无聊,但理解着去学习,将对我们后面的实践有很大的帮助和体会。有错误的地方欢迎指出和交流,再见。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容