按下开机键后的4.98秒

长期换衣行人重识别(Long-Term Clothes-Changing Person Reid)数据集汇总 长期换衣行人重识别任务中目前常用的数据集总览目前换衣数据集的主要问题数据集换衣/总体情况集统计DeepChange(2021)LaST(2021)COCAS(2020)VC-Clothes(2020)LTCC(2020)PRCC(2019)Celebrities-reID(2019) 总览 在长期换衣行人重识别的任务当中,数据集的获取(尤其是对于学术环境下)是一个难点,主要的困难有以下几点: 采集大规模的数据集比较困难。 采集不同的衣服的数据集比较困难。 采集不同衣服不同角度的数据集比较困难。 目前也有 阅读详情

本文只为讲明白下面一个问题:

我们按下开机键后的几秒钟究竟发生了什么?

这似乎是好多人都特别想搞明白的一个问题,但让我纳闷的是:为什么一个看似这么简单的问题,就是搜不到一个直面问题的答案呢?

我搜到的大多数是这样的描述:

BIOS 按照“启动顺序”,把控制权转交给排在第一位的存储设备:硬盘。然后在硬盘里寻找主引导记录的分区,这个分区告诉电脑操作系统在哪里,并把操作系统被加载到内存中,然后你就能看到经典的启动界面了,这个开机过程也就完成了。

这种描述简直太魔幻了,为什么是 BIOS 主导这一切?怎么叫按照启动顺序?这个分区咋就被加载到内存了,又咋告诉电脑操作系统在哪里了?我无法忍受这样的魔幻描述,我非要把它说得清清楚楚。

首先学一个东西,一定要有一个前置的知识,我们把它当做已知的,我不可能从原子组成分子开始讲原理。

那学习计算机启动过程的前置知识是什么呢?我期望你已知以下几点:

  1. 内存是存储数据的地方,给出一个地址信号,内存可以返回该地址所对应的数据。

  2. CPU 的工作方式就是不断从内存中取出指令,并执行。

  3. CPU 从内存的哪个地址取出指令,是由一个寄存器中的值决定的,这个值会不断进行 +1 操作,或者由某条跳转指令指定其值是多少。

好了,只需要知道这三点前置知识,你就能专业地解释计算机的启动过程了。

一、为什么是 BIOS 主导?

都说开机后,BIOS 就开始运行自己的程序了,又硬件自检,又加载启动区的。我就不服了,为什么开机后是执行 BIOS 里的程序?为啥不是内存里的?为啥不是硬盘里的?

好的,不要怀疑前置知识,CPU 的工作方式,就是不断从内存中取指令并执行,那为什么会说是执行 BIOS 里的程序呢?这就不得不说说内存映射了。

二、内存映射

CPU 地址总线的宽度决定了可访问的内存空间的大小。比如 16 位的 CPU 地址总线宽度为 20 位,地址范围是 1M。32 位的 CPU 地址总线宽度为 32 位,地址范围是 4G。你可以算算我们现在的 64 位机的地址范围。

可是,可访问的内存空间这么大,并不等于说全都给内存使用,也就是说寻址的对象不只有内存,还有一些外设也要通过地址总线的方式去访问,那怎么去访问这些外设呢?

一种方法就是内存映射,简单的理解就是把显存、硬盘控制器等映射到内存中,我们在相应的位置上读取或者写入,就相当于在显存等外设的相应位置上读取或者写入, 这样外设和内存就统一了。

BIOS也是这样,它也会被映射到内存中。

太好了,现在又用简单的前置知识就能解释得通了,我们继续往下推。

三、实模式下的内存分布

刚刚说到内存中划分出了一片一片区域给各种外设,那么问题自然就来了,哪块区域,分给了哪块外设了呢?如果是规定,那应该有一张表比较好吧。嗯没错,还真有,它就是实模式下的内存分布,我给它画了一张图:

