Linux内核管理风格 【ChatGPT】

简介: Linux内核管理风格 【ChatGPT】

Linux内核管理风格

这是一份简短的文件,描述了Linux内核的首选(或虚构的,这取决于你问谁)管理风格。它旨在在某种程度上反映过程/编码风格.rst文件,并主要是为了避免一遍又一遍地回答相同(或类似)的问题。

管理风格是非常个人化的,比简单的编码风格规则更难以量化,因此这份文件可能与现实有关,也可能与现实无关。它起初是一种玩笑,但这并不意味着它可能不是真的。你得自己决定。

顺便说一句,当谈到“内核管理者”时,这完全是关于技术领导者,而不是公司内部从事传统管理的人。如果你签署采购订单或者对你的团队预算有任何概念,你几乎肯定不是内核管理者。这些建议可能适用于你,也可能不适用。

首先,我建议购买《高效能人士的七个习惯》,但不要读它。把它烧了,这是一个很好的象征性姿态。

1. 决策

每个人都认为管理者做决策,决策是很重要的。决策越大、越痛苦,做出决策的管理者就必须越大。这听起来很深刻、很明显,但实际上并不是真的。

游戏的名字是避免做出决策。特别是,如果有人告诉你“选择(a)或(b),我们真的需要你在这个问题上做出决定”,作为管理者,你就麻烦了。你管理的人最好比你更了解细节,所以如果他们来找你做技术决策,你就完蛋了。显然,你没有资格为他们做出那个决定。

(推论:如果你管理的人不比你更了解细节,你也完蛋了,尽管原因完全不同。也就是说,你在错误的工作岗位上,他们应该管理你的才华。)

所以游戏的名字是避免决策,至少是避免大而痛苦的决策。做小而无关紧要的决策是可以的,而且会让你看起来像是知道自己在做什么,所以内核管理者需要做的是把大而痛苦的决策变成没人真的在乎的小事情。

要意识到的是,大决策和小决策的关键区别在于你是否能修正你的决策。任何决策都可以通过确保如果你错了(你肯定会错),你总是可以通过回溯来撤销损害来使其变得微不足道。突然间,你因为做出了两个无关紧要的决策而成为了双倍的管理者——错误的决策和正确的决策。

人们甚至会把这看作是真正的领导力(咳咳,胡扯)。

因此,避免大决策的关键就是避免做那些不能被撤销的事情。不要让自己被逼到一个无法逃脱的角落。一个被逼到角落的老鼠可能是危险的——一个被逼到角落的管理者只是可怜。

事实证明,由于没有人会愚蠢到真的让一个内核管理者承担巨大的财务责任,通常情况下回溯是相当容易的。因为你不会浪费大量可能无法偿还的钱,你唯一能够回溯的就是技术决策,而在那里回溯是非常容易的:只需告诉每个人你是一个无能的蠢货,说你很抱歉,然后撤销你让人们在过去一年里做的所有无用工作。突然间,你一年前做出的决策并不是一个大决策,因为它可以很容易地被撤销。

事实证明,有些人对这种方法有困难,原因有两个:

  • 承认自己是个白痴比看起来更难。我们都喜欢保持表面,公开承认自己错了有时确实很难。
  • 有人告诉你,你为了过去一年的工作而付出的努力毫无价值,对那些可怜的工程师来说可能也很难,虽然实际工作很容易通过删除来撤销,但你可能已经无法挽回那个工程师的信任。记住:“无法挽回”是我们一开始要避免的,而你的决策最终变成了一个大决策。

幸运的是,通过提前承认你一无所知,并在事情发生之前告诉人们你的决定纯粹是初步的,可能是错误的。你应该始终保留改变主意的权利,并让人们非常清楚地知道这一点。当你还没有做真正愚蠢的事情时,承认自己愚蠢就容易得多。

然后,当事实证明真的很愚蠢时,人们只会翻白眼,说“哎呀,又错了”。

这种预先承认自己的无能可能也会让那些真正做工作的人再三考虑一下是否值得去做。毕竟,如果他们不确定这是一个好主意,你肯定不应该通过承诺他们的工作将被包括来鼓励他们。让他们在着手大事之前至少三思。记住:他们最好比你更了解细节,而他们通常已经认为自己对一切都有答案。作为管理者,你能做的最好的事情不是灌输信心,而是让他们进行健康的批判性思维。

顺便说一句,避免做决策的另一种方法是可怜兮兮地抱怨“我们不能两者兼得吗?”然后看起来很可怜。相信我,这很有效。如果不清楚哪种方法更好,他们最终会想出答案。最终的答案可能是两个团队都对这种情况感到沮丧,以至于他们最终放弃。

这可能听起来像是失败,但通常这意味着两个项目都有问题,而参与其中的人无法做出决定的原因是他们都错了。你最终会闻起来像玫瑰花,而且你避免了又一个你可能会搞砸的决策。

2. 人员

大多数人都是白痴,而作为管理者,你将不得不处理这一点,也许更重要的是,他们必须与你打交道。

