二、Linux权限的概念 2.1 什么是权限 现实生活中权限的例子,即vip,门禁…。其作用就是,通过一定的条件,拦住一部分人,给另一部分人权力,来访问某种资源。...2.3 Linux中的用户 Linux下有两种用户:超级管理员(root)、普通用户。 超级管理员(root):可以再linux系统下做任何事情,不受权限约束 普通用户:在linux下做有限的事情。...Linux具有组的概念,主要是在多人协作的时候,更好的进行权限管理!...而在Linux中不通过后缀区分文件类型!但并不是说Linux不用后缀。 那通过什么区分呢?即ls -l第一个属性列。 Linux文件类型: -:普通文件。...这时就引入新的概念,粘滞位。当一个目录被设置为“粘滞位”(使用chmod +t filename指令),则该目录下的文件只能由:1. 超级管理员(root)删除;2.
Linux操作系统下的PCB是: task_struct 在Linux中描述进程的结构体叫做task_struct。...task_struct是Linux内核的⼀种数据结构,它会被装载到RAM(内存)⾥并且包含着进程的信息。...parent, pid: %d\n", getpid()); sleep(3); exit(0); } return 0; } 3.进程优先级 基本概念...配置进程优先权对多任务环境的linux很有⽤,可以改善系统性 能。 还可以把进程运⾏到指定的CPU上,这样⼀来,把不重要的进程安排到某个CPU,可以⼤ 改善 系统整体性能。...PRI vs NI 需要强调⼀点的是,进程的nice值不是进程的优先级,他们不是⼀个概念,但是进程nice值会影 响到进程的优先级变化。
线程的概念 首先我们得知道一件事:在Linux中,没有专门为线程设计的TCB,而是使用进程的PCB来模拟线程。...在教科书上面,对线程的概念是:在进程内部运行的一个执行流,属于进程的一部分,粒度要比进程更加细和轻量化。 我们可以对这句话进行解析:在进程内部运行,即线程在地址空间中运行。...了解了什么是线程后,我们来看看在Linux中进程和线程的关系。...看待Linux线程和接口: Linux进程是轻量级的进程,在进程中,OS创建线程,CPU调度线程。...进程和线程的共享和私有: 其实在Linux中没有线程这个东西,我的意思是没有真正独特设计出来的线程。因此在Linux中,所谓的线程,是轻量级的进程。
今日更新了Linux的进程内容 欢迎大家关注点赞收藏⭐️留言 冯诺依曼体系结构 输入设备:键盘、鼠标、话筒、磁盘、声卡... 输出设备:显示器、声卡、磁盘 .......操作系统 概念 任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。 操作系统是进行软硬件资源管理的软件。...基本概念 课本概念:程序的一个执行实例,正在执行的程序等 内核观点:担当分配系统资源(CPU时间,内存)的实体。...课本上称之为PCB(process control block),Linux操作系统下的PCB是: task_struct task_struct-PCB的一种 在Linux中描述进程的结构体叫做task_struct...task_struct是Linux内核的一种数据结构,它会被装载到RAM(内存)里并且包含着进程的信息。
进程是操作系统中的一个基本概念,它是正在运行的程序的实例。进程不仅仅是代码,还包括代码执行时所需的资源和状态信息。...简单来说进程=程序的代码和数据+内核数据结构(内核数据结构用于管理进程的资源和状态等信息) 描述进程—PCB 由于上面我们说到进程等于内核数据结构加上自己的代码和数据,这里的数据结构在Linux中叫做task_struct...总结 本文从进程的基本概念入手,介绍了进程的组成结构,尤其是PCB(进程控制块)的作用。通过分析 task_struct 的内容,我们了解了进程在内核中的重要数据结构如何帮助管理其状态和资源。
3.进程 基本概念 课本概念:程序的一个执行实例,正在执行的程序等 内核观点:担当分配系统资源( CPU 时间,内存)的实体。...课本上称之为 PCB ( process control block ), Linux 操作系统下的 PCB 是 : task_struct task_struct-PCB 的一种 在 Linux...一个进程可以有几个状态(在Linux内核里,进程有时候也叫做任务)。...配置进程优先权对多任务环境的 linux 很有用,可以改善系统性能。...8.Linux2.6内核进程调度队列 上图是Linux2.6内核中进程队列的数据结构,之间关系也已经给大家画出来,方便大家理解 一个 CPU 拥有一个 runqueue 如果有多个 CPU 就要考虑进程个数的负载均衡问题
基本概念: 进程说白了其实就是一个程序的执行实例,正在执行的程序。...PCB实际上是对进程控制块的统称,在Linux中描述进程的结构体叫做task_struct task_struct是Linux中的一种数据结构,他会被装载到RAM(内存)里并包含进程的信息 task_struct...内容分类 task_struct 就是Linux中的进程控制块,它包含着以下的一些信息。...僵尸进程 前面我们已经说过僵尸状态的概念,相信大家也有了一个大致的了解,而处于僵尸状态的进程,就被称为僵尸进程。...(0); } else{ //fork error } return 0; } 观察代码运行,会发现父进程退出后,子进程的PPID变成了1,这就说明他被一号进程领养了 进程优先级: 基本概念
前言: 上文我们讲到了Linux下的第一个程序:进度条 【Linux】LInux下第一个程序:进度条-CSDN博客 本文我们来讲一讲Linux中下一个非常重要的东西...理解数据的流动: 2.操作系统(Operator System) 2.1基本概念 任何一个计算机都包含一个最基本的程序:OS(操作系统) 操作系统本质是一款用于管理软硬件的软件 广义的操作系统包含:内核...不论是Linux、windows还是macOS这些常见的操作系统都是用C语言写的,所以“系统调用”的本质其实是C函数,只不过是由操作系统提供。...简称为PCB(process control block) Linux操作系统下的PCB是:task_struct。是位于内核的一种数据结构,它会被装在到RAM(内存)中记载进程信息。...注: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中支持正在运行的进程优先级的调整。...其他概念 竞争性: 系统进程数目众多,而CPU资源只有少量,甚至1个,所以进程之间是具有竞争属性的。为了高效完成任务,更合理竞争相关资源,便具有了优先级。
Linux进程概念 零、前言 一、冯诺依曼体系结构 二、操作系统 三、进程 1、描述进程-PCB 2、查看进程 3、获取进程标示符 4、创建进程-fork() 5、进程状态 6、僵尸进程 7、孤儿进程...,可以理解为进程属性的集合;在Linux中描述进程的结构体叫做task_struct Linux操作系统下的PCB是: task_struct-PCB的一种,task_struct是Linux内核的一种数据结构...: cpu资源分配的先后顺序,就是指进程的优先权(priority),优先权高的进程有优先执行权利 配置进程优先权对多任务环境的linux很有用,可以改善系统性能 还可以把进程运行到指定的...old)+nice 注:这里的PRI(old)可以理解为一直是基准值80 当nice值为负值的时候,那么该程序将会优先级值将变小,即其优先级会变高,则其越快被执行 所以调整进程优先级,在Linux...如何将程序像指令一样执行(不带路径执行): 将我们的程序所在路径加入环境变量PATH当中 使用指令 export PATH=$PATH:path(程序所在路径) 示例: 注:该添加方法只在当前有用,退出Linux
一.用户的分类 Linux下有两种用户:超级用户(root)、普通用户。 超级用户:可以再linux系统下做任何事情,不受限制 普通用户:在linux下做有限的事情。...Linux中,无论是root 用户 还是 普通用户 都必须要有密码。...如果仅仅相对一条指令进行提权,可以 sudo command (在系统信任白名单时的操作) 二.Linux权限管理 文件访问者的分类 文件和文件目录的所有者:u—User 文件和文件目录的所有者所在的组的用户
这样是可以的,但是非常不建议,因为这个程序相当于安装到了系统中,Linux下拷贝就是安装。...不过不用担心,重新登陆Linux就可以了,因为这是内存上的改变。 那么我们需要保留原来的并且再添加新的: 这样也不会影响原来的sl等。...在打开Linux的时候bash因为要处理用户的命令,这些命令也是程序,运行程序需要指定路径,所以操作系统就提前将这些指令的路径放在了专属的配置文件,在启动操作系统时将这个文件导入内存中形成一个内存级变量...首先来看看进程地址空间是什么原理: 在linux源码当中,地址空间是一个mm_struct的数据结构,大概是这样的 struct mm_struct { uint32_t code_start,code_end...程序在磁盘的时候是有地址的,逻辑地址(在linux当中也可以称为虚拟地址) 在进程指向进程地址空间的时候,CPU去读取指令,main函数,因为每一条指令都是有虚拟地址的,所以就能找到fun函数,还有a
前言: Linux的学习从开始到现在,我们已经经历了许多大boss,从一开始的熟悉指令,到第一次在gcc环境下编译C语言的代码,到理解文件系统,比如理解了文件的权限,万物皆文件的概念,此时,是我们经历的第一次大...今天,我们学习的是Linux中的第3个大boss,线程。线程我们同样,从概念入手,再到线程的控制,线程同步,线程互斥等,和前两个一样,都是需要我们反反复复学习的知识点。...那么,话不多说,本文作为线程的概念篇,主要是解释线程中的概念,并且结合少许的代码。 进入第一个主题吧!线程的概念。...线程的概念和Linux中的线程实现 上面其实是对于页表的一种重新理解,可能有人觉得和今天的主题线程没有关系,实则不然,因为今天实际上会对之前进程的理解有一个颠覆性的理解。...实际上不是的,一个进程可以存在多个task_struct,而对于task_struct就是Linux中的线程,为什么说是Linux中的线程呢?
进程概念 一、冯诺依曼体系 我们常见的计算机,如笔记本。或者不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。 从输入到输出的顺序是按照上面的数字顺序的。...基本概念 进程概念: 所谓进程,简单来说就是在磁盘上的可执行程序加载、拷贝到内存中,就形成了进程,也就是正在执行的程序。 2....在 Linux 中描述进程的结构体叫做 task_struct;task_struct 是 Linux 内核的一种数据结构,它会被装载到 RAM(内存) 里并且包含着进程的信息。 3....Linux 中进程的具体状态 一个进程可以有几个状态(在 Linux 内核里,进程有时候也叫做任务)。...(2)其他概念 竞争性:系统进程数目众多,而CPU资源只有少量,甚至1个,所以进程之间是具有竞争属性的。为了高效完成任务,更合理竞争相关资源,便具有了优先级。
Linux网络基础 零、前言 一、计算机网络背景 网络发展 二、认识协议 1、网络协议 2、OSI七层模型 3、TCP/IP五层(或四层)模型 三、网络传输基本流程 1、网络传输类型 2、数据包封装和分用...3、局域网通信 四、网络中的地址管理 1、认识IP地址 2、认识MAC地址 零、前言 本章将开始对Linux网络编程进行系统的学习,而这篇主要学习网络的基本知识 一、计算机网络背景 概念: 网络本质是一个层状结构...局域网LAN: 计算机数量更多了, 通过交换机和路由器连接在一起 示图: 广域网WAN 将远隔千里的计算机都连在一起 示图: 注:所谓 “局域网” 和 “广域网” 只是一个相对的概念...示例:打电话 注:实际的网络通信会更加复杂, 需要分更多的层次,而分层最大的好处在于 “封装”,每层之间进行解耦,也就是可以很方便的进行替换任何一层协议,提高可维护性 2、OSI七层模型 概念...,概念清楚,理论也比较完整;通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,但是它既复杂又不实用,实际中应用的是TCP/IP四层模型 示图: 3、TCP/IP五层(或四层)模型
——>而Linux的设计者认为,虽然我们尊重OS系统的学科,对于一个新出来的概念按道理是应该进行先描述再组织,但是这并不代表我们一定要用新的方法来描述和组织,因为我们发现PCB结构体的诸多属性和概念都很符合...——>因此我们Linux的设计者采用描述“进程”的PCB结构体来模拟描述“线程”,大不了在内部单独设置一些属性来区分就行了,其他很多概念接口都可以复用,大大降低了设计和维护成本 ——>无论是Linux...——>Linux中,虽然在我们的视角里有进程和线程的区别,但是在OS和CPU的眼里,我只有调度执行流的概念!...我Linux也是遵守了OS学科的线程概念的,只不过实现方法不同,如果非得杠的话,应该只能说没有真正意义删搞得TCB结构体!!...(2)后半句:应该说是用进程的内核数据结构PCB模拟的线程 ——>因此这两句话想表达的核心意思是 Linux相比于其他OS在内核数据结构上设计的差异!而不是对线程概念的差异!
线程概念 1.1 什么是线程 核心定义和特性 基本定义 线程(thread)是进程内部的一个执行路线或控制序列,本质上是程序执行流的最小单元。...Linux的特殊性:Linux无真正的线程数据结构,而是用进程PCB模拟线程(轻量级进程),用户层通过线程库(如pthread)封装接口。...其他实现:虽然主流OS内核线程都用1:1模型,但 N:1模型的思想在用户态得到了复兴,这就是协程(Coroutine) 或 纤程(Fiber,Windows下的概念)。...从学习的角度看,我们最初学习的“进程”概念,实际上就是这种“单线程进程”。它是一切的基础。...引入了多线程之后,我们需要把原来“进程”的概念进行拆分: 原来认为进程“既有资源又是执行流”,现在要清晰地认识到:“进程是资源包,线程是执行流”。
进程概念 一、环境变量 1. 命令行参数 什么是命令行参数呢?首先我们得先知道,主函数是可以传参的!而这个传给主函数的参数就是命令行参数。...我们平时在 Linux 中写一份代码,想要运行起来首先需要找到这个可执行程序的路径,所以如果这个可执行程序在当前路径下,就需要在前面加上 ./ ,例如下图: 那么通过上面命令行参数的学习,我们知道,Linux...Linux 命令的分类 我们首先回忆起当我们把 PATH 设为空时,是不是有一些命令能跑,有一些命令不能跑呢?...这个概念我们以后还会介绍,现在先了解一下。...可以根据下图进行理解: 其中我们的 mm_struct 结构体其实真正叫做内存描述符;而 vm_area_struct 叫做线性空间;这两个概念合起来才叫做地址空间!
Unix/Linux系统内部不使用文件名,而使用inode号码来识别文件。对于系统来说,文件名只是inode号码便于识别的别称或者绰号。 表面上,用户通过文件名,打开文件。