首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux进程概念

进程概念 进程(Process)是计算机中的一个具有独立功能的程序关于某个数据集合的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。...它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示。...在Linux中描述进程的结构体叫做 task_struct。 task_struct 是Linux内核的一种数据结构,它会被装载到 RAM(内存) 里并且包含着进程的信息。...子进程崩了,父进程照样运行 (自行验证)~ 而这里的**父进程一般情况下其实就是 bash,也就是 Linux 的具体的一种 shell 外壳程序!...但是很奇怪,一个函数,居然返回了两个值~~ 这在语言层面是不能接收的,但是这其实涉及到了系统层面,关于多进程概念,那么既然有了多个返回值,也就是说其实这是有两个进程在同时执行的,那么来尝试一下下面这个代码

45430

Linux系统-进程概念

Linux进程概念 零、前言 一、冯诺依曼体系结构 二、操作系统 三、进程 1、描述进程-PCB 2、查看进程 3、获取进程标示符 4、创建进程-fork() 5、进程状态 6、僵尸进程 7、孤儿进程...概念进程是程序的一个执行实例,从内核的角度上看进程是担当分配系统资源(CPU时间,内存)的实体 即进程=程序+内核的PCB 1、描述进程-PCB 概念进程信息被放在一个叫做进程控制块的数据结构中...,可以理解为进程属性的集合;在Linux中描述进程的结构体叫做task_struct Linux操作系统下的PCB是: task_struct-PCB的一种,task_struct是Linux内核的一种数据结构...概念: cpu资源分配的先后顺序,就是指进程的优先权(priority),优先权高的进程有优先执行权利 配置进程优先权对多任务环境的linux很有用,可以改善系统性能 还可以把进程运行到指定的...,在Linux下就是调整进程nice值 nice其取值范围是 -20至19 一共40个级别 PRI vs NI: 进程的nice值不是进程的优先级,但是进程nice值会影响到进程的优先级变化

1.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

Linux进程概念(二)