事实证明,虽然技术错误很容易撤销,但人格障碍却不那么容易撤销。你只能忍受他们的——和你自己的。

然而,为了做好内核管理者的准备,最好记住不要烧毁任何桥梁,炸毁任何无辜的村民,或者疏远太多的内核开发者。事实证明,疏远人是相当容易的,而重新融合他们则很困难。因此,“疏远”立即成为“不可逆转”的一部分,并成为根据1)决策的一项禁忌。

这里只有几条简单的规则:

  • 不要在公开场合称呼别人为混蛋
  • 当你忘记了规则(1)时学会道歉

第一个问题是很容易发生的,因为你可以用成百上千种方式说“你是个混蛋”,有时甚至自己都没有意识到,几乎总是怀着一种坚定的信念认为自己是对的。

而且你越是确信自己是对的(让我们面对现实,你几乎可以称呼任何人为混蛋,而且你经常是对的),事后道歉就会变得越来越困难。

要解决这个问题,你实际上只有两个选择:

  • 变得非常擅长道歉
  • 把“爱”均匀地传播出去,以至于没有人真的感到自己被不公平地针对。如果足够有创意,他们甚至可能会觉得好笑。

始终彬彬有礼的选择实际上是不存在的。没有人会信任一个明显隐藏真实性格的人。

3. 人员II - 好的那种人

虽然事实证明大多数人都是白痴,但与此相关的推论是,遗憾的是你也是其中之一,而且虽然我们都可以沉浸在比平均水平更好的安全知识中(让我们面对现实,没有人会相信自己是平均水平或低于平均水平),我们也应该承认我们并不是最聪明的人,还会有其他人比你更不是白痴。

有些人对聪明人反应不好。其他人则利用他们。

确保你作为内核维护者属于第二组。巴结他们,因为他们是会让你的工作变得更容易的人。特别是,他们将能够为你做出决策,这才是游戏的全部意义。

所以当你发现有人比你更聪明时,就顺水推舟吧。你的管理责任主要是说“听起来是个好主意——尽情去做”,或者“听起来不错,但xxx怎么样?”后者尤其是一个很好的方式,要么学到一些关于“xxx”的新东西,要么通过指出聪明人没有考虑到的事情来显得更有管理能力。无论哪种情况,你都是赢家。

要注意的一件事是要意识到在一个领域的伟大并不一定能转化为其他领域的伟大。所以你可能会在特定方向上激励人们,但让我们面对现实,他们可能擅长自己的工作,但在其他方面很糟糕。好消息是人们往往会自然地回到他们擅长的领域,所以当你在某个方向上激励他们时,这并不是不可逆转的事情,只是不要太过分。

4. 推卸责任

事情会出错,人们想找个人来承担责任。你中了。

接受责任其实并不难,特别是如果人们有点意识到这并不全是你的错。这就带来了承担责任的最佳方式:为别人承担责任。你为承担责任而感到好,他们因为没有被责备而感到好,而因为你的无能导致他们失去了整整36GB的色情收藏,他们会勉强承认你至少没有试图推卸责任。

然后私下告诉真正搞砸的开发者(如果你能找到他们)他们搞砸了。不仅是为了让他们将来避免这种情况,而且是让他们知道他们欠你一个人情。而且,也许更重要的是,他们也很可能是能够解决问题的人。因为,让我们面对现实,那肯定不是你。

承担责任也是你能成为管理者的原因之一。这是让人们信任你的一部分,也是让你有可能获得荣耀的一部分,因为你是那个说“我搞砸了”的人。如果你遵循了前面的规则,到现在你应该已经很擅长说这句话了。

5. 需要避免的事情

有一件事比被人称为“混蛋”更讨厌,那就是用一种假正经的声音称呼别人为“混蛋”。前者你可以道歉,后者你可能不会有机会。即使你做得很好,他们可能也不会再听你说话。

我们都认为自己比任何人都好,这意味着当别人装腔作势时,我们真的会感到不舒服。你可能在道德和智力上都优于你周围的每个人,但除非你真的打算激怒某人,否则不要让它太明显。

同样,不要对事情过于客气或含蓄。礼貌很容易变得过分并掩盖问题,正如人们所说,“在互联网上,没有人能听到你的含蓄”。使用一个大钝物体来强调这一点,因为你不能指望人们能理解你的意思。

一些幽默可以帮助缓解钝性和道德说教。过分到荒谬的程度可以在不让接收者感到痛苦的情况下传达一个观点,他们只会认为你在开玩笑。因此,它可以帮助克服我们对批评的个人心理障碍。

6. 为什么是我?

由于你的主要责任似乎是替别人的错误负责,并且让每个人都痛苦地意识到你的无能,显而易见的问题就是为什么要一开始就这样做呢?

首先,虽然你可能不会有尖叫的十几岁女孩(或男孩,让我们不要带有偏见或性别歧视)敲你的更衣室门,但你会因为“掌控一切”而获得巨大的个人成就感。别管你实际上只是试图跟上别人的步伐,拼命追赶他们的速度。每个人仍然会认为你就是负责人。

