操作系统期末|考研复习知识点汇总 - 持续更新

本文将根据个人学习进度对b站王道408课程以及题目考察的知识点进行整合,视频中详细的导图将会直接复用,并且将会对一些重点知识进行扩展以及一些思维导图的补充,(目前第三章内容正在整理中……由于第三章内容繁多且都是重点,习题量不足,为了保证质量暂且搁置段时间先往后推进,)

一:计算机系统概述

1.1操作系统概念和功能

①:操作系统概念和功能

补充 :

有关系统调用应该注意的知识点
1:系统调用的目的请求系统的服务
2:区别系统调用和系统调用的调用
  1. 系统调用:这是指操作系统提供的接口,允许用户程序请求内核级功能。例如,open()read()write()等函数都是系统调用,它们直接与操作系统内核进行交互。(一定是在内核态)

  2. 系统调用的调用:这通常是指用户程序在代码中实际执行系统调用的过程。当用户程序调用某个系统调用函数时,这就是“系统调用的调用”。简单来说,它指的是在用户空间代码中执行某个系统调用的行为。(可能在内额)

②:操作系统的特征

 1.2操作系统的发展

Ⅰ:了解各系统的优缺点,以及诞生的主要目标是什么

Ⅱ:优缺点对比 

 1.3操作系统的的运行机制

  ①:中断和异常 

Ⅰ:有关中断的扩展 
有关中断的知识补充
常见的内中断非法操作码 缺页 除0 运算溢出
中断向量表中断向量表用于帮助CPU自检,在OS初始化过程中由BIOS(硬件)生成,可由OS进行扩展和初始化
中断与内核态联系使操作系统由用户态转内核态的过程都是由硬件完成的,中断只是引发该操作的原因之一,当程序出现"中断异常"硬件将操作系统转为内核态后,执行对应的中断程序。因此:中断处理程序属于OS程序,运行在核心态,但是被中断程序可以是用户程序
外部中断
  1. 硬件中断:通常由外部设备发起,常见的硬件中断类型包括:

    • 定时器(时钟)中断:由系统定时器产生,用于操作系统调度等操作。
    • I/O中断:外部设备(如键盘、鼠标、网络适配器、磁盘驱动器等)发出的中断信号,表示设备准备好进行数据传输。
    • 电源管理中断:用于处理电源状态的变化,比如休眠或唤醒。
  2. 外部信号中断:来自于外部信号源的中断,如:

    • 按键中断:当按下某键时,发送中断信号给处理器。
    • 外部传感器中断:如温度传感器、光传感器等,产生中断以通知处理器。
  3. 异常中断:有些外部条件(如过载、故障)会引发异常中断,应用程序需要相应的处理。

  4. 网络中断:网络接口卡(NIC)接收到数据包时会产生的中断。

