关键问题:如何将资源虚拟化

我们将在本书中回答一个核心问题:操作系统如何将资源虚拟化?这是关键问题。
为什么操作系统这样做? 这不是主要问题,因为答案应该很明显:它让系统更易于使用。
因此我们关注如何虚拟化:操作系统通过哪些机制和策略来实现虚拟化?操作系统如何有效地实现虚拟化?需要哪些硬件支持?


4 - 进程

关键问题:如何提供有许多CPU的假象?

虽然只有少量的物理的CPU可用,但是操作系统如何提供几乎有无数个CPU可用的假象?
操作系统通过虚拟化CPU提供这种假象。通过让一个进程只运行一个时间片,然后切换到其他进程,操作系统提供了存在多个虚拟CPU的假象。这就是时分共享(time sharing)CPU技术,允许用户如愿运行多个并发进程。潜在的开销就是性能损失,因为如果CPU必须共享,每个进程的运行就会慢一点。

机制与策略

机制是一些低级方法或协议,实现了所需的功能。
策略是在操作系统内做出某种决定的算法。

分离策略和机制

在许多操作系统中,一个通用的设计范式是将高级策略与低级机制分可。你可以将机制堪称系统的"如何(how)"问题功能答案。操作系统如何执行上下文切换?策略为"哪个(which)"问题提供答案。
例如,操作系统现在应该运行哪个进程?
++将两者分开可以轻松改变策略,而不必重新考虑机制,因此这是一种模块化(modularity)的形式,一种通用的软件设计原则++

系统系统的基本的抽象 — 进程。
进程就是运行中的程序。

操作系统如何启动并运行一个程序?进程创建实际如何进行?
在这里插入图片描述

操作系统运行程序必须做的第一件事是将代码和所有静态数据(例如初始化变量)加载到内存中,加载到进程的地址空间中。
将代码和静态数据加载到内存后,操作系统在运行此进程之间还需:为程序的运行时栈(run-time stack或stack)分配一些内存,C程序使用栈存放局部变量、函数参数和返回地址。
操作系统也可能为程序的堆(heap)分配一些内存。在C程序中,堆用于显式请求的动态分配数据。malloc()/free();数据结构(如链表、散列表、树和其他有趣的数据结构)需要堆。起初堆很小,随着程序运行,通过malloc()库API请求共呢个多内存。
操作系统还将执行一些其他初始化任务,特别是与输入/输出(I/O)相关的任务。例如UNIX系统中,默认情况下每个进程都有3个打开的文件描述符,用于标准输入、输出和错误。

通过上述工作,OS终于为程序执行搭好了舞台。然后执行最后一项任务:启动程序,在入口处运行,即main()。通过跳转到main()例程,OS将CPU的控制权转移到创建的进程中,从而程序开始执行。

5 - 进程API

关键问题:如何创建并控制进程?

操作系统应该提供怎样的进程来创建及控制接口?如何设计这些接口才能既方便又实用?

  • fork()
    子进程并不是完全拷贝了父进程。具体来说,虽然它拥有自己的地址空间(即拥有自己的私有内存)、寄存器、程序计数器等,但是它从fork()返回的值是不同的。父进程获得的返回值是新创建子进程的PID,而子进程获得的返回值是0.
    CPU调度程序(scheduler)决定了某个时刻哪个进程被执行,由于CPU调度程序非常复杂,所以我们不能假设哪个进程会先运行。 事实表明,这种不确定性(non-determinism)会导致一些很有趣的问题,特别是在多线程程序(multi-threaded program)。
  • wait()
    用于父进程等待子进程执行完毕。
  • exec()
    这个系统调用可以让子进程执行与父进程不同的程序。调用fork(),这只是在你想运行相同程序的拷贝时有用。

给定可执行程序的名称(如wc)及需要的参数后,exec()会从可执行程序中加载代码和静态数据,并用它覆写自己的代码端(以及静态数据),堆、栈及其他内存也会被重新初始化。然后操作系统就执行该程序,将参数从高argv传递给该进程。因此,它并没有创建新进程,而是直接将当前运行的程序替换为不同的运行程序。对exec()的成功调用永远不会返回。

