huangruth

  • 2025-02-17
  • 发表了主题帖: 《Linux内核深度解析》在windows环境下所用到工具概述

    《Linux 内核深度解析》主要围绕 Linux 内核的编程设计和组成原理进行分析的,如果具有Linux系统刚更有助于实践和理解。但是没有Linux环境,我们也可借助Windows环境下基于Linux的工具完成该书的学习,早期我们需要在Windows下搭建Linux虚拟机模拟环境来学习,现在我们具有一些更好的工具,也能在Windows下实现学习,那么学习该书用到的基础工具有哪些,我总结了一下: 文本编辑器 Notepad++:这是一款免费而且开源的文本编辑器,它的特点是更方便代码编写,能通过语法高亮显示、代码折叠等功能方便编写代码时的查看,即使用于编辑 Linux 内核相关的代码片段、使用也很方便,使代码的可读性更好,也能方便进行文本的查找、替换等。 Linux调试工具  MSYS2 :它能在 Windows 上模拟出类 Linux的环境,并且专供 Windows 系统下设计的软件开发环境,。它集成了丰富的 Unix 工具,像 bash、gcc、make 等,使熟悉的 Linux 命令行能在 Windows 平台上使用操作。在学习《Linux 内核深度解析》的过程,可借助它在 Windows 下开展内核代码的编译、调试等工作。同时它还拥有包管理系统 Pacman,能方便快捷地使用支持类Linux的软件包。同时,MSYS2与 Windows 的文件系统存在良好交互性,使用它开发者灵活切换在Windows 和Linux模拟环境之间和操作,有效降低了在 Windows 上研究 Linux 内核的难度。同时它较之安装虚拟机存在更易安装更节省磁盘空间等特点,是一个良好的有独立操作界面的环境工具。 版本控制工具 Git for Windows:在本书的学习过程中使用到的便于Linux运行的源代码,它们基于Linux 内核的开发主要使用 Git 进行版本控制。 Git for Windows 是在 Windows 环境下安装的代码管理工具。安装它后,方便用户地从 Linux 内核的官方代码仓库克隆代码,进行代码的版本管理、查看代码提交的历史记录、同时也可以进行分支创建,进行修改,删除等操作,这便更好地参与该书Linux内核学习,也能顺利跟踪内核代码的变化。 辅助工具 Source Insight:原书中已经提及,确实掌握后好用于该书的学习极有帮助。

  • 2025-02-03
  • 回复了主题帖: 有关《Linux内核深度解析》的文件系统需要的知识准备及剖析

    oxlm_1 发表于 2025-1-21 21:19 张尧学  我的学位证上还盖着他的章 清华大学

  • 2025-01-21
  • 发表了主题帖: 有关《Linux内核深度解析》的文件系统需要的知识准备及剖析

            通过近三周的学习,参照网上的现有资源,我完成了一份PPT说明文档,在完成这个文档的过程中,我学习了两个很好的AI工具,豆包和KIMI,它们帮助我完成了这个PPT在部分的内容,使我在完成文档时很省力也很方便。鉴于PPT非原创,属于互联网产品,只是做为我这个学习阶段的一个学习成绩做为附件引用给大家。供大家学习参考。不做为本阶段学习的成果发表。 那么能产出如此的文档,我总结了一下,让我思考到必须打好大学计算机学习的基本底子。我们曾经学习的大学课本中提到相关内容的课本有如下: 《操作系统原理》 作者:张尧学、史美林等 出版社:清华大学出版社 内容涵盖:这本书是大学计算机必学的基本理论课程,它详细介绍了操作系统的知识,其中包括文件系统、存储管理等内容。关于“块”的概念、块的大小、块的分配策略等内容都有较为详细的讲解。 《计算机硬件技术基础(第4版)》 作者:李继灿 出版社:清华大学出版社 内容涵盖:这本书与之相关的内容主要包括中断技术基础知识,其中就中断的基本概念、中断响应和处理过程、中断服务程序设计等做了相应讲解。 《计算机系统基础(第2版)》 作者:袁春风 出版社:机械工业出版社 内容涵盖:这本书主要就异常和中断处理做了说明,包括Linux如何进行异常/中断处理、中断的响应和处理过程等。 《微型计算机基本原理与应用(第二版)》 作者:李云、曹永忠、于海东、葛桂萍、管旗、高龙琴、李彬、周磊。 出版社:清华大学出版社。 内容涵盖:这是大学计算机的基本课程之一,它与本书相关的基本概念主要包括中断的知识,有其基本概念、中断的响应和处理过程、中断优先级和中断嵌套等。 《计算机操作系统》 作者:彭民德、彭浩 等 出版社:清华大学出版社 内容涵盖:这本书中讲解了文件系统和设备管理,涉及到了块设备的定义、特点、工作原理等内容。 《计算机组成与设计》 作者:李伯成 出版社:清华大学出版社 内容涵盖:介绍计算机硬件系统中的存储设备,包括块设备的存储结构、访问方式等。 可见在学习此书中我们也要温习相关的知识,才能温故而知新。同时也说明好的理论学习不是一蹴而就,而是通过扎实的基本理论的学习,才能对学习内容有个深刻的了解。 我提到的书籍和课本都是计算机专业同学学过的的,相信你们像我一样,学习的时候还翻翻旧时的课本,一定会有更深的理解。   

  • 2024-12-27
  • 回复了主题帖: 《Linux内核深度解析》之环境准备

    bigbat 发表于 2024-12-21 10:46 一、建议 推荐qemu的arm a7 mpu的项目 https://www.qemu.org/docs/master/system/target-arm.html# ... 谢谢指点

  • 发表了主题帖: 诠释《Linux 内核深度解析》的内存管理和中断调用

    内容概述 第三章内存管理:阐释的是有关 Linux 内核的内存管理机制。先由虚拟地址,再从物理内存的组织架构,讲解了内存体系中包括内存映射,分页、分段机制以及内存区域的划分。介绍了内存分配与回收算法,以及页表缓存,巨型页,即页的处理方式。分别说明为满足不同大小内存请求,高效地管理内存块的分配与合并;同时阐述了 分配器即针对特定对象的缓存式内存管理策略,可确保在多进程、多任务环境下如何合理利用有限的物理内存资源,保证稳定运行。 第四章中断调用:主要侧重说明在中断处理时 Linux 内核中的处理流程。详细说明了中断的硬件触发机制,以及内核初始化中断描述符表来映射各类中断向量。说明了中断服务程序的注册、执行与返回过程,包括中断的优先级管理和中断嵌套的处理方式,以保证高优先级中断能够及时响应,避免混乱。还包括软中断等内核机制,以及用于在中断上下文之外 的可延迟的中断处理任务,以提高系统的平衡实时性与整体性能。 读后感 阅读这两章后,深感 Linux 内核设计的精妙与复杂。阅读前要侧重关于计算机内核与操作原理相关的基础知识。了解内存管理是精密的调度中枢,掌握了它的分配回收策略,从底层开始内存支撑着进程的创建、运行与切换,这就要求内核开发者必需有严密的思考和对计算机原理的充分了解,也能意识到内存管理对系统稳定性和性能的关键影响。中断调用像是应急响应的快速通道,它能迅速处理硬件事件,保障系统实时性;内存管理的多层级的处理架构,可以使在不影响关键任务的前提下,巧妙平衡了紧急事务与常规任务的处理,说明内核在复杂硬件交互场景下的应变能力。通过这两章的学习,它提升了我对操作系统底层的认识,使我对深入探索内核奥秘有了更新的知识,也充分意识到只有通过扎实的内核知识学习,才是了解Linux 系统开发与调优的关键。 在进行这两章的学习的准备知识有操作系统的基本原理,C语言知识,汇编知识的理解,数据结构知识,熟悉掌握对Source Insight软件工具,ARM64处理器的准备知识。 本着是看书学习的过程,最好能像我上一篇写的搭建好运行环境。对书中技术原理中的概念查资料详细分析,才能了解的更加深入。谢谢EEWORLD提供书籍给与良好的学习机会,如果今后能在学习的过程中,针对学习的内容也提供一个优质的后台服务器运行环境的以供实践将弥补学习中纸上谈兵的苦恼。  

  • 发表了日志: 《Linux 内核深度解析》第三章和第四章读后感

  • 2024-12-20
  • 发表了主题帖: 《Linux内核深度解析》之环境准备

     Linux 内核编程具有挑战性,需要搭建进行一定的准备,其中就包括以下准备工作: 一、环境搭建 安装系统 需要搭建Linux 操作系统开发环境。其中可以选择Ubuntu、CentOS 等操作系统。其中建议安装Ubuntu ,因为它提供了丰富的软件包管理工具,方便安装编译内核所需的各种工具。书中剖析的代码的版本是Linux4.12,发布于2017年,所以最好找到相应的版本的操作系统安装。 安装时需要硬盘有足够的磁盘空间,建议的可用空间至少有 10 - 20GB。 获取内核源码 从官方的 Linux 内核网站(https://www.kernel.org/)下载最新的内核源码 加入U-Boot 引导程序,它可以从这里下载:U-Boot 官网:http://www.denx.de/wiki/u-boot/或者有许多开发者和组织在 GitHub 上维护着 U-Boot 的相关代码库,如https://github.com/xilinx/u-boot-xlnx ,该版本由 Xilinx 维护,适合其相关硬件平台的开发. 安装编译工具链 需要安装一系列的编译工具,如 GCC(GNU Compiler Collection)、Make 等。 二、模块框架搭建: 创建一个基本的内核模块框架。 一个简单的内核模块通常包含模块加载函数(init)和模块卸载函数(exit)。 编译和加载模块。 编写 Makefile 来编译这个模块。 三、加入复杂模块:     1.  学习本书还要具备ARM64处理器的基本知识。按照书中所提的要求下载相关文档做参考。  

  • 2024-12-11
  • 回复了主题帖: 读书入围名单: 《Linux内核深度解析》

    个人信息无误,确认可以完成阅读分享计划

最近访客

< 1/1 >

统计信息

已有6人来访过

  • 芯积分:21
  • 好友:--
  • 主题:4
  • 回复:3

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言