哎哟我真是个小天使,把比例都表现出来了,网上能再找出比我这个更直观的请给我留言。

实模式之后再解释,现在简单理解就是计算机刚开机的时候只有 1M 的内存可用。

我们看到,内存被各种外设瓜分了,即映射在了内存中。

BIOS 更狠,不但其空间被映射到了内存 0xC0000 - 0xFFFFF 位置,其里面的程序还占用了开头的一些区域,比如把中断向量表写在了内存开始的位置,真所谓先到先得啊。

四、怎么就从 BIOS 里的程序开始执行了

好了,现在我们知道 BIOS 里的信息被映射到了内存 0xC0000 - 0xFFFFF 位置,其中最为关键的系统 BIOS 被映射到了 0xF0000 - 0xFFFFF 位置。

假如我现在说,CPU 开机就是执行了这块区域的代码,然后巴拉巴拉一顿操作就开机了,你肯定要喷我了,为什么就执行到这了呢,那咋不从头开始执行?

这就自然有了一种猜想,我们要用到另一个前置知识了,就是 CPU 从内存的哪个位置取出执行并执行呢?

是 PC 寄存器中的地址值。

BIOS 程序的入口地址也就是开始地址是 0xFFFF0(人家就那么写的),也就是开机键一按下,一定有一个神奇的力量,将 pc 寄存器中的值变成 0xFFFF0,然后 CPU 就开始马不停蹄地跑了起来。没错,接下来这句话,可能就是你找了很久的答案,请做好准备:

在你开机的一瞬间,CPU 的 PC 寄存器被强制初始化为 0xFFFF0。

(如果再说具体些,CPU 将段基址寄存器 cs 初始化为 0xF000,将偏移地址寄存器 IP 初始化为 0xFFF0,根据实模式下的最终地址计算规则,将段基址左移 4 位,加上偏移地址,得到最终的物理地址也就是抽象出来的 PC 寄存器地址为 0xFFFF0。)

当我在学习这段知识时,看到这句话才让将我心里积压了很久的疑惑解开,多么简单粗暴的道理啊。写到这里我也是长舒了一口气,因为剩下的过程,就几乎只是流水账一样的正推了。

至于怎么强制初始化的,我觉得就越过了前置知识的边界了,况且各个厂商的硬件实现也不一定相同,有很多办法,也很简单。讨论起来意义就不大了。

五、BIOS 里到底写了什么程序

好了,我们现在知道了开机一瞬间 CPU 强制将自己的 pc 寄存器初始化为 BIOS 程序的入口地址,从这里开始 CPU 马不停蹄地向前跑了起来。

那接下来的问题似乎也非常自然地就问出来了,那就是 BIOS 程序里到底写了啥?

把 BIOS 程序里的二进制信息全贴出来也不合适,我们分析一些主要的。我们首先还是来猜测,你看入口地址是 0xFFFF0,说明程序是从这执行的。实模式下内存的下边界就是 0xFFFFF,也就是只剩下 16 个字节的空间可以写代码了,这够干啥的呢?

如果你有心的话应该能猜出,入口地址处可能是个跳转指令,跳到一个更大范围的空间去执行自己的任务。没错就是这样,0xFFFF0 处存储的机器指令,翻译成汇编语言是:

jmp far f000:e05b

意思是跳转到物理地址 0xfe05b 处开始执行(回忆下前面说的实模式下的地址计算方式)。

地址 0xfe05b 处开始,便是 BIOS 真正发挥作用的代码了,这块代码会检测一些外设信息,并初始化好硬件,建立中断向量表并填写中断例程。这里的部分不要展开,这只是一段写死的程序而已,而且对理解开机启动过程无帮助,我们看后面精彩的部分,也就是 BIOS 的最后一项工作:加载启动区。

六、0x7c00 是啥

该较真的地方就是要较真,我绝对不会让加载这种魔幻的词出现在这里,我们现在就来把它拆解成人话。

