操作系统引导过程

操作系统引导全过程-详细 硬盘结构:硬盘内部有MBR(Master Boot Record主引导记录)、以及多个分区,每个主分区也有自己的PBR(分区引导记录)。硬盘扇区默认大小512B,空间分配一般按簇分配(多个扇区为一组簇)。BIOS工作在实模式下,最大20位寻址,也就是1M寻址范围(0x00000 ~ 0xFFFFF)(最初的8086处理器能够访问的内存最大只有1MB,保证兼容性)MBR大小512B,位于0柱面、0磁头、1扇区,包括:主引导程序(446B)、硬盘分区表DPT(64B)、MBR结束标志AA55(2B) 阅读详情

所谓操作系统的引导过程是将存放在硬盘上的静态的操作系统装载到内存中,并开始执行操作系统的过程。

Welcome to my personal website: www.freehacker.cn

第一阶段:BIOS


1.1 何为BIOS?

BIOS,英文“Basic Input Output System”,中文“基本输入输出系统”。百度百科中的解释如下:

它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。

BIOS保存在ROM芯片中,系统上电后第一件事就是运行BIOS程序(这不是必须的)。

疑问:计算机CPU如何在上电之后直接运行BIOS呢?

答:对于x86系列的CPU,一加电就将指令寄存器设置为:0xFFFF0000,表示CPU开始从0xFFFF0000这个内存中取出一条指令执行,通常在0xFFFF0000处是一条地址转跳指令,转向BIOS的入口。

1.2 硬件自检

BIOS程序首先检查,计算机硬件能否满足运行的基本条件,这叫做"硬件自检"(Power-On Self-Test),缩写为POST。如果硬件出现问题,主板会发出不同含义的蜂鸣,启动中止。

1.3 加载引导扇区

BIOS设置里有一个选项是Boot Sequence,可以设置外部存储设备的启动顺序,排在前面的设备就是优先转交控制权的设备。

硬件自检完成后,BIOS的主要工作就是加载引导扇区。BIOS根据Boot Sequence中的顺序,将最前面的存储设备的引导扇区的内容加载到内存中,并跳转到引导程序的第一条指令。

BIOS将所检查外部存储设备的第一个扇区(512B)载入内存,放在0x00007C00处,如果一个扇区的最后两个字节是“55 AA”,那么这就是一个引导扇区,这个外部存储设备也就是一块可引导盘。通常这个大小为512B的程序就称为引导程序(boot)。如果最后两个字节不是“55 AA”,那么BIOS就检查下一个外部存储设备。如果没有其他启动介质,则显示 ”No ROM BASIC” ,然后死机。

第二阶段:MBR


2.1 何为MBR?

MBR,英文“Master Boot Record”,中文“主引导记录”。MBR为存储设备的第一个扇区,也就是该存储设备的最前面的512字节。

计算机读取MBR的512字节内容,如果这512个字节的最后两个字节是0x55和0xAA,表明这个设备可以用于启动;如果不是,表明设备不能用于启动,控制权于是被转交给"启动顺序"中的下一个设备。

2.2 MBR结构

MBR的主要作用是告诉计算机到存储设备的哪个位置去找操作系统。主要由三部分组成:

  • 第1-446字节:调用操作系统的机器码。
  • 第447-510字节:硬盘分区表(Disk Partition Table,DPT),将硬盘分成若干分区。
  • 第511-512字节:主引导记录签名(0x55和0xAA)。

2.3 分区表

MBR中的分区表长度只有64个字节,里面分成4项,每项16个字节,所以一个硬盘最多只能分四个一级分区,又叫做"主分区"。每个区可以安装不同的操作系统,"主引导记录"因此必须知道将控制权转交给哪个区。

每个主分区的16个字节,由6个部分组成:

  • 第1个字节:如果为0x80,就表示该主分区是激活分区,控制权要转交给这个分区。四个主分区里面只能有一个是激活的。
  • 第2-4个字节:主分区第一个扇区的物理位置(柱面、磁头、扇区号等等)。
  • 第5个字节:主分区类型。
  • 第6-8个字节:主分区最后一个扇区的物理位置。
  • 第9-12字节:该主分区第一个扇区的逻辑地址。
  • 第13-16字节:主分区的扇区总数。

2.4 扩展分区和逻辑分区

随着硬盘越来越大,四个主分区已经不够了,需要更多的分区。但是,分区表只有四项,因此规定有且仅有一个区可以被定义成"扩展分区"(Extended partition)。

所谓"扩展分区",就是指这个区里面又分成多个区。这种分区里面的分区,就叫做"逻辑分区"(logical partition)。

