浏览器与操作系统间的哪些事
IT工程师必须了解的操作系统基本概念Ubuntu新版将Firefox继续为默认浏览器
清华大学与Mozilla联合推出IPv6专用浏览器
浏览器世界的战争再起
谷歌和 Mozilla 都在开发不使用 WebKit 引擎的 iOS 浏览器
浏览器战争史:中国浏览器还有未来吗
IT工程师必须了解的操作系统基本概念
什么是操作系统?
操作系统(OS)是一种复杂的软件程序,它管理计算机硬件和软件资源,并为计算机程序提供通用服务。它是任何计算机系统的必要组件,没有它,用户无法运行任何应用程序。一些最受欢迎的操作系统包括Windows,macOS和linux。这些操作系统在设计、用户界面、功能和与不同应用程序的兼容性方面都有所不同。Windows是最广泛使用的操作系统,具有用户友好的界面和对各种硬件和软件的支持。macOS是用于Apple计算机的流行操作系统,以其安全性和稳定性而闻名。Linux是一种免费且开放源代码的操作系统,受到开发人员和重视定制和灵活性的用户的欢迎。

操作系统的主要功能是管理计算机资源,包括中央处理器(CPU)、内存、存储设备、输入和输出(I/O)设备以及其他硬件组件。操作系统将这些资源分配给不同的应用程序和进程,确保它们高效地工作且不冲突。除了管理计算机资源之外,操作系统还为计算机程序提供通用服务。这些服务包括文件管理、设备管理、安全和网络。文件管理允许用户在分层结构中创建、存储、修改和删除文件。设备管理使操作系统能够与各种硬件组件(如打印机、扫描仪和相机)进行通信。安全功能保护系统免受未经授权的访问、病毒、恶意软件和其他威胁。网络服务允许用户连接到其他计算机、设备和网络,实现通信和数据交换。
操作系统还为运行应用程序软件(如文字处理器、Web浏览器和游戏)提供平台。它提供一组库、API和工具,供开发人员在系统上创建和运行程序。操作系统确保这些应用程序与底层硬件和软件兼容,并遵循某些标准和准则。是任何计算机系统的关键组件。它为运行应用程序软件提供平台,管理计算机资源,并为计算机程序提供通用服务。它在确保计算机高效、可靠和安全工作以及用户可以有效和方便地执行任务方面发挥着至关重要的作用。
以下是IT工程师必须了解的10个操作系统基本概念。
Process Management-进程管理
进程管理是操作系统的一个功能,它处理与进程相关的各种任务,例如创建、调度、终止和同步进程。进程是正在处理器上执行的程序实例,它具有唯一的标识符(PID)、状态(如就绪、运行或等待)和各种属性(如优先级、内存分配和 CPU 寄存器),这些属性存储在称为进程控制块(PCB)的数据结构中。操作系统使用 PCB 来管理和控制进程。

操作系统执行进程管理的几个活动:
它创建和删除用户和系统进程。
它根据某个算法(如轮转或基于优先级)在 CPU 上调度进程和线程。
它在需要时暂停和恢复进程(如进行 I/O 操作或多任务处理)。
它提供进程同步的机制(如信号量或锁),以确保进程在访问共享资源时不会相互干扰。
它提供进程通信的机制(如管道或消息队列),允许进程相互交换信息。
进程管理是操作系统设计的重要方面,因为它影响系统的性能、可靠性和安全性。操作系统必须确保进程被高效和公平地执行,资源被优化和动态地分配,死锁被预防或解决,错误被优雅地处理
Memory/Storage Management内存/存储管理
操作系统的内存/存储管理是将内存或存储空间分配和释放给在计算机系统上运行的程序或进程的过程。操作系统的内存/存储管理确保每个程序或进程都有足够的内存或存储空间来执行其指令并存储其数据,而不会干扰其他程序或进程。操作系统的内存/存储管理还通过最小化碎片、重复和浪费来优化内存或存储资源的使用。

File Systems文件系统
文件系统是操作系统用于控制如何在存储设备上存储和检索数据的方法和数据结构。文件系统将数据组织成具有名称、属性、权限和其他元数据的文件和目录。文件系统还提供诸如崩溃恢复、安全性、效率和性能等功能。有许多类型的文件系统,每种都具有不同的优缺点。一些文件系统的示例包括NTFS、FAT、exFAT、ext4、btrfs、zfs等。这些文件系统在兼容性、可靠性、可扩展性、加密和压缩等方面存在差异。
文件系统对于操作系统的正常高效运行至关重要。它们帮助用户轻松安全地访问其数据。它们还帮助操作系统管理存储空间并优化设备的性能。

I/O Management I/O管理
Linux的I/O管理是控制Linux系统中不同设备和程序之间数据如何传输的过程。I/O管理涉及多个组件,例如:

