无忧启动论坛

标题: 何谓NATIVE技术 [打印本页]

作者: lizhenduo    时间: 2011-11-17 21:25
标题: 何谓NATIVE技术
经常看到NATIVE PE、NATIVE技术,百度了半天,丈二和尚。
什么叫NATIVE技术,有何特点。请指教。
谢谢
作者: 幸运的草    时间: 2011-11-18 08:06
标题: 回复 #1 lizhenduo 的帖子
通俗的这么说吧:

  native,英文意为基本的、本国的,基础的等,在软件平台上可意为不可精简或基础的意思。一般的软件或系统平台都是积木式的,或叫模块式,都是可裁减的,当一个软件或系统平台裁减到不可再裁减时,这时的运行环境就是native环境。中文叫基本环境。

  大家知道G4D在加载PE启动时,由于是调用BIOS检测来调用相应的模块,当ZIP时,由于本身没有USB2.0接口驱动,只能以30K/秒的速度加载,加载速度很慢。足迹在精简PE时发现了WINDOWS的这个现象,设想把一个ISO的内核分成两部分,第一部分为基本的驱动和2.0驱动,在开始加载时加载,一但2.0驱动加载完毕,再读U盘数据就很快了,另一部分为二级内核,即普通内核。一级内核经过精简后一般体积在3-4M左右,G4D加载这么点体积也是很快的,由于一级内核为基本的不可缺少的内核,所以起名为基本内核,英文名就叫NATIVE。


   但要改造就需要一些内在的工具支持,所以足迹开发了一个native shell及native cmd工具,用以在一级内核启动后加载二级内核,两者各有优缺点,shell环境可挂载WIM格式的内核或工具,但有一些不足。这时足迹想进一步开发一个native pecmd,以最终替代PE的PECMD,由于参与开发的人不多,足迹又很忙,所以进展速度很缓慢。目前足迹在努力,打算重写native shell,以提高兼容性及增加功能。

  足迹把采用这类方法改造的PE,起名为PE native版,意思明显。当然也可以叫其他什么名字。以区别普通内核的PE。


   经过这样改造,一般启动一个PE时间由原来的几或几十分钟,缩短到现在的2分钟以内(ZIP)。速度有大幅度的提高。
 而HOTDLL等又利用BURG,进一步把时间压缩到30秒左右(zip)。

[ 本帖最后由 幸运的草 于 2011-11-20 12:11 编辑 ]
作者: 2010shame    时间: 2011-11-18 09:06
解释的很详细,学到了
作者: lizhenduo    时间: 2011-11-18 09:21
标题: 回复 #2 幸运的草 的帖子
谢谢了,谢谢您的讲解。
很透彻。
作者: tianya16    时间: 2011-11-18 09:53
学习了,讲解的很详细
作者: 幸运的草    时间: 2011-11-18 09:56
标题: 回复 #4 friend8179 的帖子
可能就是借用这个名字。
那些个程序中出现的这个名字,是英文词,基本的,必须的。不可缺的。意为这些程序是必须的不可少的。此NATIVE非彼NATIVE.

native版的PE,是指一级内核是基本的,不可缺少的。而二级内核却可以根据需要进行精简,也可以不要,只要一级内核会进到命令行,进行一些最基本的操作。

[ 本帖最后由 幸运的草 于 2011-11-18 10:03 编辑 ]
作者: zxw    时间: 2011-11-18 09:59
标题: 回复 #7 幸运的草 的帖子
是一类,不是借名。.
作者: 幸运的草    时间: 2011-11-18 10:06
反正就是一个命名,都是一个意思,基本、或不可缺少的意思,英文本来就有这个词。
我说是足迹起的名,是指他把这类PE起了这么个名,不是说他新创的词。
作者: bfgxp    时间: 2011-11-18 10:09
标题: 回复 #9 幸运的草 的帖子
看来你还没有理解native
nativePE的核心是native版的PECMD
作者: 幸运的草    时间: 2011-11-18 10:22
标题: 回复 #10 bfgxp 的帖子
是吗?我只知道刚开始是native shell,但由于shell有一些不足,目前足迹正在开发native pecmd,想借代shell,但参与的人不多,开发进展缓慢。