计算机先读取扩展分区的第一个扇区,叫做"扩展引导记录"(Extended boot record,缩写为EBR)。它里面也包含一张64字节的分区表,但是最多只有两项(也就是两个逻辑分区)。

计算机接着读取第二个逻辑分区的第一个扇区,再从里面的分区表中找到第三个逻辑分区的位置,以此类推,直到某个逻辑分区的分区表只包含它自身为止(即只有一个分区项)。因此,扩展分区可以包含无数个逻辑分区。

第三阶段:硬盘启动


计算机的控制权就要转交给硬盘的某个分区了。

3.1 卷引导记录

四个主分区里面,只有一个是激活的。计算机会读取激活分区的第一个扇区,叫做"卷引导记录"(Volume Boot Record,缩写为VBR,也可称为分区引导记录,Partition Boot Record,缩写为PBR)。

"卷引导记录"的主要作用是,寻找激活分区根目录下的NTLDR(XP)、bootmgr(Win7 above)、grldr(Grub)、btldr.mbr(BootLink)等可用于引导的程序。

3.2 启动管理器

"启动管理器"(boot loader)是系统预先安装的程序,由用户选择启动哪一个操作系统。"卷引导记录"搜索到激活分区中的"启动管理器",将控制权交给"启动管理器"运行。

"启动管理器"寻找激活分区中的启动配置数据(如:Win7中的BCD文件、XP中的boot.ini文件),根据启动配置数据,在显示器上显示多操作系统选择画面。选择相应的操作系统,控制权交给操作系统。

Linux环境中,目前最流行的启动管理器是Grub。在windows下为启动管理器bootmgr(xp中的ntldr文件)。

第四阶段:操作系统


控制权转交给操作系统后,操作系统的内核首先被载入内存。

以Win7系统为例,整个操作系统引导过程如下:

1、电脑开机后,开始启动BIOS,开始BIOS自检。

2、通过自检后,bios找到硬盘上的主引导记录MBR.

3、MBR开始读取硬盘分区表DPT,找到活动分区,找到活动分区中的分区引导记录PBR,并且把控制权交给PBR.

4、PBR搜索活动区中的启动管理器bootmgr,找到后,PBR把控制权交给bootmgr(相当于xp里的ntldr文件)。

5、Bootmgr寻找活动分区中的boot文件夹中的BCD文件(启动配置数据,相当于xp里的boot.ini文件)。

6、找到BCD后,Bootmgr首先从BCD 中读取启动管理器bootmgr菜单的语言版本信息,然后再调用BOOTMGR与相应语言的BOOTMGR.EXE.MUI (在boot文件夹对应语言文件夹中)组成相应语言的启动菜单,之后在显示器上显示多操作系统选择画面。

7、如果存在多个操作系统而且系统设置的等待时间不是0,那么屏幕就显示多个操作系统的选择界面。如果没有多系统,那么直接进入windows 7系统,不显示选择界面。

8、选择windows 7系统后,bootmgr就会读取BCD里win7系统所在的盘里的windows\system32\winload.exe文件,并且将控制权交给winload.exe。

9、Winload.exe加载windows7内核、硬件、服务等,之后加载桌面等信息,从而启动整个windows 7系统。

上面几步可以概括一下就是:
BIOS--MBR--DPT--PBR--Bootmgr--BCD--系统选择界面---选择windows7------Winload.exe----内核加载等 --启动整个windows7系统

参考文献


1、阮一峰:计算机是如何启动的?
2、百度百科:BIOS
3、百度经验:Windows 7开机启动流程

OS——简易版操作系统引导过程介绍 操作系统的开机系统引导过程,简易版本,适合入门级学习。文末有更详细版的系统引导链接…… 阅读详情

相关推荐

哈工大操作系统引导过程实验详解

引导扇区位于磁盘的第一个扇区,大小为512字节。其中最后两个字节为有效签名0xAA55,这使计算机在启动时识别它。没有引导扇区或者签名不正确,计算机无法启动。引导扇区的任务包括:进行CPU和硬件环境的初步设置。读取并跳转到操作系统内核的其他部分,比如在软盘或硬盘上的内核映像。记录实验中遇到的问题和解决方案是实验报告的一个重要部分。问题应当具体描述,解决方案应当详细说明。此部分的目的是为了帮助他人理解问题的本质,以及如何有效地解决相似的问题。

weixin_33256096的博客 538

计算机操作系统的引导程序与引导过程原理

