发布网友 发布时间:2022-03-29 05:27
共2个回答
懂视网 时间:2022-03-29 09:48
bootstrap数据指的是:有放回地从总共N个样本中抽样n个样本。
在统计学中,bootstrap即自助法,是一种从给定训练集中有放回的均匀抽样,也就是说,每当选中一个样本,它等可能地被再次选中并被再次添加到训练集中。自助法由Bradley Efron于1979年在“Annals of Statistics”上发表。当样本来自总体,能以正态分布来描述,其抽样分布为正态分布。
Bootstrap的思想,是生成一系列bootstrap伪样本,每个样本是初始数据有放回抽样。通过对伪样本的计算,获得统计量的分布。例如,要进行1000次bootstrap,求平均值的置信区间,可以对每个伪样本计算平均值。这样就获得了1000个平均值。对着1000个平均值的分位数进行计算, 即可获得置信区间。
热心网友 时间:2022-03-29 06:56
这里仅限于嵌入式+ARM+Linux环境
bootloader 翻译为 (第一阶段)引导装入程序
bootstrap loader 翻译为 第二阶段引导装入程序
bootloader不用多解释都能理解--上电后执行的第一个程序,它绝对不会依赖内核。比如uboot、vivi
bootstrap,第二阶段引导装入程序,属于内核代码(没有被编译进vmlinux,但是可执行的镜像如zImage中含有bootstrap ),充当bootloader和内核镜像之间的纽带。
bootstrap通常会校验内核镜像、解压缩内核镜像、重新部署内核镜像到内存、为内核执行提供合适的上下文(无非是关中断、开指令cache和数据cache、设置c语言运行环境)
执行流程
上电-->bootloader -->bootstrap(head.o)-->内核vmlinux(head.o)-->内核start_kernel(main.o)
以上两个head.o并不相同
bootstrap用的是/arch/arm/boot/compressed/head.S
内核vmlinux用的是/arch/arm/kernel/head.S
虽然都是head.o,但是不在一个时代了,自此区分开了bootstrap和内核vmlinux
等于你看到Uncompressing Linux... done, booting the kernel. 还属于bootstrap
等到打印出第二行内核版本信息的时候,就已经是真正的内核main.o的时代了
一个严格意义上的内核,make的一个最重要的生成文件 vmlinux
去掉了符号、标记和注释后生成了image
gzip压缩后变成piggy.gz
接下来,一个名为piggy.s的文件被汇编成piggy.o
非常有意思的是它仅有7行代码,其实就只有把piggy.gz 包含进来的作用
.section .piggydata,#alloc
.globl input_data
input_data:
.incbin "arch/arm/boot/compressed/piggy.gz"
.globl input_data_end
input_data_end:
接着piggy.o同misc.o、head.o等属于bootstrap的代码一起链接成为zImage等可以被引导的合成镜像。
其中misc.o负责解压缩、head.o head_xx.o 负责进行内核上下文的初始化