分离fork()及exec()的作用
给shell在fork之后exec之前运行代码的机会,这些代码可以在运行新程序前改变环境,从而让一系列有趣的功能很容易实现。

6 - 进制:受限直接执行

在构建虚拟化时存在的挑战

  • 如何在不增加系统开销的情况下实现虚拟化?
  • 有效地运行如何有效地运行进程,同时保留对CPU的控制?
    控制权对于操作系统尤为重要,因为操作系统负责资源管理。如果没有控制权,一个进程可以简单地无限制运行并接管机器,或访问没有权限的信息。

关键问题:如何高效、可控地虚拟化CPU

操作系统必须以高性能的方式虚拟化CPU,同时保持对系统的控制。为此,需要硬件和操作系统支持。操作系统通常会明智地利用硬件支持,以便高效地实现其工作。

受限直接运行

直接执行:只需直接在CPU上运行程序即可,当OS希望启动程序运行时,它会在进程列表中为其创建一个进程条目,为其分配一些内存,将程序代码(从磁盘)加载到内存中,找到入口点,跳转到哪里,并开始运行用户代码,并在稍后回到内核。
在这里插入图片描述

存在问题:

问题1:如果我们只运行一个程序,操作系统怎么能确保程序不做任何我们不希望它做的事,同时仍然高效地运行它?
增加受限制操作

关键问题:如何执行受限制的操作

一个进程必须能够执行I/O和其他一些受限制的操作,又不能让进程完全控制系统。操作系统和硬件如何写作实现这一点?

采用受保护的控制权转移

硬件通过提供不同的执行模式来协助操作系统。在用户模式(user mode)下,应用程序不能完全访问硬件资源。在内核模式(kernel mode)下,操作系统可以访问机器的全部资源。还提供了陷入(trap)内核和从陷阱返回(return-from-trap)到用户模式程序的特别说明,以及一些指令,让操作系统高速硬件陷阱表(trap table)在内存中的位置。

执行陷阱时,硬件需要小心,因为它必须确保存储足够的调用者寄存器,以便在操作系统发出从陷阱返回指令时能够正确返回。

补充:为什么系统调用看起来像过程调用

你可能知道,为什么对系统调用的调用(如open() read())看起来完全就像C中的典型过程调用。也就是说,如果它看起来像一个过程调用,系统如何知道这是一个系统调用,并做所有正确的事情?原因很简单:它是一个过程调用,但隐藏在过程调用内部的是著名的陷阱指令。更具体地说,当你调用open()时,你正在执行对C库的过程调用。其中,无论时对于open()还是提供的其他系统调用,库都使用与内核一致的调用约定来将参数放在众所周知的位置(例如,在栈中或特定的寄存器中),将系统调用号也放入一个众所周知的位置(同样,放在栈或寄存器中),然后执行上述的陷阱指令。库中陷阱之后的代码准备好返回值,并将控制权返回给发出系统调用的程序。因此,C库中进行系统调用的部分是用于汇编手工编码的,因为它们需要仔细遵守约定,以便正确处理参数和返回值,以及执行硬件特定的陷阱指令。现在你知道为什么你自己不必写汇编来陷入操作系统了,因为有人已经为你写了这些汇编。

陷阱如何知道在OS内运行哪些代码

显然,发起调用的过程不能指定要跳转到的地址(就像你在进行过程调用时一样),这样做让程序可以跳转到内核中的任意位置,这显然是一个糟糕的主意。
内核通过在启动时设置陷阱表(trap table)来实现。当机器启动时,它在特权(内核)模式下执行,因此可以根据需要自由配置机器硬件。操作系统做的第一件事,就是告诉硬件在发生某些异常事件时要运行哪些代码。例如,当发生硬盘终端,发生键盘中断或程序进行系统调用时,应该运行哪些代码?操作系统通常通过某种特殊的指令,通知硬件这些陷阱处理程序的位置。

在这里插入图片描述

问题2:当我们运行一个进程时,操作系统如何让它停下来并却换到另一个进程,从而实现虚拟化CPU所需的时分共享?
在进程之间切换