I/O流:这些是从源到目的地携带数据的通道。Linux有三个标准流:标准输入(stdin),标准输出(stdout)和标准错误(stderr)。可以使用>,>>,<,|等运算符重定向这些流。例如,echo "Hello" > file.txt将echo的输出重定向到名为file.txt的文件中。
I/O设备:这些是执行输入或输出操作的硬件组件,例如磁盘、键盘、鼠标、网络卡等。Linux将每个设备视为一个文件,可以通过/dev目录下的路径访问。例如,/dev/sda是第一个磁盘设备。
设备控制器:这些是电子组件,用于在设备和其驱动程序之间进行接口。它们处理与设备的通信的低级细节,可以具有自己的处理器、内存或总线控制器。
设备驱动程序:这些是插入操作系统以管理特定设备的软件模块。它们提供了一个抽象的接口,使程序可以访问设备而不必知道其详细信息。
端口和总线:这些是设备相互通信以及与CPU通信的连接点和路径。根据其速度和功能,有不同类型的端口和总线。例如,PCI Express(PCIe)是一种高速总线,用于连接诸如图形卡和网络卡之类的设备。
Linux的I/O管理基于Unix哲学,制作能够很好地完成一件事并可以使用重定向运算符组合在一起的工具。这使得执行各种I/O任务具有灵活性和效率。
Networking网络
操作系统的网络指的是操作系统(OS)在网络上与其他设备和系统通信的能力。支持网络的OS可以使用各种协议和标准来建立连接,交换数据,并与网络上的其他节点共享资源。操作系统的网络使得许多依赖于分布式计算的应用和服务成为可能,例如云计算、网页浏览、电子邮件、文件共享、在线游戏、视频会议等等。

为了实现操作系统的网络能力,需要几个组件。这些包括提供物理访问网络媒介的网络接口卡(NIC);转发节点之间数据包的交换机和路由器;允许无线连接的接入点;传输数据的电缆或无线信号;以及处理网络逻辑方面的驱动程序、协议、应用程序和服务等软件组件。
操作系统的网络功能是现代计算系统的重要特性。它允许用户从世界任何地方访问信息和资源;它促进人们和组织之间的协作和通信;它通过提供备份和冗余选项来增强安全性和可靠性;它通过将工作负载分配给多个节点来提高性能和效率;它通过基于网络计算的新应用程序和服务来支持创新和创造力。
Boot process(Startup Management(init.d))开机过程
操作系统的开机过程是指在计算机开机时,操作系统将自身加载到内存中的一系列步骤。开机过程可以分为六个主要阶段:
BIOS:BIOS(Basic Input/Output System)是存储在主板芯片上的固件,当计算机通电时运行。BIOS执行一些硬件设备的基本检查并初始化它们。它还会搜索包含引导加载程序的可引导设备(例如硬盘、CD-ROM或USB驱动器)。
MBR:MBR(Master Boot Record)是可引导设备开头的一个特殊扇区,其中包含引导加载程序和分区表。BIOS将MBR加载到内存中并执行它。
引导加载程序:引导加载程序是一个程序,用于定位并将内核(操作系统的核心)加载到内存中。引导加载程序还可以显示菜单,允许用户从设备上安装的不同操作系统或内核版本中进行选择。一些引导加载程序的例子包括GRUB、LILO和rEFInd。
内核:内核负责管理操作系统的所有方面,例如内存、进程、设备、驱动程序、文件系统、网络等等。内核挂载根文件系统(操作系统的主目录)并执行init程序。
init:init程序负责初始化各种服务和程序,这些服务和程序是正常操作操作系统所需的。它还设置不同的运行级别(操作模式),这些级别根据用户需求确定启动或停止哪些服务。init.d是指linux操作系统中的一种服务管理方式,它使用/etc/init.d目录下的脚本来启动和停止各种服务。init.d是一个守护进程,它是Linux系统的第一个进程,它负责启动其他进程、服务、守护进程和线程。因此,init.d是init进程的配置数据库。要使用init.d来管理服务,可以直接运行/etc/init.d目录下的脚本,并传递start、stop、status或restart参数。例如,要启动ssh服务,可以运行/etc/init.d/ssh start。要检查ssh服务的状态,可以运行/etc/init.d/ssh status
用户界面:用户界面是允许用户使用图形或文本元素(例如窗口、图标、菜单、命令等)与操作系统交互的部分。用户界面可以由不同的程序提供,例如X Window System(用于图形界面)、bash(用于命令行界面)或登录管理器(用于登录用户)。
POSIX(可移植操作系统接口)
POSIX是由IEEE计算机学会指定的一系列标准,用于维护操作系统之间的兼容性。其定义了系统级别和用户级别的应用程序编程接口(API),以及命令行shell和实用程序接口,以实现与Unix和其他操作系统的变体的软件兼容性(可移植性)。

