本系列是对 陈莉君 老师 Linux 内核分析与应用[1] 的学习与记录。...task_struct结构体位于sched.h中 对于进程来说,它的静态表现就是程序,平时都安安静静呆在磁盘上,而一旦运行起来,就变成了计算机里的数据和状态的总和; 运行着的程序就是一个进程. ---- 3.2 Linux...父子进程共享内存的地址空间,但父进程的页表除外 copy_process()函数主要是为子进程创建父进程PCB的副本 3.3 Linux进程调度 所谓调度,实际就是从就绪队列中,选择一个进程投入到..."主战场"是就绪队列,核心是调度算法,实质是进程的切换 O(1)调度: 将单链表变为多链表来实现,从O(n)降低到了O(1) 机制与策略分离 完全公平调度---CFS, 没有了时间片的概念,而是分配...更多可参阅第三版第七章 参考资料 [1] Linux 内核分析与应用: https://next.xuetangx.com/course/XIYOU08091001441/1516763
第五届中国机器人峰会-机器人操作系统(星火计划ROS)分论坛 主题(为了更好的实践与应用-机器人与ROS教学与培训)分享全文: ?...01:实践是检验真理的唯一标准,课堂理论教学和实验设计都是为实践与应用服务的。 ? 02:教学与培训是一个不断完善和更新的动态过程,主要包括四个部分。课程建设没有完成时只有进行时。 ?...04:不能用于应用与实践的理论都是苍白无力的,丰富多彩的应用源于实践。 ? 05:让机器人与ROS有机融合,而非生硬组合,如何做?两者之间的联系和区别有哪些? ?...10:不断完善的课程资料与内容。 11:为什么会有上述问题? ? 12:此部分内容参考之前博文:(ROS机器人操作系统教学与应用的思考)。 ?...14:实践课程必须同时注重内容和方法的传授,理论和应用都非常重要! ? 15:课程模式示例:从生活中来,到现实中去,理论源于实践,最终用于实践。 ? 16:不拘于形式的实验尝试。 ?
2.0 协议开源; 基于 Linux 内核的 Cgroup Namespace 等技术对进程进行隔离; Docker 让开发者可以打包应用以及依赖包到一个可移植的容器中,发布到任何流行的 Linux...Containers Docker 利用容器来运行应用,容器是从镜像创建的运行实例;每个容器都是相互隔离的,保证安全的平台。可以把容器看作一个简易的 Linux 环境。...《数字化 IT 从业者知识体系》的初衷是为 IT 从业者提供的系统性的数字化知识体系,内容涵盖管理实践、工程实践、技术实践三个层次,涉及软件开发方法、应用技术架构、应用部署与管理、软件交付与协作四大方面...在接下来的《数字化 IT 从业者知识体系》系列文章,何文强将从软件开发方法、应用技术架构、应用部署与管理、软件交付与协作四个方面,为大家进行逐一分享介绍: 1....应用技术架构主要包括微服务架构、服务网格架构、无服务器架构、分布式多运行架构等; 3. 应用部署与管理主要包括但不限于虚拟化技术、容器技术与容器编排等; 4.
16.3 进程管理 本章一开始就提到所谓的『进程』的概念,包括进程的触发、子进程与父进程的相关性等等,此外,还有那个『进程的相依性』以及所谓的『殭尸进程』等等需要说明的呢!为什么进程管理这么重要呢?...所以,一个称职的系统管理员,必须要熟悉进程的管理流程才行,否则当系统发生问题时,还真是很难解决问题!底下我们会先介绍如何观察进程与进程的状态,然后再加以进程控制!...16.3.2 进程的管理 进程之间是可以互相控制的!举例来说,你可以关闭、重新启动服务器软件,服务器软件本身是个进程, 你既然可以让她关闭或启动,当然就是可以控制该进程啦!那么进程是如何互相管理的呢?...除了网络上的联机之外,其实 Linux 系统上面的进程是可以接收不同进程所发送来的信息,那就是 Linux 上头的插槽档 (socket file)。...16.4.3 查询已开启文件或已执行进程开启之文件 其实还有一些与进程相关的指令可以值得参考与应用的,我们来谈一谈: 藉由文件(或文件系统)找出正在使用该文件的进程:fuser 有的时候我想要知道我的进程到底在这次启动过程中开启了多少文件
组账号(用 GID 来识别) 2、按用户账号分类 ①超级用户 root ②系统用户 ③普通用户 3、按组账号分类(组账号用来区分权限,不用于登录) 基本组 (私有组) 附加组 (从属组) 二、账号文件与密码文件...分割为 4 个字段 字段 1: 组帐号的名称 字段 2: 密码占位符 x 字段 3: 组帐号的 GID 号 字段 4: 本组的成员用户列表 6、组密码文件 1)/etc/gshadow 保存组帐号的管理信息...每个组记录一行,以: 分割为 4 个字段 字段 1: 组帐号的名称 字段 2: 加密后的密码字符串 字段 3: 本组的管理员列表 字段 4: 本组的成员用户列表 三、相关命令 1、useradd 命令...组名 3)常用命令选项 -A: 定义组管理员列表 -a: 添加组成员(每次只能加一个) -d: 删除组成员(每次只能删一个) -M: 定义组成员用户列表(可设置多个) 4)实例 [root@localhost...:wuqi: #wuqi设置为wangwu组管理员 [root@localhost ~]# gpasswd -M wuqi,zhangsan,lisi wangwu [root@localhost ~
我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /。 其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。 在开始本教程前我们需要先知道什么是绝对路径与相对路径。...ls (列出目录) 在Linux系统当中, ls 命令可能是最常被运行的。...的文件) 一起列出来(常用) -d :仅列出目录本身,而不是列出目录内的文件数据(常用) -l :长数据串列出,包含文件的属性与权限等等数据;(常用) 将家目录下的所有文件列出来(含属性与隐藏档) [root...语法: mkdir [-mp] 目录名称 选项与参数: -m :配置文件的权限喔!...将刚刚的目录名称更名为 mvtest2 [root@www tmp]# mv mvtest mvtest2 ---- Linux 文件内容查看 Linux系统中使用以下命令来查看文件的内容: cat
我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /。 其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。 在开始本教程前我们需要先知道什么是绝对路径与相对路径。...ls (列出目录) 在Linux系统当中, ls 命令可能是最常被运行的。...的文件) 一起列出来(常用) -d :仅列出目录本身,而不是列出目录内的文件数据(常用) -l :长数据串列出,包含文件的属性与权限等等数据;(常用) 将家目录下的所有文件列出来(含属性与隐藏档) [root...将刚刚的目录名称更名为 mvtest2 [root@www tmp]# mv mvtest mvtest2 ---- Linux 文件内容查看 Linux系统中使用以下命令来查看文件的内容: cat...字串 :向上搜寻『字串』的功能; n :重复前一个搜寻 (与 / 或 ? 有关!) N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
ant安装与简单应用 1、下载ant软件包,本次下载的是apache-ant-1.9.6-bin.tar.gz 2、传到Linux服务器上,我传到/usr/local/下 3、解压缩,并创建软连接 [root...# ant -version Apache Ant(TM) version 1.9.6 compiled on June 29 2015 [root@localhost bin]# 6、实例 实验环境Linux
我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /。 其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。 在开始本教程前我们需要先知道什么是绝对路径与相对路径。...,或修改文件与目录的名称 你可以使用 man [命令] 来查看各个命令的使用文档,如 :man cp。...ls (列出目录) 在Linux系统当中, ls 命令可能是最常被运行的。...的文件) 一起列出来(常用) -d :仅列出目录本身,而不是列出目录内的文件数据(常用) -l :长数据串列出,包含文件的属性与权限等等数据;(常用) 将家目录下的所有文件列出来(含属性与隐藏档) [root...语法: mkdir [-mp] 目录名称 选项与参数: -m :配置文件的权限喔!
linux用户管理 linux用户分类 超级用户:root uid=0 用户身份user identify 普通用户:可以登录系统 uid 500-60000 程序用户:程序依托一个用户的权限,权限非常小...多个附加组(公共组) /etc/group 存储着组账号信息 /etc/group文件格式: root:x:0:root 字段1:组名 字段2:组密码占位符 字段3:组id(gid) 字段4:组成员 用户管理命令...符号 -U 解锁用户 linux组管理 查看组信息 cat /etc/group /etc/group文件格式 root:x:0:root 字段1:组名 字段2:组密码占位符 字段3:组id(gid)...字段4:组成员 组管理命令 创建组 groupadd 组名 -g 指定组id 修改gid groupmod -g 1500 组名 添加成员 gpasswd -a 用户名 组名 删除组 groupdel
1 添加用户 adduser#比较简单 useradd 1.1 adduser sudo adduser 用户名#创建用户 su 用户名#切换用户 e...
Linux基于位运算的权限控制 Linux权限控制是基于位运算实现的。...在Linux权限系统中,读、写、执行权限分别对应三个状态位: 读 写 执行 ==> 二进制 ==> 十进制 0 0 1 ==> 001 ==> 1 0 1 0 ==> 010 ==> 2 1 0 0 =...实现权限的判断(与运算) 在需要进行用户权限判断时,可以使用与(&)运算判断用户是否具有某项权限。...> 十进制 描述 1 1 0 > 110 > 6 已有权限 1 0 0 > 100 > 4 待判断的权限,读 0 0 1 > 001 > 1 待判断的权限,执行 权限码6(110)和4(100)的与运算结果为...权限码6(110)和1(001)的与运算结果为0,即:0=6&1。 根据与运算的计算规律,当运算结果为所要判断权限本身值时,我们可以认为用户具有这个权限。
前言 本文主要给大家介绍了关于linux系统用户管理与grep正则表达式的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。...linux系统用户管理与grep正则表达式 1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。...:1000:root:/home/roo:/bin/bash gentoo:x:4001:4001::/home/gentoo:/bin/bash mageia:x:1100:1100::/home/linux
前面我们讲解Linux软件包管理之源码包、脚本安装包时,我们介绍了rpm包和源码包由于安装位置的不同,会对服务的启动造成影响,具体是什么,本篇博客我们来详细介绍。...1、Linux服务管理总览 我们可以看到Linux的服务分为 RPM包安装的服务以及源码包安装的服务,而RPM包服务又分为独立服务和基于 xinetd 服务。...3、RPM包和源码包服务启动差别根本原因 其实不管是RPM包,还是源码包,只不过是初始安装方式不一样而已,如果已经在Linux系统上安装完成之后,那么启动服务都是可以通过如下方式启动: /绝对路径/...service 会去 rpm 包默认的安装位置去找可执行文件,所以service类似的启动服务管理命令只能管理rpm安装包。...5、xinetd 服务 这个服务也是属于 RPM包,现在Linux系统中基于 xinetd 服务越来越少了,启动服务我们只需要修改 /etc/xinetd.d/服务名 这个文件的 disable
通过前面的两篇博客我们介绍了Linux系统的用户管理,Linux用户和用户组管理之相关配置文件 讲解了用户管理的相关配置文件,包括用户信息文件/etc/passwd,用户密码文件/etc/shadow...用户的家目录,以及用户的模板目录;Linux用户和用户组管理之用户管理命令 讲解了管理用户和用户组的命令,包括新建、修改、查看等等以及用的比较多的切换用户命令 su。...那么用户管理结束之后,我们将进入linux的权限管理介绍,本篇博客介绍的是Linux权限管理的ACL权限。 1、什么是 ACL 权限? ...比如有如下场景: 某大牛在QQ群内直播讲解Linux系统的权限管理,讲解完之后,他在一个公有的Linux系统中创建了一个 /project 目录,里面存放的是课后参考资料。...-m u:用户名:权限 指定文件名 ②、给用户组设定 ACL 权限:setfacl -m g:组名:权限 指定文件名 注意:我们给用户或用户组设定 ACL 权限其实并不是真正我们设定的权限,是与
更新过程中,发现问题如何回滚已更新的节点 Deployment:管理部署发布的控制器 每个 Deployment 管理的一组相同的应用 Pod (副本) Controller 会维持 Pod 达到期望的数量...nginx是容器名 回滚 查看历史版本 回滚到指定版本 不加版本就是会退到上一个版本 默认保存10份历史版本,可通过deployment.spec.revisionHistoryLimit修改 架构设计 管理模式...Deployment 只负责管理不同版本的 ReplicaSet,由 ReplicaSet 来管理具体的 Pod 副本数 每个 ReplicaSet 对应 Deployment template
引言 上一篇文章中,我们从零搭建了一个 Kubernetes 集群: Kubernetes 集群搭建 集群已经搭建好,下一步就是要在集群中部署应用了。...2 配置应用 要在集群中部署应用,首先需要编写应用的配置文件,例如下面的 nginx_deployment.yaml: apiVersion: apps/v1 kind: Deployment metadata...基础信息 配置文件前两行,我们配置了这个应用的版本和类型。...启动和删除应用 要启动应用,只需要执行 kubectl 的创建命令即可: $ kubectl apply -f nginx_deployment.yaml 如果要删除已经启动的引用,只需要执行删除命令即可...更新应用 如果想要更新应用,首先,我们需要编辑应用的 yaml 配置文件。
在实际操作中,我们肯定是不会使用rpm命令手动安装软件包的,更简单的方法就是这篇博客我们将介绍RPM包管理——yum在线管理。...1、yum在线管理 yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。...④、yum 升级软件包:yum -y update 包名 注意:如果不指定包名,那么将会升级系统中所有的软件包,包括Linux内核。...而Linux内核升级之后是需要在本地进行一些配置才能开机,如果是远程连接服务器进行Linux内核升级,那么是不可能启动服务器的。 ...假如C和Linux某个系统软件有依赖,而C也卸载掉了,可能造成某个系统功能不能使用。所以我们在卸载软件的时候一定要注意。 5、yum软件组管理 ?
Docker 解决了应用打包和分发问题,随着 Docker 与微服务等技术的深入融合,应用编排和管理受到越来越多的关注,也成为大规模容器化的一个重要挑战。...kubelet 不会管理不是由 Kubernetes 创建的容器。 Kube-proxy 与 Kubernetes Service 通信与负载均衡机制。...《数字化 IT 从业者知识体系》的初衷是为 IT 从业者提供的系统性的数字化知识体系,内容涵盖管理实践、工程实践、技术实践三个层次,涉及软件开发方法、应用技术架构、应用部署与管理、软件交付与协作四大方面...在接下来的《数字化 IT 从业者知识体系》系列文章,何文强将从软件开发方法、应用技术架构、应用部署与管理、软件交付与协作四个方面,为大家进行逐一分享介绍: 1....应用技术架构主要包括微服务架构、服务网格架构、无服务器架构、分布式多运行架构等; 3. 应用部署与管理主要包括但不限于虚拟化技术、容器技术与容器编排等; 4.
《鸟哥的Linux私房菜 (基础学习篇 第三版)》 - 作者:鸟哥 《Linux就该这么学》 - 作者:刘遄 关于磁盘与分区 目前在市场中磁盘的分类也是五花八门,一般在主机中使用的磁盘无外乎,以下几种...MBR与GPT,两种分区的小总结 MBR分区表:Master Boot Record,即硬盘主引导记录分区表,只支持容量在 2.1TB 以下的硬盘,超过2.1TB的硬盘只能管理2.1TB,最多只支持4...GPT分区表:GPT,全局唯一标识分区表(GUID Partition Table),与MBR最大4个分区表项的限制相比,GPT对分区数量没有限制,但Windows最大仅支持128个GPT分区,GPT可管理硬盘大小达到了...#这是逻辑分区 磁盘分区命令-Parted parted命令是由GNU组织开发的一款功能强大的磁盘分区和分区大小调整工具,与fdisk不同它支持调整分区的大小,作为一种设计用于Linux...的工具,它没有构建成处理与fdisk关联的多种分区类型,但是它可以处理最常见的分区格式,包括:ext2、ext3、fat16、fat32、NTFS、ReiserFS、JFS、XFS、UFS、HFS以及Linux
领取专属 10元无门槛券
手把手带您无忧上云