从计算机加电到进入图形桌面,中间跨越了固件、引导加载程序与内核初始化等多个阶段。引导的本质是:固件负责最初的硬件自检与设备初始化,引导加载程序在最小可用环境下,设置启动参数并完成必要的信息传递,随后将控制权交给内核;内核再初始化关键子系统,挂载根文件系统RootFS,启动第一个用户空间进程(/sbin/init或systemd,PID 1)。理解这些“接力棒”的传递关系,能把握不同平台(BIOS/MBR与UEFI/GPT)下的启动差异,也能在排障与考题分析中迅速定位问题所在。

分享人工智能领域原创文章 1347

大学物理第二章 质点动力学详解

大学物理第二章 质点动力学概念详解

weixin_63026364的博客 1万+

操作系统引导详细过程

操作系统引导详细过程 转自:https://blog.youkuaiyun.com/lijie45655/article/details/89366372 就直观而言,我们所见到计算机启动的过程是:按下电脑开机键,系统在黑色的屏幕下打印出一些英文语句、然后进入进度条状态,最后到登陆界面,这样操作系统的引导过程就算完成了。我们不知道的是计算机本身经历一系列复杂的引导过程,才最终出现在我们面前。假如系统引导不成功,挂了,哇,好尴尬

weixin_44966641的博客 1万+

python 常见算法(1-50题)

常见的算法题

weixin_58470558的博客 1757

【Android14 ShellTransitions】Transition就绪:双Transaction与SurfaceControl显示时机剖析

本文深入剖析了Android14 ShellTransitions框架中Transition就绪阶段的核心机制。重点解释了为何需要“双Transaction”来精确控制SurfaceControl的显示与隐藏时机,以确保Activity切换动画的流畅性。通过分析onTransactionReady流程、窗口绘制状态机及动画目标提升策略,揭示了系统如何协调WMCore与WMShell,实现从状态收集到动画播放的无缝衔接。

ooo22的博客 529

操作系统的引导过程

操作系统引导

Ravenich的博客 583

Linux运维踩坑实录:手把手教你修复LVM中PV显示[unknown]的诡异问题

本文详细解析了Linux运维中LVM物理卷(PV)显示[unknown]的故障现象及修复方法。通过分析问题根源、提供标准修复流程和特殊场景处理方案,帮助运维人员快速解决VG容量异常、PV状态丢失等问题,并分享预防措施与最佳实践,确保LVM存储系统的稳定运行。

weixin_26869081的博客 349

查缺补漏----操作系统引导

操作系统----操作系统引导 1.物理格式化: 2.磁盘分区: 3.逻辑格式化: 4.安装操作系统: 5.开机:

weixin_69884785的博客 2651

SAP PP未清生产订单关闭物料退料、新工单发料批量处理

( werks = '1001' lgort = 'A004' lgobe = '组装-成品组装' )( werks = '1002' lgort = 'C006' lgobe = '组装-二车间' )( werks = '1002' lgort = 'C007' lgobe = '组装-二车间' )( werks = '1001' lgort = 'A007' lgobe = '组装-MS' )( werks = '1001' lgort = 'A008' lgobe = '组装-GW' )

dingqing86的专栏 1192

STM32L151C8T6低功耗实战:RTC闹钟唤醒停机模式的配置与优化

本文详细介绍了如何在STM32L151C8T6微控制器上配置与优化RTC闹钟唤醒停机模式,以实现极致的低功耗设计。文章从核心原理出发,结合STM32CubeMX配置实战,深入讲解了进入停机模式前的关键准备工作、唤醒后的系统恢复流程,并分享了将功耗降至个位数微安级的深度优化技巧与常见问题解决方案。

weixin_29166013的博客 301

操作系统的引导过程_引导过程 操作系统

操作系统的引导过程 启动过程 (Booting process) When our computer is switched on, It can be started by hardware such as a button press, or by software command, a computer's central processing unit (CPU) has no softw...

cumubi7552的博客 3214

Uncaught ReferenceError: process is not defined

这个错误 Uncaught ReferenceError: process is not defined 通常出现在浏览器环境中,因为 process 是 Node.js 环境的内置对象,并不是浏览器原生支持的。因此,浏览器无法识别 process,导致该错误。在App.vue中加上以下代码就能够有效解决。

猿小白的博客 1740

操作系统引导过程详解

计算机操作系统的引导过程包括四个关键阶段:1)电源启动时固件(BIOS/UEFI)执行硬件自检和初始化;2)引导加载程序(如GRUB)从存储设备加载操作系统内核;3)内核初始化硬件并启动首个用户进程;4)用户空间初始化系统服务和登录界面。整个过程从硬件检测到用户登录,通常在几秒至几十秒内完成,涉及固件、引导程序、内核和用户空间的多层次协作。