POSIX的出现是为了使应用程序在不同的系统之间更加可移植。在计算机发展的早期,程序员必须为每个计算机模型和操作系统重写他们的应用程序。这种情况在IBM推出其System/360系列计算机时开始发生改变,这些系统都可以运行相同的操作系统OS/360。有了这些新系统,可以制作更多可移植的应用程序,节省了大量的开发时间。
POSIX支持源代码级别的应用程序可移植性,因此应用程序可以构建为在任何POSIX兼容操作系统上运行。 POSIX接口旨在供应用程序和系统开发人员使用。
SocketS套接字
套接字是一种通信机制,允许进程在不同的机器或同一机器上交换数据。套接字是操作系统(OS)的一部分,为应用程序提供了使用网络协议,如TCP/IP或UDP的接口。套接字可以分为两种类型:流套接字和数据报套接字。流套接字提供了两个端点之间可靠、有序和双向的连接,而数据报套接字提供了不可靠、无序和单向的连接。套接字也可以通过它们的域来区分,该域指定它们使用的地址格式和协议族。例如,Internet域套接字使用IP地址和端口号来标识端点,而Unix域套接字使用文件系统路径来标识端点。通过调用socket()函数来创建套接字,它将返回一个文件描述符,可用于在套接字上执行各种操作,例如bind(),listen(),accept(),connect(),send(),receive()等等。

操作系统的安全级别分类
20世纪80年代,美国国防部根据军用计算机系统的安全需要制定了《可信计算机系统安全评价标准》TCSEC,其将计算机系统安全分为4类7级:
D:最低安全级别
C1:自主存取控制
C2:较完善的自主存取控制(DAC)、审计
B1:强制存取控制(MAC)
B2:良好的结构化设计、形式化安全模型
B3:全面的访问控制、可信恢复
A:形式化认证、最高安全级别
中国由公安部主持制定的国家标准GB17895-1999《计算机信息系统安全保护等级划分准则》,于2001年1月1日开始实行,其将信息系统安全分为5个等级:
第一级:用户保护级
第二级:系统审计保护级
第三级:安全标记保护级
第四级:结构化保护级
第五级:访问验证保护级
1985年,美国国防部提出可信计算机系统评测标准TCSEC(习惯上称橘皮书),TCSEC将系统分成ABCD四类7个安全级别。D级是安全级别最低的级别,C类为自主保护级别;B类为强制保护级别;A类为验证保护类,包含一个严格的设计,控制和验证过程。
当前主流的操作系统安全性远远不够,如 UNIX/Linux 系统,Windows NT都只能达到C2级,安全性均有待提高,但是一般上说是4级。D1级计算机系统标准规定对用户没有验证,也就是任何人都可以使用该计算机系统而不会有任何障碍。
D1 级
D1级的计算机操作系统包括:MS-DosMS-Windows3.xe及Windows95(不在工作组方式中)。
C1 级
C1级系统要求硬件有一定的安全机制(如硬件带锁装置和需要钥匙才能使用计算机等),用户在使用前必须登录到系统。C1级系统还要求具有完全访问控制的能力,经应当允许系统管理员为一些程序或数据设立访问许可权限。C1级防护不足之处在于用户直接访问操作系统的根,C1级不能控制进入系统的用户的访问级别,所以用户可以将系统的数据任意移走。
常见的C1级兼容计算机系统如下所列:UNIX 系统XENIX Novell3.x或更高版本Windows NT3。
C2 级
C2级在C1级的某些不足之处加强了几个特性,C2级引进了受控访问环境(用户权限级别)的增强特性。这一特性不仅以用户权限为基础,还进一步限制了用户执行某些系统指令。授权分级使系统管理员能够分用户分组,授予他们访问某些程序的权限或访问分级目录;另一方面,用户权限以个人为单位授权用户对某一程序所在目录的访问。如果其他程序和数据也在同一目录下,那么用户也将自动得到访问这些信息的权限。C2级系统还采用了系统审计,审计特性跟踪所有的“安全事件”,如登录(成功和失败的),以及系统管理员的工作,如改变用户访问和口令。
常见的C2级操作系统有:UNIX 系统Novell3.x或更高版本,Windows NT4。
B1 级
B1级系统支持多级安全,多级是指这一安全保护安装在不同级别的系统中(网络、应用程序、工作站等),它对敏感信息提供更高级的保护。例如安全级别可以分为解密、保密和绝密级别。
B2 级
这一级别称为结构化的保护(Structured Protection)。B2 级安全要求计算机系统中所有对象加标签,而且给设备(如工作站、终端和磁盘驱动器)分配安全级别;如用户可以访问一台工作站,但可能不允许访问装有人员工资资料的磁盘子系统。
B3 级
B3级要求用户工作站或终端通过可信任途径连接网络系统,这一级必须采用硬件来保护安全系统的存储区。
A 级
这是橙皮书中的最高安全级别,这一级有时也称为验证设计(ve-rified design)。与前面提到各级级别一样,这一级包括了它下面各级的所有特性。A级还附加一个安全系统受监视的设计要求,合格的安全个体必须分析并通过这一设计。另外,必须采用严格的形式化方法来证明该系统的安全性;而且在A级,所有构成系统的部件的来源必须安全保证,这些安全措施还必须担保在销售过程中这些部件不受损害。
Service Management(system.d)服务管理
Service Management(systemd)是指为Linux操作系统提供一系列系统组件的软件套件。systemd的主要目的是在Linux发行版之间统一服务配置和行为。