Linux进程概念 进程状态 普通操作系统层面理解 运行与阻塞 挂起与阻塞 Linux是怎么做的 孤儿进程 进程优先级 什么是优先级 如何改变优先级 其他概念 进程状态 进程状态分有: 运行 新建...Linux是怎么做的 首先来看看Linux内核源代码对于进程状态的描述怎么说: /* * The task state array is a strange "bitmap" of * reasons...进程很多,但是硬件很少! Linux优先级的特点:本质就是PCB的几个整数而已。...NI :代表这个进程的nice值 进程的优先级 = 老的优先级(80) + nice(NI) 如何改变优先级 Linux中支持正在运行的进程优先级的调整。...如果某个进程的PRI太小,CPU分配资源就不均衡。 其他概念 竞争性: 系统进程数目众多,而CPU资源只有少量,甚至1个,所以进程之间是具有竞争属性的。

1.2K00

Linux进程概念(一)

Linux进程概念 冯诺依曼体系结构 操作系统 操作系统是什么 操作系统与硬件的关系 操作系统如何管理硬件数据 操作系统与软件的关系 操作系统的安全 操作系统的服务 系统调用和库函数概念 进程的基本概念...操作系统如何管理硬件数据 继续学校这个话题,学校学生,用特殊的软件去管理会更好,比如说: 定义一个学生的结构体>姓名,年龄,身高,体重,成绩,联系方式等等… 然后将他们的个人信息用链表进行关联,这个时候就可以全方面的管理学生...系统调用和库函数概念 在开发角度,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由操作系统提供的接口,叫做系统调用。...进程的基本概念 什么是进程 首先我们要知道,程序是在硬盘中的,想要运行这个程序就要放入内存中,然后通过CUP进行运作。 那么这么程序加载进来怎么办呢?...因为如果bash进程亲自运行但是报错就会停止工作,bash都停止工作了,我们后续想继续用Linux系统就无法正常使用了。

42000

Linux进程概念(三)

这样是可以的,但是非常不建议,因为这个程序相当于安装到了系统中,Linux下拷贝就是安装。...不过不用担心,重新登陆Linux就可以了,因为这是内存上的改变。 那么我们需要保留原来的并且再添加新的: 这样也不会影响原来的sl等。...普通进程当然不可能一下子全都使用掉,所以理论上来说每个进程都可以有4GB的空间,但是如果某个进程需要的不是特别或者是需要的特别,这个时候操作系统就会调整大小了。...首先来看看进程地址空间是什么原理: 在linux源码当中,地址空间是一个mm_struct的数据结构,大概是这样的 struct mm_struct { uint32_t code_start,code_end...程序在磁盘的时候是有地址的,逻辑地址(在linux当中也可以称为虚拟地址) 在进程指向进程地址空间的时候,CPU去读取指令,main函数,因为每一条指令都是有虚拟地址的,所以就能找到fun函数,还有a

52600

Linux进程概念进程状态

文章目录 一、什么是进程 1、进程概念 2、进程描述 -- PCB 二、进程的一些基本操作 1、查看进程 2、结束进程 2、通过系统调用获取进程标示符 3、通过系统调用创建子进程 三、进程状态 1...、普适的操作系统层面 2、具体Linux操作系统层面 四、两种特殊的进程 1、僵尸进程 2、孤儿进程 五、进程优先级 六、进程的其他概念 七、进程切换 一、什么是进程 1、进程概念 在通常的计算机书籍或者课本中对进程概念的描述是这样的...---- 2、具体Linux操作系统层面 上面我们谈到的都是理论上的操作系统中进程的状态,下面我们来学习具体Linux操作系统中进程的状态。...六、进程的其他概念 进程还有一些其他概念: 竞争性:系统进程数目众多,而CPU资源只有少量,甚至1个,所以进程之间是具有竞争属性的;(进程为了高效完成任务,更合理竞争相关资源,便具有了优先级) 独立性...上下文保护与上下文恢复 CPU在进行进程切换时要进行上下文保护与上下文恢复: 我们的进程在运行时会产生非常的临时数据,同时CPU中存在一套寄存器硬件,当进程运行时,进程的PCB会被放入CPU内的寄存器中

5.5K00

Linux进程概念(上)

进程概念 一、冯诺依曼体系 我们常见的计算机,如笔记本。或者不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。 从输入到输出的顺序是按照上面的数字顺序的。...三、进程 1. 基本概念 进程概念: 所谓进程,简单来说就是在磁盘上的可执行程序加载、拷贝到内存中,就形成了进程,也就是正在执行的程序。 2....首先我们先了解一下 fork() 在做什么,fork() 创建子进程,系统中会一个子进程,os 会以父进程为模板,为子进程创建一个 PCB,而父进程会与子进程共享代码和数据,所以 fork() 之后,...当进程被 OS 调度,被置换出去的进程代码和数据,又会重新被加载进来。 4. Linux进程的具体状态 一个进程可以有几个状态(在 Linux 内核里,进程有时候也叫做任务)。...(2)其他概念 竞争性:系统进程数目众多,而CPU资源只有少量,甚至1个,所以进程之间是具有竞争属性的。为了高效完成任务,更合理竞争相关资源,便具有了优先级。

8710

Linux进程概念(下)

进程概念 一、环境变量 1. 命令行参数 什么是命令行参数呢?首先我们得先知道,主函数是可以传参的!而这个传给主函数的参数就是命令行参数。...(4)env 查看所有的环境变量 我们可以使用 env 指令查看所有的环境变量,Linux 中的环境变量非常,大家可以自行查看。而每一个环境变量都有它自己的特殊用途,用来完成特定的系统功能。 3....原因是因为 Linux 中的命令可分为两类: 常规命令 常规命令是 shell 命令行解释器进行 fork 让子进程执行的。...这个概念我们以后还会介绍,现在先了解一下。...可以根据下图进行理解: 其中我们的 mm_struct 结构体其实真正叫做内存描述符;而 vm_area_struct 叫做线性空间;这两个概念合起来才叫做地址空间!

13210

Linux修炼】8.进程概念

进程概念 本节目标 1....进程状态 3.1 普遍的操作系统层面 3.2 具体的Linux操作系统层面 4. 两种特殊的进程 4.1 僵尸进程 4.2 孤儿进程 5. 进程优先级(了解范畴) 6. 进程的其他概念 7....很简单,先把进程描述起来,再把进程组织起来! 1. 进程概念 1.1 进程概念 对于我们的了解来说,什么是进程呢?...3.2 具体的Linux操作系统层面 为了弄明白正在运行的进程是什么意思,我们需要知道进程的不同状态。一个进程可以有几个状态(在Linux内核里,进程有时候也叫做任务)。...进程在运行时会产生非常的临时数据,同时CPU中存在一套寄存器硬件,当进程运行时,进程的PCB会被放入CPU内的寄存器中,此时CPU就可以通过进程PCB(暂时理解成PCB)得到进程代码数据的地址;CPU

51100

linux进程概念和属性

Linux 系统中,进程是指正在运行的程序的实例。每个进程都有自己的内存空间、指令序列和数据结构。进程Linux 系统中最基本的管理单元,理解进程概念和属性对于系统管理和应用开发非常重要。...本文将详细介绍 Linux 进程概念和属性,包括进程的定义、进程的状态、进程标识符、进程优先级等。 一、进程的定义 在 Linux 系统中,进程是指正在运行的程序的实例。...二、进程的状态 在 Linux 系统中,进程的状态通常可以分为以下几种: 运行状态(Running) 表示进程正在执行指令,使用 CPU 资源。...三、进程标识符 在 Linux 系统中,每个进程都有一个唯一的进程标识符(PID),它是一个非负整数。...五、进程间通信 在 Linux 系统中,进程可以通过多种方式进行通信,例如共享内存、管道、消息队列、信号量等。这些机制可以让进程之间共享数据或信息,协调它们的行为。

64131

万字讲解Linux进程概念

4.1 普遍的操作系统层面是如何理解上面所述说的进程的状态的概念呢?  进程有那么状态,本质上是为了满足不同的运行场景!...当然,我们需要区分nice值和优先级的关系,他们不是一个概念,但是进程nice值会影响到进程的优先级变化,可以理解成nice值是进程优先级的修正修正数据 6.其他概念 进程独立性:什么是进程独立性?...进程切换 我们先来了解一些概念:  ①当我们的进程在运行的时候,一定会产生非常的临时数据,这份数据是属于当前进程的。 ②CPU内部只有一套寄存器硬件,寄存器里面保存的数据,是属于当前进程的!...总结一下:  操作系统给每一个进程都“画了个大饼”,那就是“承诺”分配给它们的空间大小有4GB那么(32位),但实际上从内存中映射出来的内存大小,并没有那么。...所以进程地址空间所谓的4GB大小,就是虚拟地址。 说了那么,为什么要存在进程地址空间? 1.如果让进程直接访问物理内存,不安全。

49820

Linux系统编程-进程概念进程管理、信号处理

进程概念主要有两点: 第一,进程是一个实体。每个进程都有自己的虚拟地址空间,包括文本区、数据区、和堆栈区。...程序是静态的,它是一些保存在磁盘上的指令的有序集合;而进程是一个动态的概念,它是一个运行着的程序,包含了进程的动态创建、调度和消亡的过程,是Linux的基本调度单位。...只有当处理器赋予程序生命时,它才能成为一个活动的实体,称之为进程Linux在命令行上可以用ps命令查看后台运行的进程详细信息。 2....查看可执行文件的内部空间布局 进程是动态的(内存里的)、程序是静态的_a.out(硬盘上)。 Linux进程都是运行在虚拟地址空间的—MMU。每个进程的空间是独立的(物理地址)。...进程前台与后台切换方式 [wbyq@wbyq linux_c]$ .

96520

进程概念

操作系统是怎么管理进行进程管理的:先把进程描述起来,再把进程组织起来! 2 进程 基本概念 课本概念:程序的一个执行实例,正在执行的程序等 内核观点:担当分配系统资源(CPU时间,内存)的实体。...task_struct-PCB的一种 在Linux中描述进程的结构体叫做task_struct。...进程优先级 基本概念 cpu资源分配的先后顺序,就是指进程的优先权。 优先权高的进程有优先执行权利。配置进程优先权对多任务环境的linux很有用,可以改善系统性能。...查看系统进程linux或者unix系统中,用ps –l命令则会类似输出以下几个内容: ?...,在Linux下,就是调整进程nice值,nice其取值范围是-20至19,一共40个级别。

51310

liunx:进程概念

概念: 任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。...我们是站在操作系统的“肩膀”上去操控我们的电脑(通过调用操作系统提供的各种接口和服务) 计算机管理硬件(先描述再组织) 描述起来,用struct结构体 组织起来,用链表或其他高效的数据结构 系统调用和库函数概念...三:进程 基本概念 课本概念:程序的一个执行实例,正在执行的程序等 内核观点:担当分配系统资源(CPU时间,内存)的实体。...task_struct-PCB的一种 在Linux中描述进程的结构体叫做task_struct。...task_struct是Linux内核的一种数据结构,它会被装载到RAM(内存)里并且包含着进程的信息 task_ struct内容分类 标示符: 描述本进程的唯一标示符,用来区别其他进程

55910

Linux系统编程】进程概念与基本创建

这篇文章我们来学习下一个概念——进程 1. 进程概念 那什么是进程呢,我们该如何理解它呢?...然后第二个问题,我们可能同时运行多个程序,那他们都要加载到内存里,就好比学校里面有好多学生,那学校肯定要对这么学生进行一个良好的管理。 那同样的,操作系统也要对加载到内存的多个进程进行管理。...PCB来记录和管理进程信息 那操作系统要管理这么进程,就可以把所有进程的PCB用一个数据结构比如链表管理起来(再组织) 那此后操作系统对于进程的管理就变成了对组织PCB的数据结构的管理...不是的 进程包括了程序加载到内存中的指令和数据,以及内核中与之关联的进程控制块(PCB) 所以,我们这里给出一个进程概念进程=程序加载到内存中的指令和数据+内核中与之关联的进程控制块(PCB...3. task_struct—PCB的一种 在Linux中描述进程的结构体叫做task_struct task_struct是Linux内核的一种数据结构,它会被装载到RAM(内存)里并且包含着进程的信息

10410

Linux】初步理解操作系统和进程概念

所以我们经常会发现,有一些软件在linux操作系统上行,可能到了windows操作系统就不行了,这是因为软件运行时一定会通过接口访问操作系统,不同的操作系统的接口可能并不完全一样,所以就造成了这种状况。...二.进程概念 可能我们再很多书上看到进程概念都是: 一个正在运行的程序或是一个加载到内存的程序。 但事实上并没有这么简单。...PCB进程控制块 PCB进程控制块,,全称:process control block PCB里包括该进程得各种属性,例如进程的编号,状态,优先级等等,可以说PCB是进程属性的集合。...task_struct linux下的PCB是 task_struct,task_struct 是PCB的一种。 ...task_struct是Linux内核的一种数据结构,它会被装载到RAM(内存)里并且包含着进程的信息。

10910

Linux】冯诺依曼体系结构、操作系统概念进程概念

前言 本文介绍了冯诺依曼体系结构、操作系统及进程概念。 一、冯诺依曼体系结构 我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。...四、进程 1.概念 大多数课本中的概念:一个运行起来的(加载到内存中的)程序叫做进程,即在内存中的程序叫做进程 内核的观点:进程是担任分配系统资源(CPU运行时间、内存等)的实体 2.描述进程的数据结构...PCB(process control block),linux操作系统下的PCB是task_struck结构体。 2.程序和进程 程序本质是放在磁盘上的可执行文件(.exe文件)。...3.task_struct Linux中描述进程属性的数据结构PCB叫做task_struct(task_struck是PCB的一种),它被装载在RAM(内存)中。...2.系统调用获取进程标示符 getpid();//获取本进程的标示符 getppid();//获取本进程进程的标示符 总结 以上就是今天要讲的内容,本文介绍了冯诺依曼体系结构、操作系统以及进程的相关概念

17420

linux 操作系统的进程调度(上) -- 进程调度的基本概念

进程优先级 在操作系统中,同时运行着那么多进程,操作系统是如何确定每个进程的优先级呢?...在 Linux 操作系统中,系统会为每个进程打一个分,这个分就是 PR 值,它是 Priority 的前两个字母。...通过 PR 值的范围,linux 换分出了两类进程: 实时进程 -- PR 值在 0 到 99 之间,PR 值越大,优先级越高; 普通进程 -- PR 值在 100 到 139 之间,PR 值越小,优先级越高...但有时,用户可能会不认可操作系统的优先级数值,而是想要去手动调整进程的优先级。此时,如果让用户直接干预 PR 值,那风险就显得很大。Linux 为用户层设计了一个 Nice 值,翻译为“谦让值”。...结语 本文,我们从操作系统的整体层面,了解了操作系统进程调度的基本概念和设计思想,但我们尚未触及核心部分,到底 linux 系统中的调度器是如何设计的,又有着怎样的历史沿革,出现了哪些算法?

1K10

C语言Linux系统编程进程基本概念

1.如果说文件是unix系统最重要的抽象概念,那么进程仅次于文件。进程是执行中的目标代码:活动的、生存的、运行的程序。 除了目标代码进程还包含数据、资源、状态以及虚拟化的计算机。...在linux中,进程有一个严格的层次结构,这就是广为人知的进程树。进程树以第一个进程,也就是init进程为根。新进程通过fork()系统调用创建。...linux内核实现了大约30个信号,每一个信号由一个数字常亮和文本名表示。除了SIGKILL(进程中断)和SIGSTOP(进程停止)外,进程能够根据接收到的信号进行控制。...4.进程间通讯 允许进程间交换信息和通知彼此所发生的事件是操作系统最重要的工作之一。linux内核实现了传统的unix的进程间通讯(IPC)机制。...linux支持的进程间通讯机制包括管道、命名管道、信号量、消息队列、共享内存、快速用户空间互斥体

1.2K30
领券