外部中断与OS的联系
  1. 中断处理机制:外部中断是由外部设备(如键盘、鼠标、网络设备等)产生的信号,用于通知CPU某个事件的发生。操作系统需要实现中断处理机制,来响应这些中断,并进行相应的处理。

  2. 上下文切换当外部中断发生时,当前正在执行的程序会被挂起,操作系统会保存当前程序的上下文信息(例如:通用寄存器,中断屏蔽字,PC由隐指令保存,TLB,PSW和Cache以及中断程序的中断点由硬件保存,然后转而运行中断处理程序。处理完中断后,操作系统会恢复先前的程序状态,继续执行。这一过程称为上下文切换。

  3. 设备驱动程序:外部中断通常与设备驱动程序相关联。当外设需要CPU的服务时,会产生中断请求,操作系统通过设备驱动程序来管理和响应这些中断,实现对硬件设备的控制。

  4. 实时性与调度:外部中断的处理时间和优先级会影响操作系统的调度策略。在实时操作系统中,外部中断可能需要立即响应,以保证系统的实时性能。

  5. 资源管理操作系统需要协调和管理多个外部设备的中断请求,确保系统的稳定性和数据的一致性。例如,同一时间内可能会有多个设备产生中断,操作系统需要合理调度这些中断的处理顺序。

总结来说,外部中断是操作系统与硬件设备之间的桥梁,通过高效的中断处理机制,操作系统可以及时响应外部事件,保障系统的正常运行和各个程序的有效执行。

Ⅱ:中断程序与子程序比较
比较点中断程序子程序调用
触发机制由硬件设备或系统事件自动触发由程序员显式调用
控制流会中断当前执行的程序,转而执行中断处理在程序中显式地调用,并在返回后继续执行
优先级通常具有较高的优先级,需要快速响应优先级取决于程序的结构和逻辑
执行环境通常处于内核模式或特权级别执行通常在用户模式下执行
保存状态中断时需要保存当前执行上下文,以便恢复函数调用时保存返回地址和局部变量
调用返回中断处理完成后,需要恢复到之前的状态子程序完成后,通过返回指令返回调用点
目的处理异步事件、硬件信号、异常等代码复用、模块化、逻辑分离
执行次数通常是偶发的,取决于外部事件的发生可以多次调用,取决于程序逻辑
运行时影响可能影响整个系统的响应和性能只影响调用该子程序的程序逻辑
程序计数器(PC)需要保护PC和PSW内容,由中断隐指令完成需要保护PC内容,由CALL指令完成

②:系统调用  

Ⅰ:系统调用的调用与子程序调用比较

表格

特性子程序调用系统调用
定义在程序内部调用的模块或函数程序请求操作系统提供服务的机制
执行环境用户空间用户空间与内核空间之间
性能执行速度较快执行速度较慢
安全性相对较高较低,可能导致安全漏洞
参数传递通过栈、寄存器、全局变量等方式传递通常通过特定寄存器或内存缓冲区
使用场景代码重用、模块化设计获取系统资源,如文件、进程管理等
上下文切换无需(同一进程内调用)需要(从用户态切换到内核态)
返回值处理直接返回通过特定机制返回(如errno)

1.4操作系统体系结构

①:宏内核与微内核的对比

  1. 定义与架构

    • 宏内核:所有操作系统服务(如进程管理、内存管理、设备驱动等)都在内核空间中运行,提供高效的系统调用和资源管理。
    • 微内核:仅保留最基本的功能(如进程间通信、基本的内存管理),其他服务(如文件系统、网络协议等)在用户空间中运行。
  2. 优缺点对比

    • 宏内核
      • 优点:性能较高,系统调用开销小,适合高性能需求的环境。
      • 缺点:内核复杂度高,易出现稳定性和安全性问题。
    • 微内核
      • 优点:内核简单,易于维护和扩展,系统稳定性和安全性较高。
      • 缺点:性能较低,用户空间与内核空间的频繁切换可能导致开销增加。
  3. 应用场景

    • 宏内核通常用于需要高性能和低延迟的系统,如实时操作系统。
    • 微内核适合于需要高可靠性和安全性的系统,如嵌入式系统和分布式系统。
  4. 实例

    • 常见的宏内核操作系统有Linux和Windows。
    • 常见的微内核操作系统有Minix和QNX。
  5. 设计哲学

    • 宏内核强调高效的资源管理和快速的系统调用。
    • 微内核则强调模块化和灵活性,允许不同服务独立运行

②:常见操作系统结构

常见操作系统结构
宏内核Windows IOS macoS Linux
微内核谷歌Fuchsia 华为鸿蒙OS

③:各体系结构特征,优缺点对比

1.5操作系统引导 

Ⅰ:操作系统引导概念:

操作系统引导(Booting)是指计算机从关闭状态或重启状态释放硬件并加载操作系统的过程。这个过程通常分为几个步骤,涉及硬件初始化、加载操作系统内核以及最终交接控制权给操作系统。

Ⅱ:磁盘数据 
  1. 引导扇区(Boot Sector):

    • BIOS引导扇区(MBR):通常位于硬盘的第一个扇区,负责引导磁盘上的操作系统。MBR包含了引导程序及分区表。
    • GPT引导:在使用GUID分区表(GPT)时,系统会有一个EFI系统分区(ESP),其中包含EFI引导程序。
  2. 操作系统内核:

    • 操作系统的核心文件,负责管理硬件资源和提供接口给应用程序。这个内核文件通常位于某个特定的目录下(如 /boot、C:\Windows\System32 等)。
  3. 引导配置文件:

    • 包含引导参数和设置,比如 GRUB 和 LILO 的配置文件。在 Windows 系统中,有引导管理器(Boot Manager,通常为 BCD 文件)来配置引导选项。
  4. 驱动程序:

    • 磁盘上还存放着硬件驱动程序,它们在引导过程中被加载,以便更好地管理外部设备。
Ⅲ:引导过程

  1. 开机自检(POST):

    • 开机时,BIOS(或UEFI)会进行自检,检测计算机硬件是否正常,例如内存、硬盘、显卡等。
  2. 加载引导程序:

    • 完成自检后,BIOS会查找引导设备(通常是硬盘、USB或CD/DVD),读取引导扇区(MBR或GPT)中的引导程序,并将其加载到内存中。
  3. 引导加载程序的执行:

    • MBR引导程序会找到并加载操作系统的引导加载器(如GRUB、LILO、Windows Boot Manager等)。这些引导加载器会根据配置文件,引导特定的操作系统内核。
  4. 加载操作系统内核:

    • 引导加载器开始加载操作系统的内核文件到内存,同时调用相应的初始化程序。这一阶段还可能会加载必要的驱动程序。
  5. 硬件初始化:

    • 内核启动后会进行进一步的硬件初始化,包括设置进程管理、内存管理、文件系统和设备驱动等。
  6. 用户空间的启动:

    • 完成所有初始化后,内核会启动第一个用户进程(在Linux中通常是initsystemd,在Windows中是smss.exe),此进程将负责启动系统中的其他服务和用户界面。

1.6虚拟机

Ⅰ:了解两类虚拟机区别

二:进程与线程

2.1:进程

①:进程的概念,组成,特征

2.2:调度

2.3:进程同步和互斥

2.4:死锁

①:死锁的概念

 ②:死锁的处理策略

 

1:静态策略 预防死锁

                重点:关于死锁定理定位是用于处理检测死锁的方法。

                此处是根据死锁定理,预防任意一个条件以达到无法发生死锁的目的

死锁定理
互斥条件对于必须使用的资源的争抢才会导致死锁

SPOOLing技术将独占设备改造为逻辑上共享资源

(例: 给打印机添加输出队列,将进程请求挂载到队列上,依次处理,在逻辑上看各个进程都申请到打印资源,从而进行后续操作)

缺点:可改造的资源有限,不是所有互斥资源都能共享
不可剥夺进程获得的资源在未使用完之前,不可被剥夺,只能主动释放方案一:当一个进程申请新的资源得不到满足时,需要将已有资源全部释放,待以后需要重新申请缺点:(长时间得不到某个资源可能会导致饥饿)
方案二:当某个进程需要资源被其他资源占用,由OS协助,强行剥夺该资源缺点:(反复申请会增加开销, 释放资源可能会导致前一阶段的工作失效,实现难度大,只适用于易保存和恢复状态的资源)
请求并保持进程已拥有至少一个资源,但新的资源请求不通过且已拥有的资源不释放静态分配方法(一次性分配策略):运行前一次性申请完全部资源才运行 

缺点:

1:各个资源需要运行的时间不一,被申请后可能长时间处于空闲状态,降低系统资源利用率和吞吐量

2:如果有大量单资源需求的进程,那么多资源需要的进程很容易导致饥饿

循环等待存在一个进程资源的循环等待链顺序资源分配法:给资源按序分配序号,每个进程只有先申请到所需的小序号资源,才能申请大序号资源

缺点:

1:新增资源需要重新分配编号

2:实际应用顺序与编号递增顺序不一致,可能会导致资源浪费(例如:扫描仪为3号资源,打印机为1号资源,某个进程需要先使用扫描仪再使用打印机,那么在申请到扫描仪之前,打印机一直处于空闲且被占用的状态)

3:必须按照规定次序申请资源,用户编程麻烦(代码逻辑要先申请扫描仪后打印机,不同系统的资源编号可能导致不同的顺序)

 2:动态策略: 避免死锁

Ⅰ: 安全序列和安全态:

进程按照特定顺序给进程分配资源,就不会发生死锁,则该顺序组成的序列称为安全序列

 例   {P8 P1 P9 …… Pn}

当前状态能找到一个安全序列就是安全态,反之为不安全态(此状态可能会发生死锁)

Ⅱ:银行家算法

核心思想:根据此次资源分配是否会导致系统进入不安全态来决定是否进行此次资源分配

有关银行家算法应该注意的知识点 

        注1 : 有m个同类资源,n个进程,每个进程最多申请k个资源时采用银行家算法分配资源,

        只要保证最大需求量小于等于m就一定有一个安全序列,保证各进程最大需求量之和小于m +          n个就不会发生死锁(极端情况n - 1个进程申请了1个资源,1个进程申请了m个资源)

         注2: 银行家算法虽然会通过检测是否存在安全序列来判断申请资源的请求是否合法,但是           安全序列并不是唯一的,也不是固定的,它只是一种可执行方案,而非一种必须遵循的规               则,因此它不需要限制用户申请资源的顺序且它不能用于判断系统是否进入死锁状态        ·

 3:死锁的检测和解除 - 允许死锁发生

Ⅰ:死锁的解除
死锁的解除
资源剥夺法挂起部分死锁进程,剥夺其资源分配给其他死锁进程会导致饥饿
撤销进程法(终止进程法)强制撤销部分甚至全部死锁进程,并剥夺其资源导致先前工作功亏一篑,代价大
进程回退法让一个或多个进程回退到可以避免死锁的时间节点需要OS记录进程历史信息设置还原点,难度大

4:死锁的解决策略总结 
预防死锁的策略

共享化资源

资源全分配策略:在请求资源时,任务必须一次性请求并获取所需的所有资源,否则不分配任何资源

优先级策略:为资源分配设定优先级,确保高优先级的进程能够获得其所需资源,从而降低低优先级进程引发死锁的可能性。

序列化:对于资源的请求和释放,确保进程按照一定顺序请求资源。

避免死锁的策略

银行家算法:根据进程的最大需求和可用资源判断资源分配是否会导致安全状态,进而避免不安全的资源分配

资源预分配法:要求进程在开始执行之前申请所需的全部资源,没有足够的资源时,进程无法开始执行

总资源分配顺序:对资源进行全局排序,所有进程按照固定顺序请求资源,从而保障没有循环等待发生。

检测死锁的策略

资源分配图法:资源分配图是一个有向图,用于表示某时刻系统资源和进程之间的状态,其中,有向边包括进程指向资源的申请边,资源指向进程的分配边,圆圈节点表示进程,矩形框表示资源,其中的圆点表示资源数

时间戳法:为每个进程分配一个时间戳,基于进程的等待和持有资源的时间,判断是否存在死锁。

死锁检测算法:定期运行死锁检测算法,检查当前资源分配情况,识别系统中的死锁并采取相应的措施,例如回收被某些进程持有的资源
5:死锁中的数据结构 
Ⅰ:资源有向图
  • 定义:资源有向图是一种图形表示方式,其中节点表示进程和资源,边表示资源的请求和分配。
    • 从资源节点到进程节点的边表示进程对该资源的请求。
    • 从进程节点到资源节点的边表示资源被某个进程持有。
  • 用途:资源有向图用于检测死锁。一旦图中存在环路,就说明系统可能已发生死锁。
Ⅱ:前驱图(也称用于数据流分析的前驱图)
  • 定义:前驱图用于表示某一进程的状态和依赖关系。通常在操作系统中,前驱图的节点表示进程的状态,边表示状态之间的转换。
  • 用途:在避免死锁和资源调度中,可以使用前驱图来跟踪进程的状态,确保进程之间的依赖关系不会导致循环等待。
Ⅲ:安全图
  • 定义:安全图用于表示系统的安全状态,即可以成功完成的进程序列。通常在银行家算法中使用。
  • 用途:确保在给定的资源分配下,系统始终处于安全状态,如果系统进入不安全状态,则可能会发生死锁。

 ③:死锁中应当注意知识点

使用信号量进行控制的方法能确保互斥访问,但不能完全避免死锁最简单的例子,A B 进程都需要C D资源A - C , B - D;两者都被阻塞
Ⅰ:哲学家问题解决死锁的破坏条件
  1. 控制可拿筷子的人数:循环等待

  2. 控制拿筷子顺序:循坏等待

  3. 同时检查2只筷子:保持并等待条件

Ⅱ:区分循坏等待和保持并等待条件
  1. 互斥条件:至少有一个资源必须处于非共享状态,即某个资源(在这个案例中是筷子)只能被一个哲学家使用。

  2. 保持并等待条件:一个哲学家持有至少一根筷子(资源),但正在等待另一根筷子。这意味着他并不释放已经持有的资源。

  3. 不抢占条件:已经分配给哲学家的资源(筷子)在他们完成使用前,不会被其他哲学家抢占。

  4. 循环等待条件:存在一个哲学家形成一个循环,彼此间都在等待对方持有的筷子

1. 判断是否破坏了循环等待条件
  • 破坏循环等待:要解决循环等待,可以通过对资源的分配顺序进行调整或规定资源请求的优先级。具体方法包括:
    • 资源请求顺序:对资源进行排序,要求所有进程以固定的顺序请求资源。这样可以防止形成环路。
    • 撤销某些进程:直接终止某些进程,使得资源的占用关系不再形成环路。
  • 如何判断:检查解决策略是否改变了资源的分配方式,是否确保资源总是被请求而不会形成环路。如果策略明确规定了资源的请求顺序或限制了进程的资源请求,那么这就是破坏了循环等待条件。
2. 判断是否破坏了保持并等待条件
  • 破坏保持并等待:要破坏保持并等待条件,通常的做法是:

    • 主动释放资源:在进程请求新资源时,强制其释放当前持有的资源。这意味着一个进程在请求其他资源时,如果已经持有资源,就必须首先释放它们。
    • 非持久性分配:要求所有资源在请求时必须一次性申请到所有需要的资源,进程不能在持有某些资源的情况下再请求新的资源。
  • 如何判断:检查解决策略是否要求进程在请求新的资源之前释放已持有的所有资源。如果是,那么该策略就破坏了保持并等待条件。

Ⅲ:进程的执行严格遵循优先级并不能破坏死锁定理的条件
  • 例高优先进程用完时间片,下处理机后,低优先级进程将高优先级进程所需资源占用
Ⅳ:信号量在特殊情况下避免死锁的发生
在单行线问题中,由于信号量的控制,双方进程无法同时进入行道中,发生在道中相遇,都无法通过的情况,此时无死锁发生

三:内存管理

3.1:内存管理方式

①:内存的基础知识

②:内存管理概念

③:覆盖与交换

Ⅰ:覆盖技术

 Ⅱ:交换技术
 Ⅲ:覆盖与交换的区别(理解概念选择题常考)

④:内存空间分配与回收

Ⅰ:连续分配管理方式
1:单一连续分配方式

2:固定分区分配

3:动态分区分配 

Ⅱ:非连续分配管理方式

⑤:动态分区分配算法

1:首次适应算法

2:最佳适应算法

3:最坏适应算法

4:邻近适应算法

5:动态分区分配算法对比

⑥:基本分页存储管理概念

⑦:基本地址变换机构

⑧:具有块表的地址变换机构

⑨:两级页表

⑩:基本分段存储管理

⑪:段页式管理方式

四:文件管理

4.1文件系统基础

文件功能和目标

文件属性

文件的逻辑结构 

无结构文件

无明显的结构特性,非重点讨论对象

②有结构文件 
Ⅰ:顺序文件 

Ⅱ:索引文件

Ⅲ:索引顺序文件 

 

4.2文件目录

五:I / O管理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/883670.shtml

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

相关文章

.NET Core WebApi第3讲:第一个WebApi项目、WebApi开发三种模型

一、.NEt Core 1、运行模板项目 1)仍然有controllers,说明WebApi是基于MVC模式的,只是对比之下这里没有MVC中的views。 因为WebApi只会向前台发送数据,不会向前台发送HTML页面。 2、验证模板项目的api 1)法1&#xf…

