无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: 不点
打印 上一主题 下一主题

收集微内核操作系统的资料

    [复制链接]
31#
发表于 2019-12-4 23:25:04 | 只看该作者
除了Linux,我还真不知道有其他"能用"的开源操作系统。
我在三个月前完全放弃Windows,使用的Linux发行版是Manjaro。


屮觉得只有没有三个依赖的情况下才能完全放弃windows:
1、不依赖各种复杂windows游戏;
2、不依赖各种行业windows应用软件;
3、不依赖各种只有windows驱动的专门硬件;

屮年纪大了,能够不怎么玩游戏了,但氏2,3的依赖不可能去除,虽然屮用windows的时侯很少。

开源桌面系统,除了Gnux之外,其实还有freeBSD、netBSD、Minix发行版。
不过它们相比Gnux系统,硬件支持更差,配套可用软件也更少些,使用体验还比不上Gnux。。。




点评

我常玩的Steam游戏都有Linux版本。 我用的相关软件也有Linux版本。 没有。 我换成Linux是因为Win10更新之后各种驱动都出现了问题,根本没法用。 之前用Windows也是主要用它的WSL环境,更新之后WSL经常出  详情 回复 发表于 2019-12-5 09:45
回复

使用道具 举报

32#
发表于 2019-12-5 09:45:40 | 只看该作者
gnuxwy 发表于 2019-12-4 23:25
屮觉得只有没有三个依赖的情况下才能完全放弃windows:
1、不依赖各种复杂windows游戏;
2、不依赖各 ...

1、不依赖各种复杂windows游戏;

我常玩的Steam游戏都有Linux版本。
2、不依赖各种行业windows应用软件

我用的相关软件也有Linux版本。
3、不依赖各种只有windows驱动的专门硬件;

没有。
我换成Linux是因为Win10更新之后各种驱动都出现了问题,根本没法用。
之前用Windows也是主要用它的WSL环境,更新之后WSL经常出问题。
回复

使用道具 举报

33#
发表于 2019-12-9 20:46:13 | 只看该作者
我常玩的Steam游戏都有Linux版本。
我用的相关软件也有Linux版本。
没有。
我换成Linux是因为Win10更新之后各种驱动都出现了问题,根本没法用。
之前用Windows也是主要用它的WSL环境,更新之后WSL经常出问题。


W大牛比。。。竟然具备条件能完全放弃windows,屮氏做不到。。。

屮去W大的签名网址瞧了瞧,产品很丰富啊,而且还看到‘鲁班lub’也列于产品当中!
这引起了屮的回忆!

请问下W大,以前在ubuntu中文论坛用billbear这个账号玩过么?
屮最早知道 lub 就氏在 ubuntu 中文论坛得知的。。。 当然,近两年屮用debian要多些。。。



点评

那个是备份. 是修改过的用于Debian的版本.  详情 回复 发表于 2019-12-10 21:42
回复

使用道具 举报

34#
 楼主| 发表于 2019-12-10 19:26:04 | 只看该作者
rt-thread 的 License 从 GPL 改为 Apache,引起我对授权协议的思考。

首先,每个协议都有它的特点,没有绝对的好坏之分,只有不同角度的不同倾向性。

多年来我都倾向于 GPL。但 Linux 内核存在的问题,让我对 GPL 也不那么迷信了。

我认识到,一个开源协议,它本身的优劣可能并不重要;重要的是,由什么人来维护软件。就是说,协议本身可能是很好的,但维护者出了问题,软件就会出问题。这跟该软件采用何种开源协议,已经没有太大关系了。

一个像 Apache 那样更加开放的协议,可能是比较好的。

GPL 保护弱者,是想让弱者能够投入开发。但是,在现实社会中,弱者太弱,没有硬件话语权,容易被强者扫荡。GPL 在保护弱者的时候,无形之中也会伤害强者。这就会引来强者的敌视(“毒瘤”说,大家都记得吧)。强者掌握硬件生产权,弱者手无寸铁,无法保护 GPL 软件。GPL 的短板显现。

像 Apache 之类的协议,它并不特别保护弱者。也因此,它引来的“敌视”就不太严重。不过,虽然强者的敌视减少了,但来自弱者的敌视却可能增加了。

然而,软件不能靠吃瓜的门外汉来推动,还得靠生产者来推动。所以,弱者的敌视,可以忽略不计。基于这样的考虑(也即在这样的前提之下),那么 Apache 之类的协议,比 GPL 更好。
回复

使用道具 举报

35#
 楼主| 发表于 2019-12-10 21:35:34 | 只看该作者
谈罢了授权协议,再来说说 CPU。