systemd的核心组件之一是系统和服务管理器,它是用于引导用户空间和管理用户进程的init系统。它还提供了各种守护进程和实用程序的替代品,例如设备管理、登录管理、网络连接管理和事件日志记录。
Systemd允许用户使用systemctl命令管理服务,该命令可以启动、停止、重启、重新加载、启用、禁用或屏蔽服务。它还可以列出系统上所有可用的单元文件,这些单元文件可以是服务(.service)、挂载点(.mount)、设备(.device)或套接字(.socket)。
Thread and Concurrency线程和并发
线程和并发是操作系统中的两个重要概念。线程是在进程内可以独立运行的基本执行单元。一个进程可以有多个线程,它们共享同一地址空间和资源。并发是操作系统同时或交错地执行多个线程或进程的能力。并发可以通过利用多个处理器或核心,或者通过将计算与 I/O 操作重叠来提高系统的性能和响应性。然而,并发也会带来挑战,如同步、死锁、竞态条件和内存一致性等问题。

无论您是程序员或者工程师,了解操作系统的基本定义是必要的。在此简要介绍了操作系统的定义以及一些相关概念,如虚拟化、引导管理、POSIX、套接字、服务管理和线程并发等。它还包括Linux操作系统中的init.d和systemd服务管理方法,以及操作系统的引导过程和用户界面。但是要深入学习更详细的内容还需要参考相关书籍和教程。
Ubuntu新版将Firefox继续为默认浏览器
Mozilla 以透明、选择、信任为基础,除了要提供绝佳的使用体验之外,也致力让 Firefox 能跨多平台、多设备,或多操作系统。而 Mozilla 与 Canonical 今天更新了双方的合作关系,让 Ubuntu 继续以 Firefox 为其默认浏览器。Mozilla 很荣幸已和 Ubuntu 合作超过 10 年。Canonical 的背景与 Mozilla 类似,也属于开源且有赖于社区从旁协助的组织。