微服务之间调用,OpenFeign传递用户(RequestInterceptor接口)

场景:微服务之黑马商城项目-登录拦截器在网关完成用户的校验,并将用户信息(用户id)存入请求头,假设将购物车里面的商品进行结算就会生成订单并清空购物车,这里涉及到了交易服务模块远程调用购物车模块&…

单细胞数据分析(一):10X数据生成seurat数据对象

文章目录 介绍加载R包数据链接导入数据过滤细胞:移除双重细胞合并所有seurat数据对象输出结果系统信息介绍 在单细胞基因组学研究中,Seurat是一个流行的R包,用于单细胞基因表达数据的分析和探索。以下是如何从10X基因注释数据生成Seurat数据对象,并对该数据进行过滤的步骤…

RHCE的学习(8)

动态网站 lnmp(LAMP) 解析index.php界面 (1)预配,确保服务能够被访问 systemctl stop firewalld setenforce 0 (2)安装nginx服务 mount /dev/sr0 /mnt cat /etc/yum.repos.d/base.repo dnf …

NVR设备ONVIF接入平台EasyCVR视频融合平台智慧小区视频监控系统建设方案

一、方案背景 智慧小区构成了“平安城市”建设的基石。随着社会的进步,社区安全问题逐渐成为公众关注的热点。诸如高空抛物、乱丢垃圾、破坏车辆、入室盗窃等不文明行为和违法行为频繁出现。目前,许多小区的物业管理和安全防护系统仍然较为简单和陈旧&a…