最近一直在说“生产者”,而 CPU 就是“生产者”生产出来的。所以,无论 CPU 是啥,对于最终的瓜子们来说,都是“大眼瞪小眼”,或者说,八杆子打不着。无论 CPU 是先进还是落后,它距离最终的瓜子用户都很遥远,那是生产者的事,即使瓜子们想管,也管不着。

结论就是:不用区分 CPU 架构的好坏。哪个电脑你买得起、哪个电脑便宜、哪个电脑性能好、哪个厂家你信得过,你就买哪个。
回复

使用道具 举报

36#
发表于 2019-12-10 21:42:32 | 只看该作者
gnuxwy 发表于 2019-12-9 20:46
W大牛比。。。竟然具备条件能完全放弃windows,屮氏做不到。。。

屮去W大的签名网址瞧 ...

那个是备份.
是修改过的用于Debian的版本.
回复

使用道具 举报

37#
 楼主| 发表于 2019-12-10 23:36:37 | 只看该作者
本帖最后由 不点 于 2019-12-10 23:37 编辑

Redox 操作系统


https://redox-os.org

一个用 Rust 编写的类 Unix 操作系统,旨在将 Rust 的创新引入现代微内核和全套应用程序中。在保持适度的 Linux API 兼容性的同时,Redox 不怕丢掉 POSIX 的缺点。


这句比较有吸引力:保持适度的 Linux API 兼容性。


我想,推而广之,任何一个微内核的操作系统,都有可能在其上增加一个 Linux 兼容层。



回复

使用道具 举报

38#
 楼主| 发表于 2019-12-11 10:44:33 | 只看该作者
gnuxwy 发表于 2019-11-29 22:50
确实氏‘反例’,而不氏范例!
因为hurd开发了三十年,仍然不够成熟,至今不敢用于生产环境,所以至今版 ...
优异的性能,良好的架构,平台移植性、维护性、扩展性

确实,这些都很重要。


目前有没有哪个 OS 比较接近这个目标?
回复

使用道具 举报

39#
 楼主| 发表于 2019-12-11 11:30:43 | 只看该作者
好的,前面已经谈到了,作为瓜子用户,无力左右 CPU、主板等硬件架构。然而,利益这个东西,对谁都是存在的,瓜子用户同样有利益诉求。有硬件生产权的众多公司,它们会推出各自的软件方案。瓜子用户不太容易推出自己的软件方案,因为自己的方案,即便是最优秀的,但没有硬件来保驾护航,仍是非常脆弱,朝不保夕。不过,瓜子们可以选择(或倾向于)某个生产者推出的软件方案。谁对瓜子们有利,瓜子们就会选择谁。一个方案聚集的瓜子用户多了,这个方案成功的砝码也就增加了。所以,方案制定者也会(或多或少地)考虑“吸引瓜子用户”这个因素。
回复

使用道具 举报

40#
发表于 2019-12-11 13:26:58 | 只看该作者
本帖最后由 sghihor 于 2019-12-11 17:46 编辑

刚发现还有一个非LINUX内核的操作系统。Haiku。
https://www.haiku-os.org/(operating_system)


对了无意间看到下面这段话,
Ubuntu founder Mark Shuttleworth has likened ACPI to Trojan horses.[33] He has described proprietary firmware (ACPI-related or any other firmware) as a security risk, saying that "firmware on your device is the NSA's best friend" and calling firmware (ACPI or non-ACPI) "a Trojan horse of monumental proportions". He has pointed out that low quality, closed source firmware is a major threat to system security:[8] "Your biggest mistake is to assume that the NSA is the only institution abusing this position of trust — in fact, it's reasonable to assume that all firmware is a cesspool of insecurity, courtesy of incompetence of the highest degree from manufacturers, and competence of the highest degree from a very wide range of such agencies".

As a solution to this problem, he has called for declarative firmware (ACPI or non-ACPI).[8] Firmware should be open-source so that the code can be checked and verified. Firmware should be declarative, meaning that it should describe "hardware linkage and dependencies" and should not include executable code.


大概翻译如下:
乌班图创始人 把ACPI,比作木马。
觉得专有固件(与ACPI相关的固件其他任何固件)可能有安全风险。说‘设备上的固件是NSA的最好朋友’,
他指出,低质量的封闭源固件是对系统安全性的主要威胁.

为了解决这个问题,他要求使用声明性固件(ACPI或非ACPI)。固件应该是开源的,以便可以检查和验证代码。固件应该是声明性的,这意味着它应该描述“硬件链接和依赖性”,并且不应包括可执行代码。


点评

想表达的意思是,假如理想化状态就是 【不用固件】【或者用开源的固件】,启动。 这样安全风险小一点,不然内核再干净,固件层面也控制不了啊, 研究coreboot之类的。是不是,除了自由精神,也有一点儿这方面的  详情 回复 发表于 2019-12-12 15:08
兄弟,跑题了。Haiku是混合内核的。  详情 回复 发表于 2019-12-11 19:17
回复

