为您找到与简单介绍一下web浏览器有哪些内核相关的共200个结果:
现在浏览器安全的噱头:防钓鱼、防恶意脚本、防溢出型网页木马。下面由读文网小编给你做出详细的浏览器的防木马防病毒解决方法介绍!希望对你有帮助!
传统的跨站脚本漏洞,劫持用户和 WEB 程序之间的会话或钓鱼攻击。
跨站脚本漏洞是跨域脚本漏洞的一个子集,浏览器底层接口对于同一个域内的脚本安全限制很小,可以导致跨页面的脚本注入。
浏览量:3
下载量:0
时间:
网速突然变慢,电脑越来越卡…你该怎么办?电脑用时间久了各种性能都会相应下降,许多网友以为自己中了病毒木马,其实原因不止这些。下面由学校啦小编给你做出详细的电脑缓慢不仅仅因为电脑中病毒这么简单介绍!希望对你有帮助!
微机硬件软件问题
硬件故障主要表现在用户网卡损坏或没有正确安装;用户微机主板和网卡不兼容;用户微机档次太低,内存少导致运行速度慢。如硬件配置赛扬600/64MB内存,WINDOWSXP操作系统,会导致微机运行相当慢,上网速度也不可能高。软件故障主要是由于用户不了解计算机知识,在使用过程中误操作,导致操作系统出错或拨号软件损坏而无法上网;用户没有正确操作,使拨号软件非法关闭,导致软件出错;用户浏览一些网页后,系统出现问题,在处理时不慎将备份的拨号软件删掉;用户微机出现问题,重装系统后,没有安装拨号软件。这些问题只要重新安装拨号软件故障即可排除。
浏览量:4
下载量:0
时间:
现在浏览器安全的噱头:防钓鱼、防恶意脚本、防溢出型网页木马。下面由读文网小编给你做出详细的浏览器木马以及防病毒介绍!希望对你有帮助!
软件自身的设计或功能出现缺陷。
演示跨域漏洞导致的浏览器劫持攻击。
总结
现在浏览器还没能防住所有的跨域攻击。
1. 跨站攻击脚本非传统的恶意脚本。
2. 浏览器底层接口漏洞,大部分都是 0DAY 漏洞。
3. 第三方浏览器设计上的疏漏导致的安全问题。
4. 部分问题不被重视,还未达到大规模的利用程度。
看了“浏览器木马以及防病毒介绍”文章的还看了:
浏览量:4
下载量:0
时间:
今天读文网小编要跟大家介绍下WEB应用防火墙是什么,下面就是读文网小编为大家整理到的资料,请大家认真看看!
“龙盾IIS防火墙”实时监控流入、流出网站的信息,实时屏蔽和过滤敏感信息;
用户提交的敏感信息被立即阻止;
即使网站上已经存在敏感信息,龙盾IIS防火墙也可进行过滤,确保访问者看到的内容均合法,从而不必担心服务器被查封;
支持“模式匹配”。
浏览量:2
下载量:0
时间:
Win10上全新的Edge浏览器(以前叫斯巴达浏览器)有一些有意思的新功能,比如Web笔记功能。相信大家对这一功能还比较陌生,它该怎么使用呢?下面读文网小编就为大家介绍一下具体的使用方法吧,欢迎大家参考和学习。
1.在地址栏右侧,点击“做Web笔记”的按钮。
2.在Web笔记功能界面中,选择你想用细分功能的类型。
3.完成后点击保存按钮,即可保存到收藏夹或阅读列表。
需要注意的是,打开一些网站时,目前还不支持使用Web笔记功能。大家喜欢的话可以体验一下哦,希望对大家有所帮助。
Win10 Edge浏览器如何使用Web笔记功能相关
浏览量:2
下载量:0
时间:
这篇教程是向大家介绍CorelDRAW10 图纸工具的简单使用方法,教程比较基础,很适合新手来学习,推荐到读文网电脑栏目,喜欢的朋友可以跟着教程一起来学习吧!
CorelDRAW10 图纸工具的简单使用
Graphic Paper Tool(图纸工具)
今天向朋友们介绍CorelDRAW10中的图纸工具简单的使用方法,Graphic Paper Tool(图纸工具)主要用于绘制网格,在绘制曲线图或其他对象时辅助用户精确排列对象。它的绘制方法非常简单:
(1)从工具箱中的
Polygon Tool(多边形工具)的级联菜单中选择
Graphic Paper Tool(图纸工具)
(2)在Graphic Paper Tool(图纸工具)属性栏中的
框中设置纵、横方向的网格数;
用图纸工具绘制的网格
(3)将鼠标移动到绘图页面中,用拖动的方式就可以绘制出所需的网格图形;
技巧:按住 Ctrl 键拖动鼠标可绘制出正方形边界的网格(边界内的网格数则根据用户设定的纵、 横向的网格数值,分别平均划分);按住Shift键拖动鼠标,即可绘制出以鼠标单 击点为中心的网格。而按住Ctrl + Shift键后拖动鼠标,则可绘制出以鼠标单击点为中心的正方形边界的网格
教程结束,以上就是CorelDRAW10 图纸工具的简单使用方法介绍,希望能对大家有所帮助!
浏览量:6
下载量:0
时间:
Win8是微软新一代的操作系统,为了迎合平板电脑的操作习惯,win8有了很大的变化;什么叫做浏览器保存的web凭据?就是每次在打开的论坛或者说其他的平台中进行注册的账户名和密码,浏览器窗口上方总是会出现提示,询问用户是否需要保存,而保存下来的便是咱们浏览器的web凭据,那么下面小编就教你win8怎么查看浏览器保存的web凭据。
1.首先,咱们需要返回到win8系统的传统桌面位置,之后,咱们同时按下键盘上的win+X快捷键打开电脑的快捷菜单,然后从这个快捷菜单中,咱们点击进入到控制面板选项中。
2.在打开的控制面板界面中,咱们依次点击进入到【用户账户和家庭安全】-【凭据管理器】-【web凭据】,在新弹出来的窗口中,咱们就可以在其中看到浏览器保存的web凭据了,点击最右边的按钮,就可以看到你在网页上保存的账号和未显示的密码了。
浏览量:2
下载量:0
时间:
工具简介:
通常在调查入侵事件的时候,工具化能最大限度的提升效率,且减少人为主观误判。
此工具可从单一可疑线索作为调查起点,遍历所有可疑url(CGI)和来源IP。
使用方法:
Perl LogForensics.pl -file logfile -websvr (nginx|httpd) [-ip ip(ip,ip,ip)|-url url(url,url,url)]
File:日志文件路径
Websvr : 日志类型
Ip: 起始调查IP或ip列表,以逗号分割
url: 起始调查cgi 链接或链接列表,以逗号分割
浏览量:2
下载量:0
时间:
现在人们的版权意识越来越高,各种将文本转换成图片或者PDF而让他人无法复制更改的做法越来越多,不过对于高手而言,将图片或者PDF转回成word文档也不是难事,本文就来说说利用MS Office将图片或者PDF转成word的简单办法。
1.工具microsoft office document imaging 以及系统自带的Microsoft Office Picture Manager
2.步骤:
第一步:把扫描出来的图片格式的书页或PDF用Microsoft Office Picture Manager 打开,然后选择文件——打印,在打开的“打印”窗口中将“打印机”栏中的“名称”设置为“Microsoft Office Document Image Writer”,确认后将该PDF文件输出为MDI或者TIFF格式的虚拟打印文件。(直接打开文件选择打印也可以,打印机选择“Microsoft Office Document Image Writer”)
第二步:打开microsoft office--microsoft office工具--microsoft office document imaging程序,在菜单--文件--打开保存的TIFF文件,在工具运行OCR识别,然后点发送到word编辑保存即可。
浏览量:2
下载量:0
时间:
现如今,电脑的使用越来越普遍,几乎每家每户都有电脑,而电脑的操作离不开操作系统,在这里,读文网小编就向大家介绍Linux内核。
很多Linux 爱好者对内核很感兴趣却无从下手,本文旨在介绍一种解读Linux内核源码的入门方法,而不是讲解Linux复杂的内核机制。
1.核心源程序的文件组织
(1)Linux核心源程序通常都安装在/usr/src/Linux下,而且它有一个非常简单的编号约定:任何偶数的核心(中间数字)如:2.0.30都是一个稳定的发行的核心,而任何奇数的核心如:2.1.42都是一个开发中的核心。
本文基于稳定的2.2.5源代码,第二部分的实现平台为Redhat Linux 6.0。
(2)核心源程序的文件按树形结构进行组织,在源程序树的最上层你会看到这样一些目录:
arch:arch子目录包括了所有和体系结构相关的核心代码。它的每一个子目录都代表一种支持的体系结构,例如i386就是关于Intel CPU及与之相兼容体系结构的子目录。PC机一般都基于此目录;
include:include子目录包括编译核心所需要的大部分头文件。与平台无关的头文件在include/linux子目录下,与Intel CPU相关的头文件在include/asm-i386子目录下,而include/scsi目录则是有关SCSI设备的头文件目录;
init:这个目录包含核心的初始化代码(注:不是系统的引导代码),包含两个文件main.c和Version.c,这是研究核心如何工作的一个非常好的起点;
Mm:这个目录包括所有独立于CPU 体系结构的内存管理代码,如页式存储管理内存的分配和释放等,而和体系结构相关的内存管理代码则位于arch/*/mm/,例如arch/i386/mm/Fault.c;
Kernel:主要的核心代码,此目录下的文件实现了大多数Linux系统的内核函数,其中最重要的文件当属sched.c,同样,和体系结构相关的代码在arch/*/kernel中;
Drivers:放置系统所有的设备驱动程序;每种驱动程序又各占用一个子目录,如/block下为块设备驱动程序,比如ide(ide.c)。如果你希望查看所有可能包含文件系统的设备是如何初始化的,你可以看drivers/block/genhd.c中的device_setup()函数。它不仅初始化硬盘,也初始化网络,因为安装nfs文件系统的时候需要使用网络。
其他目录如Lib:放置核心的库代码;Net:核心与网络相关的代码;Ipc:包含核心的进程间通信的代码;Fs:所有的文件系统代码和各种类型的文件操作代码,它的每一个子目录支持一个文件系统,例如fat和ext2、Scripts,此目录包含用于配置核心的脚本文件等。
一般在每个目录下都有一个.depend 文件和一个Makefile 文件,这两个文件都是编译时使用的辅助文件,仔细阅读这两个文件对弄清各个文件之间的联系和依托关系很有帮助,而且在有的目录下还有Readme 文件,它是对该目录下的文件的一些说明,同样有利于我们对内核源码的理解。
2.解读实战:为你的内核增加一个系统调用
虽然Linux 的内核源码用树形结构组织得非常合理、科学,把与功能相关联的文件都放在同一个子目录下,这样使得程序更具可读性。然而,Linux 的内核源码实在是太大而且非常复杂,即便采用了很合理的文件组织方法,在不同目录下的文件之间还是有很多的关联,分析核心的一部分代码通常要查看其他的几个相关的文件,而且可能这些文件还不在同一个子目录下。
下面举一个具体的内核分析实例,希望能通过这个实例,使读者对Linux 的内核组织有些具体的认识,读者从中也可以学到一些对内核的分析方法。
以下即为分析实例:
(1)操作平台
硬件:CPU Intel Pentium II;
软件:Redhat Linux 6.0,内核版本2.2.5
(2)相关内核源代码分析
①系统的引导和初始化:Linux 系统的引导有好几种方式,常见的有Lilo、Loadin引导和Linux的自举引导(bootsect-loader),而后者所对应源程序为arch/i386/boot/bootsect.S,它为实模式的汇编程序,限于篇幅在此不做分析。无论是哪种引导方式,最后都要跳转到arch/i386/Kernel/setup.S。setup.S主要是进行实模式下的初始化,为系统进入保护模式做准备。此后,系统执行arch/i386/kernel/head.S (对经压缩后存放的内核要先执行arch/i386/boot/compressed/head.S);head.S 中定义的一段汇编程序setup_idt,它负责建立一张256项的idt表(Interrupt Descriptor Table),此表保存着所有自陷和中断的入口地址,其中包括系统调用总控程序system_call 的入口地址。当然,除此之外,head.S还要做一些其他的初始化工作。
②系统初始化后运行的第一个内核程序asmlinkage void __init start_kernel(void) 定义在/usr/src/linux/init/main.c中,它通过调用usr/src/linux/arch/i386/kernel/traps.c 中的一个函数void __init trap_init(void) 把各个自陷和中断服务程序的入口地址设置到idt表中,其中系统调用总控程序system_cal就是中断服务程序之一;void __init trap_init(void)函数则通过调用一个宏set_system_gate(SYSCALL_VECTOR,&system_call),把系统调用总控程序的入口挂在中断0x80上。
其中SYSCALL_VECTR是定义在/usr/src/linux/arch/i386/kernel/irq.h中的一个常量0x80,而system_call 即为中断总控程序的入口地址,中断总控程序用汇编语言定义在/usr/src/linux/arch/i386/kernel/entry.S中。
③中断总控程序主要负责保存处理机执行系统调用前的状态,检验当前调用是否合法,并根据系统调用向量,使处理机跳转到保存在sys_call_table 表中的相应系统服务例程的入口,从系统服务例程返回后恢复处理机状态退回用户程序。
而系统调用向量则定义在/usr/src/linux/include/asm-386/unistd.h 中,sys_call_table 表定义在/usr/src/linux/arch/i386/kernel/entry.S 中,同时在/usr/src/linux/include/asm-386/unistd.h 中也定义了系统调用的用户编程接口。
④由此可见,Linux的系统调用也像DOS系统的int 21h中断服务,大把0x80中断作为总的入口,然后转到保存在sys_call_table表中的各种中断服务例程的入口地址,提供各种不同的中断服务。
提供上源代码分析可知,要增加一个系统调用就必须在sys_call_table表中增加一项,并在其中保存好自己的系统服务例程的入口地址,然后重新编译内核,当然,系统服务例程是必不可少的。
由此可知,在此版Linux内核源程序<2.2.5>中,与系统调用相关的源程序文件就包括以下这些:
* arch/i386/boot/bootsect.S
* rch/i386/Kernel/setup.S
* rch/i386/boot/compressed/head.S
* rch/i386/kernel/head.S
* nit/main.c
* rch/i386/kernel/traps.c
* rch/i386/kernel/entry.S
* rch/i386/kernel/irq.h
* nclude/asm-386/unistd.h
当然,这只是涉及到的几个主要文件。而事实上,增加系统调用真正要修改的文件只有include/asm-386/unistd.h 和arch/i386/kernel/entry.S两个。
(3)源码的修改
①kernel/sys.c中增加系统服务例程如下:
asmlinkage int sys_addtotal(int numdata)
{ int i=0,enddata=0;
while(i<=numdata)
enddata+=i++;
return enddata; }
该函数有一个int 型入口参数numdata , 并返回从0 到numdata 的累加值,然而也可以把系统服务例程放在一个自己定义的文件或其他文件中,只是要在相应文件中作必要的说明。
②把smlinkage int sys_addtotal( int) 的入口地址加到sys_call_table表中。
arch/i386/kernel/entry.S 中的最后几行源代码修改前为:
.long SYMBOL_NAME(sys_sendfile)
.long SYMBOL_NAME(sys_ni_syscall) /* streams1 */
.long SYMBOL_NAME(sys_ni_syscall) /* streams2 */
.long SYMBOL_NAME(sys_vfork) /* 190 */
.rept NR_syscalls-190
.long SYMBOL_NAME(sys_ni_syscall)
.endr
修改后为:
.long SYMBOL_NAME(sys_sendfile)
.long SYMBOL_NAME(sys_ni_syscall) /* streams1 */
.long SYMBOL_NAME(sys_ni_syscall) /* streams2 */
.long SYMBOL_NAME(sys_vfork) /* 190 */
/* add by I */
.long SYMBOL_NAME(sys_addtotal)
.rept NR_syscalls-191
.long SYMBOL_NAME(sys_ni_syscall)
.endr
③把增加的sys_call_table 表项所对应的向量,在include/asm-386/unistd.h 中进行必要申明,以供用户进程和其他系统进程查询或调用。
增加后的部分/usr/src/linux/include/asm-386/unistd.h 文件如下:
#define __NR_sendfile 187
#define __NR_getpmsg 188
#define __NR_putpmsg 189
#define __NR_vfork 190
/* add by I */
#define __NR_addtotal 191
④测试程序(test.c)如下:
#include
#include
_syscall1(int,addtotal,int, num)
main()
{int i,j;
do
printf("Please input a numbern");
while(scanf("%d",&i)==EOF);
if((j=addtotal(i))==-1)
printf("Error occurred in syscall-addtotal(),n");
printf("Total from 0 to %d is %d n",i,j); }
对修改后的新的内核进行编译,并引导它作为新的操作系统,运行几个程序后可以发现一切正常;在新的系统下对测试程序进行编译(注:由于原内核并未提供此系统调用,所以只有在编译后的新内核下,此测试程序才可能被编译通过),运行情况如下:
$gcc .test test.c
$./test
Please input a number
36
Total from 0 to 36 is 666
修改成功后对相关源码进一步分析可知,在此版本的内核中,从/usr/src/linux/arch/i386/kernel/entry.S 文件中对sys_call_table 表的设置可以看出,有好几个系统调用的服务例程都是定义在/usr/src/linux/kernel/sys.c 中的同一个函数:
asmlinkage int sys_ni_syscall(void)
{return -ENOSYS; }
例如第188项和第189项就是如此:
.long SYMBOL_NAME(sys_sendfile)
.long SYMBOL_NAME(sys_ni_syscall) /* streams1 */
.long SYMBOL_NAME(sys_ni_syscall) /* streams2 */
.long SYMBOL_NAME(sys_vfork) /* 190 */
而这两项在文件/usr/src/linux/include/asm-386/unistd.h 中却申明如下:
#define __NR_sendfile 187
#define __NR_getpmsg 188 /* some people actually want streams */
#define __NR_putpmsg 189 /* some people actually want streams */
#define __NR_vfork 190
由此可见,在此版本的内核源代码中,由于asmlinkage int sys_ni_syscall(void) 函数并不进行任何操作,所以包括getpmsg, putpmsg 在内的好几个系统调用都是不进行任何操作的,即有待扩充的空调用;但它们却仍然占用着sys_call_table表项,估计这是设计者们为了方便扩充系统调用而安排的,所以只需增加相应服务例程(如增加服务例程getmsg或putpmsg),就可以达到增加系统调用的作用。
3.结束语
要完全解读庞大复杂的Linux内核,一篇文章远远不能介绍清楚,而且与系统调用相关的代码也只是内核中极其微小的一部分,重要的是方法,掌握好的分析方法,所以上述分析只是起个引导作用,而真正的分析还有待读者自己的努力。
浏览量:2
下载量:0
时间:
Internet Explorer即我们常说的ie浏览器,它是微软公司于90年代发布的浏览器。多年以来,IE浏览器已经发布了近11个版本,并以自己强大的兼容性和实用性吸引着众多的网络用户。在IE7之前,中文中都称其为“网络探路者”,IE7代以后,就基本俗称IE浏览器了。读文网小编下面将对IE浏览器的相关主要功能作出简要介绍。
IE浏览器有着非常完善的安全架构,它能够对特定功能添加限制访问的功能,防止恶意程序自动安装或在浏览器内部窃取相关资料和信息。
浏览量:3
下载量:0
时间:
UC浏览器电脑版是一款uc公司在原来uc手机浏览器基础上推出pc平台浏览器,依靠领先的手机移动端的技术优化,打进桌面浏览器市场,UC浏览器电脑版配置双核双引擎Blink内核和Trident内核。电脑版的“智能拼页”、“云端加速”、“下载加速”、“红杏出墙”等功能很明显是将手机版浏览器的特色功能迁移至了PC端。是基于Chrome的浏览器,具备大多数浏览器标配的功能
其更新日志中1.0 Beta特点为:
双核双引擎:搭载最新的Blink内核和经典Trident内核,极速浏览,完美兼容。
鼠标预读:独创指针悬停预读技术,未点击先加载,瞬间开启网页。
红杏出园:一键突破屏障访问企业/学校屏蔽站点,风景这边独好。
跨屏功能:无需手机助手,一键安装软件到手机。电脑与手机快捷互传文件和网页。
智能拼页:自动拼接前后页面,无须翻页一读到底,快感不断。
云端加速:云端智能压缩数据,提升传输速度,网页即点即开。
UC免费WiFi:一秒电脑变路由,随心所欲享WiFi。
下载加速:内置极速下载模块,支持迅雷会员登陆,下载速度飞跃提升。
大图速览:鼠标悬停即可预览大图和动图,无须点击,省心省力。
缓存优化:优化近期浏览页面缓存,进退浏览一点重现。
云同步:不同设备间轻松同步标签、书签和个性设置,一个UC账号就搞定。
浏览量:2
下载量:0
时间:
电脑使用很广泛,电脑本文为大家讲解了解上网浏览器内核基础知识一起来了解吧。
我们每天上网都离不开浏览器,但是你可能不会关心到浏览器内核的问题。浏览器的性能差异,与其使用的内核不无关系。今天,我们就来充实一下自己,了解了解有关浏览器内核的知识吧。
浏览器内核是什么东西
首先解释一下浏览器内核是什么东西。英文叫做:Rendering Engine,中文翻译很多,排版引擎、解释引擎、渲染引擎,现在流行称为浏览器内核,至于为什么流行这么称呼,请自行领悟。
Rendering Engine,顾名思义,就是用来渲染网页内容的,将网页的代码转换为最终你看得见的页面。因为是排版,所以肯定会排版错位等问题。为什么会排版错位呢?有的是由于网站本身编写不规范,有的是由于浏览器本身的渲染不标准。
现在有几个主流的排版引擎,因为这些排版引擎都有其代表的浏览器,所以常常会把排版引擎的名称和浏览器的名称混用,比如常的说IE内核、Chrome内核。其实这样子是不太合理的,因为一个完整的浏览器不会只有一的排版引擎,还有自己的界面框架和其它的功能支撑,而排版引擎本身也不可能实现浏览器的所有功能。
下面罗列一下几款主流的排版引擎和浏览器。
1、Trident 内核(Windows)
Trident 就是大名鼎鼎的 IE浏览器 所使用的内核,也是很多浏览器所使用的内核,通常被称为IE内核。基于Trident内核的浏览器非常多,这是因为Trident内核提供了丰富的调用接口。老的Trident内核(比如常说的IE6内核)一直是不遵循W3C标准的,但是由于当时IE6的市场份额最大,所以后果就是大量的网页专门为IE6等老Trident内核编写,在IE6下显示很正常,但其实这些网页的代码并不符合W3C标准,于是,完全依据W3C标准写的网页在老的Trident内核下面又出现偏差,这就是为什么很多人觉得后来的IE9的网页排版有时会乱了,而IE6则正常,其实不是浏览器兼容性差了,而是你访问的网页不符合新的标准。目前可供调用的最新版的Trident内核是IE9所用的内核,相较之前的版本对W3C标准的支持增强了很多。
Trident内核的常见浏览器有:
IE6、IE7、IE8(Trident 4.0)、IE9(Trident 5.0)、IE10(Trident 6.0);
世界之窗、 360安全浏览器、傲游;搜狗浏览器;腾讯TT;阿云浏览器(早期版本)、百度浏览器(早期版本)、瑞星安全浏览器、Slim Browser; GreenBrowser、爱帆浏览器(12 之前版本)、115浏览器、155浏览器; 闪游浏览器、N氧化碳浏览器、糖果浏览器、彩虹浏览器、瑞影浏览器、勇者无疆浏览器、114浏览器、蚂蚁浏览器、飞腾浏览器、速达浏览器、佐罗浏览器;
其中部分浏览器的新版本是“双核”甚至是“多核”,其中一个内核是Trident,然后再增加一个其他内核。国内的厂商一般把其他内核叫做“高速浏览模式”,而Trident则是“兼容浏览模式”,用户可以来回切换。
2、Gecko(跨平台)
Netscape6 启用的内核,现在主要由Mozilla基金会进行维护,是开源的浏览器内核,目前最主流的Gecko内核浏览器是Mozilla Firefox,所以也常常称之为火狐内核。因为Firefox的出现,IE的霸主地位逐步被削弱,Chrome的出现则是加速了这个进程。非Trident内核的兴起正在改变着整个互联网,最直接的就是推动了编码的标准化,也使得微软在竞争压力下不得不改进IE。不过比较可惜的是,虽然是开源的,也开发了这么多年,基于Gecko的浏览器并不多见,除了一些简单的改动(坑爹的X浏览器)或者是重新编译(绫川ayakawa、tete009),深度定制或者增强型外壳的还比较少见。另外就是有一些其它软件借用了Gecko内核,比如音乐管理软件SongBird。
常见的Gecko内核的浏览器:Mozilla Firefox、Mozilla SeaMonkey、Epiphany(早期版本)、Flock(早期版本)、K-Meleon。
3、KHTML(Linux)
KDE开发的内核,速度快捷,容错度低。这个内核可能不见得很多人知道,但是后面再看下去你就明白了。常见的KHTML内核的浏览器:Konqueror。
4、WebKit(跨平台)
由KHTML发展而来,也是苹果给开源世界的一大贡献。是目前最火热的浏览器内核,火热倒不是说市场份额,而是应用的面积和势头。因为是脱胎于KHTML,所以也是具有高速的特点,同样遵循W3C标准。从目前看来,WebKit 内核是最有潜力而且是已经有相当成绩的新兴内核,性能非常好,而且对W3C标准的支持很完善,本人非常看好它。
常见的WebKit内核的浏览器:Apple Safari (Win/Mac/iPhone/iPad)、Symbian手机浏览器、Android 默认浏览器。
5、Chromium(跨平台)
其实 Chromium 就是 WebKit,维基百科里面并没有将Chromium从WebKit分出来,这个区分完全是基于我个人的恶趣味。记得以前看过一个大牛的博文说过,Chromium把WebKit的代码梳理得可读性提高很多,所以以前可能需要一天进行编译的代码,现在只要两个小时就能搞定。这个我自己也没有考究过,但是估计可信。这个也能解释为什么Gecko和WebKit出来了这么久,第三方编译、定制的版本并不多,但是由Chromium衍生出来的浏览器早就满坑满谷了。
常见的Chromium内核的浏览器:Google Chrome、Chromium、SRWare Iron、Comodo Dragon。
6、Presto(跨平台)
Opera 所采用的内核,准确地说,是Opera 7.0及以后版本的内核,Opera 3.5-6.1版本使用的内核叫做Elektra。不用说,Presto对W3C标准的支持也是很良好的。虽然我很喜欢Opera,但是我对Presto的渲染速度一直有保留态度。之前在OperaChina论坛看见有人说过,Presto优先解析文字,保证可阅读性,媒体资源的渲染放后。常见的Presto内核的浏览器:Opera。
浏览量:3
下载量:0
时间:
menuconfig
menuconfig是常用的配制工具,不用特意安装,好像是和GCC一起装上的。
注:menuconfig要用到ncurses的库,所以要安装它。下面的命令可以安装。
apt-get install libncurses*
选择相应的配置时,有三种选择,它们分别代表的含义如下:
“Y”- 将该功能编译进内核
“N”- 不将该功能编译进内核
“M”- 将该功能编译成可以在需要时动态插入到内核中的模块。
将与核心其它部分关系较远且不经常使用的部分功能代码编译成为可加载模块,有利于减小内核的长度,减小内核消耗的内存,简化该功能相应的环境改变时对内核的影响。许多功能都可以这样处理,例如像上面提到的网卡的支持、对FAT等文件系统的支持。
make menuconfig,则需要使用空格键进行选取。你会发现在每一个选项前都有个括号, 但有的是中括号有的是尖括号,还有一种圆括号。 用空格键选择时可以发现,中括号里要么是空,要么是"*",而尖括号里可以是空,"*"和"M"这表示前者对应的项要么不要,要么编译到内核里;后者则多一样选择,可以编译成模块。而圆括号的内容是要你在所提供的几个选项中选择一项。
中括号:要么是空,要么是"*",代表要么不要,要么编译到内核里。
尖括号:可以是空,"*"和"M",多一样选择,可以编译成模块。
圆括号:所提供的几个选项中选择一项。
menuconfig相关命令:
$sudo make menuconfig
配置用到的键只有几个,esc退出菜单;空格改变选项状态;光标键上下左右移动,回车选定。
选项意义:M是编译成可以随时加入的模块,*是编译进入内核,空就是不要。
浏览量:2
下载量:0
时间:
欢迎大家来到读文网,本文为大家带来,欢迎大家阅读借鉴。
我们每天上网都离不开浏览器,但是你可能不会关心到浏览器内核的问题。浏览器的性能差异,与其使用的内核不无关系。今天,我们就来充实一下自己,了解了解有关浏览器内核的知识吧。
浏览器内核是什么东西
首先解释一下浏览器内核是什么东西。英文叫做:Rendering Engine,中文翻译很多,排版引擎、解释引擎、渲染引擎,现在流行称为浏览器内核,至于为什么流行这么称呼,请自行领悟。
Rendering Engine,顾名思义,就是用来渲染网页内容的,将网页的代码转换为最终你看得见的页面。因为是排版,所以肯定会排版错位等问题。为什么会排版错位呢?有的是由于网站本身编写不规范,有的是由于浏览器本身的渲染不标准。
现在有几个主流的排版引擎,因为这些排版引擎都有其代表的浏览器,所以常常会把排版引擎的名称和浏览器的名称混用,比如常的说IE内核、Chrome内核。其实这样子是不太合理的,因为一个完整的浏览器不会只有一的排版引擎,还有自己的界面框架和其它的功能支撑,而排版引擎本身也不可能实现浏览器的所有功能。
下面罗列一下几款主流的排版引擎和浏览器。
1、Trident 内核(Windows)
Trident 就是大名鼎鼎的 IE浏览器 所使用的内核,也是很多浏览器所使用的内核,通常被称为IE内核。基于Trident内核的浏览器非常多,这是因为Trident内核提供了丰富的调用接口。老的Trident内核(比如常说的IE6内核)一直是不遵循W3C标准的,但是由于当时IE6的市场份额最大,所以后果就是大量的网页专门为IE6等老Trident内核编写,在IE6下显示很正常,但其实这些网页的代码并不符合W3C标准,于是,完全依据W3C标准写的网页在老的Trident内核下面又出现偏差,这就是为什么很多人觉得后来的IE9的网页排版有时会乱了,而IE6则正常,其实不是浏览器兼容性差了,而是你访问的网页不符合新的标准。目前可供调用的最新版的Trident内核是IE9所用的内核,相较之前的版本对W3C标准的支持增强了很多。
Trident内核的常见浏览器有:
IE6、IE7、IE8(Trident 4.0)、IE9(Trident 5.0)、IE10(Trident 6.0);
世界之窗、 360安全浏览器、傲游;搜狗浏览器;腾讯TT;阿云浏览器(早期版本)、百度浏览器(早期版本)、瑞星安全浏览器、Slim Browser; GreenBrowser、爱帆浏览器(12 之前版本)、115浏览器、155浏览器; 闪游浏览器、N氧化碳浏览器、糖果浏览器、彩虹浏览器、瑞影浏览器、勇者无疆浏览器、114浏览器、蚂蚁浏览器、飞腾浏览器、速达浏览器、佐罗浏览器;
其中部分浏览器的新版本是“双核”甚至是“多核”,其中一个内核是Trident,然后再增加一个其他内核。国内的厂商一般把其他内核叫做“高速浏览模式”,而Trident则是“兼容浏览模式”,用户可以来回切换。
2、Gecko(跨平台)
Netscape6 启用的内核,现在主要由Mozilla基金会进行维护,是开源的浏览器内核,目前最主流的Gecko内核浏览器是Mozilla Firefox,所以也常常称之为火狐内核。因为Firefox的出现,IE的霸主地位逐步被削弱,Chrome的出现则是加速了这个进程。非Trident内核的兴起正在改变着整个互联网,最直接的就是推动了编码的标准化,也使得微软在竞争压力下不得不改进IE。不过比较可惜的是,虽然是开源的,也开发了这么多年,基于Gecko的浏览器并不多见,除了一些简单的改动(坑爹的X浏览器)或者是重新编译(绫川ayakawa、tete009),深度定制或者增强型外壳的还比较少见。另外就是有一些其它软件借用了Gecko内核,比如音乐管理软件SongBird。
常见的Gecko内核的浏览器:Mozilla Firefox、Mozilla SeaMonkey、Epiphany(早期版本)、Flock(早期版本)、K-Meleon。
3、KHTML(Linux)
KDE开发的内核,速度快捷,容错度低。这个内核可能不见得很多人知道,但是后面再看下去你就明白了。常见的KHTML内核的浏览器:Konqueror。
4、WebKit(跨平台)
由KHTML发展而来,也是苹果给开源世界的一大贡献。是目前最火热的浏览器内核,火热倒不是说市场份额,而是应用的面积和势头。因为是脱胎于KHTML,所以也是具有高速的特点,同样遵循W3C标准。从目前看来,WebKit 内核是最有潜力而且是已经有相当成绩的新兴内核,性能非常好,而且对W3C标准的支持很完善,本人非常看好它。
常见的WebKit内核的浏览器:Apple Safari (Win/Mac/iPhone/iPad)、Symbian手机浏览器、Android 默认浏览器。
5、Chromium(跨平台)
其实 Chromium 就是 WebKit,维基百科里面并没有将Chromium从WebKit分出来,这个区分完全是基于我个人的恶趣味。记得以前看过一个大牛的博文说过,Chromium把WebKit的代码梳理得可读性提高很多,所以以前可能需要一天进行编译的代码,现在只要两个小时就能搞定。这个我自己也没有考究过,但是估计可信。这个也能解释为什么Gecko和WebKit出来了这么久,第三方编译、定制的版本并不多,但是由Chromium衍生出来的浏览器早就满坑满谷了。
常见的Chromium内核的浏览器:Google Chrome、Chromium、SRWare Iron、Comodo Dragon。
6、Presto(跨平台)
Opera 所采用的内核,准确地说,是Opera 7.0及以后版本的内核,Opera 3.5-6.1版本使用的内核叫做Elektra。不用说,Presto对W3C标准的支持也是很良好的。虽然我很喜欢Opera,但是我对Presto的渲染速度一直有保留态度。之前在OperaChina论坛看见有人说过,Presto优先解析文字,保证可阅读性,媒体资源的渲染放后。常见的Presto内核的浏览器:Opera。
二、JavaScript引擎
说完了排版引擎,接下来说说 JavaScript 引擎。顾名思义,JavaScript引擎就是用来执行JS代码的。譬如说,一个算圆周率的网页,排版引擎把页面的框架给显示出来了,但最终的结果需要用到 Javascript 来计算,所以Javascript引擎的快慢也是对整个网页的速度有着很大影响,特别是目前越来越多类似 WebQQ、Gmail 等大量应用了复杂的 Javascript 运算的网站,不同的引擎最终的速度差异会相当大。
为什么要单独拿出来说呢?因为它还涉及到跑分。经常看见很多文章在报道说哪个浏览器更快,其实大部分说的就是JavaScript的渲染速度,而不是页面的载入速度。在网速许可的情况下,其实各个浏览器的页面载入速度差别不大(Opera逊色一些)。那是不是说对比JavaScript的渲染速度其实没有意义?也不是这么说,因为现在JavaScript在页面中的比重会越来越大,越来越多的动态页面开始大量借助JavaScript,比如现在主流的SNS、邮箱、网页游戏,所以JavaScript的渲染速度也是一个很重要的指标。JavaScript的渲染速度越快,动态页面的展示也越快。Opera在JavaScript引擎的跑分上面一直都是很牛逼的,一般来说最新测试版之间PK,Opera基本都会夺冠。
1、Chakra 查克拉,IE9启用的新的JavaScript引擎。
2、SpiderMonkey / TraceMonkey / JaegerMonkey
SpiderMonkey应用在Mozilla Firefox 1.0-3.0,TraceMonkey应用在Mozilla Firefox 3.5-3.6版本,JaegerMonkey应用在Mozilla Firefox 4.0及后续的版本。
3、V8 应用于Chrome、傲游3。
4、Nitro 应用于Safari 4及后续的版本。
5、Linear A/Linear B/Futhark/Carakan
Linear A应用于Opera 4.0-6.1版本,Linear B应用于Opera 7.0~9.2版本,Futhark应用于Opera 9.5-10.2版本,Carakan应用于Opera 10.5及后续的版本。
6、KJS KHTML对应的JavaScript引擎。
三、几个与浏览器有关的测试项目
1、V8引擎 测试传送门,现在很多“双核”浏览器都用它来跑分测试JavaScript引擎,分数越高越好。
2、Acid3 测试传送门,这个主要是对网页标准的兼容性测试,分数越高表示越符合网页的开发标准,满分是100分。
3、HTML5 测试传送门,测试浏览器对HTML5标准的支持,分数越高越好。
四、几个奇葩
1、IETab
这是一款浏览器扩展,并非内核。在没有第三方编译版本的时候,IETab一直是 Mozilla Firefox、Chrome等非Trident内核的浏览器的安装量最大的扩展之一,方便用户在不开启IE的情况下调用Trident内核访问一些兼容性比较差的网站。
2、Trident/Gecko双核浏览器
虽然IETab能实现部分需求,但是深度订制的毕竟还是不一样,所以Trident/Gecko双核浏览器就诞生了,Sleipnir、Avant 12(Orca)是这类里面比较常见的。Avant 12因为有Orca的前期积累,所以轻车熟路,后面还打算加入Chromium,变成三核浏览器,但是偏偏现在Mozilla Firefox和Chrome都在疯狂刷版本号,肯定有一部分精力要花在跟进版本上。
3、Trident/WebKit双核浏览器
现在国内最主流的“双核”浏览器基本都是这个架构,360极速浏览器、世界之窗浏览器极速版、傲游3、搜狗浏览器、QQ浏览器、枫树浏览器、快快浏览器、百度浏览器、阿云浏览器(后期版本)、太阳花浏览器,其中最奇葩的是傲游3。其它双核浏览器都是基于Chromium的,而傲游是基于WebKit的,但是偏偏又用的是V8引擎。
4、Trident/Gecko/WebKit三核浏览器
目前能见的应该就是日本的Lunascape,Avant增加了WebKit内核之后也会归类到这里。说实话,Lunascape真的很难用,真的很奇葩。各个内核相对独立,外壳本身不够强化,稳定性不高,所以还不如用回单核浏览器。
浏览量:2
下载量:0
时间: