当前位置: 首页 > news >正文

建设学校网站的需求分析/广州百度推广客服电话

建设学校网站的需求分析,广州百度推广客服电话,学生萝莉做h视频网站,wordpress 新增页面进程、容器与虚拟机 参考:关于进程、容器与虚拟机的区别,你想知道的都在这! 进程、容器与虚拟机的结构图 进程 介绍 进程是一个正在运行的程序,它是一个个可执行文件的实例。当一个可执行文件从硬盘加载到内存中的时候&#xf…

进程、容器与虚拟机

参考:关于进程、容器与虚拟机的区别,你想知道的都在这!

进程、容器与虚拟机的结构图

在这里插入图片描述


进程 介绍

进程是一个正在运行的程序,它是一个个可执行文件的实例。当一个可执行文件从硬盘加载到内存中的时候,一个进程就被创建出来了。 所以说,一个进程包括一堆它占用的内存空间以及额外的数据结构,操作系统内核使用这些数据结构来存储关于该程序的一些类似状态的重要信息。

一个程序本质上是一堆指令和数据结构,而单个 CPU 同一时间只能执行一条指令,同时 CPU 的频率非常快,一秒可以执行数亿条指令, 因此为了充分榨取 CPU 资源,必须在多个运行的程序之间共享 CPU 执行时间,也就是每个程序每隔一定时间,都可以分配到一些 CPU 执行时间,用来执行该程序的指令,而由于 CPU 执行速度非常快,CPU 切换执行程序的间隔时间非常短,用户是察觉不出来的。 而在 CPU 切换执行程序的时候,当前程序的执行状态必须保存在某个地方,因为很快 CPU 会切换回来继续在刚才的那条指令处接着执行。 进程就是存储了正在运行的程序的运行状态的抽象


操作系统对进程隔离了哪些资源?

默认情况下,操作系统对进程的限制非常少,基本上所有操作系统资源对进程都是可见的。少数的几个限制比如:当将多个进程绑定在同一个端口上的时候, 只有第一个会成功,后续的都会失败。对进程的隔离主要有两个方面:

  1. 一个进程只能访问自己的内存空间,它无法访问到其他进程的内存空间。
  2. 一个进程只拥有受限的权限,这些权限取决于创建该进程的用户。比如,/etc/shadow 文件仅 root 用户可以看,当用 root 用户执行一个程序的时候,该程序就可以读写 /etc/shadow 文件,而非 root 用户访问就会直接报错。

容器技术 介绍

当容器技术在 2013 年兴起的时候,很多人将容器视作一个轻量级虚拟机,这个观点受到很多人的追捧, 因为容器就是为了替换虚拟机而被发明出来的。但从技术的角度看,一个容器更像一个进程,而非虚拟机。

容器的定义在网上有很多版本:

  • Wikipedia 的定义:容器是操作系统级别虚拟化的一个通用术语,业界有很多对容器的实现:Docker, lxc 和 rkt 等等。
  • Unix/Linux System Admin 一书中这样描述容器:容器是隔离出来的一组进程,这些进程被限制在一个私有的的根文件系统和进程命名空间内。
  • Docker 官网 这样介绍容器:容器是一个标准单元,它打包了应用程序的源代码和这些代码的所有依赖项,以便能够让应用程序在多个计算环境中快速部署。

个人对容器的理解是:容器是一组进程,操作系统内核提供了一些强大的功能,能够让这些进程假装运行在一个单独的机器上面。而在操作系统看来,这些进程跟系统上的其他进程没有任何区别。以下就是让这一切成为可能的内核功能:

  • Namespaces: Namespaces 技术能够让容器看起来像运行在一台单独的机器上那样。

    Linux man 手册对 namespace 有一个很棒的描述:Namespace 对全局系统资源进行了抽象,让身处 namespace 中的进程认为它们独立拥有这些全局资源。

    Linux 提供了七种不同类型的 namespaces,每种用来隔离不同的资源类型。七种 namespaces 分别对七种不同的全局系统资源进行了抽象、隔离:

    1. cgroups - 隔离根目录
    2. IPC - 隔离进程间通信
    3. Network - 隔离网络栈
    4. Mount - 隔离挂载点
    5. PID - 隔离进程 id
    6. User - 隔离用户 id 和用户组 id
    7. UTS - 隔离主机名
  • Cgroups:Cgroups 能够限制一组进程能够使用的硬件资源。Google 2006年开发了该技术,一开始被称为进程容器。

  • Capabilities:一个权限点列表,用来控制进程的权限级别。