使用道具 举报

41#
 楼主| 发表于 2019-12-11 18:49:37 | 只看该作者
本帖最后由 不点 于 2019-12-16 15:03 编辑

微内核简介


什么是微内核


微内核设计的基本思想是简化内核功能,在内核之外的用户态尽可能多地实现系统服务,同时加入相互之间的安全保护。内核只提供最基础的服务,比如进程调度,进程通信(IPC)等。其中进程通信是作为连接应用与用户态系统服务的桥梁。


下图是宏内核与微内核的对比示意图



上图左侧表示宏内核的架构,宏内核系统相关的服务基本都是放于内核态内核中,例如文件系统,设备驱动,虚拟内存管理,网络协议栈等;而微内核,则把更多的系统服务(例如文件系统,POSIX服务,网络协议栈,甚至外设驱动)放到用户态应用,形成一个个服务,等待其他应用的请求。

而后来,为了在宏内核与微内核之间扬长避短,也发展出了中间的混合内核的形态,部分服务也会放置于内核中。上图右侧表示即是混合内核的架构。

其实微内核与混合内核,混合内核与宏内核之间并无十分明确的界限,一般情况下把最多只具备 IPC(进程通信),进程调度,内存管理功能的内核称为微内核,把包含所有系统服务的内核称为宏内核,有少部分系统服务在用户态或者比微内核多一些系统服务的内核称为混合内核。


微内核的发展历史

微内核这个概念从提出开始就在不断地发展、完善进步之中,到目前为止可以分为三代。

第一代微内核:从无到有

第一代微内核的主要代表是 Mach,该系统由卡内基-梅隆大学的 Avie Tevanian 和 Richard Rashid 主导开发。在 Mach 刚刚开始设计时,UNIX 的发展正如日中天,所以 Mach 在设计时的一大目标就是兼容 UNIX,但是与 UNIX 不同的是 Mach 尝试使用微内核架构去设计。Mach 以 IPC 作为所有系统服务与内核交换数据的基础机制,充分运用 IPC,虚拟内存,多进程等特性将冗余的系统服务移出内核作为进程运行。


1986 年,经过两年的开发,第一版的 Mach 发布后的第二年,Mach 就发布了第 2 版,不过由于时间仓促,加之没有足够的人手与资金,所以此时 Mach 内核并不提供完全的系统服务。为了支撑系统上层运行,这一版的内核包含了大量 4.3 版本的 BSD 系统 (UNIX 的一个分支) 代码提供系统服务,并且 BSD 系统服务运行在内核状态,这导致 Mach 内核的代码体积甚至大于常规 UNIX 内核。第一版和第二版的 Mach 主要做了如下工作:1. 验证了微内核的可行性;2. 在多处理器计算机上进行移植验证了微内核在多处理器计算机上的运行;3. 最后为了提高 IPC 的效率,Mach 使用共享内存机制来完成 IPC。而 Mach 的共享内存机制是在虚拟内存技术的支持下实现的,只有需要对内存进行写入时才进行复制。这么一处理比每次都复制一遍内存节省了内存使用同时又加快了 IPC 机制的处理时间,这个改进称为写时复制,并且在如今的通用操作系统如 Linux 中常常用到。


经过测试,Mach 2.5 的效率最多比 UNIX 少 25%,考虑到 Mach 带来的可靠性、可拓展性、安全性,这个损失尚可以接受。当然此时 Mach 内核还不算完全的微内核。而考虑到微内核可以更高效地利用多处理器计算机的处理器核心资源,人们期待着等 Mach 把系统服务都搬到内核之外后可以把运行效率损失降下来。同时 Mach 在微内核方面小小的尝试迅速吸引了大批公司与组织的注意,开放软件基金会 (Open Software Foundation, OSF) 宣布下一代系统 OSF/1 将基于 Mach 的内核, NeXT STEP 也将使用 Mach 2.5, 甚至 IBM 也打算利用 Mach 构建 Workplace OS。苹果公司这个时候也出手了,苹果公司也从此基于 Mach 2.5 打造其操作系统内核 XNU。XNU的构成如下图所示,Mach 作为内核的内环,外环右侧是苹果的驱动框架(I/O Kit),外环左侧是 BSD 的系统服务代码提供 UNIX 兼容的服务层,这三者共同协作向上层提供完整的系统服务。XNU 广泛地使用在苹果公司的 OSX、iOS 等系统中。

这个时候由于 UNIX 系统广泛使用带来的商业利益,此时 BSD 系统开发者与 UNIX 的拥有者 AT&T 陷入了法律大战,Mach 使用的 BSD 相关代码有了法律风险。提升性能的期望和规避法律风险的需求推动着 Mach 3.0 的开发,Mach 3.0 的开发目标主要是为了替换 BSD 系统服务,同时尽量多地将系统服务放到内核之外去运行,成为名副其实的微内核设计。经过众多开发者 3 年的努力,Mach 3.0 于 1990 年发布,但是由于在系统服务之间完全使用 IPC 通信,而不是像宏内核那样直接进行函数调用,即便在多处理器机器上运行,其性能损失也惨重,Mach 3.0 最多比 UNIX 损失 67% 运行效率,这导致 Mach 3.0 及其代表的第一代微内核设计被看衰。此后断断续续有在 Mach 的基础上对性能进行提升的尝试,但是均不太理想。至此 Mach 成为了微内核第一代先驱者。

第二代微内核:解决性能问题

第二代微内核的主要代表是 L3 和 L4,以及 QNX 系统使用的 Neutrino 内核。前面第一代的微内核 Mach 由于效率问题虽然失败了,但是微内核的理念并没有被放弃,德国的计算机科学家 Jochen Liedtke 认为 Mach 的 IPC 效率低下的原因就是因为 IPC 部分不够精简,于是他开发了 L3 和 L4 微内核,对 IPC 部分进行了很彻底的精简:1. 内核的 IPC 机制只是单纯地传递信息,诸如安全权限检查这类的代码都省略掉,省略掉的功能全部由用户进程自己处理。如此一来 IPC 功能部分的代码执行时间大大缩短;2. IPC 不使用内存传递消息,而使用寄存器传递消息,同时限制 IPC 每次传递的信息长度,这样省去了对内存的访问时间。L4 微内核的 IPC 速度经过测试要比 Mach 快 20 倍,这个令人惊讶的优化效果吸引了众多的目光,使微内核的研究重新火热起来。后面 L4 内核又发展出了很多相关系统,比如 Pistachio,L4/MIPS,与 Fiasco 等等,这些内核组成了 L4 的大家族。



第二代微内核的代表除了有 L4 内核,也还有其他微内核比如 Exokernel,Rambler,不过商业上最成功的则是目前黑莓公司旗下的 QNX 系统所使用的 Neutrino 内核(QNX,1980年时最早以 QUICK UNIX 诞生;2004 年 QNX 被 Harman 国际收购;2010 年被黑莓收购 Harman 国际下的 QNX 资产),QNX 主要为高可靠领域提供解决方案,比如交通,能源,医疗,航天航空等。





第三代微内核:主要重视安全问题等

在前面两代的基础上,第三代微内核蓬勃发展,许许多多微内核都被开发出来,主要代表有:seL4, Fiasco.OC, NOVA 等。本来第一代微内核的设计隔离了使内核安全性降低的系统服务,让系统服务漏洞不会影响内核,进而提高了内核安全性,可以说是关上了破坏系统的门, 但是第二代系统却又给攻击者开了个窗户;由于第二代微内核在内核中省去了关于安全性检查等步骤,把所有关于安全检查功能的实现都交给系统服务自己去实现,这导致系统服务的通信接口直接暴露给用户态,任何进程都可能无限制地请求系统服务,系统服务不得不花费额外的代价来区分请求是否合法,容易造成拒绝服务攻击。比如正常的文件服务应该是从虚拟文件系统服务->文件系统服务->磁盘驱动服务这个流程来完成的,但是如果攻击者如果绕过虚拟文件系统服务,直接无限制地请求攻击者本身没有权限访问的文件系统服务,使文件系统服务长期处于满载状态,让其他进程无法通过正常的虚拟文件系统得到文件系统服务。为了增强安全性,且不过分影响性能,人们开始研发第三代微内核。


seL4 是在第二代内核 L4 的基础上发展而来的。seL4 不仅仅继承了 L4 内核家族的高性能特性,还具备基于端点 (endpoint) 的 IPC 机制。这种 IPC 机制最大的特点是使用了能力空间的概念,进程在使用 IPC 请求系统服务时必须具备相对应的能力,进程持有不可伪造的令牌来表示拥有请求某种服务的能力。令牌可以被复制,可以被转移,还可以通过 IPC 进行传输。令牌其实是一个指向存在于内核空间内核对象的指针,所以普通进程并不能修改自身以及其他进程的权限分配,但是内核可以对令牌指定的权限进行控制,从而保证了用户态不能绕过能力空间这个机制对系统服务造成滥用。


seL4 还是第一个完全通过形式化验证的内核,通俗说形式化验证就是在数学软件的帮助下使用数学语言自动化地推导检查系统的每一个运行状态。seL4 形式化验证相关论文。