UML总结

零:学习链接 UML_哔哩哔哩_bilibili 一:UML概述 二:类图 类图(Class Diagram)是统一建模语言(UML)中一种重要的图形表示,用于描述系统中的类及其之间的关系。它是面向对象设计中常…

软件已死,数据永生?

大数据产业创新服务媒体 ——聚焦数据 改变商业 你有没有注意到,你的生活正在被数据所支配? 我们看似在掌控自己的每一次点击、每一次搜索、每一个消费选择,但实际上,背后隐藏着庞大的数据网络。每一个点赞、每一次搜索&#xff…

Java非对称加密:RSA 数据加密与解密、数字签名与验签

Java常用的加密与解密系列文章: 《Java编码方式:Base64 编码与解码》 《Java消息摘要:MD5 验证数据完整性、密码的加密》 《Java消息摘要:SHA 验证数据完整性、密码的加密》 《Java对称加密:DES、3DES 数据加密标准》 《Java对称加密:AES 高级加密标准》 《Java非对称加密…

java质数的判断 C语言指针变量的使用

1. public static void main(String[] args) {Scanner scnew Scanner(System.in);System.out.println("请输入一个值");int num sc.nextInt();boolean flagtrue;for (int i2;i<num;i){if (num%i0){flagfalse;break;}}if (flag){System.out.println(num"是一…

深度学习:权重参数相关知识(深度学习入门:基于Python的理论与实现 (斋藤康毅)))

在神经网络的学习中&#xff0c;权重的初始值特别重要&#xff0c;经常关系到神经网络的学习能否成功。 第一点&#xff0c;权重初始值不能设置为0&#xff0c;严格说权重初始值不能设为同样的值&#xff0c;是因为在误差反向传播法中&#xff0c;所有权重值都会进行相同的更新…

云联网对等连接--实现内网互通

云联网 今天给大家介绍一款产品&#xff0c;腾讯云的云联网。 云联网&#xff1a;为您提供云上私有网络间&#xff08;VPC&#xff09;、VPC 与本地数据中心间&#xff08;IDC&#xff09;内网互联的服务&#xff0c;具备全网多点互联、路由自学习、链路选优及故障快速收敛等…

采用指针作为函数参数

在main.cpp里输入程序如下&#xff1a; #include <iostream> //使能cin(),cout(); #include <iomanip> //使能setbase(),setfill(),setw(), //setprecision(),setiosflags()和resetiosflags(); using namespace std; //告诉编译器使用std标准程序库; void…

kali——tcpdump的使用

目录 前言 使用方法 监听指定网卡 将抓取的数据包保存到指定文件 读取数据包 前言 定义&#xff1a;tcpdump 是 Linux 系统下的一个强大的命令行式数据包嗅探工具&#xff0c;它能够实时捕获网络接口上的数据包&#xff0c;并将这些数据包的头部信息或完整内容显示出来或保…

Java面向对象编程进阶(四)

Java面向对象编程进阶&#xff08;四&#xff09; 一、equals()方法的使用二、toString()方法的使用三、复习 一、equals()方法的使用 适用性&#xff1a;任何引用数据都可以使用。 自定义的类在没有重写Object中equals()方法的情况下&#xff0c;调用的就是Object类中声明的…

011:软件卸载工具TotalUninstall安装教程

摘要&#xff1a;本文详细介绍软件卸载工具TotalUninstall安装流程。 一、软件介绍 TotalUninstall是一款功能强大的卸载与清理工具&#xff0c;它能够彻底卸载不需要的应用程序&#xff0c;并清除相关的注册表项、文件残留和临时文件&#xff0c;确保系统干净无残留&#xff…

每日一题之电话号码的字母组合

给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 示例 1&#xff1a; 输入&#xff1a;digits "23" 输出&#…

2025选题|基于Hadoop的物品租赁系统的设计与实现

作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验&#xff0c;被多个学校常年聘为校外企业导师&#xff0c;指导学生毕业设计并参与学生毕业答辩指导&#xff0c;…

星海智算:用户如何使用公共存储

公共存储是平台下载好的一些模型、数据集&#xff0c;只读方便拷贝或者直接引入。 公共存储会由官方定时更新,更新内容来源于用户反馈,会将反馈的模型下载到公共存储,供用户拷贝到实例本地使用。 01 下载模型 直接从公共存储路径 /mnt/pub_data/ 下载所需模型。 02 复制…

五周年,继续破浪前行

五周年&#xff0c;TapData 再一次带着自己的“乘风破浪”大队&#xff0c;在一个阳光明媚的日子里&#xff0c;把生日过在了海上。 头顶日升日落&#xff0c;这条属于全体 Tap-pers 的航船&#xff0c;再次校准航向&#xff0c;在船长的带领下&#xff0c;驶向下一个晴好的明…

Mybatis-14.XML映射文件

一.XML映射文件 除了使用注解的方式完成mybatis基础的增删改查操作以外&#xff0c;还可以使用基于XML文件配置SQL语句。 二.配置XML映射文件 首先在resources中新建文件夹com/域名/mapper用来和java源代码中的包名保持一致&#xff0c;这是同包。 然后在mapper文件夹中新建x…