操作系统 --- 存储器管理
一、简答题
1.存储器管理的基本任务,是为多道程序的并发执行提供良好的存储器环境。请问好的存储器环境”应包含哪几个方面?
答:
2.内存保护是否可以完全由软件实现?为什么?
答:内存保护的主要任务是确保每道程序都只在自己的内存区内运行。这就要求系统能对每条指令所访问的地址进行越界检查。若发生越界,系统应能立即发现,并发出越界中断请求,以抛弃该指令。若每次检查完全由软件实现,则每执行一条指令时,都要增加若干条指令去执行越界的检查功能,这无疑将降低程序的执行速度,因此,越界检查通常由硬件实现,并使指令的执行与越界检查功能并行执行,从而不使程序的运行速度降低。当然,对发现有越界后的处理需与软件配合来完成。因此说内存保护功能是由硬件和软件协同完成的。
3.请解释什么是重定位?为什么要重定位?
答:重定位:允许作业在运行过程中在内存中移动的技术,必须获得硬件地址变换机构的支持。即在系统中增加一个重定位寄存器,用它来装入程序在内存中的起始地址。程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而成的,这就叫做重定位。在连续分配方式中,为了利用“碎片”将作业装入,需要将内存中分散的小分区拼接成大分区,称为”拼接”或”紧凑”,但由于经过紧凑后的用户程序在内存中的位置发生了变化,若不对程序和数据的地址进行修改, 程序将无法执行,所以必须进行重定位。
4.动态重定位的实现方式有哪几种?
答:
5.可采用哪几种方式将程序装入内存?它们分别适用于何种场合?
答:
(1) 绝对装入方式,适用于单道程序系统。
(2) 可重定位装入方式,适用于分区式存储管理系统。
(3) 动态运行时装入方式,适用于分页、分段式存储管理系统。
根据信息的性质来划分。(3)分页的作业地址空间是一维的,而分段作业地址空间则是二维的。
6.何谓静态链接?静态链接时需要解决哪两个问题?
答:
静态链接的定义:程序运行之前,先将各目标及它们所需的库函数链接成一个完整的装配模块,以后不再拆开,这种事先进行链接的方式称为。
7.编写程序时,源代码必须经过编译和链接生成目标代码,请问什么是链接?链接主要解决了什么问题?简述链接的主要类型及其优缺点。
答:
链接(Linking) 是计算机程序构建过程中的一个阶段,其主要任务是将一个或多个由编译器生成的目标文件(包括库文件)组合成一个可执行文件、共享库或者其他类型的目标代码。链接主要解决的问题包括:
符号解析 :编译时,函数和变量的具体地址尚未确定。这些未确定的函数和变量被称为“外部符号”。链接器的任务之一是找到这些符号的真实地址,并替换相应的引用。
空间和地址分配:链接器为每个模块分配空间,并决定每个函数和变量在最终输出中的地址。
库处理:程序员经常使用标准库或其他库中的函数。链接器从库中选择所需的模块并将其包含在最终的可执行文件中。
链接的主要类型包括:
静态链接
优点:
- 生成的可执行文件是独立的,不依赖于外部的库文件,方便部署和分发。
- 有时可能会有更好的性能,因为所有的代码都在一个单一的二进制文件中。
缺点:
- 如果多个程序使用相同的库,静态链接会导致每个程序都有库的一个副本,浪费磁盘和内存资源。
- 如果库更新,需要重新链接和部署应用程序。动态链接:
-优点:
- 节省磁盘空间和内存,因为多个运行的程序可以共享同一个库的副本。
- 库更新时,通常不需要重新链接和部署应用程序。
缺点:
- 运行时需要库文件。如果库文件丢失或与应用程序版本不兼容,可能会导致程序无法运行。
- 有时可能有额外的性能开销,因为需要解析动态符号和加载共享库。在实际开发中,静态链接和动态链接各有应用场景,选择哪种链接方式取决于项目的具体需求和目标。
8.为什么要引入对换?对换可分为哪几种类型?
答:答:在多道环境下,一方面,在内存中的某些进程由于某事件尚未发生而被阻塞,但它却占用了大量的内存空间,甚至有时可能出现在内存中所有进程都被阻塞而迫使CPU停止下来等待的情况;另一方面,却又有着许多作业在外存上等待,因无内存而不能进入内存运行的情况。显然这对系统资源是一种严重的浪费,且使系统吞吐量下降。为了解决这一问题,在操作系统中引入了对换(也称交换)技术。 可以将整个进程换入、换出,也可以将进程的一部分(页、段)换入、换出。前者主要用于缓解目前系统中内存的不足,后者主要用于实现虚拟存储。
9.在对换技术中,对文件区管理的目标和对对换空间管理的目标有何不同?
答:
对文件区管理的主要目标是提高文件存储空间的利用率,然后才提高对文件的访问速度,因此,对文件区空间的管理采取离散分配方式。
对对换空间管理的主要目标是提高进程换入和换出的速度,然后才是提高文件存储空间的利用率,因此,对对换区空间的管理采取连续分配方式,较少的考虑外存中的碎片问题。
10.为什么说分段系统较分页系统更易实现信息共享与保护?
答:
无论是分页系统、还是分段系统,都允许多个进程共享程序中的代码或公共数据。分页系统实现页共享的方法是,在共享进程中将共享页对应的页表项指向同一个内存块。由于分页系统的地址空间是一维的,页的划分由系统自动进行,因此会造成共享代码或数据与非共享代码或数据共处一页的情况,从而使信息的共享变得十分困难。而分段系统则在用户编程时,自然地进行分段的划分,每个分段中的信息具有相对完整的逻辑意义,正好与分段存储系统相适应,因此它比分页更容易实现信息的共享。
对信息的保护来说,也是按信息的逻辑单位进行保护,也与分段存储系统相适应,OS应保证用户进程只按允许的方式访问共享信息,而对他人的非共享信息则不允许进行任何形式的访问。分段系统比分页系统更容易实现信息的保护,我们可按各个分段的含义来对每个分段进行不同的保护,如子程序段的存取权限是只能执行,数据段的存取权限是可读可写等。
11.提高内存利用率的途径主要有哪些?
答:
(1)改连续分配方式为离散分配方式;
(2)增加对换和覆盖机制;
(3)引入动态机制;
(4)引入虚拟存储器机制;
(5)引入存储器共享机制。
二、计算题
12.假设一个分页存储系统具有快表,多数活动页表项都可以存在于其中若页表放在内存中,内存访问时间是1ns,快表的命中率是85%,快表的访问时间为0.1ns,财效存取时间为多少?
答:
在有快表的分页存储系统中,计算有效存取时间时,需注意访问快表与访问内存的时间关系。通常系统中,先访问快表,未命中时再访问内存;但如果题中有具体的说明,计算时则应注意区别。 计算过程:[(0.1+1)×85%+(0.1+1+1)×(1-85%)]μs=1.25μs。
理论:
在这个分页存储系统中,当需要访问内存时,系统首先查找快表(TLB)。如果找到了对应的页表项(即快表命中),则直接使用该信息进行内存访问;如果没有找到(即快表未命中),则需要首先从内存中查找页表项,然后再访问实际的数据。
快表命中:此时的访问时间包括查找快表的时间和1次实际的内存访问时间。
快表未命中:此时的访问时间包括查找快表的时间、从内存中获取页表项的时间以及1次实际的内存访问时间。
13.对一个将页表存放在内存中的分页系统:
(1)如果访问内存需要0.2μs,则有效访问时间为多少?
(2)如果加一快表,且假定在快表中找到页表项的概率高达90%,则有效访问时间又s是多少(假定查快表须花费的时间为0)?
答:
(1)不使用快表:
每次内存访问实际上需要两次真正的内存访问:一次是为了获取页表项,一次是为了获取实际数据。
所以有效访问时间 = 2 × 内存访问时间 = 2 × 0.2μs = 0.4μs
所以,有效访问时间为0.4μs。
(2)使用快表:
快表(或称为TLB:Translation Lookaside Buffer)用于缓存页表项,大大减少了页表查询的时间。
考虑两种情况:
- 快表命中:此时只需1次内存访问即可。
- 快表未命中:此时需要2次内存访问。
有效访问时间 = 快表命中概率 × 1次内存访问时间 + 快表未命中概率 × 2次内存访问时间 = 0.9 × 0.2μs + 0.1 × 0.4μs = 0.18μs + 0.04μs = 0.22μs
14.某系统采用分页存储管理方式,拥有逻辑空间32页,每页2KB,拥有物理空间1MB。
(1)写出逻辑地址的格式。
(2)若不考虑访问权限等,则进程的页表有多少项?每项至少有多少位?
(3)如果物理空间减少一半,则页表结构应相应地做怎样的改变?
答:
由题意:逻辑空间 = 32页 每页大小 = 2KB = (2^{11})B (因为1KB = 2^{10})B)
物理空间 = 1MB = (2^{20})B(1) 写出逻辑地址的格式:
逻辑地址由页号和页内地址组成。页号用于索引页表,而页内地址表示在该页中的偏移量。
- 页号(Page Number):由于总共有32页,所以需要(log_2 32 = 5)位来表示。
- 页内地址(Page Offset):由于每页大小为2KB = (2^{11})B,所以需要11位来表示。因此,逻辑地址格式为:[5位页号 | 11位页内地址]
**(2) 若不考虑访问权限等,则进程的页表有多少项?每项至少有多少位?**
- 页表的项数与逻辑空间的页数相同,即32项。
- 每一项的大小是决定于物理地址空间的。1MB的物理空间对应的页数是:( frac{1MB}{2KB} = 512)页。因此,需要(log_2 512 = 9)位来表示物理页号。所以,每项至少有9位。
**(3) 如果物理空间减少一半,则页表结构应相应地做怎样的改变?**
物理空间减少一半意味着新的物理空间为0.5MB = (2^{19})B。与2KB每页相除,得到新的物理空间页数为256页。因此,新的物理页号需要(log_2 256 = 8)位来表示。
因此,当物理空间减少一半时,页表中的每项从原来的9位减少到8位。
15.已知某分页系统,内存容量为64KB,页面大小为1KB,对一个4页大的作业,其)
1、2、3页分别被分配到内存的2、4、6、7块中。
(1)将十进制的逻辑地址1023、2500、3500、4500变换为物理地址。
(2)以十进制的逻辑地址1023为例,画出地址变换过程图。
答:
由题意:
内存容量 = 64KB 页面大小 = 1KB = 210210B 一个作业的页面映射如下:1→2,2→4,3→6,4→71→2,2→4,3→6,4→7
因为每页是1KB,所以逻辑地址的低10位(0-9位)是页内地址,而更高的位是用于表示页号。
(1) 将十进制的逻辑地址1023、2500、3500、4500变换为物理地址:
1023的逻辑地址:
- 页号:1023/1024= 0(第一页)
- 页内地址:1023 % 1024 = 1023
- 物理页号:2
- 物理地址 = 2 × 1024 + 1023 = 3071
2500的逻辑地址:
- 页号:2500/1024 = 2(第三页)
- 页内地址:2500 % 1024 = 452
- 物理页号:6
- 物理地址 = 6 × 1024 + 452 = 6596
3500的逻辑地址:
- 页号:3500/1024 = 3(第四页)
- 页内地址:3500 % 1024 = 932
- 物理页号:7
- 物理地址 = 7 × 1024 + 932 = 7932
4500的逻辑地址:
- 页号:4500/1024 = 4
- 由题意,显然只有4页,所以4500这个逻辑地址是无效的,不能转换为物理地址。
(2)具体图像如下:
16.已知某系统页面长4KB,每个页表项的大小为4B,采用多层分页策略映射64位的用户地址空间。若限定最高层页表只占1页,问它可采用几层分页策略。
答:
方法一:由题意可知,该系统的用户地址空间为2(64)B,而页的大小为4KB,故作业最多可有(2^64)/(2^12)(即2^52)个页,其页表的大小则为2^(52)*4即2^(54)B。因此,又可将页表分成2(42)个页表页,并为它建立两级页表,两级页表的大小为2(44)B。依次类推,可知道它的3、4、5、6级页表的长度分别是2(34)B、2(24)B、2(14)B、2(4)B,故必须采取6层分页策略。
方法二:页面大小为4KB=2^(12)B,页表项4B=2^(2)B,因此一个页面可以存放2^(12)/2^(2)=2(10)个页表项,因此分层数=INT[64/10]=6层。
17.对于表5-2所示的段表,请将逻辑地址(0,137),(1,4000),(2,3600),(5,230)
变换成物理地址。
| 段号 | 内存起始地址 | 段长 |
| 0 | 50K | 10KB |
| 1 | 60K | 3KB |
| 2 | 70K | 5KB |
| 3 | 120K | 8KB |
| 4 | 150K | 4KB |
答:
(0,137)对应的物理地址为:50K+137 = 50*1024+137 = 51337;
(1,4000)的段内偏移地址越界,是一个不合法逻辑地址;
(2,3600)对应的物理地址为:70K+3600 = 75280
(5,230)的段号越界,是一个不合法逻辑地址。
三、综合应用题
18.某系统采用动态分区分配方式管理内存,内存空间为640KB,低端40KB存放OS。系统为用户作业分配空间时,从低地址区开始。针对下列作业请求序列,画图表示使用首次适应算法进行内存分配和回收后内存的最终映像。作业请求序列如下:
作业1申请200KB,作业2申请70KB;作业3申请150KB,作业2释放70KB;作业4申请80KB,作业3释放150KB;作业5申请100KB,作业6申请60KB;作业7申请50KB,作业6释放60KB。
答:
内存分配和回收的过程:
2)
19.某OS采用分段存储管理方式,用户区内存为512KB,
空闲块链入空闲块表,分配时截取空闲块的前半部分(小地址部分)。初始时全部空闲。执行申请、释放操作序列request(300KB)、request(100KB)、release (300KB)、request (150KB)、request(5OKB)、request(90KB)后:
(1)若采用首次适应算法,则空闲块表中有哪些空闲块(指出大小及起始地址)?
(2)若采用最佳适应算法,则空闲块表中有哪些空闲块(指出大小及起始地址)?
(3)若随后又要申请80KB,则针对上述两种情况会产生什么后果?这说明了什么问题?
答:
由题意给定:用户区内存大小 = 512KB;初始时,所有内存都是空闲的,即有一个空闲块从地址0开始,大小为512KB。
执行给定的操作序列:
request(300KB):分配300KB的内存 request(100KB):分配100KB的内存
release(300KB):释放第一个申请的300KB request(150KB):分配150KB的内存
request(50KB):分配50KB的内存 request(90KB):分配90KB的内存我们分别考虑两种算法:
(1) 首次适应算法:
1. 分配300KB后,空闲块:[300KB, 512KB-300KB = 212KB]
2. 分配100KB后,空闲块:[400KB, 112KB]
3. 释放300KB后,空闲块:[0KB, 300KB], [400KB, 112KB]
4. 分配150KB后,空闲块:[150KB, 150KB], [400KB, 112KB]
5. 分配50KB后,空闲块:[200KB, 100KB], [400KB, 112KB]
6. 分配90KB后,空闲块:[200KB, 100KB], [490KB, 22KB](2) 最佳适应算法:
1. 分配300KB后,空闲块:[300KB, 212KB]
2. 分配100KB后,空闲块:[400KB, 112KB]
3. 释放300KB后,空闲块:[0KB, 300KB], [400KB, 112KB]
4. 分配150KB后,空闲块:[0KB, 150KB], [400KB, 112KB]
5. 分配50KB后,空闲块:[0KB, 100KB], [450KB, 62KB]
6. 分配90KB后,空闲块:[0KB, 10KB], [450KB, 62KB](3) 随后申请80KB的后果:
对于首次适应算法:可以从200KB位置开始的100KB空闲块中分配80KB。剩余的空闲块为:[280KB, 20KB], [490KB, 22KB]。
对于最佳适应算法:可以从450KB位置开始的62KB空闲块中分配80KB,但这个块太小,所以这次分配请求会失败。剩余的空闲块不变,为:[0KB, 10KB], [450KB, 62KB]。最佳适应算法可能会导致大量的小空闲块,这使得大块的内存请求更有可能失败,即使总的可用空闲空间可能足够大。这说明了碎片化问题,特别是内部碎片问题。最佳适应策略可能会导致更多的内部碎片,而首次适应策略可能会导致内存的低效利用,但在这种情况下,它能够满足80KB的请求。
20.某系统的空闲分区如表5-3所示,采用可变分区分配策略处理作业。现有作业序列96KB、20KB、200KB,若采用首次适应算法和最佳适应算法来处理这些作业序列,则哪种算法能满足该作业序列的请求?为什么?
| 段号 | 内存起始地址 | 段长 |
| 0 | 32K | 100KB |
| 1 | 10KB | 150K |
| 2 | 5KB | 200K |
| 3 | 218KB | 220K |
| 4 | 96KB | 530K |
答:
解:若采用最佳适应算法,在申请96K存储区时,选中的是5号分区,5号分区大小与申请空间大小一致,应从空闲分区表中删去该表项;接着申请20K时,选中1号分区,分配后1号分区还剩下12K;最后申请200K,选中4号分区,分配后剩下18K。显然采用最佳适应算法进行内存分配,可以满足该作业序列的需求。为作业序列分配了内存空间后,空闲分区表如表(a)所示。
若采用首次适应算法,在申请96K存储区时,选中的是4号分区,进行分配后4号分区还剩下122K;接着申请20K,选中1号分区,分配后剩下12K;最后申请200K,现有的五个分区都无法满足要求,该作业等待。显然采用首次适应算法进行内存分配,无法满足该作业序列的需求。这时的空闲分区表如表(b)所示。
分配后的空闲分区表
(a)
分区号
大小
起始地址
1
12K
100K
2
10K
150K
3
5K
200K
4
18K
220K
(b)
分区号
大小
起始地址
1
12K
100K
2
10K
150K
3
5K
200K
4
122K
220K
5
96K
530K
相关文章:
操作系统 --- 存储器管理
一、简答题 1.存储器管理的基本任务,是为多道程序的并发执行提供良好的存储器环境。请问好的存储器环境”应包含哪几个方面? 答: 2.内存保护是否可以完全由软件实现?为什么? 答:内存保护的主要任务是确保每…...
Python selenium无界面headless
视频版教程:一天掌握python爬虫【基础篇】 涵盖 requests、beautifulsoup、selenium Chrome-headless 模式, Google 针对 Chrome 浏览器 59版 新增加的一种模式,可以让你不打开UI界面的情况下使用 Chrome 浏览器,所以运行效果与 …...
JavaScript 中的负无穷大是什么?
在 JavaScript 中,负无穷大表示为 -Infinity。它是一个特殊的数值,用于表示比任何实数都要小的值。 负无穷大用于表示超出数值范围的情况,例如在进行数学计算时发生了溢出或出现了无法表示的结果。它可以通过将负无穷大赋值给变量或通过某些…...
2023年十大地推和网推拉新app推广接单平台,一手单渠道
做地推最重要的一定是找好项目,找好项目最关键的一定是地推app接任务平台,所以这十大靠谱的地推拉新接单平台,都是我们精心筛选的,2023年从事地推和网推拉新作业。 1:聚量推客 “聚量推客”汇聚了众多市场上有的和没有…...
mybatis-plus的进阶使用
文章目录 自定义xml的sql脚本配置mybaits的全局配置文件mybatis-plus优化,指定select数据库乐观锁mybatis-plus实现数据库乐观锁mybatis-plus实现逻辑删除 自定义xml的sql脚本 这里的使用和mybatis一样 编写mapper.xml文件 <?xml version"1.0" enc…...
centos安装vim编辑器
第一步检查centos的vim编辑器包是否完整 rpm -qa|grep vim //查看Vim编辑器需要安装的四个包是否完整 第二步:一般安装vim编辑器需要一下四个安装包,缺失了之后可对应下载 vim-minimal-7.4.160-2.el7.x86_64vim-common-7.4.160-4.el7.x86_64 v…...
PostgreSQL InvalidMessage Cache 同步机制
文章目录 背景InvalidMessages 基本类型InvalidMessages 数据结构概览共享内存 的 "ring-buffer" 结构Backend 本地的 InvalidMessages管理SharedInvalCatalogMsgSharedInvalCatcacheMsgSharedInvalRelcacheMsgSharedInvalSnapshotMsgSharedInvalSmgrMsgSharedInvalR…...
C#,数值计算——Globals的计算方法与源程序
1 文本格式 using System; using System.Text; namespace Legalsoft.Truffer { public static partial class Globals { //const int FLT_RADIX 2; //const int DBL_MANT_DIG 53; //const int INT_DIGITS 32; //const float FLT_…...
腾讯云香港服务器轻量24元一个月性能测试
腾讯云香港轻量应用服务器优惠价格24元一个月,一年288元,以前是30M峰值带宽,现在是20M峰值带宽,阿腾云atengyun.com分享腾讯云香港轻量应用服务器性能测评,包括香港轻量服务器配置价格表、CPU性能和CN2网络延迟测试&am…...
深度学习之基于YoloV8的行人跌倒目标检测系统
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、行人跌倒目标检测系统四. 总结 一项目简介 世界老龄化趋势日益严重,现代化的生活习惯又使得大多数老人独居,统计数据表…...
Seata入门系列【16】XA模式入门案例
1 前言 在之前,我们试过了AT、TCC 模式,Seata 还支持XA 模式。 2 XA 协议 XA协议由Tuxedo首先提出的,并交给X/Open组织,作为资源管理器(数据库)与事务管理器的接口标准。Oracle、Informix、DB2和Sybase等…...
高级深入--day44
Scrapy 和 scrapy-redis的区别 Scrapy 是一个通用的爬虫框架,但是不支持分布式,Scrapy-redis是为了更方便地实现Scrapy分布式爬取,而提供了一些以redis为基础的组件(仅有组件)。 pip install scrapy-redis Scrapy-redis提供了下面四种组件&a…...
Apache Doris (四十八): Doris表结构变更-替换表
🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录...
消息认证码--数字签名--证书
6. 消息认证码—>保证数据的完整性 "消息认证码 --- 消息被正确传送了吗?"6.1 什么是消息认证码 Alice 和 Bob 的故事 像以前一样,我们还是从一个Alice和Bob的故事开始讲起。不过,这一次Alice和Bob分别是两家银行,Alice银行通…...
四个制作PPT的小技巧
制作PPT已经很麻烦了,学习一些小技巧可以帮助我们省时省力吧! 技巧一:自动更新日期和时间 当我们给幻灯片添加了页脚并且是时间日期,可以通过设置达到自动更新,这样我们就不需要每次修改的时候都要手动更新日期和时间…...
Echarts饼状图grid设置
饼状图不能设置grid,而是center {type: "pie",radius: ["30%", "70%"],center: ["50%", "25%"], }center 圆心:控制圆的位置 radius 饼图的半径 控制显示尺寸 参考文章 Echarts饼状图设置...
系列三、Spring IOC
一、概述 IOC的中文意思是控制反转,通俗地讲就是把创建对象的控制权交给了Spring去管理,以前是由程序员自己去创建控制对象,现在交由Spring去创建控制。 二、优点 集中管理对象,方便维护,降低耦合度。 三、IOC的底层…...
electron汇总
python3自带了pip pip search已经被禁用,安装pip—— pip install pip-searchpython3.x移除了distutils 管理员权限下运行cmd,运行以下命令 // 修改pip镜像地址 pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ // 安装 Set…...
电脑怎么共享屏幕?电脑屏幕共享软件分享!
如何控制某人的电脑屏幕? 有时我们可能需要远程控制某人的计算机屏幕,例如,为我们的客户提供远程支持,远程帮助朋友或家人解决计算机问题,或在家中与同事完成团队合作。那么,电脑怎么共享屏幕ÿ…...
全新一代数字内容体验云平台
随着AIGC能力的提升,企业接入AIGC后将实现数字内容生产的无限供给,如何管理AIGC数字内容将成为话题。 “Baklib是新⼀代企业数字内容体验云平台,包括数字资产及知识库管理、数字应用构建和客户体验,助力企业数字化体验从 IA 扩展…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
Python环境安装与虚拟环境配置详解
本文档旨在为Python开发者提供一站式的环境安装与虚拟环境配置指南,适用于Windows、macOS和Linux系统。无论你是初学者还是有经验的开发者,都能在此找到适合自己的环境搭建方法和常见问题的解决方案。 快速开始 一分钟快速安装与虚拟环境配置 # macOS/…...
Linux操作系统共享Windows操作系统的文件
目录 一、共享文件 二、挂载 一、共享文件 点击虚拟机选项-设置 点击选项,设置文件夹共享为总是启用,点击添加,可添加需要共享的文件夹 查询是否共享成功 ls /mnt/hgfs 如果显示Download(这是我共享的文件夹)&…...
Java多线程实现之Runnable接口深度解析
Java多线程实现之Runnable接口深度解析 一、Runnable接口概述1.1 接口定义1.2 与Thread类的关系1.3 使用Runnable接口的优势 二、Runnable接口的基本实现方式2.1 传统方式实现Runnable接口2.2 使用匿名内部类实现Runnable接口2.3 使用Lambda表达式实现Runnable接口 三、Runnabl…...
java 局域网 rtsp 取流 WebSocket 推送到前端显示 低延迟
众所周知 摄像头取流推流显示前端延迟大 传统方法是服务器取摄像头的rtsp流 然后客户端连服务器 中转多了,延迟一定不小。 假设相机没有专网 公网 1相机自带推流 直接推送到云服务器 然后客户端拉去 2相机只有rtsp ,边缘服务器拉流推送到云服务器 …...
Qt学习及使用_第1部分_认识Qt---Qt开发基本流程
前言 学以致用,通过QT框架的学习,一边实践,一边探索编程的方方面面. 参考书:<Qt 6 C开发指南>(以下称"本书") 标识说明:概念用粗体倾斜.重点内容用(加粗黑体)---重点内容(红字)---重点内容(加粗红字), 本书原话内容用深蓝色标识,比较重要的内容用加粗倾…...
代理服务器-LVS的3种模式与调度算法
作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 我们上一章介绍了Web服务器,其中以Nginx为主,本章我们来讲解几个代理软件:…...
华为云Flexus+DeepSeek征文 | MaaS平台避坑指南:DeepSeek商用服务开通与成本控制
作者简介 我是摘星,一名专注于云计算和AI技术的开发者。本次通过华为云MaaS平台体验DeepSeek系列模型,将实际使用经验分享给大家,希望能帮助开发者快速掌握华为云AI服务的核心能力。 目录 作者简介 前言 一、技术架构概览 1.1 整体架构设…...
迁移科技3D视觉系统:重塑纸箱拆垛场景的智能革命
一、传统拆垛场景的困局与破局之道 在汽车零部件仓库中,每天有超过2万只异形纸箱需要拆垛分拣。传统人工拆垛面临三大挑战: 效率瓶颈:工人每小时仅能处理200-300件,且存在间歇性疲劳安全隐患:20kg以上重箱搬运导致年…...