其他的微内核系统:Fuchsia,Minix

Fuchsia 是 Google 开发的一款全新操作系统,试图覆盖手机,平板,甚至笔记本等一系列领域。Google 为该系统配备了 Vulkan 图形接口,3D 桌面渲染 Scenic,Flutter 应用开发框架,还有一个称为 zircon 的微内核。zircon 内核是从高通平台的一个 Bootloader 项目 Little Kernel 发展而来。zircon 内核属于微内核设计,只提供 IPC,进程管理,地址空间管理功能。zircon 区别于以进程或者以文件为核心的设计,zircon 是以内存为核心来设计的,内存在 zircon 中是以对象的方式存在,可以通过 channel 通信机制传递虚拟内存对象(Virtual memory object)的句柄,进程拿到句柄后可以把这块内存映射到自己的空间。


Minix 系统则由荷兰阿姆斯特丹的 Vrije 大学的 Andrew S. Tanenbaum 教授所开发。该系统最大的特点是可以故障隔离,自动重启失败的服务。Minix 使用分层设计,最底层的微内核提供中断处理,进程管理,进程通信等服务,中间层提供轮回服务 (Reincarnation Server),这一层运行在内核态;文件服务,进程管理,X 图形服务以及驱动等,这一层运行在用户态;最上层为用户进程。其中轮回服务负责在中间层的服务出现崩溃时重启这些服务,从而保证服务的自我修复。Minix 由于其自我修复特性被英特尔管理引擎(ME)所选用,该管理引擎主要负责管理英特尔芯片的内部模块。

微内核的优缺点

优点

    系统服务模块化,可移植性高;
    内核安全性提高(模块内部的 bug 不影响内核稳定,将黑客利用软件漏洞造成的破坏限制在单个模块内部);
    可以多套系统服务共存,相当于同时运行多种操作系统;
    稳定统一的接口(可以独立维护私有驱动以及服务,不需要跟内核源码绑定);
    在商业上,微内核可以避免代码受到一些开源协议的影响,比如 GPL 协议。
    内核精简,可以进行形式化验证,利用数学证明内核的安全性;
    数学可证明的实时性;
    非常适合多处理器系统设计,在多处理器核心计算机上,互相依赖的系统服务可以同时运行;

缺点


    通过进程通信的方式交换数据或者调用系统服务,而不是使用系统调用,造成额外的操作系统开销。
    使用一些频繁使用的系统服务时,比如网络收发数据,造成的进程上下文切换对操作系统来说也是一个负担。
    由于系统服务高度模块化,系统服务之间存在大量的内存复制。
    对互相之间存在复杂调用关系的系统服务,难以设计通信接口。
    系统服务与内核在地址空间上分离,造成代码局部性差,降低了 cache 命中率。



4.png (251.73 KB, 下载次数: 61)

4.png

3.png (79.82 KB, 下载次数: 73)

3.png

2.png (43.73 KB, 下载次数: 75)

2.png
回复

使用道具 举报

42#
发表于 2019-12-11 19:17:34 | 只看该作者
sghihor 发表于 2019-12-11 13:26
刚发现还有一个非LINUX内核的操作系统。Haiku。
https://www.haiku-os.org/(operating_system)

兄弟,跑题了。Haiku是混合内核的。
回复

使用道具 举报

43#
发表于 2019-12-11 19:48:45 | 只看该作者
楼主居然说不是开源的,明明**是
富强民主文明和谐
自由平等公正法治
爱国敬业诚信友善
回复

使用道具 举报

44#
发表于 2019-12-12 10:10:08 | 只看该作者
seL4
https://sel4.systems/
https://github.com/seL4/seL4
另外前几天偶然看到一个兼容Linux的
https://github.com/managarm/managarm

点评

好,毕竟兼容性也是不能忽视的大事。  发表于 2019-12-12 13:28
回复

使用道具 举报

45#
发表于 2019-12-12 15:08:03 | 只看该作者
本帖最后由 sghihor 于 2019-12-12 15:16 编辑
sghihor 发表于 2019-12-11 13:26
刚发现还有一个非LINUX内核的操作系统。Haiku。
https://www.haiku-os.org/(operating_system)


想表达的意思是,假如理想化状态就是
【不用固件】【或者用开源的固件】,启动。
这样安全风险小一点,不然内核再干净,固件层面也控制不了啊,
研究coreboot之类的。是不是,除了自由精神,也有一点儿这方面的原因。
回复

使用道具 举报

46#
 楼主| 发表于 2019-12-12 22:09:06 | 只看该作者
只有一个选择是最好了。这么多选择,光是去选择、评判,恐怕都要多长几根白发了。
回复