Ubuntu 最新发布的 16.04 版本将导入「snap」封装架构。通过此 snap 格式,Mozilla 即可持续针对 Ubuntu 而进行 Firefox 的优化。就如同 Firefox 的版本发布周期一样,即便已经过了操作系统的主要发布日期,snap 格式也可让 Linux 用户随时享受最新的功能,特别是重要的安全性修复。在此之前,Firefox 各个版本都是固定随着新版本的操作系统一同发布,但通过 snap 格式,旧版操作系统的用户也可同步享受最新功能。今年内,Mozilla 就会提供 snap 格式的 Firefox,以便更轻松的将浏览器推送给用户,而不用再依赖其它媒介才能让用户接收更新文档。
Ubuntu 的 Snap 格式 Firefox 的启动时间大为缩短
2022年7月上旬消息,Snap 版本的 Firefox 是 Ubuntu 22.04 LTS 的默认 Firefox 包装,Snap 格式提高了安全性,提供了跨版本兼容性,并缩短了 Mozilla 推送改动的时间。而这些好处的代价是 Snap 格式的 Firefox 性能存在大问题,启动时间超长,尤其是在系统重启后首次启动 Firefox 时。Canonical 一直在进行各种改进,以解决 Firefox Snap 的启动时间问题。随着最新的改进推送到 Firefox Snap,Firefox Snap 的启动时间减少了大约 50%。这次性能优化主要在于两个重大改进。首先是关于 Firefox 如何处理语言包的变化,第二个是对 Firefox 所依赖的 GNOME 和 GTK 主题快照的更新。
扩展处理之语言包:之前Firefox在第一次启动时会复制所有语言包,这是一个巨大且不必要的开销,因为大多数人只使用一种用户界面语言运行 Firefox,例如中文、英语或法语。Mozilla 的最新修复让 Firefox 一次只加载一种语言(跟随系统设置),这影响安装后首次启动 Firefox 的时间,测试表明平均减少了大约 6 秒。
GNOME 和 GTK 主题快照压缩:此前 Canonical 已对 Firefox snap 使用 LZO 压缩,来提高 Firefox 的启动性能。但其没有考虑的是 Firefox snap 依赖于 gnome-3-38-2004 和 gtk-common-theme snap,它们仍然使用 XZ 算法压缩交付。由于 Firefox snap 在启动期间会从这两个 snap 中加载库,因此解压缩过程可能会造成性能瓶颈。
将这两个快照的压缩算法也切换到 LZO 之后,便可以进一步改善 Firefox 的启动时间。另一个好处是,此更改不仅会影响 Firefox,还会影响依赖于 GNOME 和 GTK 快照的所有快照的开始时间,包括 Chromium 和 Thunderbird。此外,据外媒报道,接下来 Canonical 将研究多线程解压缩、解决 Firefox 在 Raspberry Pi 上使用的软件渲染问题,并探索预缓存。 通过 Ubuntu 博客可了解有关最新 Firefox Snap 进展的更多详细信息。
清华大学与Mozilla联合推出IPv6专用浏览器
清华大学与Mozilla中国于2011年1月推出了一款合作研发的紫狐浏览器,该浏览器基于Firefox内核,主要的特色是通过IPv6隧道技术能访问平时不太稳定的IPv6、Facebook和一系列Google服务等。据了解,紫狐浏览器由清华大学互联网服务与系统研究中心与Mozilla中国合作研发,主要面向清华大学校内网络,但也已经提供绿色版下载。目前仍处于早期版本为V1.0.6,绿色版软件大小不到16MB。
据亚太互联网络信息中心(APNIC)首席科学家Geoff Huston预测,IPv4地址将于58天内分配完,而IPv6也被认为是目前唯一能解决IP地址短缺的可行途径。目前不少国内高校的主要校内网站都已全面支持IPv6,清华大学还部署了IPv6的即时通信、IPv6电话和IPTV系统等。Mozilla基金会下的Firefox(火狐)则是全球排名第二的浏览器产品,根据NetApplications的最新数据,截至2010年11月份,Firefox份额为22.81%,排名第二,微软IE为58.41%,仍然盘踞第一。
浏览器世界的战争再起
2021年8月中旬消息,Windows 11 加大了切换默认浏览器的难度,引起 Google 和 Mozilla 的不满:微软早前已经推出了 Windows 11 的预览版,相比 Windows 10,Windows 11 在整体 UI 和体验方面有很多变化。虽然有些变化受到了用户和微软合作伙伴的欢迎,但也有些变化反而引发了其他厂商和用户的不满。如今微软在 Windows 11 中对用户如何修改默认浏览器的改变,就引发了其竞争对手如 Chrome、Firefox、Opera 和 Vivaldi 的不满。
在 Windows 11 中,微软改变了设置默认应用程序的方式。用户在系统设置界面需要对 HTM、HTML、SHTML、XHT、XHTML、FTP、HTTP、HTTPS、WEBP、PDF 和 SVG 等文件类型进行单独设置,这意味着你现在必须按文件或链接类型设置默认应用程序,而不像以往有一个单一的开关。微软在 Windows 11 中的这个变化,提升了用户修改的难度,尤其是对那些只想更换默认浏览器但对这些文件格式和网络协议不太清楚的“小白”用户。与 Windows 10 相比,这似乎是一个没什么必要且过于繁琐的过程。不管怎么说,这一点引发了 Edge 浏览器竞争对手们的不满。
Firefox 的高级副总裁 Selena Deckelmann 表示:"我们对 Windows 上的这一变化越来越担心,自 Windows 10 以来,用户不得不采取额外的和不必要的步骤来设置和保留他们的默认浏览器选择。这些障碍似乎旨在破坏用户对非 Edge 浏览器的选择。"并非只有 Mozilla 有这样的担忧,Vivaldi 的发言人表示:"微软有这样做的黑历史,而且似乎他们正逐渐变得更糟。随着每一个新版本的 Windows 发布,想要改变默认设置也变得越来越难。微软明白,他们能让人们使用他们自己浏览器的唯一方法就是锁上他们。"
即便用户费尽千辛万苦修改了默认浏览器,微软在 Windows 11 上新增的一些功能上也会忽略默认浏览器的设置,强制使用 Edge 浏览器。距离 Windows 11 正式推出的时间已经不远了,微软肯定已经听到了这些不满的声音,非常清楚这些变化是不受用户和竞争对手所欢迎的。那么微软会做出改变吗?我们将在几个月后看到答案。
谷歌和 Mozilla 都在开发不使用 WebKit 引擎的 iOS 浏览器
2023年2月中旬消息,谷歌和 Mozilla 都在开发不使用 WebKit 引擎的 iOS 浏览器,而根据苹果当前的 App Store 政策,iOS 浏览器应用程序必须使用系统内置的 WebKit 引擎。因此这些正在开发的 iOS 浏览器目前无法通过 iOS App Store 进行分发。
当下主流的浏览器开发商 —— 苹果、谷歌和 Mozilla 都开发了自己的浏览器渲染引擎,其中苹果的 Safari 基于 Webkit,谷歌的 Chrome 及其开源 Chromium 基于 Blink(十年前 fork 自 WebKit),而 Mozilla 的 Firefox 则是基于 Gecko。微软也在已淘汰的 Internet Explorer 中开发了自己的 Trident 渲染引擎,并在旧版 Edge 中开发了一个名为 EdgeHTML 的 Trident 分支,但它自从将其 Edge 浏览器重新基于 Chromium 构建,便一直依赖于 Blink。
然而在 iOS 生态中,这些厂商面向 iOS 平台开发的浏览器只能按苹果的要求使用 WebKit 引擎。毫无疑问,苹果此举招致了许多批评,其自身也受到了来自政府部门的压力。去年有报道称,在面对欧盟和多个国家政府的施压后,苹果正计划向第三方应用程序开放更多的 iOS 功能,其中就包括浏览器引擎。Mozilla 发言人表示:“我们遵守苹果的 iOS 应用商店政策,目前只是做一些探索性工作,以了解如果这些政策发生变化,我们在 iOS 上开发基于 Gecko 的浏览器会面临的技术挑战。我们希望有一天人们可以自由地决定使用他们所选择的浏览器,包括有机会选择支持它的引擎。”
浏览器战争史:中国浏览器还有未来吗
“生钱的工具,待宰的羔羊”——这似乎就是国产浏览器给国内用户打上的标签。不注重与用户的互动体验、疯狂投放广告、没有魄力去研发国产内核——国产浏览器已经背负“垃圾”的骂名很久了,似乎脸皮也是越来越厚,竟然也偶尔造点假博博眼球。2018年,自诩为“打破美国垄断,中国首个自主创新智能浏览器内核”的红芯浏览器横空出世,结果被网友们扒得底裤都剩不下,因为它完全就是个套牌货。多点实际,多点真诚,这成了网友们对国产浏览器最基本的要求,可是连这么简单的要求都没法实现。那么,国产浏览器究竟多么垃圾?中国的浏览器真的还有未来吗?
一、国产浏览器到底多垃圾?
正如同衣食住行一般,浏览器已经成为我们生活中不能缺少的部分,看看新闻、搜索问题……没有浏览器的话,这些事情都不太好办。2022年年初,分析机构Statcounter公布了全球浏览器的调查报告,揭露了各大厂商浏览器的市场份额,结果却是令人大跌眼镜。排名第一的浏览器是谷歌浏览器,它以占据全球市场65.38%的市场份额独占鳌头,在它之后就是Safari浏览器。排名前五的浏览器里还有我们耳熟能详的Edge浏览器、火狐浏览器。但是没有一家是中国浏览器。作为全球网民数量最多的国家,网民每天和网络世界打交道,用的竟然不完全是国产的浏览器,这不得不令人感到有些尴尬。
其实要是说起国产浏览器的话,百度浏览器、搜狗浏览器、UC浏览器、QQ浏览器——这哪一个不是人们耳熟能详的呢?
但是相较于那些颇受欢迎的国外产的浏览器,国产浏览器频频遇冷,更是被一些网友称为“垃圾”,面上无光。细数这些国产浏览器的“风光往事”,但凡懂点电脑知识的计算机爱好者都忍不住摇头叹息。倘若读者朋友曾遇到过电脑中毒,或者说是电脑卡顿这样的危急问题,一般维修工程师的第一个问题都是问:
“你这台电脑装360浏览器了吗?还是装的2345浏览器?”
言下之意相当明确,那就是如果电脑出了问题,得首先考虑是这些国产浏览器惹出的麻烦。在差不多十年之前,在电脑圈里有这样一个段子:某人之前也曾下载过2345浏览器,结果他有的不仅仅是一个浏览器,因为2345浏览器还顺带着给他下载了一堆游戏,不时地还有各种广告跳出来,令人苦不堪言。这个人不堪其扰,就去2345浏览器上搜索怎么卸载2345浏览器的办法,一则搜索消息是“下载360全家桶,强力卸载2345浏览器”。这个人喜出望外,忙不迭地下载了360全家桶,结果呢?2345浏览器相关的内容被清扫得干干净净,360全家桶又给他带来了了一堆新鲜出炉的广告。被折腾的筋疲力竭的这位电脑小白,最终出高价买了国外的付费杀毒软件,才算是逃离了苦海。
这个段子的结尾还有一句颇为凄凉的话:“一入国产浏览器之坑深似海,有了国产浏览器,自己的电脑也就不再是自己的了。”
当年的360浏览器以安全著称,最后却自己给自己戴上了“流氓软件”的帽子;与360浏览器几乎同一时代的还有QQ浏览器,它的背后是强大的阿里集团,也曾吸粉无数,却免不了走向没落;万千读者追书用的UC浏览器,如今得到了阿里巴巴的入驻,但也再现往日的风光,在一堆国产浏览器里半死不活。当然了,这都是些往事,这些浏览器的路都是自己走出来的,未来能不能摆脱“垃圾”的帽子,还得凭自己的真本事。如今,国内各大高校和科研单位首选的浏览器是谷歌浏览器,人称“开发者必备的利器”,当然也是普通用户们的不二之选。无论是安全性能,还是对各个软件的兼容性,谷歌浏览器都是拔尖的好。想必一些读者会有这样的疑问:说了那么多浏览器,是不是唯独漏掉了IE浏览器呀?那可是当年大名鼎鼎的浏览器霸主。其实,IE浏览器从未被世人忘记,因为正是这一浏览器引领了世界浏览器的战争史。
如火如荼的浏览器战争史
World Wide Web,短短的三个英文单词构成的这个名字,正是人类史上第一款浏览器的名称,简称WWW。不同于现在的浏览器,那个时候人们并不知道怎么利用浏览器来变现。后来,大名鼎鼎的网景通讯公司被创立,并在1994年发布了它的第一个浏览器版本。浏览器的价值是极其之大,在1995年网景公司公开募股的时候,每股股票的价格已经来到了75美元,这是一个令人咋舌的高价,而从公司创立到收获如此高的股价,网景公司用了仅仅16个月。彼时在硬件领域苦苦钻研的微软果断出手,买下了另一款浏览器,开发了IE浏览器——这也就引发了第一次浏览器大战。
这场战争对于很多国人来讲是陌生的,因为当时,私人电脑并未在国内得到普及。网景和微软为了赢得这场战争,疯狂地迭代各自的产品,万千观众看得眼花缭乱。苦战之后微软终于给出了自己的杀手锏,将微软的Windows操作系统和IE浏览器捆绑销售,阵脚大乱的网景开始急病乱投医,最终失去了民心、丢掉了市场。当然,微软也并非安然无恙。由于将操作系统和浏览器进行捆绑销售,微软也受到了美国反垄断法的调查。2003年7月,开天辟地的网景公司正式解散,微软公司仅仅赔偿7.5亿美元。
从21世纪开始的第一年,IE浏览器就展现了它非同凡响的独特魅力,用短短三年的时间占据了全球超过80%的市场份额。巨大的财富让IE浏览器逐渐的懒惰散漫,版本迭代的速度越来越慢,从一年一更新变成两年一更新,最后变成了五年一更新。众所周知的是,21世纪正是互联网飞速发展的时期。各类编程软件和操作系统层出不穷,互联网社区更是发展成为了全球活跃用户数最多的社区,人们都愿意为一个项目去贡献自己的idea(想法),一起搭建高楼大厦。2004年,第二次浏览器战争爆发了:火狐浏览器横空出世,随后美国苹果公司开发出了应用于移动端的Safari浏览器,谷歌浏览器也后来居上——IE浏览器的时代结束了。
在此期间,国产浏览器后知后觉,慢慢地开始了发展之路。那时,国产浏览器似乎一直都在走IE浏览器的老路。当年IE浏览器因为垄断才战胜了网景浏览器,后来又因为不重视与用户的互动体验,才被其他浏览器才是市场份额。如今的国产浏览器,大抵也都是这个老样子。国产浏览器在发展的一开始就给人一个感觉——“本事不大,脾气不小”。只要你有钱投广告,那我这个浏览器在打开的时候就先给你放上十秒的广告,完全不在乎用户的感受;只要我这个浏览器觉得这个功能你这个用户必须用,那我就要一直的给你推荐,除非你真正的点开、注册、登录,否则不会善罢甘休。而在崭新的互联网时代,用户与浏览器的互动体验一直都是一个重要的打分项,国产浏览器却对此并不重视,这也就难怪被用户称之为“垃圾”了。
别看国产浏览器的注册数量都累计近百个,但实际上没有一个能打的,甚至连一个及格的都没有。以至于很多网友在网上发问:“国产浏览器是摆烂了吗?”当然,一味的消沉不可取,国产浏览器究竟有没有未来,这才是我们所关心的。
三、国产浏览器还有未来吗?
想要看看国产浏览器有没有未来,不妨从2018年的红芯浏览器造假事件说起。当年8月16日,红芯浏览器大打“爱国牌”,称已经完全打破了美国的垄断,研发了有国产内核的浏览器。