目前论坛上的native版的一级内核,都是使用的native shell。


---------------------------------------------------------

反正就是那么个名字,基本意思我已经说了。
至于真正的含义,要足迹自己讲了。

[ 本帖最后由 幸运的草 于 2011-11-18 10:28 编辑 ]
作者: bfgxp    时间: 2011-11-18 10:34
顽固不化



无语
作者: 幸运的草    时间: 2011-11-18 10:35
论坛上成熟的NATIVE的PE,有HOTDLL修改天使的tangope XP,老狂的03PE,chiannet的SKYPE 03,五子登科中的03PE,我自己DIY杏雨的03PE、老水的03PE(自用无发布),都是使用的native shell,
0PE是最早应用native技术的成熟PE,好像也是用的shell吧。
原来有个原生的NATIVE PE,我测试就没有进过桌面。这个我没有算上。

---------------------------------------------------------------------------


暂没发现其他的native pecmd版的PE。谁发现有,告诉一声,我试试效果。

作者: 2010nh    时间: 2011-11-18 10:35
解释得很详细,学习了。
作者: 幸运的草    时间: 2011-11-18 10:43
回复 #12 bfgxp 的帖子
那么你向我及大家讲讲何为native技术,何为native pecmd?

只要你的解释能够站住脚,我会理解的。


--------------------------------------------------------------------------

谢谢你的“夸奖”,我本来就是一个固执的人,没有什么足够的理由,不可能改变我的理解,除非足迹的解释。
个人理解,“顽固”也可以这么理解,也就是“执着”的意思。
作者: lizhenduo    时间: 2011-11-18 12:19
标题: 回复 #10 bfgxp 的帖子
我好像记得最早的PECMD是Yonsm的,老九继承和发扬了。
我第一次用PE就是Yonsm最帅的,很想念杭州的这个臭小子。
作者: yifazhi    时间: 2011-11-18 12:31
原来是这样啊!明白了!
作者: 左岸麦田    时间: 2011-11-18 12:37
标题: 回复 #2 幸运的草 的帖子
感谢解答~+分以资鼓励。
作者: hhh333    时间: 2011-11-18 16:29
标题: 回复 #13 幸运的草 的帖子
兄弟有点误导,native并不是足迹的发明,我的理解应该是Windows程序的一种环境,用于系统加载的初期(系统基本内核函数如KERNEL32.DLL等都不能用的状态,我估计只能用NTDLL.DLL中的函数)来处理一些系统初始化任务,这种程序由于不能调用Windows API,一些简单的基本功能函数(如拷贝文件等功能)可能都要自己动手编辑,开发起来当然是较困难的,但是由于它不需要Windows API,因此支持这种程序运行的文件很少,而且又可以在进入系统前做一些事,这样就可以用于将PE分成两部分,第一部分能够支持native的运行就够了,再利用开发的native程序将PE剩余的部分装入,这样PE就完整了,并且能够进入系统。一个具体的应用就是对于usb1.0的机器,nativePE的第一部分可以做得很小,即使是usb1.x的机器从U盘启动时载入也不会花太多时间,载入后就可以驱动为usb2.0,再载入其余部分就快得多了。

哦,对了,足迹的native CMD环境的PE我早就在应用了。

[ 本帖最后由 hhh333 于 2011-11-18 16:31 编辑 ]
作者: fujianabc    时间: 2011-11-18 18:20
了解一下nt系统架构就知道native环境是nt系统的底层内核,也就是没有子系统的nt内核环境,只能调用ntdll.dll中的函数。nt的图形界面都是基于win32子系统的。
典型的native环境包括启动前的chkdsk,故障恢复控制台 O&O bluecon,nt 3.x/4.0/5.x的蓝色字符界面安装程序等
作者: 幸运的草    时间: 2011-11-18 18:31
是这个意思,但最初是足迹设想提出来的,我没有说是足迹的发明,只是说足迹对这类PE起的名字。

你的解释从WINDOWS层面上讲是不错的。我只是站在PE的角度来解释与普通PE的不同。你讲的是足迹设想的基础,我讲的是实现的过程。
 
有时解释一个问题,真不知要站在哪一个层面,是面对专业层面还是面对初级层面。同一句话可能不同层面的人有不同的理解。

你能否将你的native pecmd的pe共享?

[ 本帖最后由 幸运的草 于 2011-11-18 19:04 编辑 ]
作者: 幸运的草    时间: 2011-11-18 18:42
楼上几位大侠的解释从不同的角度都不错,但,如果我从专业的角度去解释,他们能理解吗?凡如楼主这样提出问题的?肯定就是非专业人士,如果专业人士肯定不会提出这类问题。

  还是到足迹的帖子里找答案吧:http://bbs.wuyou.net/forum.php?m ... ;tid=188616&highlight=native,这是足迹最初设想时的帖子。

[ 本帖最后由 幸运的草 于 2011-11-18 18:55 编辑 ]
作者: jwuskf    时间: 2011-11-18 19:03
无得救了。。。。。。。。。。。。。。。。。。
作者: chris4    时间: 2011-11-18 19:59
学习了~!~~~~~~~~~~~~~~~~~~~~~
作者: 419788808    时间: 2011-11-18 20:10
刚看了看足迹的那个native shell 构思的帖子。。。。就目前来说已经应用到了。
作者: 419788808    时间: 2011-11-18 20:10
不过启动速度快的却是没的说,快的不可思议。主要是这个挂载起了作用。连内核都是挂载的。。。。
作者: 幸运的草    时间: 2011-11-18 20:52
标题: 回复 #26 419788808 的帖子
有挂载也有解压的。两种方式都有应用。

hotdll就发布过tangope的cab解压的版本。

总的来说,native版的PE,解决了加载速度慢的问题。

[ 本帖最后由 幸运的草 于 2011-11-18 20:56 编辑 ]
作者: lizhenduo    时间: 2011-11-18 21:38
标题: 回复 #4 friend8179 的帖子
大帅:
我看到一篇文章里说:
-----------------
在windows下写程序,无非就是两种程序,一种是应用程序,一种是驱动程序。其实还存在第三种程序:Native Application。
Native Application使用native api,直接与系统内核交互;它的运行时机是在WINNT CORE启动之后,在驱动程序和WIN32等子系统加载之前运行。
----------------
这样理解可能是贴切的,您说呢。
望指教。
谢谢
作者: tzxy    时间: 2011-11-19 00:35
进来扫一下盲的,感谢楼内各位解惑
作者: fujianabc    时间: 2011-11-19 01:24
原帖由 lizhenduo 于 2011-11-18 21:38 发表
大帅:
我看到一篇文章里说:
-----------------
在windows下写程序,无非就是两种程序,一种是应用程序,一种是驱动程序。其实还存在第三种程序:Native Application。
Native Application使用native api ...

驱动要看情况,像磁盘驱动这种是ntldr/bootmgr直接加载的,这些驱动在native环境之前就运行了。而像显卡声卡驱动之类的是在native之后才加载的
作者: fxb117    时间: 2011-11-19 07:08
提示: 作者被禁止或删除 内容自动屏蔽
作者: fxb117    时间: 2011-11-19 07:11
提示: 作者被禁止或删除 内容自动屏蔽
作者: lizhenduo    时间: 2011-11-19 12:02
friend8179

大元帅:


谢谢。知道了。
谢谢您的讲解。

[ 本帖最后由 lizhenduo 于 2011-11-19 12:07 编辑 ]
作者: 幸运的草    时间: 2011-11-19 13:00
标题: 回复 #31 fxb117 的帖子
微软的确强大,他想做的事情没有什么做不到的,但假如做了这些,那G4D就没有存在的必要了。
事实是:不是微软不能做,是不愿做或不想做。

足迹就是巧妙的利用了这一点,使FB盘在加载启动ISO时大大缩短了启动时间,特别是ZIP盘,非--mem时,由原来的十几至几十分钟缩短到两分钟以内,这一点功不可没。

 同时,HOTDLL等又借助于BURG,把ZIP盘NATIVE版加载一级内核的时间由两分钟进一步缩短到30秒,这一点也是有目共睹的。
 技术不是什么新技术,但能走进一步就是胜利。
 至此,FB盘加载ISO速度问题已不是问题了。

[ 本帖最后由 幸运的草 于 2011-11-19 13:24 编辑 ]
作者: fujianabc    时间: 2011-11-19 18:30
原帖由 fxb117 于 2011-11-19 07:08 发表

fujianabc的解释最为清晰明了。足迹的构想也不过就是开发自己的native程序,在win32子系统加载之前做些工作。比如加载usb驱动,改变微软的固有系统加载顺序,获得更好的系统加载速度。
其实,微软知道这个构 ...

nt内核+win32图形子系统构成了winnt。
原则上native之上不加载win32子系统,而加载其他子系统都是有可能的。比如一个和unix兼容的posix子系统或者以前nt支持过的os/2子系统。
作者: zds1210    时间: 2011-11-19 19:19
基本上已经懂得了这个意思,不知道有没有ud版的native PE。其实native程序无处不在,如江民及瑞星开机前杀毒
作者: zhaoniupai    时间: 2011-11-19 20:07
原来一直使用的0PE,也是基于NATIVE
作者: bluetooth    时间: 2011-11-19 20:38
map的时候, 老机器加--mem后,速度为什么慢这么多啊。
作者: bfgxp    时间: 2011-11-19 21:35
标题: 回复 #32 fxb117 的帖子
snapshot、金山重装系统恢复部分都使用的是native技术
作者: bfgxp    时间: 2011-11-19 21:36
在native阶段,一切ntfs权限都是浮云
作者: andos    时间: 2011-11-19 22:17
原帖由 fxb117 于 2011-11-19 07:11 发表
补充:在native环境下面应该还有系统备份、恢复、等工作可做,但这都依赖于native下可用的程序支持。

这也要有人去写才行
写了也没什么人会用,因为是命令行,一般人不会用
作者: andos    时间: 2011-11-19 22:19
说白点,在速度上,目前NATIVE只在USB1.0/1.1下有用,又或者加载USB2.0失败不能加速

如果能够加载USB2.0驱动成功的话,NATIVE就不见得会提速或提速几多了
作者: andos    时间: 2011-11-19 22:20
原帖由 bfgxp 于 2011-11-19 21:35 发表
snapshot、金山重装系统恢复部分都使用的是native技术

一些分區,備份軟件都有用到,比如Paragon, Acronis
作者: 2011zhuyyaa    时间: 2011-11-19 22:22
native  PE 是足迹起的名字

native 不是

编程里面还有 native API
作者: fujianabc    时间: 2011-11-19 22:58
原帖由 andos 于 2011-11-19 22:17 发表

这也要有人去写才行
写了也没什么人会用,因为是命令行,一般人不会用

现在有好多这类程序,图形界面执行完,要求重新启动,然后进入native模式进行分区调整或者分区恢复,用户不需要自己打命令。类似于以前win9x中纯dos起的作用

[ 本帖最后由 fujianabc 于 2011-11-19 23:00 编辑 ]
作者: hotdll    时间: 2011-11-19 23:10
标题: 回复 #42 andos 的帖子
native前那里来的USB2.0驱动?
作者: 幸运的草    时间: 2011-11-20 12:29
标题: 回复 #44 2011zhuyyaa 的帖子
你的理解是对的,native是一个英文单词,早就有的,这个不是足迹起的名字。
而且native也不是什么技术,只是个词组。

是我二楼说的不够严谨。已经重新修正。
作者: 幸运的草    时间: 2011-11-20 12:36
标题: 回复 #42 andos 的帖子
native一级内核的作用就是加载2.0驱动。你已经在菜单中加载了plbpt2.0驱动,目的已经达到了。速度当然会非常快了。但加载这个plbpt是有限制的,并不是所有的机都能加载,而且加载后USB的键、鼠就不起作用了,无法操作,只能在进到WINDOWS PE环境中才起作用。

  native一级内核尽管只有3-4M,但如果zip 盘在map无--mem时加载,仍要2分钟左右,而事先加载plbpt后,可能只有几秒。速度会进一步的加快。

 native 一级内核,不是发动机,只是润滑剂。