使用道具 举报

47#
 楼主| 发表于 2019-12-13 20:36:31 | 只看该作者
这么多微内核系统,需要某种准则来筛选。

单纯从技术上,是很难筛选的。微软等垄断性的大公司,有钱、有技术,他们的产品,即使起步晚几年,也有可能后来居上。所以,技术不是考量的指标。

如果说要考虑非技术指标,那基本上就是在说“信任度”了,即,谁更值得信任。
回复

使用道具 举报

48#
 楼主| 发表于 2019-12-14 09:59:44 | 只看该作者
再来嚼一嚼授权协议问题。GPL 保护了没有生产权的普通百姓的利益,但是却或多或少地伤害了具有生产权的各种大小公司的利益,引来了或多或少的敌视。像 Apache 那样更加开放的协议,容易被生产者支持:小生产者可能完全没有敌意,甚至是全心地、大力地支持;大生产者可能会有敌意,但也不像对 GPL 的敌意那么大。

我印象中,关于 GPL 和 BSD 协议的选择取向问题,十多年前争论得很凶,双方互骂得很厉害。我那时自然要站在 GPL 的阵营里面。

但认识是不断深入的,材料是不断增加的,知识是不断积累的,情况是不断变化的。

1、GPL 保护了没有生产权的人群。这股力量固然不小,可是却处于底层,没有话语权,不能成大器。一旦某个个体或集团成了大器,当他有了话语权之后,身份摇身一变,就成了生产者,就脱离底层百姓的身份了,那他也就不属于 GPL 保护的对象了,他也很自然地逐渐对 GPL 萌生敌意。GPL 保护的对象很脆弱,GPL 的处境很尴尬。

2、被 GPL 保护的 Linux 内核,却被谷歌巧妙地用于 Android 的底层系统。谷歌窃取了众多 GPL 贡献者的成果,而且这一窃取行为是完全合法的!Android 相当于运行在 Linux 内核之上的一个应用层的程序。这个应用层的程序不必遵循 GPL,因此,完全合法。而谷歌在 Android 这个应用程序之内打造全新的接口系统,自成一体,而且故意与 GNU/Linux 现有的应用环境不兼容,形成软件壁垒,构建垄断帝国。可见,授权限制很严厉的 GPL,并不能真正保护普通贡献者的利益,照样能够被大公司钻空子,并最终伤害 GPL 的社区利益。GPL 的作用十分尴尬。这样的 GPL 与 BSD 和 Apache 又有多少差别呢?BSD 以及 Apache 协议的效果,不正是这样的吗?所以,GPL 在此例中的表现,并不比 BSD 和 Apache 强。换句话说,众目睽睽之下,有人“开脑洞”、公开地拿  GPL 当 BSD 和 Apache 使,你眼巴巴地看着,干瞪眼,没招。

3、Linux 是一个重要的 GPL 应用案例。这个案例不可避免地被敌对的垄断势力盯上。敌对势力对 Linux 的各个环节和关口,都打入楔子。谁给 Linux 基金会交会费?谁能控制和操纵 Linux 的开发?kernel、GCC、bash、dash、bin-utils 等等都被大公司或明或暗操纵控制,各个主要发行版更是有 n 多的破坏者在里面捣乱。新的发行版藏污纳垢更多,还没有 10 年前、20 年前的发行版来得安全。这样的 Linux 还能代表 GPL 所保护的那群吃瓜人的利益吗?GPL 名存实亡,其名分和地位很尴尬。

综上,GPL 过于理想化,在现实社会中很难达到那样理想的境地,GPL 在现实中会被扭曲。不如寻求更加贴合目前现实的其它解决方案。

回复

使用道具 举报

49#
 楼主| 发表于 2019-12-16 11:35:20 | 只看该作者
前面谈到了选择微内核 OS 要考虑的因素 —— 信任度。


“信任度”包括的范围也很广。譬如说,谷歌开发的操作系统,虽然我对它不曾有了解,但我知道 node.js 以及 Chrome 浏览器是谷歌的。这两个东西是用来构建跨平台应用的,也就是说,不同的平台有着统一的接口,是保护投资的一个很好的方案。因此,在这方面,对谷歌是信任的。


如果一个公司推出了微内核解决方案,但后续的推动力很小,发展很缓慢,那么,这样的公司以及它的微内核 OS,就丧失信任度。


另外,如果对于兼容性没有考虑,或者考虑得不多,那么,这样的方案,也不能保护投资,因而也同样会丧失信任度。


回复

使用道具 举报

50#
 楼主| 发表于 2019-12-16 17:01:56 | 只看该作者
就像 wintoflash 所说,在 Linux 之外,难以见到一个真正“能用”的开源操作系统。