(造假的红芯事件)
结果还没轮得到打假人士来观摩观摩,一些细心的网友就发现,所谓的红芯浏览器就是谷歌浏览器换了层皮儿。下载了红芯浏览器之后,完成解压就发现竟然是谷歌文件的版本号!“洋相”尽出的红芯新浏览器迅速攻关,称“存在一定程度的夸大”,此后竟然是不了了之了。
在中美摩擦的大背景下,一些国产浏览器公司奋发图强是好事,但是这么浮躁就不太好了。崇高的爱国情怀也没法替代科技发展的客观规律,中国浏览器虽然很多,但没有一款浏览器的心脏是属于自己的。这里的“心脏”就是浏览器的内核,所有的国产浏览器公司都得从外国去买、去租。而之所以会导致这样的情况,原因自然是多方面的。一方面,我国浏览器起步实在太晚,很多研发标准在几十年前就确定下来了,想要入局浏览器的研发工作,就必须遵照人家制定的标准,这就形成了国产浏览器研发路上的第一只拦路虎。另一方面,为什么国内的浏览器不去研发自己的内核呢?就是因为成本太高,不想也不敢去做。如今称霸市场的谷歌浏览器,有着接近两万四千行的代码。谷歌浏览器最艰难的时刻,曾招募了数千名硅谷程序员日夜研发内核。

