X Window没有在linux内核实现的原因

简介:

在linux内核中没有实现X Window,在linux里面没有相应的X驱动,这里面我想有两个原因,其中一个是最重要的。先谈谈那个不那么重要的,众所周知linux内核只提供了机制而不提供策略,X这种东西对于内核来说太策略了,它涉及显式驱动程序等等,关于显式的东西是人机交互中最重要的东西,这也就是为何人们普遍对显卡有要求而对声卡没有要求的原因,显式相关的东西和别的比如打印机驱动相比具有自己的独特的特点,那就是复杂,高度策略化,它几乎是人的玩具而不是硬件的特质,于是linux内核当然为了不引入过多的策略也就对此类驱动敬而远之了,相反在用户空间实现x驱动而对显卡的控制逻辑。我想到的第二个原因也就是最重要的原因就是linux的开源模式,因为它是开源的,没有固定的开发周期和市场调研,那么就决定了它不一定是跟着市场走的,而在某种程度上是由别的原因决定的,开源的模式也决定了开源软件只能很好的提供机制而不提供策略,它们只能在点上做文章而不能像Microsoft那样一下子就做一条产品线,开源的软件只是解决一个问题而不能满足一类用户的永久需求,比如vsftpd能解决远程文件传输并且它是一个服务器需要自己配备客户端,而windows下自带的ftp却只是一个IIS中的模块罢了,开源模式下开发的软件在点上的力量很大却不能形成自己的产品线,相反商业的软件却可以一下子提供一整套解决方案,加之开源软件的开发者的报酬是不定的,因此多数情况下只能凭兴趣和激情去做事而不能靠别的。明白了以上原因以后,我们看一下为何在linux内核中没有实现x和很多显式控制逻辑,显式控制逻辑是和市场有很大关系的,某种程度上,它关系到当前流行的游戏,流行的电影以及王牌厂商的规范,比如Microsoft的DirectX10就是一个例子,既然和商业联系在了一起,那么它在一些信念上就是和开源相悖的,故而就不能为了在内核中实现显式驱动而和商业和策略搅合在一起了。

视觉冲击永远是新事物对人们的第一冲击,难怪厂商纷纷要抢占人们的眼睛,谁控制了显式规范谁就控制了PC,游戏已经成了推动PC发展的第一推动力,linux如果无心在桌面市场和众强角逐,那么它就没有必要去在内核实现内置的显式驱动,当然它是没有必要的啦,linux关注的是服务器领域,如今虽然linux开始进军桌面,但是我不希望它跑偏。开源模式的点上功夫就好比unix的伟大哲学--每次只做并且做好一件事。和对人们视觉冲击不同,听觉冲击往往对人们影响不是很大,人们天天都在谈环绕立体声,杜比等等但是没有几个人真的去关注,而且声音规范变化的没有显式规范快,因此声音规范显得更加稳定,那么linux的内核就可以实现声音驱动,可以实现各种声音规范,而且还真的有人去做这件事,比如最新的ALSA驱动就包含了很多声音规范,Intel最新的HD声音规范代替了AC97,当然也可以说是AC97的升级在linux的各个声卡驱动里面也得到了实现。我的一个亲身经历就是去年的时候我接到一个工作,就是驱动我们公司自己研发的一块板子的声音芯片和显式芯片,当然芯片都是标准的,接口也是标准的,不同的就是总线不同,于是我的工作就是到驱动总线为止,以后的用规范的做,这一切看起来很是简单,但是做起来却不是我想的那么简单,几个夜晚我没有合眼,不是声卡驱动写不好,而是显卡驱动太复杂,其实声卡驱动我一周就完成了,就是驱动一下总线然后按照声卡芯片的规范驱动声卡就可以了,一切很顺利,但是显卡就不是这样了,我也按照同样的步骤做,但是就是无法正常驱动显卡,后来我查了资料,发现显卡规范太复杂了,我在实现的时候漏掉了很多关键的东西,这个过程耗了我将近一个半月时间...我想linux内核的设计者和实现者也是这么认为的吧,难怪x没有在内核实现呢,不过这也好,这可以让x可以成为一个自成体系的系统。

在最新的2.6.29内核中,内核实现了内核中的显式控制逻辑,叫做kernel-mode-setting,我不知道这到底是好是坏,如果从兼容和用户角度来讲这当然好了,但是却完全不符合unix的哲学,在这个世界上符合哲学到底能得到什么好处呢?我想哲学也仅仅是人们心灵的一个避风港吧,风大浪急还要面对,说不定要翻船,不过这就是真实...



 本文转自 dog250 51CTO博客,原文链接:http://blog.51cto.com/dog250/1274151

