Ubuntu 上的设计信息(10.10 或其他版本)

Ubuntu 上的设计信息(10.10 或其他版本)

我正在寻找有关 Ubuntu 设计和组件的优质信息来源。到目前为止,我找到的绝大多数内容都是用户指南或编程信息。我正在寻找有关组件分析和总体设计的信息。例如,Ubuntu 中的进程调度程序如何工作以及有哪些可用的调度程序?有人知道我可以在哪里找到这类信息吗?(任何版本的信息都会有用)

感谢您的考虑。

答案1

Ubuntu 是一系列知名的开源软件。您应该了解的关键部分包括:

  • DebianUbuntu 只是 Debian 的一个美化版,包含几个 Ubuntu 专用软件和一个一致的主题。Debian 以其软件包管理而闻名,因此特别需要学习软件包(负责处理单个包裹)和易于(例如,它负责处理这些包的依赖关系:“嘿,为了安装 foo,您还需要 bar。我会为您安装它!”)

  • Debian/Ubuntu 是典型的 Linux 发行版,使用GNU用户空间组件和Linux 内核。如果您对进程/ I/O 调度程序、设备驱动程序等感兴趣,那么 Linux 内核就是您应该了解的东西。内核新手可能会也可能不会让您轻松掌握内核。您还应该下载最新的内核源代码,提取它们并阅读其文档下的文档,当然,还要浏览代码。编译自己的内核是了解内核的绝佳方式,因为您将能够查看和选择调度程序、驱动程序、安全模型等。

  • 其他软件包收集于世界各地。Ubuntu(或任何其他发行版)记录这些软件包是没有意义的 - 这将是重复的工作。最好告诉用户查看实际项目。如果您需要有关 Ubuntu 中默认桌面环境的更多信息,您应该了解侏儒

你没有具体说明你想学什么。关于桌面环境?服务器端?关于操作系统工作原理的一般知识?

在写这篇文章的时候,我突然意识到,早在 90 年代就了解了 Linux。下面开始。

  • 首先,我学习了 shell 基础知识。由于我有 Amiga 背景,所以我已经了解了进程列表和调度程序等内容(我使用了管理人员在我的 Amiga 中,它允许使用各种调度程序类等非常精确地微调进程优先级)。因此,在 Linux 中,我仔细检查了进程列表,如果有什么我想了解更多信息,我会尝试man interestingcommandname查看下面是否有关于该程序的其他文档/usr/共享/doc大概。当我学习 Linux 时,还没有 Google(或者它还很年轻),新闻组和源代码是最好的去处。:-)

  • 为了好玩,我花了太多时间浏览目录,例如/垃圾桶/usr/bin/sbin/usr/sbin。我尝试了各种命令并阅读了它们的手册页。很快,我发现了这个真正奇妙的东西,叫做管道然后开始将一个命令通过管道传输到另一个命令,然后又传输到另一个命令,看看会发生什么。这让我意识到 shell 和 Perl 的无限力量。

  • 我迟早会发现/进程sysctl。我惊呆了。哇,有这么多旋钮要调整!当然,这又引出了另一件事:我决定编译自己的内核。天哪,当我自己编译的内核成功启动时,我感到很自豪!可能一切都配置错误,但那没关系——当时热插拔之类的东西不像现在这么常见,我的配置需求非常静态。

  • Debian 是我安装的第一个发行版。它实际上安装在我那台强大的 Amiga 1200 上,配有 68060 处理器和其他东西。后来,在我的第一台电脑上,我安装了红帽那时,它完全是另一回事。如今,安装 Red Hat 时最困难的事情是找出您的订阅密钥。早在 90 年代,您需要知道网卡的 IRQ 之类的信息……无论如何,那时我意识到了 Debian 和 Red Hat 之间的差异,并意识到 Linux 发行版不止一个,而是很多,即使它们相似,也不尽相同。因此,如果您真的想学习 Linux,我建议您不仅要学习 Ubuntu,还要在几个发行版之间切换,看看情况会有什么不同。

如需加分,请安装Gentoo确实了解 Linux 发行版的内部结构。我可以保证,如果您安装并使用 Gentoo,您很快就会对 Ubuntu 有更多了解。如果您留心的话,磁盘分区、PAM、nss、流行库等内容都会变得清晰。

(如果一些“Gentoo 用户赖斯“伙计们正在读这篇文章:是的,他们中的许多人都是。不,盯着 gcc 输出不会让你变得更聪明,或者你的电脑更快。但尽管如此,安装和使用 Gentoo 是一个很好的学习体验,USE 标志以及使用其他发行版时我怀念的简单的 ebuild 修补功能)

答案2

进程调度程序是 Linux 内核的一部分,而不是 Ubuntu 发行版贡献给 GNU/Linux 操作系统的东西。在 Google 上搜索Linux 内核揭示了许多关于内核的在线信息来源,以及搜索Linux 调度程序出现了许多有关调度程序本身的文章。

相关内容