关键问题:如何获取CPU的控制权

操作系统如何获得CPU的控制权(regain control),以便它可以在进程之间切换?

  • 协作方式:等待系统调用
    过去某些系统采用的一种方式,在这种风格下,操作系统相信系统的进程会合理运行。运行事件过长的进程被假定会定期放弃CPU,以便操作系统可以决定运行其他任务。
    大多数进程通过进行系统调用,将CPU的控制权转移给操作系统。

    提示:处理应用程序的不正当行为
    操作系统通常必须处理不正当行为,这些程序通过设计(恶意)或不小心(错误),尝试做某些不应该做的事情。在现代系统中,操作系统试图处理这种不当行为的方式是简单地终止犯罪者。
    如果应用程序执行了某些非法操作,也会将控制转移给操作系统(如除0操作)。
    这种方式存在问题:如果某个进程进入无限循环,并且从不进行系统调用,会发生什么情况?

  • 非协作方式:操作系统进行控制
    事实证明,没有硬件的额外帮助,如果进程拒绝进行系统调用(也不出错),从而控制权将无法交还给操作系统,那么操作系统无法做任何事情。只能重启计算机。

    关键问题:如何在没有写作的情况下获得控制权?

    即使进程不协作,操作系统如何获得CPU的控制权?操作系统可以做什么来确保流氓进程不会占用机器?
    答案:时钟中断
    时钟设备可以编程为每隔几毫秒产生一次中断。产生中断时,当前正在运行的进程停止,操作系统中预先配置的中断处理程序会运行。此时,操作系统重新获得CPU的控制权。

在这里插入图片描述