其实这个词也并不魔幻,加载在计算机领域就是指,把某设备上(比如硬盘)的程序复制到内存中的过程。那加载启动区这个过程,翻译过来就是,BIOS 程序把启动区的内容复制到了内存中的某个区域。

好了,问题又自然出来了,启动区是哪里?被复制到了内存的哪个位置?然后呢?我们一个个来回答。

什么是启动区呢?即使你不知道,你也应该能够猜到,一定是符合某种特征的一块区域,于是人们把它就叫做启动区了,那要符合什么特征呢?先不急,不知道你有没有过设置 BIOS 启动顺序的经历,通常有 U 盘启动、硬盘启动、软盘启动、光盘启动等等,BIOS 会按照顺序,读取这些启动盘中位于 0 盘 0 道 1 扇区的内容。

至于磁盘格式的划分,本篇就不做讲解了,总之对于内存,我们给出一个数字地址就能获取到该地址的数据,而对于磁盘,我们需要给出磁头、柱面、扇区这三个信息才能定位某个位置的数据,都是描述位置的一种方式而已。

接着说, 这 0 盘 0 道 1 扇区的内容一共有 512 个字节,如果末尾的两个字节分别是 0x55 和 0xaa,那么 BIOS 就会认为它是个启动区。如果不是,那么按顺序继续向下个设备中寻找位于 0 盘 0 道 1 扇区的内容。如果最后发现都没找到符合条件的,那直接报出一个无启动区的错误。

BIOS 找到了这个启动区之后干嘛呢?哦,前面说过了是加载,就是把这 512 个字节的内容,一个比特都不少的全部复制到内存的 0x7c00 这个位置。怎么复制的?当然是指令啦。哪些指令呢?这里我只能简单说指令集中是有 in 和 out 的,用来将外设中的数据复制到内存,或者将内存中的数据复制到外设,用这两个指令,以及外设给我们提供的读取方式,就能做到这一点啦。

复制完成以后,我们的程序就该接管剩下的流程,BIOS的使命就结束了!

但是在结束之前,它必须得跳转到0x7c00这个地址去,指令开始从这里执行。

咦?不知道你有没有发现,我们似乎不知不觉又把之前的一句魔法语言翻译成人话了,开头我们说:

BIOS 把控制权转交给排在第一位的存储设备。

所以这句话是什么意思呢?就是 BIOS 把启动区的 512 字节复制到内存的 0x7c00 位置,并且用一条跳转指令将 pc 寄存器的值指向 0x7c00。你看,这不是也没多几个字嘛,就把这个问题说得明明白白,简简单单。

哦,对了,现在似乎就剩下一个问题了,为什么非要是 0x7c00 呢?好问题,当然答案也很简单,那就是人家 BIOS 开发团队就是这样定的,之后也不好改了,不然不兼容。为什么不好改?我们看一个简单的启动区 512 字节的代码。(代码摘抄自《30 天自制操作系统》)

; hello-os
; TAB=4

  ORG  0x7c00   ;程序加载到内存的 0x7c00 这个位置

;程序主体

entry:
  MOV  AX,0   ;初始化寄存器
  MOV  SS,AX
  MOV  SP,0x7c00
  MOV  DS,AX   ;段寄存器初始化为 0
  MOV  ES,AX
  MOV  SI,msg
putloop:
  MOV  AL,[SI]
  ADD  SI,1
  CMP  AL,0   ;如果遇到 0 结尾的,就跳出循环不再打印新字符
  JE  fin
  MOV  AH,0x0e   ;指定文字
  MOV  BX,15   ;指定颜色
  INT  0x10   ;调用 BIOS 显示字符函数
  JMP  putloop
fin:
  HLT
  JMP  fin
msg:
  DB  0x0a,0x0a  ;换行、换行
  DB  "hello-os"
  DB  0x0a   ;换行
  DB  0    ;0 结尾

  RESB 0x7dfe-$   ;填充0到512字节
  DB 0x55, 0xaa   ;可启动设备标识