(浏览器内核,无一国产)
从2008年谷歌浏览器正式推广新内核开始,迄今已经过去了整整十五年的时间。如果只算人力成本的话,按照谷歌程序员25万美元的年薪计算,一年的研发公司就差不多得有三亿美元,十五年就是45亿美元。而这还不包括各类硬件的更新,研发过程试错的环节,以及谷歌浏览器的推广成本。假如把这些全部加上的话,成本已经超过了上百亿美元。放眼国内所有的互联网公司,尚没有能望其项背者。其实如前文所说的,互联网本身是一个十分开放的社区,各类开源的资料应有尽有,大名鼎鼎的火狐浏览器也是一个开源的项目。所谓的开源,就相当于人家告诉你这个东西每一步该怎么去做,会做到什么样的结果。因此互联网是鼓励创新的,倘若是说国产浏览器的希望在哪,那就得说是要站在巨人的肩膀上创新了。
但是呢?国产浏览器真的能把握住这个希望吗?
华为创始人就曾恨铁不成钢的说道:“芯片急是急不得的……要踏踏实实,才不能泡沫式地追赶。”这句话放在国内那些国产浏览器公司身上同样适用,因为这些公司比较短视,也比较浮躁。风口在哪儿,他们就向哪里跑。比如说如今自动驾驶火爆全球,百度也就懒得再细心维护他的浏览器了,而是开发了自动驾驶研发部,去追逐自动驾驶了。当然,这不是说百度公司的战略方向有什么问题,只是国内市值这么高的一家龙头互联网企业,都一度对浏览器领域不闻不问,其他的小公司又能有什么信心呢?没了核心竞争力,哪来的底气呢?只能跟着风跑,左右摇摆,怎么赚钱怎么来,又怎么能迎来真正的国产之光呢?
结语:“恨铁不成钢”这句话用在国内的科技公司身上似乎是最适合不过了。再回过头去看红芯公司,他就是一个活脱脱的机会主义者嘛!他从互联网社区里获取了开源的代码,却没有在自己的浏览器中注明这段代码的来源,这与开源的原则相违背;尽管红芯浏览器也在浏览器中加入了一些独特的内容,但也都是把各类前人都做好的内容糅杂在一起,和自主创新之言相去甚远。其实,红芯浏览器这种打着“自主创新”的名号骗科研经费、打着商业算盘的公司才是真正阻碍国内科技公司发展的毒瘤。
扯大旗做虎皮赚吆喝,谁不会呢?但唯有踏踏实实的一步步走下去,甘愿坐冷板凳,“才有希望到达光辉的顶点”。国产浏览器的发展,中国科技的发展,任重而道远!
四、浏览器的开发比操作系统都难吗
浏览器一定是世界上最难开发的通用软件!没有之一。以谷歌浏览器的内核为例啊,如果说把谷歌浏览器源码完整的下载下来,可能需要十六个g这么多,还没完呢?
如果编译完的话,大概有一百多G,十六个G的文本,不敢想象,几千万行的代码一点都不夸张。单单拎出来一个模块都是巨大无比的一个系统工程。像这些模块,随便拿一个出来都够写好几本书了。而且还要让这些模块之间要完美的在一起工作,这个复杂程度难以想象。浏览器的复杂程度不比windows本身这个操作系统从0开始开发简单,代码量甚至超过windows。微软也是w3c成员,标准也有他的一份,微软之所以不做内核了真实原因就是自己做不出来那么强大的浏览器内核,反而离谷歌越来越远,没办法只能抛弃,拥抱谷歌,并不是因为成本问题。
消费级浏览器主流有IE和Chrome两种内核,消费级处理器也有AMD和Intel两家,浏览器开发的难度可见一斑。目前大多数浏览器内核都是Chromium内核。Chromium是谷歌发起的开源项目,但全世界各地的人都有贡献,也有很多中国的开发者在提交代码。这代码集中了全世界各地顶尖开发人员花费数十年以上的时间才开发成的,不比重新激发一套操作系统简单。
最关键的是这东西是完全开源的,一行代码都没闭源,这也是为啥各家浏览器都可以用他的原因。不光浏览器,在世界上很多知名的App里面都可以看到这个开源项目的代码。
“站在巨人肩膀上”、“不重复造轮子”一定程度上限制了技术发展,互联网公司做事情最喜欢谈“价值”,做什么不重要,重要的是做的事情产生了什么价值,从头研发不符合互联网公司的价值观。W3C制定标准,有中国人的,不少标准还是国内厂商提的。难的不是标准,而是生态,没办法再从底层重新搞一套,并且浏览器重点在推广和生态,当时起的晚了,用户习惯都已经成形。
微软淘汰 Windows 中部分旧版网页组件
微软于2025年9月更新了 Windows 客户端版本中不推荐使用功能的清单,提醒用户一些操作系统组件即将被淘汰。本次调整主要涉及与 EdgeHTML 和 Windows 8 系列上的网页应用相关的一系列旧版网页组件,但用户无需担心日常功能受到影响。被淘汰的组件包括:Legacy Web View、Windows 8/8.1/UWP HTML/JavaScript 应用(又称托管网页应用和 Windows 网页应用)、旧版渐进式网页应用(Legacy PWA)、以及旧版 Microsoft Edge(EdgeHTML)开发工具。
微软已不再对这些基于已停产 EdgeHTML 引擎的部分进行开发。EdgeHTML 是 Windows 10 时期原版 Edge 浏览器的核心引擎,后被基于 Chromium 的新 Edge 浏览器取代。其建议开发者转向 WebView2、基于 Chromium 的渐进式网页应用(PWA)以及其他受支持的网页技术。尽管如此,微软尚未完全终止对这些组件的支持和安全更新,目前也未公布停止支持或移除的确切时间。唯一的变化是这些组件如今被正式列为不推荐使用,开发者今后不应期待这些组件获得新特性。
微软在支持文档中指出:“这些基于 EdgeHTML 引擎的组件已停止主动开发,正在逐步淘汰。虽然目前未确定具体的终止支持日期,但这些组件未来将不再获得新的功能和安全更新,并将在 Windows 后续版本中被移除。”此外,WMIC 和 PowerShell 2.0 等功能也已被微软淘汰。