作者: control938    时间: 2012-1-21 00:24
标题: 回复 #2 幸运的草 的帖子
读君一回复,胜过千百度。0PE的NB版 叫起来挺麻烦。不如建议P大把这一版本改为NB0PE不是更直接。中文翻译:牛X零PE。 哈哈。
作者: zds1210    时间: 2012-2-26 15:17
原帖由 幸运的草 于 2011-11-18 08:06 发表
通俗的这么说吧:

  native,英文意为基本的、本国的,基础的等,在软件平台上可意为不可精简或基础的意思。一般的软件或系统平台都是积木式的,或叫模块式,都是可裁减的,当一个软件或系统平台裁减到不可 ...

中将水平不错,学习一下。
作者: zds1210    时间: 2012-2-28 13:34
原帖由 幸运的草 于 2011-11-20 12:29 发表
你的理解是对的,native是一个英文单词,早就有的,这个不是足迹起的名字。
而且native也不是什么技术,只是个词组。

是我二楼说的不够严谨。已经重新修正。

楼主已经说得相当的好,意思相当的清楚。理论上的东西不要争了,做出东东应用最重要。想把小小强PE NAtive化,有没有高手帮我一下?
作者: zds1210    时间: 2012-2-28 13:35
试过native版的PE,在zip模式下,加载速度太快了,感觉神,希望高手指点一二。
作者: 2010wzp    时间: 2012-5-12 22:23
标题: 回复 #2 幸运的草 的帖子
终于知道一点了!谢谢指教!
作者: hkfalcon    时间: 2012-5-12 22:31
看了各位的回复,了解一二了。
作者: dapk    时间: 2012-5-13 12:25
嘿嘿,一堆高人,说的都是俺看不懂的话。感觉都很N
作者: zhongyy666    时间: 2012-5-20 15:50
native PE做成U启后,能拔掉U盘继续运行吗?谢谢指教!
作者: pseudo    时间: 2012-5-20 16:41
标题: 回复 #56 zhongyy666 的帖子
有的可以。

拔盘跟native pe没必然联系,跟启动速度也没必然联系。

原理上把U盘上要用到的东西在适当时候复制到硬盘、网盘或内存盘,使之不依赖U盘,就可以拔掉U盘了。
作者: 无垠    时间: 2012-5-20 16:45
原帖由 pseudo 于 2012-5-20 16:41 发表
有的可以。

拔盘跟native pe没必然联系,跟启动速度也没必然联系。

原理上把U盘上要用到的东西在适当时候复制到硬盘、网盘或内存盘,使之不依赖U盘,就可以拔掉U盘了。


用fbinst 做的ud版,试了好几个都不能拔U盘,拔掉就没反应了。
作者: pseudo    时间: 2012-5-20 23:19
您试试这个:
http://115.com/file/beo3ao68#
512mb以上内存,读秒回车,取ud工具菜单项,拔U盘。
作者: yuan_53770    时间: 2012-5-20 23:28
没想到背后还有这么多故事
作者: 快雪时晴    时间: 2012-5-21 09:35
原帖由 幸运的草 于 2011-11-18 08:06 发表
通俗的这么说吧:

  native,英文意为基本的、本国的,基础的等,在软件平台上可意为不可精简或基础的意思。一般的软件或系统平台都是积木式的,或叫模块式,都是可裁减的,当一个软件或系统平台裁减到不可 ...


谢谢,之前猜到一些,终于看到终极解释了
作者: kenhun    时间: 2012-5-21 14:44
提示: 作者被禁止或删除 内容自动屏蔽
作者: wyqdlthy    时间: 2012-5-21 17:50
学习了,谢谢!!
作者: 445112826    时间: 2012-5-22 00:12
只有仰慕和纯支持的份了。希望早日用上完善实用的native版PE,这应该算PE发展上的一大进步吧。
作者: 2010dlord    时间: 2012-5-22 13:34
学习ING,感谢1楼介绍。




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3