我们看第一行:

ORG  0x7c00

这个数字就是刚刚说的启动区加载位置,这行汇编代码简单说就表示把下面的地址统统加上 0x7c00。正因为 BIOS 将启动区的代码加载到了这里,因此有了一个偏移量,所以所有写启动区代码的人就需要在开头写死一个这样的代码,不然全都串位了。

然后正因为所有写操作系统的,启动区的第一行汇编代码都写死了这个数字,那 BIOS 开发者最初定的这个数字就不好改了,否则它得挨个联系各个操作系统的开发厂商,说唉我这个地址改一下哈,你们跟着改改。在公司推动另一个团队改个代码都得大费周折,想想看这样的推动得耗费多大人力。况且即使改了,之前的代码也都不兼容了,这不得被人们骂死啊。

再看最后一行:

DB 0x55, 0xaa

这也验证了我们之前说的这 512 字节的最后两个字节得是 0x55 0xaa,BIOS 才会认为它是一个启动区,才会去加载它,仅此而已。

回过头来说 0x7c00 这个值,它其实就是一个规定死的值,但还是会有人问,那必然有它的合理性吧。其实,我的解释也只能说是人家规定了这个值,后人们替他们解释这个合理性,并不是说当初人家就一定是这样想的,就好比我们做语文的阅读理解题一样。

第一个 BIOS 开发团队是 IBM PC 5150 BIOS,当时被认为的第一个操作系统是 DOS 1.0 操作系统,BIOS 团队就假设是为它服务的。

但操作系统还没出,BIOS 团队假设其操作系统需要的最小内存为 32 KB。BIOS 希望自己所加载的启动区代码尽量靠后,这样比较“安全”,不至于过早的被其他程序覆盖掉。可是如果仅仅留 512 字节又感觉太悬了,还有一些栈空间需要预留,那扩大到 1 KB 吧。这样 32 KB 的末尾是 0x8000,减去 1KB(0x400) ,刚好等于 0x7c00。哇塞,太精准了,这可以是一种解释方式。

七、启动区里的代码写了啥

其实写到这,我这篇文章就应该戛然而止了,因为最初的那个问题已经解决了,CPU 已经开始马不停蹄地从我们预期的位置跑起来了,万事开头难,剩下的内容,就是操作系统想怎么玩就怎么玩了。

但我觉得还不够味,似乎还有些问题萦绕在你脑海里。比如说这个问题:

启动区里的代码写了啥?就 512 字节就是全部操作系统内容了?

这是一个好问题,512 个字节确实干不了啥,现在的操作系统怎么也得按 M 为单位算吧,512 个字节远远不够呢,那是怎么回事呢?

其实我们可以按照之前的思路猜测,BIOS 用很少的代码就把 512 字节的启动区内容加载到了内存,并跳转过去开始执行。那按照这个套路,这 512 字节的启动区代码,是不是也可以把更多磁盘中存储的操作系统程序,加载到内存的某个位置,然后跳转过去呢?

没错,就是这个套路。所以 BIOS 负责加载了启动区,而启动区又负责加载真正的操作系统内核,这配合默契吧?

由于用于启动盘的磁盘是人家写操作系统的厂商制作的,俗称制作启动盘,所以他也肯定知道操作系统的核心代码存储在磁盘的哪个扇区,因此启动区就把这个扇区,以及之后的好多好多扇区(具体取决于操作系统有多大)都读到内存中,然后跳转到开始的程序开始的位置。跳转到哪里呢?这个就不像 0x7c00 这个数那么经典了,不同的操作系统肯定也不一样,也不用事先规定好,反正写操作系统的人给自己定一个就好了,别覆盖其他关键设备用到的区域就好。

八、操作系统内核写了啥