容器解决了什么问题?

容器能够让多个应用同时部署在一台服务器上的多个隔离的环境中,但是这种隔离是伪隔离,容器假装拥有自己独立的操作系统,它可以运行多个进程, 从容器的角度来看,它处于一台独立的机器上。相比虚拟机,容器消耗更少的系统资源,这意味着相同的服务上,能够部署更多的容器,更高的资源利用率。


容器总结

创建容器时,Namespaces 负责将容器中的进程隔离在一个单独的环境中,Cgroups 负责限制容器能够使用的硬件资源,例如:CPU, 内存等等。 这样,容器就能像一台单独的虚拟机那样运行,同时也不会滥用宿主机资源,影响其他进程或容器的运行。


虚拟机(VM)介绍

虚拟机的最原始定义为:一个高效的,隔离出来的真实计算机的副本。

虚拟机代表的是一种计算机虚拟化技术,通常来说,包括两个部分:

  1. hypervisor:一个运行虚拟机的软件,它在计算机硬件和虚拟机(VM)之间建立一层抽象,以便带来更高的灵活性和更高效的资源利用率。
  2. 虚拟机(VM):指的就是虚拟机本身

虚拟机解决了什么问题?

  • 虚拟机最主要的用途,就是在同一台机器上安装多个不同的操作系统。

    例如,国内政府部门的网站,银行发的各种设备基本只能在 Windows 中使用,这个对与 Mac 用户太不友好了。这时,最优的解决方案就是在 MacOS 上面安装一个虚拟机软件,然后安装一个 Windows 的操作系统。

  • 虚拟机能够在同一台机器上同时运行多个应用,这些应用之间彻底隔离,互相不影响,非常的安全。同时能更充分地使用系统资源,避免浪费。

  • 宏观来说,虚拟化技术最主要的作用在于将单体的硬件资源转变为可供多个个体共享的资源使用模式,最终目的还是提高系统资源使用效率。

    在虚拟机出现以前,商业公司在每台服务器上一般只运行一个应用,而当该应用不工作的时候,服务器资源就被白白浪费掉了。虚拟化技术使得一台服务器上可以跑多个虚拟机,每个虚拟机可以被不同的用户使用,这种方式大大降低了硬件资源的空置率。

    现在上云的时代,购买的云服务器基本上都是虚拟机。


虚拟机中的隔离

虚拟机是完全跟宿主机操作系统隔离开来的,它们共享硬件资源,也就是说,虚拟机的隔离发生在硬件层面。(现在也可以在宿主机操作系统中创建虚拟机) 这个层面的隔离相比进程和容器来看,更加的彻底和安全。因为进程和容器都依赖宿主机操作系统。

但是,这种彻底隔离的代价,就是会占用物理机器更多的资源,毕竟虚拟机内部有一个完整的操作系统需要运行。


进程、容器与虚拟机的异同

实际应用中,容器既类似虚拟机,也可以说完全不是一类东西,这取决于从哪些角度来看待它们。

从技术的实现原理,宿主机的隔离机制来看(微观):

  • 进程在操作系统中只有很少的隔离,主要是独立的内存空间和用户权限。
  • 容器本质上就是一组进程,相比宿主机中的其他进程,容器中的进程运行在自己独立的 namespace 中,也不能无限制的使用宿主机资源,但是相比虚拟机,在安全性方面有所欠缺。
  • 虚拟机在操作系统层面拥有完全的隔离,完全是一个独立的环境,拥有一个构建于硬件之上的完整的操作系统。缺点是会占用较多的硬件资源。