好的,既然如此,把讨论的范围放宽,不限于“微内核”,任何结构的开源内核都可以讨论。

聚焦“能用”——看看哪个非 Linux 的开源 OS 的“可用度”最大。

所谓“可用度”,由各位自己定义。您认为可用度高,那就是高。
回复

使用道具 举报

51#
 楼主| 发表于 2019-12-17 12:16:21 | 只看该作者
搜到 google fuchsia os 的图片,不知有没有人试试这个 OS?





点评

图二应为Windows 10,不是 Fuchsia去年的时候想试试,结果发现源码太大了,10多个GB,编译要占用60GB以上的空间。 而且整个编译过程需要有稳定的外网连接。  详情 回复 发表于 2019-12-17 15:05
回复

使用道具 举报

52#
发表于 2019-12-17 15:05:37 | 只看该作者
不点 发表于 2019-12-17 12:16
搜到 google fuchsia os 的图片,不知有没有人试试这个 OS?

图二应为Windows 10,不是 Fuchsia去年的时候想试试,结果发现源码太大了,10多个GB,编译要占用60GB以上的空间。
而且整个编译过程需要有稳定的外网连接。


点评

谢谢。请问,以您的观点和视角,google 的 fuchsia,其开发更新的频度如何?您对其开发进展的速度,有没有信心?  详情 回复 发表于 2019-12-17 22:29
回复

使用道具 举报

53#
 楼主| 发表于 2019-12-17 22:29:06 | 只看该作者
wintoflash 发表于 2019-12-17 15:05
图二应为Windows 10,不是 Fuchsia去年的时候想试试,结果发现源码太大了,10多个GB,编译要占用60GB以上 ...

谢谢。请问,以您的观点和视角,google 的 fuchsia,其开发更新的频度如何?您对其开发进展的速度,有没有信心?

点评

抱歉,我对 fuchsia 不感兴趣,因为对 google 非常不信任。 目前 fuchsia 是托管在 google 自家的平台上。以前还托管在 github 上的时候也没怎么留意,google 从 github 删库跑路后,就更不想看了。 当时尝试编译  详情 回复 发表于 2019-12-18 13:15
回复

使用道具 举报

54#
发表于 2019-12-18 13:15:15 | 只看该作者
不点 发表于 2019-12-17 22:29
谢谢。请问,以您的观点和视角,google 的 fuchsia,其开发更新的频度如何?您对其开发进展的速度,有没 ...

抱歉,我对 fuchsia 不感兴趣,因为对 google 非常不信任。
目前 fuchsia 是托管在 google 自家的平台上。以前还托管在 github 上的时候也没怎么留意,google 从 github 删库跑路后,就更不想看了。
当时尝试编译也是受人所托。
不过从源码的体积上来看,变化还是比较大的。

点评

谢谢 wintoflash 答复了我的疑问,并对信任度有了明确表示。我前面的问题主要集中在“开发进度”上,您的答复,让我在这方面对 Fuchsia 有了信任,或者说有了信心,既然看到它的进展还是挺快的。我希望能找到它编译  详情 回复 发表于 2019-12-18 14:28
回复

使用道具 举报

55#
 楼主| 发表于 2019-12-18 14:28:07 | 只看该作者
wintoflash 发表于 2019-12-18 13:15
抱歉,我对 fuchsia 不感兴趣,因为对 google 非常不信任。
目前 fuchsia 是托管在 google 自家的平台上 ...

谢谢 wintoflash 答复了我的疑问,并对信任度有了明确表示。我前面的问题主要集中在“开发进度”上,您的答复,让我在这方面对 Fuchsia 有了信任,或者说有了信心,既然看到它的进展还是挺快的。我希望能找到它编译好的测试版,来体验一下。不知有没有人知道哪里有编译好的版本。

点评