好了现在经过好几轮跳跳跳,终于跳到内核代码啦,我们来一起回顾一下:

  1. 按下开机键,CPU 将 PC 寄存器的值强制初始化为 0xffff0,这个位置是 BIOS 程序的入口地址(一跳)

  2. 该入口地址处是一个跳转指令,跳转到 0xfe05b 位置,开始执行(二跳)

  3. 执行了一些硬件检测工作后,最后一步将启动区内容加载到内存 0x7c00,并跳转到这里(三跳)

  4. 启动区代码主要是加载操作系统内核,并跳转到加载处(四跳)

经过这连续的四次跳跃,终于来到了操作系统的世界了,剩下的内容,可以说是整个操作系统课程所讲述的原理,分段、分页、建立中断、设备驱动、内存管理、进程管理、文件系统、用户态接口等等。

这些名词在操作系统的课程中你可能都或多或少听过,如果你好好学了的话也一定知道大概的原理,不过像笔者这样从头到尾研读过 linux 内核源码的硬核狗来说,这些概念不只是书本上枯燥无味的概念,而是活灵活现在操作系统的每一行代码上,有的展现了作者无比的智慧,有的让我看到了作者由于硬件设定不得已做出的屈服。

如果这篇文章提起了你对操作系统的好奇心,建议你也找时间读一读,和我一起入坑,你会发现一个新世界的大门向你打开了

九、参考资料

好了,这回我真的要结束了,相信如果你真的看完了全文,计算机的启动过程,可以说有了比较具象的了解。如果你想深入细节,也就是了解整个过程的每一点,那可要下功夫了。

初学者推荐两本书籍,可以顺序阅读,祝你入坑:

  • 《30 天自制操作系统》

  • 《操作系统真象还原》

完

低并发编程,周一很颓废,周四很硬核

DIY便携式PEMF磁脉冲治疗仪:百元成本自制生物物理疗法设备 脉冲电磁场(PEMF)疗法是一种基于生物物理原理的非侵入性技术,它通过特定频率的电磁脉冲作用于细胞层面,影响细胞膜电位和离子通道活动,从而可能调节细胞代谢与功能。其技术价值在于提供了一种物理干预手段,在健康科技和生物黑客领域被探索用于放松、恢复等场景。实现PEMF的核心是通过信号发生与功率放大驱动电磁线圈产生可控磁场。本文以蓝牙音频模块和智能手机App为切入点,详细解析了如何利用低成本电子元件(如DFRobot XY-WRBT模块和漆包线线圈)构建一个可自定义频率的便携式PEMF设备,涵盖了从电路设计、线圈 阅读详情

相关推荐

国内合规开通ChatGPT Plus实操指南:银行卡绑卡与支付全解析

ChatGPT Plus 是 OpenAI 官方推出的高级订阅服务,基于 GPT-4o 多模态大模型提供语音交互、图像理解与长上下文处理能力。其核心使用前提在于完成合规的国际支付绑定,而非网络接入方式。技术原理上,OpenAI 采用 Stripe 支付网关进行风控校验,重点匹配银行跨境权限、卡片类型(仅支持 Visa/Mastercard/Amex 信用卡)、BIN 号段及地理位置一致性。该机制决定了95%的绑卡失败源于银行端配置缺失或卡片不兼容,而非网络问题。实际应用中,PayPal 作为中间支付层可显著

chuannaoxuan4674的博客 1973

计算机启动的基本过程

文章目录1. 上电2. BIOS自检2.1 硬件自检2.2 查找引导设备3. 系统引导参考 当用户按下开机按钮后, 再到操作系统初始化完毕大概可以分为4个步骤 1. 上电 比如按下电脑上的电源按钮, 这个过程就是’上电’. 上电后, CPU的RESET引脚会产生一个逻辑值来复位CPU, CPU唤醒后, CPU将在0xfffffff0处执行一条长跳转指令, 直接跳到固化在ROM中的启动代码处(即BIOS), 然后执行BIOS的代码 2. BIOS自检 2.1 硬件自检 顾名思义, BIOS程序负责检测系统外围