相关文章
|
2月前
|
缓存 Linux 开发者
Linux内核中的并发控制机制
本文深入探讨了Linux操作系统中用于管理多线程和进程的并发控制的关键技术,包括原子操作、锁机制、自旋锁、互斥量以及信号量。通过详细分析这些技术的原理和应用,旨在为读者提供一个关于如何有效利用Linux内核提供的并发控制工具以优化系统性能和稳定性的综合视角。
|
2月前
|
缓存 负载均衡 算法
深入探索Linux内核的调度机制
本文旨在揭示Linux操作系统核心的心脏——进程调度机制。我们将从Linux内核的架构出发,深入剖析其调度策略、算法以及它们如何共同作用于系统性能优化和资源管理。不同于常规摘要提供文章概览的方式,本摘要将直接带领读者进入Linux调度机制的世界,通过对其工作原理的解析,展现这一复杂系统的精妙设计与实现。
108 8
|
2月前
|
算法 Linux 调度
深入理解Linux内核调度器:从基础到优化####
本文旨在通过剖析Linux操作系统的心脏——内核调度器,为读者揭开其高效管理CPU资源的神秘面纱。不同于传统的摘要概述,本文将直接以一段精简代码片段作为引子,展示一个简化版的任务调度逻辑,随后逐步深入,详细探讨Linux内核调度器的工作原理、关键数据结构、调度算法演变以及性能调优策略,旨在为开发者与系统管理员提供一份实用的技术指南。 ####
85 4
|
7天前
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
44 15
|
1月前
|
算法 Linux
深入探索Linux内核的内存管理机制
本文旨在为读者提供对Linux操作系统内核中内存管理机制的深入理解。通过探讨Linux内核如何高效地分配、回收和优化内存资源,我们揭示了这一复杂系统背后的原理及其对系统性能的影响。不同于常规的摘要,本文将直接进入主题,不包含背景信息或研究目的等标准部分,而是专注于技术细节和实际操作。
|
1月前
|
存储 缓存 网络协议
Linux操作系统的内核优化与性能调优####
本文深入探讨了Linux操作系统内核的优化策略与性能调优方法,旨在为系统管理员和高级用户提供一套实用的指南。通过分析内核参数调整、文件系统选择、内存管理及网络配置等关键方面,本文揭示了如何有效提升Linux系统的稳定性和运行效率。不同于常规摘要仅概述内容的做法,本摘要直接指出文章的核心价值——提供具体可行的优化措施,助力读者实现系统性能的飞跃。 ####
|
1月前
|
监控 算法 Linux
Linux内核锁机制深度剖析与实践优化####
本文作为一篇技术性文章,深入探讨了Linux操作系统内核中锁机制的工作原理、类型及其在并发控制中的应用,旨在为开发者提供关于如何有效利用这些工具来提升系统性能和稳定性的见解。不同于常规摘要的概述性质,本文将直接通过具体案例分析,展示在不同场景下选择合适的锁策略对于解决竞争条件、死锁问题的重要性,以及如何根据实际需求调整锁的粒度以达到最佳效果,为读者呈现一份实用性强的实践指南。 ####
|
1月前
|
缓存 监控 网络协议
Linux操作系统的内核优化与实践####
本文旨在探讨Linux操作系统内核的优化策略与实际应用案例,深入分析内核参数调优、编译选项配置及实时性能监控的方法。通过具体实例讲解如何根据不同应用场景调整内核设置,以提升系统性能和稳定性,为系统管理员和技术爱好者提供实用的优化指南。 ####
|
1月前
|
负载均衡 算法 Linux
深入探索Linux内核调度机制:公平与效率的平衡####
本文旨在剖析Linux操作系统内核中的进程调度机制,特别是其如何通过CFS(完全公平调度器)算法实现多任务环境下资源分配的公平性与系统响应速度之间的微妙平衡。不同于传统摘要的概览性质,本文摘要将直接聚焦于CFS的核心原理、设计目标及面临的挑战,为读者揭开Linux高效调度的秘密。 ####
37 3
|
2月前
|
负载均衡 算法 Linux
深入探索Linux内核调度器:公平与效率的平衡####
本文通过剖析Linux内核调度器的工作机制,揭示了其在多任务处理环境中如何实现时间片轮转、优先级调整及完全公平调度算法(CFS),以达到既公平又高效地分配CPU资源的目标。通过对比FIFO和RR等传统调度策略,本文展示了Linux调度器如何在复杂的计算场景下优化性能,为系统设计师和开发者提供了宝贵的设计思路。 ####
43 6