fuchsia中文社区(非官方)(https://fuchsia-china.com/)提供的代码镜像里面有个虚拟机文件下载 https://mirrors.sirung.org/fuchsia/ [attachimg]407387[/attachimg] 里面应该是Ubuntu以及编译好的fuchsia。至于怎  详情 回复 发表于 2019-12-18 15:22
回复

使用道具 举报

56#
发表于 2019-12-18 15:22:39 | 只看该作者
不点 发表于 2019-12-18 14:28
谢谢 wintoflash 答复了我的疑问,并对信任度有了明确表示。我前面的问题主要集中在“开发进度”上,您的 ...

fuchsia中文社区(非官方)(https://fuchsia-china.com/)提供的代码镜像里面有个虚拟机文件下载 https://mirrors.sirung.org/fuchsia/

里面应该是Ubuntu以及编译好的fuchsia。至于怎么运行,似乎没有明确的说明。
回复

使用道具 举报

57#
 楼主| 发表于 2019-12-18 16:48:41 | 只看该作者
谢谢 wintoflash 提供链接。有 18 G,解压后可能更大。先留着,等以后有空间了再下载。
回复

使用道具 举报

58#
发表于 2019-12-22 21:25:06 | 只看该作者
谢谢 wintoflash 提供链接。有 18 G,解压后可能更大。

天哪,google的fushia居然如此之大!
反正屮氏没兴趣去试了,屮和W大差不多,对Google信任度不高。。。

还氏等以后不点先试,然后再瞧不点大师的测试结果就行了。。。

点评

在下向来都是空想家和空谈家,从来不擅长实践的说。如果要等我,短则数月,长则数年,甚至遥遥无期也! 说不定哪天,你们几位想通了某个道理,抢先进行实践。 google 在 Android 上确实是作恶,故意制造与 Lin  详情 回复 发表于 2019-12-23 03:41
回复

使用道具 举报

59#
 楼主| 发表于 2019-12-23 03:41:43 | 只看该作者
gnuxwy 发表于 2019-12-22 21:25
天哪,google的fushia居然如此之大!
反正屮氏没兴趣去试了,屮和W大差不多,对Google信任度不高 ...

在下向来都是空想家和空谈家,从来不擅长实践的说。如果要等我,短则数月,长则数年,甚至遥遥无期也!

说不定哪天,你们几位想通了某个道理,抢先进行实践。

google 在 Android 上确实是作恶,故意制造与 Linux 的不兼容性。但它推行 nodejs,则有正面的意义,无论对它自己,还是对大家,都是有好处的。当然了,任何事情都有例外的,nodejs 对微软不一定有好处(确切地说,对垄断者不好,因为垄断者不希望与别人兼容,垄断者不希望自己的垄断优势被打破)。

前面我已经说过,指望华为支持 Linux,也是没啥盼头的。稍微有点实力的公司,都会把 Linux 看成敌人。例外情况是不多的。

那结论就是:不要对任何公司抱有那样的希望(即,“真心”地支持 Linux 以及开源)。

如果一个公司能够大力推进一个相对开放的平台,并且这个平台能够被大家接受,那就是一个进步。也就是说,只要能够“改良”微软的封闭源码体系,那就是进步。不可以追求“一步到位”,天上不能掉馅饼,世上哪有那么好的事情?以前的论述已经很彻底了,这就不多说了。

也许谷歌的系统不如 Linux 安全。Linux 虽然比较安全,但却被巨鳄们仇视——巨鳄们掌握硬件生产权——这就注定了 Linux 难成气候。谷歌的系统会对谷歌有利,对大众可能就不像 Linux 那样对大众有利了。但是,谷歌会强力推进自己的系统,它肯定不会像对待 Linux 那样对自己的 fuchsia 进行强力的封杀。只要 fuchsia 在开源方面能比 Windows 好那么一点点,那就是进步。

不光是 fuchsia,其它任何一个开源系统,都是进步的。

这里可能就需要各位自己进行对比和选择了。比如,大概有如下这些因素需要考虑:系统开发推进的速度怎样?系统的开放程度高不高?系统的兼容性好不好?系统的安全是如何保障的?系统保护谁的安全(关键是:能保护最终用户“我”的安全吗)?


点评

不点大师,请教一个问题,ARM版本的linux,没有initrd.gz引导文件,弄不清楚其中的引导过程 假如想自己添加initrd.gz,应该怎样修改? 或者说原来的引导过程怎样的?这样要说清楚比较难,就是想知道启动内核之后引  详情 回复 发表于 2019-12-23 10:39
回复

使用道具 举报

60#
发表于 2019-12-23 10:39:57 | 只看该作者
不点 发表于 2019-12-23 03:41
在下向来都是空想家和空谈家,从来不擅长实践的说。如果要等我,短则数月,长则数年,甚至遥遥无期也!
...

不点大师,请教一个问题,ARM版本的linux,没有initrd.gz引导文件,弄不清楚其中的引导过程
假如想自己添加initrd.gz,应该怎样修改?
或者说原来的引导过程怎样的?这样要说清楚比较难,就是想知道启动内核之后引导那个文件的。
有initrd.gz文件的比较好懂,没有的,不知道从那开始引导了
搜索了很久没找到答案

点评

实在抱歉,对不住您对我的信任。我对 x86 的套路还算有点了解,而对于 ARM,则严重缺乏认知。 x86 有 grub4dos 以及 grub2,基本都是很熟的套路了。然而,ARM 的 uboot 之类,我还没接触,不懂它的启动技术,因此  详情 回复 发表于 2019-12-23 12:28
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-23 12:41

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表