如果你能胜任这份工作,那就太棒了。

相关文章
|
3天前
|
算法 Linux 调度
深入理解Linux内核调度器:从基础到优化####
本文旨在通过剖析Linux操作系统的心脏——内核调度器,为读者揭开其高效管理CPU资源的神秘面纱。不同于传统的摘要概述,本文将直接以一段精简代码片段作为引子,展示一个简化版的任务调度逻辑,随后逐步深入,详细探讨Linux内核调度器的工作原理、关键数据结构、调度算法演变以及性能调优策略,旨在为开发者与系统管理员提供一份实用的技术指南。 ####
18 4
|
6天前
|
缓存 算法 Linux
深入理解Linux内核调度器:公平性与性能的平衡####
真知灼见 本文将带你深入了解Linux操作系统的核心组件之一——完全公平调度器(CFS),通过剖析其设计原理、工作机制以及在实际系统中的应用效果,揭示它是如何在众多进程间实现资源分配的公平性与高效性的。不同于传统的摘要概述,本文旨在通过直观且富有洞察力的视角,让读者仿佛亲身体验到CFS在复杂系统环境中游刃有余地进行任务调度的过程。 ####
27 6
|
5天前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
25 9
|
4天前
|
缓存 负载均衡 Linux
深入理解Linux内核调度器
本文探讨了Linux操作系统核心组件之一——内核调度器的工作原理和设计哲学。不同于常规的技术文章,本摘要旨在提供一种全新的视角来审视Linux内核的调度机制,通过分析其对系统性能的影响以及在多核处理器环境下的表现,揭示调度器如何平衡公平性和效率。文章进一步讨论了完全公平调度器(CFS)的设计细节,包括它如何处理不同优先级的任务、如何进行负载均衡以及它是如何适应现代多核架构的挑战。此外,本文还简要概述了Linux调度器的未来发展方向,包括对实时任务支持的改进和对异构计算环境的适应性。
21 6
|
5天前
|
缓存 Linux 开发者
Linux内核中的并发控制机制:深入理解与应用####
【10月更文挑战第21天】 本文旨在为读者提供一个全面的指南,探讨Linux操作系统中用于实现多线程和进程间同步的关键技术——并发控制机制。通过剖析互斥锁、自旋锁、读写锁等核心概念及其在实际场景中的应用,本文将帮助开发者更好地理解和运用这些工具来构建高效且稳定的应用程序。 ####
20 5
|
5天前
|
算法 Unix Linux
深入理解Linux内核调度器:原理与优化
本文探讨了Linux操作系统的心脏——内核调度器(Scheduler)的工作原理,以及如何通过参数调整和代码优化来提高系统性能。不同于常规摘要仅概述内容,本摘要旨在激发读者对Linux内核调度机制深层次运作的兴趣,并简要介绍文章将覆盖的关键话题,如调度算法、实时性增强及节能策略等。
|
6天前
|
存储 监控 安全
Linux内核调优的艺术:从基础到高级###
本文深入探讨了Linux操作系统的心脏——内核的调优方法。文章首先概述了Linux内核的基本结构与工作原理,随后详细阐述了内核调优的重要性及基本原则。通过具体的参数调整示例(如sysctl、/proc/sys目录中的设置),文章展示了如何根据实际应用场景优化系统性能,包括提升CPU利用率、内存管理效率以及I/O性能等关键方面。最后,介绍了一些高级工具和技术,如perf、eBPF和SystemTap,用于更深层次的性能分析和问题定位。本文旨在为系统管理员和高级用户提供实用的内核调优策略,以最大化Linux系统的效率和稳定性。 ###
|
5天前
|
Java Linux Android开发
深入探索Android系统架构:从Linux内核到应用层
本文将带领读者深入了解Android操作系统的复杂架构,从其基于Linux的内核到丰富多彩的应用层。我们将探讨Android的各个关键组件,包括硬件抽象层(HAL)、运行时环境、以及核心库等,揭示它们如何协同工作以支持广泛的设备和应用。通过本文,您将对Android系统的工作原理有一个全面的认识,理解其如何平衡开放性与安全性,以及如何在多样化的设备上提供一致的用户体验。
|
5天前
|
缓存 运维 网络协议
深入Linux内核架构:操作系统的核心奥秘
深入Linux内核架构:操作系统的核心奥秘
22 2
|
7天前
|
监控 网络协议 算法
Linux内核优化:提升系统性能与稳定性的策略####
本文深入探讨了Linux操作系统内核的优化策略,旨在通过一系列技术手段和最佳实践,显著提升系统的性能、响应速度及稳定性。文章首先概述了Linux内核的核心组件及其在系统中的作用,随后详细阐述了内存管理、进程调度、文件系统优化、网络栈调整及并发控制等关键领域的优化方法。通过实际案例分析,展示了这些优化措施如何有效减少延迟、提高吞吐量,并增强系统的整体健壮性。最终,文章强调了持续监控、定期更新及合理配置对于维持Linux系统长期高效运行的重要性。 ####