从技术要解决的问题,技术的应用场景来看(宏观):

  • 进程的出现,是因为 CPU 需要一个对象,用来存储程序运行期间的状态、执行上下文等信息。
  • 容器的发明,是为了在操作系统上创建隔离的环境,来同时运行多个应用程序。
  • 虚拟机的出现,让我们能够在同一台机器上面运行多个完全不同的操作系统,或者是创建多个绝对隔离的环境用来运行应用程序。

总结:

  • **从技术的实现原理,宿主机的隔离机制来看:**容器更像进程,而非虚拟机。
  • **从技术要解决的问题,技术的应用场景来看:**容器跟虚拟机非常相似,它们解决的是同样的问题,也就是在同一台 机器上,创建隔离的环境运行多个应用程序,提高机器的资源使用率。
  • 通过上面的分析,可以了解到容器是一个非常强大的技术,它吸取了虚拟机的优点,但是轻量得等同于一组进程,同时也很好的控制了这层抽象带来的资源消耗。

相关文章:

进程、容器与虚拟机的区别

进程、容器与虚拟机 参考:关于进程、容器与虚拟机的区别,你想知道的都在这! 进程、容器与虚拟机的结构图 进程 介绍 进程是一个正在运行的程序,它是一个个可执行文件的实例。当一个可执行文件从硬盘加载到内存中的时候&#xf…...

全网快递批量查询的得力助手

在当今社会,网络购物已经成为人们日常生活的重要组成部分。随着网购的普及,快递行业也迅速发展壮大。然而,这也带来了一系列问题:如何快速、准确地查询快递信息?如何批量查询多个快递?今天,我们…...

uniapp开发小程序经验记录

uniapp开发小程序的过程中会遇到很多问题,这里记录一下相关工具优化,便于后来者参考。 每次保存代码后,小程序都跳回首页 针对这个问题,常规的做法就是修改pages配置文件,但是这种方式不便于路由参数的设置&#xff…...

PR自动剪辑视频工具AI智能剪辑插件AutoPod

推荐一款可以提高剪辑效率,节约时间成本的AI人工智能自动剪辑视频制作工具pr插件Autopod,辅助你更快地完成视频内容的编辑工作。 Autopod 插件是一款应用于 Adobe Premiere Pro 软件的插件,用于自动剪辑。该插件能够识别和处理视频和音频素材…...

Visual Studio 2022+Python3.11实现C++调用python接口

大家好!我是编码小哥,欢迎关注,持续分享更多实用的编程经验和开发技巧,共同进步。 查了一些资料,不是报这个错,就是报哪个错,没有找到和我安装的环境的一致的案例,于是将自己的摸索分…...

10天玩转Python第2天:python判断语句基础示例全面详解与代码练习

目录 1.课程之前1.1 复习和反馈1.2 作业1.3 今日内容1.4 字符串格式化的补充1.5 运算符1.5.1 逻辑运算符1.5.2 赋值运算符1.5.3 运算符优先 2.判断2.1 if 的基本结构2.1.1 基本语法2.1.2 代码案例2.1.3 练习 2.2 if else 结构2.2.1 基本语法2.2.2 代码案例2.2.3 练习 2.3 if 和…...

2024年网络安全竞赛-网站渗透

网站渗透 (一)拓扑图 1.使用渗透机对服务器信息收集,并将服务器中网站服务端口号作为flag提交; 使用nmap工具对靶机进行信息收集 2.使用渗透机对服务器信息收集,将网站的名称作为flag提交; 访问页面即可 3.使用渗透机对服务器渗透,将可渗透页面的名称作为flag提交…...

kafka学习笔记--基础知识概述