2202_75518890的博客 510

多组学联合高级Mantel-test热图

对应的是「metabo」中物质间的相关性热图,单元格色块颜色表示相关系数大小,橙色表示+相关,绿色表示-相关;单元格内的数值表示相关性值大小,星号表示显著性。双组学(微生物组/ 转录组/代谢组等两两组合)关联分析,可视化组学特征间的关联显著性、强度及相关方向。表示<trans>与<metabo>中物质的Mantel test结果。表示整体相关的系数,连线颜色表示相关系数的显著性检验结果。宿主-微生物互作、疾病多组学机制、环境-生物多组学关联。为物质名称,不允许存在空值、重复值。

多组・学・多组学 365

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Linux——操作系统引导过程

引导过程一、Linux操作系统引导过程1.1 引导过程讲解1.2 init进程(CentOS6)1.3 Systemd进程(CentOS7)1.4 Systemd单元1.5 运行级别对应的systemd1.5.1 查看target单元类型1.5.2 查看当前系统默认启动target1.5.3 设置默认启动target1.6 systemd服务管理二、排除启动类故障 一、Linux操作系统引导过程 1.1 引导过程讲解 linux引导过程一般包括以下几个阶段: 开机自检 、 MBR 引导 、GRUB 菜单 、

Kiro君的博客 1970

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

操作系统-操作系统引导(磁盘 操作系统引导过程)

开机时,CPU首先去主存执行ROM的引导程序,这时该引导程序会让CPU把磁盘的主引导记录读入内存,然后根据分区表执行磁盘引导程序,此时会找到C盘然后将C盘的引导记录PBR读入内存,然后会执行该引导记录,找到启动管理器,此时会从根目录找到启动管理器读入内存,CPU再执行启动管理器。会找到/Windows/Boot文件夹,然后执行里面的内容。根目录:双击打开C盘会看见的那些文件和文件夹。主引导记录不属于某个盘。

llovewuzhengzi的博客 819

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

linux操作系统引导过程

为其他机器提供服务的程序,服务程序启动后,会持续监听端口。使用systemctl 命令管理systemd服务。

m0_67497257的博客 2313

操作系统引导的过程与机制

引导可以理解为在计算机开机时,通过一系列步骤使操作系统运行起来的机制。它的主要任务是将操作系统从磁盘加载到内存(RAM)中,以便让用户能够使用计算机。引导过程涉及多个组件,包括主引导记录(MBR)、分区引导记录(PBR)和启动管理器等。

song0789的博客 983

Linux操作系统引导过程简述

Linux操作系统引导过程 引导过程总览:开机自检(BIOS)→MBR引导→GRUB菜单→加载内核(kernel)→init进程(初始化)

shyuu的博客 921

【操作系统】引导(Boot)电脑的奇妙开机过程

计算机的主存是由 RAM 和 ROM 两个部分所组成,我们平时所说的手机内存,电脑内存是多少时,其实所说的是 RAM,而除了RAM芯片之外,还有这样一个部分就是ROM,ROM芯片被集成到电脑主板上面,这个存储芯片里面存储的是 BIOS(基本输入输出系统的缩写)

Hello_shuo的博客 2155

Linux操作系统引导过程 了解怎样去引导的过程

Linux操作系统引导过程 引导过程总览 Linux操作系统的引导过程一般包括以下几个阶段:开机自检、MBR引导、GRUB菜单、加载Linux内核、init进程初始化 开机自检 服务器主机开机以后,将根据主板BIOS中的设置对CPU(Central Processing Unit,中央处理器)、内存、显卡、键盘等设备进行初步检测,检测成功后根据预设的启动顺序移交系统控制权,大多时候回移交给本机硬盘。 MBR引导 当从本机硬盘中启动系统时,首先根据硬盘第一扇区中MBR(Master Boot Record,

weixin_47151751的博客 553

linux操作系统的引导过程,Linux操作系统引导的过程

1. 前言在本文中我们将回顾Linux操作系统中的引导过程。操作系统如何通过不同的启动状态阶段。本文是为那些刚刚接触Linux的读者编写的。了解Linux如何启动对于在系统出现故障时有效地进行故障排除非常重要。当系统打开,几分钟后,我们得到一个登录提示。我们有没有试着找出启动序列的所有阶段都发生了什么,以及系统启动过程中幕后发生了什么。2. 启动电源BIOS基本输入输出系统是一个预置在主板芯片组中...

weixin_30696571的博客 324
上一篇: Cmake使用心得
下一篇: Git自动换行符
JerkWisdom
博客等级 码龄14年 70粉丝 76原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值