热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

学习Linux实在的东西内核

学习Linux实在的东西内核--Linux通用技术-Linux技术与应用信息,下面是详情阅读。
记得几年前我刚刚接触Linux,刚刚听说操作系统内核的概念,想起学习Linux的内核,去阅读Linux内核的源码,但一直到现在,才能走到内核的门口,速度之慢,实在是羞愧难当。这篇文章早就想写了,但是一拖再拖,也想过像那些大牛要写就写有水平的文章,而且一出就出一系列~,现在什么都不管,但是想想凡事岂能一步登天?慢慢的来吧,我的博客当作是我的学习笔记好了。

大二的时候想学习内核源码,没有专业基础的知识,去读源码的确比较盲目,但是我在应用层摸索徘徊了很长的时间,浪费了很多宝贵的时光,还有考研的一年~。Linux内核现在发展很快,已经到了2.6.23版本了,几十兆的代码,读到老死都读不完,其实想学习内核的朋友刚开始像我当时找不到方向就应该先去看书,《Linux Kernel Development》Robert Love,《Linux内核情景源码分析》毛德操老师,等等这些比较好的书,国内出版的仅推荐情景源码分析这本,在书中能很快找到方向,不要像我当年瞎子点灯一样的摸索,走的弯路太多,最好还能带着目的去学。

Linux内核主要由五大块组成:进程调度,内存管理,文件系统,设备驱动,网络子系统。

我们平时安装了Linux操作系统,但是有时候找不到源码,很多书上说在/usr/src/下可以找到内核源码,但是若你安装时没有选上或者像Fedora6那样压根没有明显的选择的安装源码,那你在/usr/src/下是找不到内核源代码的,以前的内核版本中常说内核源码储存在/usr/src/linux 目录中,你到/usr/src/用ls ?l命令查看一下,可以看见一般linux这个目录是一个连接,相当于Windows中的快捷方式,可以用命令ln ?s linux2.6.23 linux来生成(这里假设你是2.6.23的内核),如果你没有在/usr/src/下找到内核源码,不要灰心,可以到http://www.kernel.org/这个网站上下载,这是内核的官方网站,里面有各个版本的源码,要是你想要读linux0.11版本的源码,可以到邪恶八进制,在那里下到了0.11版本的内核,传说linus本人当年写完的就是那个内核)。我假设已经下载好了一个内核,到/usr/src/下解压,就可以得到内核源码,我们可以用它来编译一个新的内核给我们使用,也可以用来做其他目的,编译内核不是这里的主题,我在这里不过多讲述,有兴趣的朋友可以参考我转摘的一篇编译内核的文章或者上互联网搜索。
推荐阅读
  • 通常情况下,修改my.cnf配置文件后需要重启MySQL服务才能使新参数生效。然而,通过特定命令可以在不重启服务的情况下实现配置的即时更新。本文将详细介绍如何在线调整MySQL配置,并验证其有效性。 ... [详细]
  • Symfony是一个功能强大的PHP框架,以其依赖注入(DI)特性著称。许多流行的PHP框架如Drupal和Laravel的核心组件都基于Symfony构建。本文将详细介绍Symfony的安装方法及其基本使用。 ... [详细]
  • 本文详细介绍了 Python 中的条件语句和循环结构。主要内容包括:1. 分支语句(if...elif...else);2. 循环语句(for, while 及嵌套循环);3. 控制循环的语句(break, continue, else)。通过具体示例,帮助读者更好地理解和应用这些语句。 ... [详细]
  • 2012年7月30日,语言岛团队宣布其智能记单词软件V0.3.4.554版本正式开源。该版本不仅支持跨平台使用,还引入了多项创新功能,旨在帮助用户更高效地记忆单词。 ... [详细]
  • 深入解析动态代理模式:23种设计模式之三
    在设计模式中,动态代理模式是应用最为广泛的一种代理模式。它允许我们在运行时动态创建代理对象,并在调用方法时进行增强处理。本文将详细介绍动态代理的实现机制及其应用场景。 ... [详细]
  • 深入理解ExtJS:从入门到精通
    本文详细介绍了ExtJS的功能及其在大型企业前端开发中的应用。通过实例和详细的文件结构解析,帮助初学者快速掌握ExtJS的核心概念,并提供实用技巧和最佳实践。 ... [详细]
  • 本文介绍了解决在Windows操作系统或SQL Server Management Studio (SSMS) 中遇到的“microsoft.ACE.oledb.12.0”提供程序未注册问题的方法,特别针对Access Database Engine组件的安装。 ... [详细]
  • 解决Appium Doctor在Python自动化测试中的SyntaxError问题
    本文详细介绍了如何解决在使用Appium Doctor进行环境检查时遇到的SyntaxError: Unexpected token ...问题,并提供了完整的解决方案和最佳实践。 ... [详细]
  • 探讨在开发、学习和实验过程中,使用 VMware 和 Docker 的优劣,帮助用户根据具体需求做出最佳选择。 ... [详细]
  • 本文详细介绍了钩子(hook)的概念、原理及其在编程中的实际应用。通过对比回调函数和注册函数,解释了钩子的工作机制,并提供了具体的Python示例代码,帮助读者更好地理解和掌握这一重要编程工具。 ... [详细]
  • 在安装 SQL Server 时,选择混合验证模式可以提供更高的灵活性和管理便利性。如果您已经安装了 SQL Server 并使用单一的 Windows 身份验证模式,可以通过以下步骤将其更改为混合验证模式。 ... [详细]
  • 在编译BSP包过程中,遇到了一个与 'gets' 函数相关的编译错误。该问题通常发生在较新的编译环境中,由于 'gets' 函数已被弃用并视为安全漏洞。本文将详细介绍如何通过修改源代码和配置文件来解决这一问题。 ... [详细]
  • Python自动化测试入门:Selenium环境搭建
    本文详细介绍如何在Python环境中安装和配置Selenium,包括开发工具PyCharm的安装、Python环境的设置以及Selenium包的安装方法。此外,还提供了编写和运行第一个自动化测试脚本的步骤。 ... [详细]
  • Linux环境下进程间通信:深入解析信号机制
    本文详细探讨了Linux系统中信号的生命周期,从信号生成到处理函数执行完毕的全过程,并介绍了信号编程中的注意事项和常见应用实例。通过分析信号在进程中的注册、注销及处理过程,帮助读者理解如何高效利用信号进行进程间通信。 ... [详细]
  • 本文详细介绍了如何在Ubuntu的Enlightenment (E17) 桌面环境中管理和优化桌面图标及根菜单。通过本文,您将了解这些功能的作用及其配置方法。 ... [详细]
author-avatar
平凡天使zj
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有