本文内容来自尚硅谷B站公开教学视频,仅做个人总结、学习、复习使用,任何对此文章的引用,应当说明源出处为尚硅谷,不得用于商业用途。 如有侵权、联系速删 视频教程链接:【尚硅谷】Kafka3.x教程(从入门到调优…...

聊聊AsyncHttpClient的KeepAliveStrategy

序 本文主要研究一下AsyncHttpClient的KeepAliveStrategy KeepAliveStrategy org/asynchttpclient/channel/KeepAliveStrategy.java public interface KeepAliveStrategy {/*** Determines whether the connection should be kept alive after this HTTP message exchange.…...

视频推拉流直播点播EasyDSS平台点播文件加密存储的实现方法

视频推拉流直播点播系统EasyDSS平台,可提供流畅的视频直播、点播、视频推拉流、转码、管理、分发、录像、检索、时移回看等功能,可兼容多操作系统,还能支持CDN转推,具备较强的可拓展性与灵活性,在直播点播领域具有广泛…...

LVGL——按钮部件

目录 一、组成部分 二、按钮部件操作 1、创建 2、设置样式 3、添加事件 4、代码例程 三、按钮部件案例 一、组成部分 主体(LV_PART_MAIN) 二、按钮部件操作 1、创建 lv_obj_t *btn lv_btn_create( parent );2、设置样式 lv_obj_set_siz…...

RE2文本匹配调优实战

引言 在RE2文本匹配实战的最后,博主说过会结合词向量以及其他技巧来对效果进行调优,本篇文章对整个过程进行详细记录。其他文本匹配系列实战后续也会进行类似的调优,方法是一样的,不再赘述。 本文所用到的词向量可以在Gensim训练…...

Java - 线程间的通信方式

线程通信的方式 线程中通信是指多个线程之间通过某种机制进行协调和交互 线程通信主要可以分为三种方式,分别为共享内存、消息传递和管道流。每种方式有不同的方法来实现 共享内存:线程之间共享程序的公共状态,线程之间通过读-写内存中的公…...

【计算机网络】HTTP响应报文Cookie原理

目录 HTTP响应报文格式 一. 状态行 状态码与状态码描述 二. 响应头 Cookie原理 一. 前因 二. Cookie的状态管理 结束语 HTTP响应报文格式 HTTP响应报文分为四部分 状态行:包含三部分:协议版本,状态码,状态码描述响应头&a…...

2023年度盘点:智能汽车、自动驾驶、车联网必读书单

【文末送书】今天推荐几本自动驾驶领域优质书籍 前言 2023年,智能驾驶和新能源汽车行业仍然有着肉眼可见的新进展。自动驾驶技术继续尝试从辅助驾驶向自动驾驶的过渡,更重要的是相关技术成本的下降。根据《全球电动汽车展望2023》等行业报告&#xff0c…...

一文讲解如何从 Clickhouse 迁移数据至 DolphinDB

ClickHouse 是 Yandex 公司于2016年开源的 OLAP 列式数据库管理系统,主要用于 WEB 流量分析。凭借面向列式存储、支持数据压缩、完备的 DBMS 功能、多核心并行处理的特点,ClickHouse 被广泛应用于广告流量、移动分析、网站分析等领域。 DolphinDB 是一款…...

[足式机器人]Part2 Dr. CAN学习笔记-数学基础Ch0-5Laplace Transform of Convolution卷积的拉普拉斯变换

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记-数学基础Ch0-5Laplace Transform of Convolution卷积的拉普拉斯变换 Laplace Transform : X ( s ) L [ x ( t ) ] ∫ 0 ∞ x ( t ) e − s t d t X\left( s \right) \mathcal{L} \left[ x\lef…...

生产问题: 利用线程Thread预加载数据缓存,其它类全局变量获取缓存偶发加载不到

生产问题: 利用线程Thread预加载数据缓存偶发加载不到 先上代码 public class ThreadTest {//本地缓存Map<String, Object> map new HashMap<String, Object>();class ThreadA implements Runnable{Overridepublic void run() {System.out.println("Thread…...

Elasticsearch mapping 之 性能相关配置

ES 常见类型 通用类型: 二进制: binary 布尔型: boolean 字符串: keyword, constant_keyword, wildcard, text 别名: alias 对象: object, flattened, nested, join 结构化数据类型: Range, ip, version, murmur3 空间数据类型: geo_point, geo_shape, point, shape 性…...

adb push报错:remote couldn‘t create file: Is a directory

adb push报错&#xff1a;remote couldn‘t create file: Is a directory 出现这个问题可能是电脑本地目录中包含中文或者是目录地址中多包含了一个/ 比如说以下两种路径 1. test/测试音频文件1/a.mp3 2.test/test_audio/ 这两种都是不可以的&#xff08;我是在as中执行的…...

GitLab 服务更换了机器,IP 地址或域名没有变化时,可能会出现无法拉取或提交代码的情况。

当 GitLab 服务更换了机器&#xff0c;但 IP 地址或域名没有变化时&#xff0c;可能会出现无法拉取或提交代码的情况。 这可能是由于 SSH 密钥或 SSL 证书发生了变化。以下是一些可能的解决步骤&#xff1a; 这可能是由于 SSH 密钥或 SSL 证书发生了变化。以下是一些可能的解决…...

【华为OD题库-076】执行时长/GPU算力-Java

题目 为了充分发挥GPU算力&#xff0c;需要尽可能多的将任务交给GPU执行&#xff0c;现在有一个任务数组&#xff0c;数组元素表示在这1秒内新增的任务个数且每秒都有新增任务。 假设GPU最多一次执行n个任务&#xff0c;一次执行耗时1秒&#xff0c;在保证GPU不空闲情况下&…...

持续集成交付CICD:Jenkins使用GitLab共享库实现前后端项目Sonarqube

目录 一、实验 1.Jenkins使用GitLab共享库实现后端项目Sonarqube 2.优化GitLab共享库 3.Jenkins使用GitLab共享库实现前端项目Sonarqube 4.Jenkins通过插件方式进行优化 二、问题 1.sonar-scanner 未找到命令 2.npm 未找到命令 一、实验 1.Jenkins使用GitLab共享库实现…...

Linux文件结构与文件权限

基于centos了解Linux文件结构 了解一下文件类型 Linux采用的一切皆文件的思想&#xff0c;将硬件设备、软件等所有数据信息都以文件的形式呈现在用户面前&#xff0c;这就使得我们对计算机的管理更加方便。所以本篇文章会对Linux操作系统的文件结构和文件权限进行讲解。 首先…...

CentOS上安装和配置Apache HTTP服务器

在CentOS系统上安装和配置Apache HTTP服务器可以为您的网站提供可靠的托管环境。Apache是开源的Web服务器软件&#xff0c;具有广泛的支持和强大的功能。下面是在CentOS上安装和配置Apache HTTP服务器的步骤&#xff1a; 步骤一&#xff1a;安装Apache HTTP服务器 打开终端&am…...

前端知识(十二)———ES6迭代器

ES6中的迭代器是一种新的对象&#xff0c;它具有一个next()方法。next()方法返回一个对象&#xff0c;这个对象包含两个属性&#xff1a;value和done。value属性是迭代器中的下一个值&#xff0c;done属性是一个布尔值&#xff0c;表示迭代器是否已经遍历完所有的值。迭代器是一…...

云端仓库平台

SpringBoot MySQL Vue 等技术实现的云端仓库 技术栈 核心框架&#xff1a;SpringBoot 持久层框架&#xff1a;MyBatis-Plus 前端框架&#xff1a;Vue 数据库&#xff1a;MySQL 项目包含源码和数据库文件。 效果图如下&#xff1a;...

php第三方skd自动加载

把mugou-sdk复制到项目下在composer.josn找到classmap加入sdk "autoload": {"classmap": ["mugou-sdk"] },在composer.josn找到files加入sdk "autoload": {"files":[mugou-sdk] },项目目录下运行 composer dump-autoload…...

Golang channle(管道)基本介绍、快速入门

channel(管道)-基本介绍 为什么需要channel&#xff1f;前面使用全局变量加锁同步来解决goroutine的通讯&#xff0c;但不完美 1)主线程在等待所有goroutine全部完成的时间很难确定&#xff0c;我们这里设置10秒&#xff0c;仅仅是估算。 2)如果主线程休眠时间长了&#xff0c…...

盘点六款颇具潜力的伪原创AI工具

写作作为信息传递的主要媒介&#xff0c;在庞大的信息海洋中&#xff0c;为了在激烈的竞争中脱颖而出&#xff0c;伪原创AI工具成为越来越多写手的神秘利器。在本文中&#xff0c;我们将深入盘点六款颇具潜力的伪原创AI工具&#xff0c;为你揭开它们神秘的面纱。 1. 文心一言 …...