——>而Linux的设计者认为,虽然我们尊重OS系统的学科,对于一个新出来的概念按道理是应该进行先描述再组织,但是这并不代表我们一定要用新的方法来描述和组织,因为我们发现PCB结构体的诸多属性和概念都很符合...——>因此我们Linux的设计者采用描述“进程”的PCB结构体来模拟描述“线程”,大不了在内部单独设置一些属性来区分就行了,其他很多概念接口都可以复用,大大降低了设计和维护成本 ——>无论是Linux...——>Linux中,虽然在我们的视角里有进程和线程的区别,但是在OS和CPU的眼里,我只有调度执行流的概念!...我Linux也是遵守了OS学科的线程概念的,只不过实现方法不同,如果非得杠的话,应该只能说没有真正意义删搞得TCB结构体!!...(2)后半句:应该说是用进程的内核数据结构PCB模拟的线程 ——>因此这两句话想表达的核心意思是 Linux相比于其他OS在内核数据结构上设计的差异!而不是对线程概念的差异!
shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。...二、Linux权限的概念 2.1 什么是权限 现实生活中权限的例子,即vip,门禁…。其作用就是,通过一定的条件,拦住一部分人,给另一部分人权力,来访问某种资源。...2.3 Linux中的用户 Linux下有两种用户:超级管理员(root)、普通用户。 超级管理员(root):可以再linux系统下做任何事情,不受权限约束 普通用户:在linux下做有限的事情。...Linux具有组的概念,主要是在多人协作的时候,更好的进行权限管理!...那么新的问题又来了,既然w权限放开了,那么岂不是所有用户都可以随便删里面的文件了? 这时就引入新的概念,粘滞位。
看还有哪个家伙读成阻zu塞sai的,还有谁不会念? 你还真的点开链接啦? 今天真的是一趟语文课,就教会大家正确念这两个字的姿势,看: 兹z武u,阻zu。 丝s饿e,塞se。 阻塞。...这个道理跟Linux下读取慢速设备(主要指管道和套接字)数据的情形非常相似,例如当我们在读取一个管道时,如果管道里面没有数据,那么我们什么都读不出来,于是就进入了所谓的“阻塞”状态了,说白了阻塞就是使得当前进程或者线程睡眠了的意思...其中,读者指的是对管道文件拥有读权限的进程或线程(注意不是正在读),写者指的是对管道文件拥有写权限的进程或线程(注意不是正在写)。...除此之外,其实open()函数也会发生阻塞,比如用只读或者只写open一个管道文件的时候。因为一根只有出口或者只有入口的水管,是无法使用的呀!其实就是生活常识。嘿嘿!
线程的概念 首先我们得知道一件事:在Linux中,没有专门为线程设计的TCB,而是使用进程的PCB来模拟线程。...在教科书上面,对线程的概念是:在进程内部运行的一个执行流,属于进程的一部分,粒度要比进程更加细和轻量化。 我们可以对这句话进行解析:在进程内部运行,即线程在地址空间中运行。...了解了什么是线程后,我们来看看在Linux中进程和线程的关系。...也就是说,线程是向进程要资源,进程向OS要资源,CPU调度进程中的执行流,即线程。 看待Linux线程和接口: Linux进程是轻量级的进程,在进程中,OS创建线程,CPU调度线程。...进程和线程的共享和私有: 其实在Linux中没有线程这个东西,我的意思是没有真正独特设计出来的线程。因此在Linux中,所谓的线程,是轻量级的进程。
外设(输入和输出)的数据,不是直接给cpu的,而是要先放入内存中。 操作系统 概念 任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。...系统调用和库函数概念 在开发角度,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由操作系统提供的接口,叫做系统调用。...进程=PCB+自己的代码和数据。 基本概念 课本概念:程序的一个执行实例,正在执行的程序等 内核观点:担当分配系统资源(CPU时间,内存)的实体。...课本上称之为PCB(process control block),Linux操作系统下的PCB是: task_struct task_struct-PCB的一种 在Linux中描述进程的结构体叫做task_struct...task_struct是Linux内核的一种数据结构,它会被装载到RAM(内存)里并且包含着进程的信息。
前言:在了解完冯诺依曼体系结构和操作系统之后,我们进入了Linux的下一篇章Linux进程,但在学习Linux进程之前,一定要阅读理解上一篇内容,理解“先描述,再组织”才能更好的理解进程的含义。...Linux进程学习基础 本篇主要内容: 进程的概念 通过系统调用获取进程标示符 1....进程的概念 在学习进程之前,大家对进程肯定初步的了解,那么今天我们来深入了解一下 基本概念: 课本概念:程序的一个执行实例,正在执行的程序等 内核观点:担当分配系统资源(CPU时间,内存)的实体。...课本上称之为PCB(process control block),Linux操作系统下的PCB是: task_struct 1.2 CPU对于进程列表的处理 在CPU对进程列表进行处理时,PCB中的数据有时不会被...总结 本篇主要学习的是进程的概念,CPU如何对PCB进行处理,以及初步学习如何查看父进程与子进程,希望大家能理解好PCB,下篇我们将深入了解进程的创建! 谢谢大家支持本篇到这里就结束了
进程的概念 进程(Process)是计算机中的一个具有独立功能的程序关于某个数据集合的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。...它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示。...在Linux中描述进程的结构体叫做 task_struct。 task_struct 是Linux内核的一种数据结构,它会被装载到 RAM(内存) 里并且包含着进程的信息。...子进程崩了,父进程照样运行 (自行验证)~ 而这里的**父进程一般情况下其实就是 bash,也就是 Linux 的具体的一种 shell 外壳程序!...但是很奇怪,一个函数,居然返回了两个值~~ 这在语言层面是不能接收的,但是这其实涉及到了系统层面,关于多进程的概念,那么既然有了多个返回值,也就是说其实这是有两个进程在同时执行的,那么来尝试一下下面这个代码
进程是操作系统中的一个基本概念,它是正在运行的程序的实例。进程不仅仅是代码,还包括代码执行时所需的资源和状态信息。...简单来说进程=程序的代码和数据+内核数据结构(内核数据结构用于管理进程的资源和状态等信息) 描述进程—PCB 由于上面我们说到进程等于内核数据结构加上自己的代码和数据,这里的数据结构在Linux中叫做task_struct...优先级: 相对于其他进程的优先级。 程序计数器: 程序中即将被执行的下一条指令的地址。...内存指针: 包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针 上下文数据: 进程执行时处理器的寄存器中的数据[休学例子,要加图CPU,寄存器]。...总结 本文从进程的基本概念入手,介绍了进程的组成结构,尤其是PCB(进程控制块)的作用。通过分析 task_struct 的内容,我们了解了进程在内核中的重要数据结构如何帮助管理其状态和资源。
lxc是Linux Containers的缩写,是一种操作系统级别的虚拟化方法,可以在一个控制主机上运行多个隔离的Linux系统(容器)。...lxc的特点有: 利用Linux内核的特性,如命名空间、Apparmor、Seccomp、Chroot、CGroups等,实现进程的隔离和资源控制 提供了一个强大的API和简单的工具,让Linux用户可以轻松地创建和管理系统或应用容器...提供了多种语言的绑定,如Python、Lua、Go、Ruby、Haskell等 提供了多种发行版的容器模板 与标准Linux安装环境非常接近,但不需要单独的内核 比chroot更安全,比完整的虚拟机更轻量...以上是关于lxc的简要介绍,如果您想要了解更多细节,您可以访问官方网站(https://linuxcontainers.org/)或者查看相关文档和教程。
在 Linux 系统中,进程是指正在运行的程序的实例。每个进程都有自己的内存空间、指令序列和数据结构。进程是 Linux 系统中最基本的管理单元,理解进程的概念和属性对于系统管理和应用开发非常重要。...本文将详细介绍 Linux 进程的概念和属性,包括进程的定义、进程的状态、进程标识符、进程优先级等。 一、进程的定义 在 Linux 系统中,进程是指正在运行的程序的实例。...二、进程的状态 在 Linux 系统中,进程的状态通常可以分为以下几种: 运行状态(Running) 表示进程正在执行指令,使用 CPU 资源。...三、进程标识符 在 Linux 系统中,每个进程都有一个唯一的进程标识符(PID),它是一个非负整数。...四、进程优先级 在 Linux 系统中,每个进程都有一个优先级属性,它决定了进程在 CPU 调度时的优先级。进程优先级的范围是 -20 到 19,其中 -20 表示最高优先级,19 表示最低优先级。
如果将刚才写的etv程序拷贝到/usr/bin 会不会与ls一样可以直接使用? 这样是可以的,但是非常不建议,因为这个程序相当于安装到了系统中,Linux下拷贝就是安装。...不过不用担心,重新登陆Linux就可以了,因为这是内存上的改变。 那么我们需要保留原来的并且再添加新的: 这样也不会影响原来的sl等。...在打开Linux的时候bash因为要处理用户的命令,这些命令也是程序,运行程序需要指定路径,所以操作系统就提前将这些指令的路径放在了专属的配置文件,在启动操作系统时将这个文件导入内存中形成一个内存级变量...首先来看看进程地址空间是什么原理: 在linux源码当中,地址空间是一个mm_struct的数据结构,大概是这样的 struct mm_struct { uint32_t code_start,code_end...程序在磁盘的时候是有地址的,逻辑地址(在linux当中也可以称为虚拟地址) 在进程指向进程地址空间的时候,CPU去读取指令,main函数,因为每一条指令都是有虚拟地址的,所以就能找到fun函数,还有a
基本概念: 进程说白了其实就是一个程序的执行实例,正在执行的程序。...PCB实际上是对进程控制块的统称,在Linux中描述进程的结构体叫做task_struct task_struct是Linux中的一种数据结构,他会被装载到RAM(内存)里并包含进程的信息 task_struct...内容分类 task_struct 就是Linux中的进程控制块,它包含着以下的一些信息。...僵尸进程 前面我们已经说过僵尸状态的概念,相信大家也有了一个大致的了解,而处于僵尸状态的进程,就被称为僵尸进程。...进程优先级: 基本概念: 什么是进程优先级?
Linux进程概念 冯诺依曼体系结构 操作系统 操作系统是什么 操作系统与硬件的关系 操作系统如何管理硬件数据 操作系统与软件的关系 操作系统的安全 操作系统的服务 系统调用和库函数概念 进程的基本概念...有一个概念叫做木桶原理,说:水桶里面能装多少水取决于最短的地方在哪里。 CPU也是同样的,如果从磁盘中拿数据读取运行,效率会非常慢,但是从内存中读取运行整体效率就提高了。...系统调用和库函数概念 在开发角度,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由操作系统提供的接口,叫做系统调用。...进程的基本概念 什么是进程 首先我们要知道,程序是在硬盘中的,想要运行这个程序就要放入内存中,然后通过CUP进行运作。 那么这么多程序加载进来怎么办呢?...因为如果bash进程亲自运行但是报错就会停止工作,bash都停止工作了,我们后续想继续用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个,所以进程之间是具有竞争属性的。
Linux进程概念 零、前言 一、冯诺依曼体系结构 二、操作系统 三、进程 1、描述进程-PCB 2、查看进程 3、获取进程标示符 4、创建进程-fork() 5、进程状态 6、僵尸进程 7、孤儿进程...1、描述进程-PCB 概念: 进程信息被放在一个叫做进程控制块的数据结构中,可以理解为进程属性的集合;在Linux中描述进程的结构体叫做task_struct Linux操作系统下的PCB...效果: 6、僵尸进程 概念: 僵死状态(Zombies)是一个比较特殊的状态。...: cpu资源分配的先后顺序,就是指进程的优先权(priority),优先权高的进程有优先执行权利 配置进程优先权对多任务环境的linux很有用,可以改善系统性能 还可以把进程运行到指定的...常见环境变量: PATH : 指定命令的搜索路径 HOME : 指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录) SHELL : 当前Shell,它的值通常是/
进程概念 一、环境变量 1. 命令行参数 什么是命令行参数呢?首先我们得先知道,主函数是可以传参的!而这个传给主函数的参数就是命令行参数。...我们平时在 Linux 中写一份代码,想要运行起来首先需要找到这个可执行程序的路径,所以如果这个可执行程序在当前路径下,就需要在前面加上 ./ ,例如下图: 那么通过上面命令行参数的学习,我们知道,Linux...Linux 命令的分类 我们首先回忆起当我们把 PATH 设为空时,是不是有一些命令能跑,有一些命令不能跑呢?...这个概念我们以后还会介绍,现在先了解一下。...可以根据下图进行理解: 其中我们的 mm_struct 结构体其实真正叫做内存描述符;而 vm_area_struct 叫做线性空间;这两个概念合起来才叫做地址空间!
文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。...磁盘上inode节点存储和数据“块”存储是在两个不同的区域,inode存储文件的元数据,但是不包括变长的文件名信息,因此inode大小是固定的,包含的元数据如下: * 文件的字节数 * 文件拥有者的User...ID * 文件的Group ID * 文件的读、写、执行权限 * 文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间...由于进程中File对象有独立的文件偏移量(current file offset),因此多个进程可以读写文件的不同位置的数据,但是一般不建议这样玩,因为系统不保证该情况下的写的原子性,多进程可以通过文件锁实现对文件内容的写保护...innode号码 每个inode都有一个号码,操作系统用inode号码来识别不同的文件。Unix/Linux系统内部不使用文件名,而使用inode号码来识别文件。
前言: Linux的学习从开始到现在,我们已经经历了许多大boss,从一开始的熟悉指令,到第一次在gcc环境下编译C语言的代码,到理解文件系统,比如理解了文件的权限,万物皆文件的概念,此时,是我们经历的第一次大...今天,我们学习的是Linux中的第3个大boss,线程。线程我们同样,从概念入手,再到线程的控制,线程同步,线程互斥等,和前两个一样,都是需要我们反反复复学习的知识点。...那么,话不多说,本文作为线程的概念篇,主要是解释线程中的概念,并且结合少许的代码。 进入第一个主题吧!线程的概念。...线程的概念和Linux中的线程实现 上面其实是对于页表的一种重新理解,可能有人觉得和今天的主题线程没有关系,实则不然,因为今天实际上会对之前进程的理解有一个颠覆性的理解。...实际上不是的,一个进程可以存在多个task_struct,而对于task_struct就是Linux中的线程,为什么说是Linux中的线程呢?
Linux网络基础 零、前言 一、计算机网络背景 网络发展 二、认识协议 1、网络协议 2、OSI七层模型 3、TCP/IP五层(或四层)模型 三、网络传输基本流程 1、网络传输类型 2、数据包封装和分用...3、局域网通信 四、网络中的地址管理 1、认识IP地址 2、认识MAC地址 零、前言 本章将开始对Linux网络编程进行系统的学习,而这篇主要学习网络的基本知识 一、计算机网络背景 概念: 网络本质是一个层状结构...,比如路由器,交换机 OSI 七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传输 它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整...;通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,但是它既复杂又不实用,实际中应用的是TCP/IP四层模型 示图: 3、TCP/IP五层(或四层)模型 概念: TCP/IP.../电信号的传递方式,即硬件设备间的数据传输 比如现在以太网通用的网线(双绞线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。
进程概念 一、冯诺依曼体系 我们常见的计算机,如笔记本。或者不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。 从输入到输出的顺序是按照上面的数字顺序的。...基本概念 进程概念: 所谓进程,简单来说就是在磁盘上的可执行程序加载、拷贝到内存中,就形成了进程,也就是正在执行的程序。 2....在 Linux 中描述进程的结构体叫做 task_struct;task_struct 是 Linux 内核的一种数据结构,它会被装载到 RAM(内存) 里并且包含着进程的信息。 3....当进程被 OS 调度,被置换出去的进程代码和数据,又会重新被加载进来。 4. Linux 中进程的具体状态 一个进程可以有几个状态(在 Linux 内核里,进程有时候也叫做任务)。...(2)其他概念 竞争性:系统进程数目众多,而CPU资源只有少量,甚至1个,所以进程之间是具有竞争属性的。为了高效完成任务,更合理竞争相关资源,便具有了优先级。
领取专属 10元无门槛券
手把手带您无忧上云