HowieMen的博客 9306

MACS2软件进行Peak calling

MACS2可以检出ChIP-Seq,ATAC-seq 以及 MeRIP-seq (RNA甲基化测序) 等富集的序列。peaks calling 有不同的方法,MACS2是最常用的call peaks工具。 MACS全称Model-based Analysis of ChIP-Seq,最初的设计是用来鉴定转录因子的结合位点,但是它也可以用于其他类型的富集方式测序。usage: macs2 [-h] [--version] {callpeak,bdgpeakcall,bdgbroadca

qq_27390023的博客 3789

计算机启动过程

简单理解计算机的启动过程

在猴站学算法 3225

日志异常检测详细整理,看这一篇就够了(附各项目代码链接)

对于不用的日志键,用它们的参数值向量训练一个参数值异常检测模型来检测有这些参数值反映的系统性能异常。与标准的GAN框架一样,D和G的参数是基于D的输出来更新的,因此鉴别器D可以被训练为尽可能敏感地将正确的标签分配给真实和虚假序列,而生成器将被训练为尽可能聪明地在经过足够多轮的迭代后欺骗鉴别器,即误导D将真实标签分配给虚假序列。LR:逻辑回归是有监督的模型,将处理后的特征矩阵以及标记作为模型的输入,得到训练后的模型,用此模型预测新出现的特征向量,以此判断特征向量是否为异常的,进而判断日志异常。

qq_20368489的博客 1万+

用Charles抓包调试iOS应用?这份保姆级配置指南帮你绕过所有坑

本文提供了一份在Mac上使用Charles抓包调试iOS应用的保姆级配置指南。详细讲解了从Charles安装、Mac端代理设置、根证书安装,到iOS设备连接同一WiFi、配置代理以及最关键的系统证书信任等全流程步骤,并分享了SSL代理规则、断点调试等进阶技巧,帮助开发者高效定位和解决网络请求问题。

rice5的博客 640

计算机启动过程,从按下电源按钮到登录界面的详细步骤

自接触计算机以来,一直困扰着我一个问题。当我们按下电脑的开机键后,具体发生了哪些过程呢?计算机启动的具体步骤是什么?计算机启动过程通常分为五个步骤:电源自检、BIOS自检、引导设备选择、引导程序加载和操作系统加载。

蜗牛的博客 1万+

AI开发提效10倍:从需求到部署的全流程实战指南(附Prompt模板)

用AI开发不是“偷懒”,而是把时间花在更有价值的地方——原来花80%时间写重复代码,现在用AI搞定后,能把精力放在“优化用户体验”“提升系统性能”这些核心工作上,这才是AI给开发者的真正红利。如果你还没开始用AI做开发,建议从“写一个简单接口”“补一段注释”开始尝试,先用起来再优化方法。记住:AI是工具,不是对手,学会驾驭它,你会发现开发效率提升的同时,还能告别无效加班。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1531

魔幻数字7C00

为什么BIOS在x86中将MBR加载到0x7C00中?x86架构BIOS引导加载程序中的奥秘“ 0x7C00”“ 0x7C00”首次出现在IBM PC 5150 ROM BIOS INT 19h处理程序中。0x7C00的起源为什么该CPU Monitor的引导加载程序将MBR插入“ 0x200”?问:谁决定“ 0x7C00”?-答:IBM PC 5150 BIOS开发人员团队问:“ 0x7C00 ...

weixin_44395686的博客 1042

C++面试八股文

和静态多态(又称编译期多态,即在系统编译期间就可以确定程序将要执行哪个函数),其中动态多态是通过虚函数实现的,虚函数是类的成员函数,存在存储虚函数指针的表叫做虚函数表,虚函数表是一个存储类成员虚函数的指针,每个指针都指向调用它的地方,当子类调用虚函数时,就会去虚表里面找自己对应的函数指针,从而实现“谁调用、实现谁”从而实现多态。而C++符号表中的符号不是以函数名命名的,称为函数名修饰规则,虽然函数名相同,但是函数参数等其他属性不同,取的符号也不同,所以不会产生查询歧义的问题,使得函数可以重载。

qq_46676829的博客 905

基于FreeRedis实现的.NET Redis客户端缓存缓存键条件优雅过滤

在.NET开发中,使用Redis作为缓存解决方案是很常见的。FreeRedis是一个功能强大的Redis客户端库,它提供了丰富的功能和灵活性,使我们能够轻松地与Redis进行交互。在本文中,我们将探讨如何使用FreeRedis实现缓存键条件的优雅过滤,以提高缓存的效率和准确性。

RzuScala的博客 329

为什么 x86 操作系统从 0x7c00 处开始

"CPU Monitor"程序提供了引导加载程序和调试器,这个"CPU Monitor"引导加载程序将 MBR 加载到"0x200",而不是"0x7C00"。如上所述,这个神奇的数字诞生于 1981 年,"IBM PC/AT Compat" PC/BIOS 供应商为了 BIOS 和操作系统的向后兼容性,从没改变过这个值。

rayylee 2197

1位2路选择器设计

1位2路选择器设计

好好学习,天天向上 3578

按下开机键后的4.98秒(转)

按下开机键后的4.98秒.

修车轱辘的博客 153

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

表姐按下开机键后的4.98秒都干了什么

完整开源商城代码:http://github.crmeb.net/u/lin 本讲只为讲明白下面一个问题: 我们按下开机键后究竟发生了什么? 好的,这似乎是好多人都特别想搞明白的一个问题,有时候非常纳闷,为什么一个看似这么简单的问题,就是搜不到一个直面问题的答案呢? 好问题,我也不知道为什么会这样,但我猜是因为: 其一,似懂非懂的人太多,他们其实也不知道究竟发生了什么,所以只能模糊大概地说一些教科书上的话。 其二,知道这个答案的人一定是大牛,大牛要么不回答这个问题,要么就不会简单

weixin_39475803的博客 323

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

虚拟机下安装MSDN简体中文版win98SC_WIN98SE.exe

本文用到的文件下载地址: win98简体中文版:ed2k://|file|SC_WIN98SE.exe|278540368|939909E688963174901F822123E55F7E|/ DOS7.1软盘版:https://winworldpc.com/product/ms-dos-->找到7.1 (CDU)-->找到Microsoft DOS 7.1 (3.5).7z这个是软盘版-

gsls200808的专栏 7万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

服务器断电后来电自动开机设置

下面根据不同的BIOS列出相应的设置方法: 1、首先进入Power Management Setup(电源管理设定)→Power Again(再来电状态),此项决定了开机时意外断电之后,电力供应恢复时系统电源的状态。设定值有: Power Off(保持系统处于关机状态) Power On(保持系统处于开机状态) Last State(恢复到系统断电前的状态)进入挂起/睡眠模式,但若按钮被揿下超过4...

破茧 4万+

linux系统开机每次设置时间,ubuntu16.04系统每次开机都会有1分30秒的等待时间

ubuntu16.04系统每次开机都会有1分30秒的等待时间, 按f12 显示 A start job is running for dev-disk-by/x2uuid-7ea*.device(**/1min30s )搜索一下发现是磁盘交换分区的问题, 首先查看磁盘挂载列表:mrtan@mrtan:~$ cat /etc/fstab# Use 'blkid' to print the unive...

weixin_33253331的博客 1188

电脑开机3秒就重启循环_电脑开机3秒无限重启循环 【原因及解决办法】

自从电脑进入人们的生活以来,已经变为了日常生活中不可缺少的一部分。无论是公司、学校等地方,电脑所带来的智能化系统已经逐渐遍布了全球的许多角落。当今建筑领域中的楼宇智能化等各种先进技术亦离不开电脑所带来的各种帮助。当然科技产品的问世随之而来的即是除了故障怎么办?而现存在的 电脑开机 几秒钟就无限重启的问题更是头痛,那么造成这方面原因是什么?解决方法又有哪些呢?一、软件方面原因1、病毒“冲击...

weixin_39817122的博客 2319

BIOS开机

1、通电开机 现在的大多数主板厂商都在自己的主板BIOS里加入了一个独特的电源管理设计,可以让用户选择计算机在停电后再来电时的状态。在BIOS里“Power Management Setup”菜单下有一项“Pwron After PWR-fail”,它有三个设置选项ON(开机)、OFF(关机)和FORMER-STS(回到断电前的状态),我们只要把“Pwron After PWR-fail”设置为O

面朝大海 春暖花开 3258

远程开机

()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()远程开机的基本原理  远程开机简称WOL(Woke on LAN),它是通过局域网实现远程开机。

realAsker的专栏 6274

电脑开机自动运行程序的几种方法

让应用程序在开机后自动运行,能从一定程度上简化操作。下面我们分别以在Windows 98和Windows XP系统中为例,介绍让应用程序自动运行的各种方法。 1.Windows 98下应用程序的自动运行 在Windows 98中,要让应用程序自动运行,可以通过自动批处理文件(Autoexec.bat)、注册表、启动组、Win.ini文件等来实现。 (1)在Autoexec.bat中运行 由于Wi...

weixin_30497527的博客 809

电脑的开机密码忘记了怎么打开

一.忘记开机密码         开机密码是指你在打开电脑开机自检后就跳出的密码。这时你只有输入正确的密码后练作系统才启动。这种 密码出现时,你就想进入电脑的BIOS设置都不行,所以安全性相对要好(建议笔记本电脑不要设置此类密码。因为一旦忘记密码,然后又丢了相应的解密盘的话,你可就要去笔记本产商维修店去烧钱了)。解决方法:打开机箱,把主板上的CMOS锂电池取出来,过一会儿(5-10分钟),再放

敏于思,慎于行 1039

想要服务器断电后自动开机的几种方法

由于服务器为7*24小时无间断运行的设备,担当相当重要的角色,短时时间的耽误,可能会给业务造成相当严重的损失,再加上服务器往往托管在专用机房,24小时无人看守,为解决以上问题,服务器工程师专门设计“加电开机功能"来保障服务器稳定运行。 数据湾就如何设置服务器自动开机的功能,给大家简单介绍介绍。 设置步骤图解: 1、开机按F2或Del等键进入BIOS设置,Load Previous Values 选择“No” 2、进入高级选项,把“Restore AC Power Loss”选项的值设..

weixin_45869730的博客 4529

virtualpc2007 95/98系统驱动,虚拟工具,softice安装

虚拟机vpc2007,dos,win95,win98 系统

myubuntu的博客 2224

TCL98Q10K和98Q9K 参数对比

再次,TCL 98Q9K采用的TCL全域光晕控制技术由六晶方芯、光学影像微透镜、瞬态响应、双向16bit和广角超显屏组成,98Q10K则有所升级,由六晶方芯Ⅱ、超聚光微透镜、瞬态响应、双向16bit、微距OD以及HVA广角低反屏组成,具有更好的抗反射能力,可以进一步减少环境光对画面的干扰,还实现了更好的光晕控制,提高了画面的均匀性和对比度,使得画质更加清晰。1、TCL 98Q10K和98Q9K都具备98%DCI-P3量子点广色域,具有更精细的色彩管理,可以实现更大的色彩空间范围,使得色彩效果更生动。

m0_55791341的博客 519
上一篇: 内卷机器下的自我救赎
下一篇: 漫画 | CPU战争40年,真正的王者终于现身!
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值