Linux进程的学习的笔记

进程的概念

 进程是一个可并发执行的程序在一个数据集上的一次运行。简单来说,进程就是程序的一次运行程序。

程序与进程的概念既是相互关联又相互区别。程序是进程的一个组成部分,是进程的执行文本。而进程是程序的执行过程。程序和进程有以下的关系:

  • 一个进程可以顺序执行多个程序。
  • 一个程序可以对应多个进程。

进程的特性

 进程具有以下的几个特性:

  • 动态性:进程由“创建”而产生,由“撤销”而消亡,因“调度”而运行,因“等待”而停顿。
  • 并发性:在同一个时间内有多个进程在系统中活动。它们宏观上是并发运行的,而微观上是在交替 运行的。
  • 独立性:进程是可以独立运行的基本单位,是由操作系统分配资源和调度管理的基本对象。因此,每个进程都独立地拥有各种必要的资源,独立地占有cpu。
  • 异步性:每个进程都是独立地执行,各自按照不可预知的速度向前推进。进程间的协调运行由操作系统负责。

进程的运行状态

 进程有3个基本的状态:

  • 就绪态:进程已经分配到了除cpu之外的所有资源,这时的进程状态称为就绪状态。处于就绪状态的进程,一旦获得cpu便可立即执行。系统中通常会有多个进程处于就绪状态,它们排成一个就绪队列。
  • 运行态:进程已经获得cpu,正在运行,这时的进程状态称为运行态。在单cpu系统中,任何时刻只能有一个进程处于运行态。
  • 等待态:进程因某种资源不能满足,或希望的某事件尚未发生而暂停执行时,则称它处于等待态。系统中常常会有多个进程处于等待态,它们安按等待的事件分类,排成多个等待队列。

进程的基本状态

 进程状态转换状态图:


image.png

引起状态转换的原因如下:
(1)运行态 →等待态:正在执行的进程因为等待某件事而无法执行下去,例如,进程申请某种资源,而资源恰好被其他进程占用,则该进程将交出cpu,进入等待状态。
(2)等待态→就绪态:处于等待状态的进程,当其申请的资源得到满足,则系统将分配资源给它,并将其状态变为就绪态。
(3)运行态→就绪态:正在执行的进程的时间片用完了,或者有更高优先级的进程到来,系统会暂停该进程的运行,使其进入就绪态,然后调度其他进程运行。
(4)就绪态→运行态:处于就绪状态的进程,当进程调度程序选中后,即进入cpu运行。此时该进程的状态变为运行态。

Linux系统中的进程

Linux进程的状态:

 Linux系统的进程状态与上面说的进程转态会有一点区别,下面我们来看一下Linux系统的进程转态:
 Linux系统中的有5中基本状态:运行,就绪,可中断睡眠,不可中断睡眠,暂停和僵死。状态转换图如下:


image.png

 (1)可执行态:可执行态实际包含了上述基本状态的运行和就绪两种状态。处于可执行态的线程均已具备运行条件。它们或在运行,或准备运行。
 (2)睡眠态:即等待态。进程在等待某个时间或某个资源。睡眠态又细分为可中断的和不可中断两种。它们的区别在于,在睡眠过程中,不可中断状态的进程会忽略信号,而处于可中断状态的进程如果收到信号会被唤醒而进入可执行状态,待处理完信号后再次进入睡眠状态。
 (3)暂停态:处于暂停态的进程是由运行态转换而来,等待某种特殊处理,当进程收到一个暂停信号时则进入暂停态,等待恢复运行的信号。
 (4)僵死态:进程运行结束或因某些原因被终止时,它将释放除PCB外的所有资源。这种占有PCB但已经无法运行的进程就处于僵死态。

查看进程消息

 查看进程命令是ps命令:

格式 ps [选项]
-e 显示所有进程
-t tty 显示终端tty上的进程
-f 以全格式显示
-o 以用户定义的格式显示
a 显示所有终端上的所有进程。
u 以面向用户的格式显示
x 显示所有不控制终端的进程
-C cmd 显示命令名为cmd的进程。
n 显示PID为n的进程。

Linux进程间的通信

  • (1) 管道及有名管道:管道可用于具有亲缘关系进程间的通信,有名管道客服了管道没有名字的限制,因此,除具有管道所有具有的功能外,它还允许无系的进程间的通信。
  • (2)信号是比较复杂的通信方式,用于通知接受进程某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;linux除了支持Unix早期信号语义函数sigal外,还支持语义符合Posix.1标准的信号函数sigaction。
  • (3)报文(Message)队列(消息队列):消息队列是消息的链接表,包括Posix消息队列system V消息队列。有足够权限的进程可以向队列中添加消息,被赋予读权限的进程则可以读取队列中的消息。消息队列克服了信号承载信息量少,管道只能承载无格式字节流以及缓冲区大小受限等缺点。
  • (4)共享内存:使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,达到进程间的同步以及互斥。
  • (5)信号量:主要作为进程间以及同一进程不同线程之间的同步手段。
  • (6) 套接字:更为一般的进程间通信机制,可用于不同机器之间的进程间通信。起初是由Unix系统的BSD分支开发出来的,但是现在一般可以移植到其他的Unix系统上:Linux和System V的变种都支持套接字。

进程间的通信详情可参考Linux进程间通信

进程空间划分

一个进程空间分为用户空间和内核空间,Linux操作系统和驱动程序运行在内核空间,应用程序运行在用户空间。

内核空间和用户空间的区别
  • 进程之间的用户空间的数据是不可共享的,所以用户空间=不可共享空间
  • 进程之间的内核空间的数据是可共享的,所以内核空间=共享空间。

 进程内用户空间和内核空间进行交互需要通过系统的调用:主要通过以下两个函数:

1.copy_from_user():将用户空间的数据拷贝到内核空间。
2.copy_to_user():将内核空间的数据拷贝到用户空间。

示意图:


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

推荐阅读更多精彩内容