首页
文章列表
软件测试
Docker
关于
1
软件测试与软件工程发展史
2
一张图带你了解技术演进与软件测试
3
浅谈对 Winston W. Royce的"瀑布"开发模型的误解
4
TestSphere测试管理课程背景
5
k8s集群搭建:集群安装和安装
Testerfans
累计撰写
32
篇文章
累计创建
55
个标签
累计收到
2
条评论
栏目
首页
文章列表
软件测试
Docker
关于
搜索
标签搜索
软件工程
软件工程简史
软件测试简史
互联网
计算机简史
测试提升
软件测试就业
培训
测试管理
瀑布模型
瀑布开发
瀑布
waterfall
Calico
VMware
kubernetes
K8s
cgroup namespace
资源控制组
cgroups
User Namespace
network Namespace
network Na
PID Namespace
组织架构
业务流程
企业架构
IPC Namespace
测试能力建设
测试视角
软件测试发展史
软件测试
进程间通信
管道
命名管道
共享内存
消息队列
Message Queue
信号量
Semaphores
Message Queues
Shared Memory
Named Pipe
FIFO
pipes
PIPE
IPC
UTS namespace
mount namespace
Linux
UTS
namespace
Docker
容器
容器 Docker
目 录
CONTENT
以下是
Linux
相关的文章
2022-07-08
Linux cgroups:深入理解cgroups v1版本
本章我们将结合操作、图文对cgroups进行了进一步的探索和理解,并且在cpu hierarchy 演示对cpu使用率的控制。docker在启动容器的时候可以设置不同的启动参数,实现对资源的限制所依赖的底层技术就是cgroups。
2022-07-08
4100
0
29
Linux
Docker
2022-07-08
Linux cgroups概述
我们将一个宿主机比喻成一个大家庭,家庭成员是一个个体(进程),这个家庭拥有各种资源,包括虚拟资源(教育、经商机会等)和实体资源(粮食、居住面积等),在大家庭里这些资源都是全体共有,如果没有很好的管理方式就很有可能出现资源的争抢和冲突。比如老二不满老大花钱花的多,为此大打出手,这样是不利于整个家庭的稳定。 为了解决这个问题,大家庭提供了一套资源隔离和控制的机制,实现不同家庭之间相互隔离和资源控制,来避免再次出现老大和老二因打架的情况,但所有小家庭和小家庭的各种信息还需要在大家庭登记造册,以便大家庭对小家庭进行管理。 这里面的大家庭就是我们说的宿主机,小家庭就是容器,家庭成员就是一个进程,namespace和我们要介绍的cgroups就是实现资源隔离和控制的机制,资源就是宿主机的各种资源。 前面我们了解了Linux namespace实现uts、pid、user等资源隔离,但Linux namespace解决不了进程使用有限资源(如cpu、内存)过多导致其他进程无法正常工作的情况。针对这个问题Linux已经提供了一种解决方案,这也是我们今天要了解的cgroups。
2022-07-08
2392
0
24
Linux
Docker
2022-06-29
Linux Namespace:user(第二部分)
在Linux Namespace:user(第一部分)中我们通过演示简单理解了什么是user namespace,本章我们将继续介绍user namespace的其他内容。包括:user namespace在uid的映射关系在不同层级的namespace内有所不同;user namespace的owner和owner的capabilities差异;user namespace和其他user namespace的关系。
2022-06-29
1970
0
31
Linux
Docker
2022-06-27
Linux Namespace:user(第一部分)
Linux user namespace 是在3.8版本加入到内核,用于隔离不同user namespace之间的user IDs、group IDs和capabilities隔离,以实现不同容器间的安全控制。系统中的某一个用户ID/组ID在不同的user namespace。例如某一个用户在一个user ,但在另外的一个user namespace中可能是一个普通用户,这个用户在两个user namespace的权限也是不同的。
2022-06-27
2522
0
16
Linux
Docker
2022-06-23
Linux Namespace:network
Linux network namespace在Linux 2.6.24加入到内核中,用来隔离网络设备,协议栈,端口等。每个network namespace在逻辑上是网络堆栈的另一个副本,具有自己的路由、防火墙规则和网络设备。默认情况下,进程从其父进程继承其网络命名空间。在没有新建网络命名空间情况下,所有进程都与 init 进程共享相同的默认网络命名空间。本章我们将重点通过演示来帮助大家理解什么是network namespace,如何实现不同network namespace之间的网络通信。
2022-06-23
3012
0
28
Linux
Docker
2022-06-14
Linux Namespace:PID
PID namespace在2.6.24由OpenVZ团队加入Linux中,PID Namespace中的进程ID是独立的,以达到不同命名空间下PID资源隔离的目的。PID Namespace在最初引入是为了解决[容器的热迁移](https://lwn.net/Articles/259217/)问题,因为不同命名空间下的PID可重复,这样在容器迁移的时候进程ID就不会冲突并且不会改变。
2022-06-14
2325
0
17
Linux
Docker
2022-06-06
Linux Namespace:IPC
目前IPC Namespace实现了对System V的共享内存、信号量和消息队列以及POSIX的消息队列隔离。Pipe、FIFO、Signal等并未实现。
2022-06-06
2394
0
35
Linux
Docker
2022-06-02
Linux IPC:Semaphores(信号量)
为了防止出现因多个程序同时访问一个共享资源而引发的一系列问题,我们需要一种方法,它可以通过生成并使用令牌来授权,在任一时刻只能有一个执行线程访问代码的临界区域。临界区域是指执行数据更新的代码需要独占式地执行。而信号量就可以提供这样的一种访问机制,让一个临界区同一时间只有一个线程在访问它,也就是说信号量是用来调协进程对共享资源的访问的。
2022-06-02
1878
0
20
Linux
2022-05-26
Linux IPC:Message Queue(消息队列)
消息队列和共享内存、信号量一样,同属 System V IPC 通信机制。消息队列是一系列连续排列的消息,保存在内核中,通过消息队列的引用标识符来访问。使用消息队列的好处是对每个消息指定了特定消息类型,接收消息的进程可以请求接收下一条消息,也可以请求接收下一条特定类型的消息。
2022-05-26
3419
0
25
Linux
2022-05-23
Linux IPC:Shared Memory(共享内存)
共享内存(Shared Memory)就是允许多个进程访问同一个内存空间,是在多个进程之间共享和传递数据最高效的方式。操作系统将不同进程之间共享内存安排为同一段物理内存,进程可以将共享内存连接到它们自己的地址空间中,如果某个进程修改了共享内存中的数据,其它的进程读到的数据也将会改变。 共享内存并未提供锁机制,也就是说,在某一个进程对共享内存的进行读写的时候,不会阻止其它的进程对它的读写。如果要对共享内存的读/写加锁,可以使用信号灯。
2022-05-23
2620
0
30
Linux
1
2