请注意,在此协议中,有两种类型的寄存器保存/恢复。第一种是发生时钟中断的时候。在这种情况下,运行进程的用户寄存器由硬件隐式保存,使用该进程的内核栈。第二种是当操作系统决定从A切换到B。这种情况下,内核寄存器被软件(即OS)明确地保存,但这次被存储在该进程的进程结构的内从中。后一个操作让系统从好像刚刚由A陷入内核,变成好像刚刚由B陷入内核。

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 在csdn写博客的一些感受

    我的csdn注册很久了,最近才开始写博客,感觉还是蛮有收获。 我平常有一些技术积累,能力一般,技术深度更谈不上,平时也是收集的各种各样的资料,一直没有好好去整理。 写博客的目的也是初心吧,一…...

    2024/4/2 10:30:35
  2. 腾讯面试--原来bitmap也可以用来排序

    有100亿个不重复的uint32元素,试排序 大数据,内存限制,想到了bitmap了,但这里是排序,我们之前都用bitmap去重。 其实bitmap也可以排序,因为是不重复的元素的,直接遍历到bitmap中,然后…...

    2024/4/21 16:50:15
  3. Vue组件通信07-多层级组件通信(爷爷到孙子-传爷爷组件,以便孙子操作爷爷)-provideinject

    components/Parent.vue <template><div>我是父组件<br>这里显示父级的msg:{{msg}}<Son></Son></div> </template><script> /* provide 、inject只能父级给子孙后代传递参数&#xff0c;而不知道子孙后代到底有多少&#xff0…...

    2024/4/25 8:09:09
  4. 2.Javaweb-javascript

    javascript回顾 运算符 &#xff1a;类型不一样&#xff0c;值一样&#xff0c;返回true &#xff1a;类型一样&#xff0c;值一样&#xff0c;返回true&#xff08;绝对等于&#xff09; 数据类型 NaN&#xff1a;属于“number”类型&#xff0c;但它与所有的数值都不相等&…...

    2024/4/28 21:04:13
  5. torch.save 时报错 Can‘t pickle local object ‘_initialize.<locals>.patch_forward.<locals>.new_fwd‘

    保存模型 虽然没有明白是什么原因&#xff0c;但是找到了解决方法&#xff1a; 将torch.save(model, path) # 直接保存整个模型方法改为torch.save(model.state_dict(), path) # 保存模型的参数 载入模型 相应的&#xff0c;载入模型时将model torch.load(path) # 直接加载…...

    2024/4/20 8:20:58
  6. SAP Spartacus里的injector

    调用Angular core的Injector.create: getCmsData返回的也只是一个Observable&#xff1a; 以下都是Angular core的实现&#xff1a; 创建好的injector&#xff1a; 要获取更多Jerry的原创文章&#xff0c;请关注公众号"汪子熙": 汪子熙CSDN认证博客专家前端框架Node.…...

    2024/4/18 23:16:01
  7. 架构师训练营-第四周作业

    // todo...

    2024/4/9 17:21:13
  8. 【Linux学习笔记】pidof命令

    功能 pidof命令&#xff1a;用于查询某个指定服务进程的PID值 格式 格式为&#xff1a;“pidof [参数][服务进程]” 参数 示例 1、使用如下命令来查询本机上sshd服务程序的PID&#xff1a; pidof sshd 2、使用如下命令来查询本机上bash的PID&#xff1a; pidof bash &…...

    2024/4/12 17:57:16
  9. 架构师训练营-第四周学习总结

    //todo...

    2024/4/2 10:33:07
  10. 关于Android room 时间函数条件的坑 给需要的人

    需要做一个按照年份查询的sql 正确的 WHERE strftime(%Y, next_date) :year 坑1 %Y y区分大小写 坑2 传参 year 只能是string 不能为int...

    2024/4/2 10:33:05
  11. webpack学习笔记六:分离出css代码

    注意&#xff1a;webpack4版本中已经弃用extract-text-webpack-plugin插件来提取css了而采用mini-css-extract-plugin。 安装依赖&#xff0c;还是推荐cnpm安装吧&#xff0c;npm总是会出点问题 cnpm install mini-css-extract-plugin --save-devwebpack.config.js // 生成H…...

    2024/4/18 6:25:20
  12. Proteus一个简单51程序的仿真

    Proteus一个简单51程序的仿真一、调试任务一个8XX51单片机的双机通信系统波特率为9600bps&#xff0c;fosc12MHz&#xff0c;用中断方式编写程序&#xff0c;将甲机片内RAM 30H~3FH的数据块通过串行口传送到乙机的片内RAM 40~4FH单元中。 二、调试原理 使用keil软件完成本实验程…...

    2024/4/22 1:50:59
  13. Argparse模块学习笔记

    argparse是python用于解析命令行参数和选项的标准模块。 下面这个代码是argparse模块的应用格式。仅仅用于声明argparse模块、解析参数&#xff0c;没有实现任何功能。 import argparse    &#xff03;导入模块 parser argparse.ArgumentParser()   &#xff03;声明…...

    2024/4/24 21:23:53
  14. 大数据常考--bitmap用来去重占用内存少

    大数据&#xff0c;内存限制用bitmap&#xff0c;uint32用2^32表示&#xff0c;对应的bitmap大小0.5G。 这里要去重&#xff0c;直接遍历一次&#xff0c;然后统计bitmap里面的数据就可以达到去重的目的 这里假设读者已懂bitmap&#xff0c;只是简单的说下思路。...

    2024/4/2 10:33:01
  15. Docker镜像创建与操作(Dockerfile基本创建方法)

    文章目录一、Docker镜像的分层二、Docker镜像的创建2.1 Docker镜像2.2 Docker镜像的创建方法三、案例&#xff1a;构建各类Docker镜像服务案例环境需求描述3.1 基于已有镜像创建创建过程3.2 基于本地模板创建创建过程3.3 基于Dockerfile创建Dockerfile操作指令创建过程三、Dock…...

    2024/4/28 18:32:56
  16. 零基础完成mdk5和stm32的安装以及一个stm32简单程序编译

    本文目录一.开发环境MDK5以及stm32包的安装二.新建工程三.简单的stm32程序的编写四.编译结果展示一.开发环境MDK5以及stm32包的安装 1.MDK-5.10等软件安装包提取&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1i-WRX1sLAJv5hUXFQvIWKQ 提取码&#xff1a;i66s 2.MDK-…...

    2024/4/26 13:23:04
  17. 追风筝的人

    这部小说的作家是美籍阿富汗人卡勒德胡赛尼&#xff0c;小说于2003年中文版出版&#xff0c;与《岛》是同一时期的作品&#xff0c;与《岛》相同的是&#xff0c;这部作品也是采用倒叙的方式呈现给读者的&#xff0c;是主人公阿米尔以第一口吻的方式讲述自己在阿富汗的生活&…...

    2024/4/23 7:56:17
  18. PSO算法详解

    本文图片及解释来自 Learn Particle Swarm Optimization (PSO) in 20 minutes Heres mountainous region and the team is about to start the search. The team decides to use the PSO technique to look for the treasure, so what do they have to do? They have to of co…...

    2024/5/3 0:04:55
  19. 监控——Zabbix概述

    Zabbix1.Zabbix概述2.Zabbix 监控介绍2.1 Zabbix 监控架构2.2 Zabbix 优点2.3 Zabbix 缺点2.4 Zabbix 监控系统监控对象3.Zabbix监控方式1、被动模式2、主动模式4.Zabbix 架构1、Zabbix Server2、Zabbix 数据库存储3、Zabbix Web 界面4、Zabbix Proxy 代理服务器5、Zabbix Agen…...

    2024/4/2 10:32:57
  20. 群体智能算法-北极熊算法(PBO)-python代码实现附详细注释

    import numpy as np import random import matplotlib.pyplot as pltnp.set_printoptions(suppressFalse)北极熊算法 浮冰漂移:全局搜索 具体捕猎:局部搜索 author:sugarMei date:6/25 version:1.1# 全局参数设定M:种群最大容量 m:种群当前规模大小 N:目标函数解的维度 T:迭代次…...

    2024/4/28 10:46:07

最新文章

  1. PHP源码_最新在线工具箱网站系统源码

    项目运行截图 源码贡献 https://githubs.xyz/boot?app41 部分数据库表 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for toolbox_category -- ---------------------------- DROP TABLE IF EXISTS toolbox_category…...

    2024/5/3 2:28:46
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. MongoDB初探:安装与图形化界面保姆级使用指南

    文章目录 前言一、MongoDB下载安装下载解压配置环境变量打开mongoDB 二、配置本地MongoDB服务创建文件下载服务测试服务 三、图形化界面Compass GUINavicat GUI 总结 前言 MongoDB是一种流行的开源、面向文档的NoSQL数据库程序。与传统的关系型数据库不同&#xff0c;MongoDB将…...

    2024/5/1 10:20:40
  4. Stable Diffusion的界面参数详解

    Stable Diffusion作为一款强大的文本到图像生成模型,其界面参数是用户与模型进行交互的重要桥梁。这些参数不仅影响着模型的生成效果,还能够帮助用户更加精准地控制生成图像的风格、内容等。本文将详细介绍Stable Diffusion的界面参数,帮助用户更好地理解和应用这一工具。 …...

    2024/5/2 5:15:07
  5. 【Go】十六、文件操作

    文章目录 1、打开和关闭文件2、IO3、一次性读文件4、带缓冲区的读文件5、写入文件6、文件复制 1、打开和关闭文件 package main import("fmt""os" ) func main(){//打开文件&#xff1a;file,err : os.Open("d:/Test.txt");if err ! nil {//出错…...

    2024/5/1 14:17:25
  6. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/5/2 11:19:01
  7. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/5/2 16:04:58
  8. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/5/2 23:55:17
  9. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/5/2 9:47:31
  10. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/5/2 9:47:31
  11. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/5/2 6:03:07
  12. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/5/2 9:47:30
  13. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/5/2 23:47:43
  14. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/5/2 5:31:39
  15. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/5/3 1:55:15
  16. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/5/2 9:47:28
  17. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/5/2 9:47:27
  18. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/5/3 1:55:09
  19. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/5/2 8:37:00
  20. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/5/2 9:47:26
  21. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/5/2 9:47:25
  22. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/5/2 23:47:16
  23. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/5/2 18:46:52
  24. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/5/2 7:30:11
  25. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/5/3 1:54:59
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57