首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

深入分析Linux内核源代码阅读笔记 第四、第五

我的GIS/CS学习笔记:https://github.com/yunwei37/ZJU-CS-GIS-ClassNotes 第四 进程描述...因为内核线程指只运行在内核态,因此,它只能使用大于 PAGE_OFFSET(3G)的地址空间。 Linux 用“权能(capability)”表示一进程所具有的权力。...为了把内核中的所有进程组织起来,Linux 提供了几种组织方式,其中哈希表和双向循环链表方式是针对系统中的所有进程(包括内核线程),而运行队列和等待队列是把处于同一状态的进程组织起来 Linux 2.4...中引入一种通用链表 list_head 第五 进程调度与切换 本章首先讨论与时间相关的主题,然后才讨论进程的调度,最后介绍了 Linux 中进程是如何进行切换的。...(current->counter=0),由于进程的时间片是由时钟中断来更新的,因此,这种情况和时机 4 是一的。

81250

深入分析Linux内核源代码阅读笔记 第一、第二

Linux Linux 内核具有下列基本特征: Linux 内核的组织形式为整体式结构 Linux 的进程调度方式简单而有效 Linux 支持内核线程(或称守护进程) Linux 支持多种平台的虚拟内存管理...Linux 内核另一个独具特色的部分是虚拟文件系统(VFS Virtul File Systen) Linux 的模块机制使得内核保持独立而又易于扩充 增加系统调用以满足特殊的需求 网络部分面向对象的设计思想使得...Linux 内核支持多种协议、多种网卡驱动程序变得容易 本书所分析的 Linux 内核版本是 2.4 版的 2.4.16 版。...Linux 内核内核实际是抽象的资源操作到具体硬件操作细节之间的接口 硬件:包括了 Linux 安装时需要的所有可能的物理设备 其中,Linux 内核由 5 个主要的子系统组成 进程调度(SCHED...第二 Linux 运行的硬件基础 操作系统是横跨软件和硬件的桥梁。 与硬件相关的代码全部放在 arch(architecture 一词的缩写,即体系结构相关)目录下。

70650

深入分析Linux内核源代码阅读笔记 第三

我的GIS/CS学习笔记:https://github.com/yunwei37/ZJU-CS-GIS-ClassNotes 第三 中断机制...INT 调用中断过程指令 INT 中断返回指令 IRET 加载中断描述符表的指令 LIDT 中断描述符表的初始化 Linux 内核在系统的初始化阶段要进行大量的初始化工作,其与中断相关的工作有: 初始化可编程控制器...利用异常来达到两个截然不同的目的: 给进程发送一个信号以通报一个反常情况 处理请求分页 内核对异常处理程序的调用有一个标准的结构,它由以下 3 部分组成: 在内核栈中保存大多数寄存器的内容(由汇编语言实现...分两步进行有效性检查: “段”级检查 “门”级检查 检查是否发生了特权级的变化 Linux 对中断的处理: Linux 把一个中断要执行的操作分为下面的 3 类: 紧急的(Critical)...:内核把中断处理分为两部分:前半部分(top half)和后半部分(bottom half),前半部分内核立即执行,而后半部分留着稍后处理。

1.3K40

嵌入式书籍推荐

不过因为太厚的原因,特别是《套接字联网API》可以说是我遇到的最厚的技术书了,全部啃完需要耗不少时间,可以像笔者一,哪里不会翻哪里。 Linux驱动: ?...推荐指数:五颗星★★★★ 书名:《奔跑吧Linux内核入门篇》 理由:本书是一本介绍Linux内核实践的入门书,基于Linux 4.0内核,重点讲解Linux内核的理论和实验。...本书分为12,包括Linux系统入门、Linux内核基础知识、内核编译和调试、内核模块、简单的字符设备驱动、系统调用、内存管理、进程管理、同步管理、中断管理、调试和性能优化,以及如何参与开源社区等内容...推荐指数:五颗星★★★★ 书名:《奔跑吧Linux内核》 理由:本书内容基于Linux4.x内核,主要选取了Linux内核中比较基本和常用的内存管理、进程管理、并发与同步,以及中断管理这4个内核模块进行讲述...全书共分为6,依次介绍了ARM体系结构、Linux内存管理、进程调度管理、并发与同步、中断管理、内核调试技巧等内容。

1.8K53

浅入浅出 Android 安全:第二 Android Linux 内核层安全

第二 Android Linux 内核层安全 来源:Yury Zhauniarovich | Publications 译者:飞龙 协议:CC BY-NC-SA 4.0 作为最广为人知的开源项目之一...这些架构决策在 Linux 内核层上建立了高效的应用沙箱。 这种类型的沙箱很简单,并基于 Linux 可选访问控制模型(DAC)的验证。...它们在第 3 中会详细讨论。 在传统的 Linux 发行版中,允许所有进程启动网络连接。 同时,对于移动操作系统,必须控制对网络功能的访问。...为了在 Android 中实现此控制,需要添加特殊的内核补丁,将网络设施的访问限制于属于特定 Linux 组或具有特定 Linux 功能的进程。...这些针对 Android 的 Linux 内核补丁已经获得了 Paranoid 网络的名称。

44920

为什么要阅读Linux内核源码以及如何阅读Linux内核源码

获取内核源码: https://www.kernel.org/ 阅读linux内核,常用下面两种方法: bochs+linux0.11+书(linux内核完全注释、linux内核完全剖析、linux内核设计的艺术...) Source Insight+linux2.X+书(linux内核情景分析) 另外:笨叔叔近两年出的两本书不错,《奔跑吧Linux内核 入门篇》和《奔跑吧Linux内核 》基于Linux4.x,只是配套视频有点贵...《linux内核完全剖析》《linux内核完全注释》是引导你横向阅读的书,《linux内核设计的艺术》是引导你纵向阅读的书。...如果想在简历中写上关于Linux内核的经验,先不要花大量时间看源码,先把《linux内核设计与实现》读了,在找工作中更有用。 Linux5.8.14 ?...市面上能见到的其它的Linux内核的图书,《Linux设备驱动程序》、《Linux内核源代码完全注释》以及新出的《Linux内核分析及编程》等。

4.2K30

OpenRemoved_Tina_Linux_系统调试_使用指南

其中,注意linux-5.4内核上暂未支持pstore功能。 1.3 相关人员 适用Tina平台的广大客户与开发人员。...,例如linux3.4,具体是否支持,内核搜索是否有该配置 选项即可。...2.7 valgrind. 2.7.1 介绍 Valgrind是一套Linux下,开放源代码(GPLv2)的仿真调试工具的集合。由内核(core)以及基于内核的其他调试工具组成。...全志轻量级日志永久转存方案依赖于内核原生的pstore文件系统,设计了pstore/blk模块,配 合全志的Flash驱动,实现在内核溃时,自动把日志转存到Flash中,并在开机后以文件形式 呈现到用户空间...此方案在全志释放的Linux-4.9及之后的内核版本中支持,暂时不兼容Linux-3.4/3.10/4.4等 旧内核版本。

82130

全志 Tina Linux 系统调试 使用指南 GDB gdbserver coredump perf strace valgind

其中,注意linux-5.4内核上暂未支持pstore功能。...,例如linux3.4,具体是否支持,内核搜索是否有该配置 选项即可。...2.7 valgrind. 2.7.1 介绍 Valgrind是一套Linux下,开放源代码(GPLv2)的仿真调试工具的集合。由内核(core)以及基于内核的其他调试工具组成。...全志轻量级日志永久转存方案依赖于内核原生的pstore文件系统,设计了pstore/blk模块,配 合全志的Flash驱动,实现在内核溃时,自动把日志转存到Flash中,并在开机后以文件形式 呈现到用户空间...此方案在全志释放的Linux-4.9及之后的内核版本中支持,暂时不兼容Linux-3.4/3.10/4.4等 旧内核版本。

1.9K20

手把手教你使用 ftrace

ftrace:是一个 Linux 内核函数跟踪器,function tracer,旨在帮助开发人员和系统设计者可以找到内核内部发生的事情,从 Linux-2.6 内核就支持了。...atrace 是用于控制用户空间跟踪和设置 ftrace 的设备端可执行文件,也是 Linux 内核中的主要跟踪机制。...查看 available_tracers 可以知道当前系统支持哪些跟踪器,如果系统支持的跟踪器上没有用户想要的,那就必须在配置内核时自行打开,然后重新编译内核。常用的 ftrace 跟踪器如下。...sched_switch:对内核中的进程调度活动进行跟踪。...详细的 ftrace 原理和使用方法,请参考《奔跑吧 Linux 内核 入门篇》11.3节,或者《奔跑吧 Linux 内核基于 Linux4.x 内核源代码问题分析》6.2节。

1.5K40

安装CentOS 8 linux 系统

一、Linux系统的选择 在linux的众多发行版当中,大多数都是面向普通用户的,面向企业的屈指可数,我们通过之前的课程了解到CentOS和Red Hat Enterprise Linux出自同样的源代码...6、KDUMP:系统崩溃日志存储空间设置,为了解决系统溃bug使用。...语言支持:你希望系统是什么语言就点击这里选择即可,我选的的是默认简体中文 软件选择:这里决定了你系统安装什么的软件包,也就是说系统安装后是什么的,很重要!...KDUMP:内核溃日志转储,当系统溃了,如果你想查日志,就可以找这个日志去看看,可以帮助你尽快定位问题,解决bug。...因为是初学,大家点进去直接关掉就行了,以后等涉及到内核编译等工作再去研究吧。

6.6K30

嵌入式 Arm Linux 入门必读书籍推荐

《Shellbook》 也叫做《Shell编程范例》,是泰晓科技(也是魅族前 BSP 总监)的吴金写的开源书籍,虽然只有100多页,但是在网络上广受欢迎。...不像 C 这种跨平台的语言,汇编是和 CPU 体系结构强相关的一门语言,不同的架构 汇编都不一,比如 32 位的 Armv7 和 64 位的 Armv8 汇编就不一,比较难以掌握。...上面是《奔跑吧 Linux Kernel》的作者笨叔叔前两天在朋友圈帮国内手机大厂打的招聘信息,里面有对 Arm 体系结构的要求,大家可以自行感受下。 ?...6、Linux 内核基础原理 很多学习嵌入式 Linux 开发的同学一上来就呆住一个驱动就开始较劲,然后发现看着像天书一,各种奇怪的 API 完全不知道为什么需要这样写,这时候你需要了解一些 Linux...我推荐了五本书: 《Linux 内核设计与实现》 《Linux 设备驱动程序》 《深入 Linux 内核架构》 《深入Linux 设备驱动程序内核机制》 《Mastering Linux Kernel

6.9K46

【重识云原生】第六容器6.1.5节——Docker核心技术Namespace

Linux Namespaces机制简介         Linux Namespace是Linux提供的一种内核级别环境隔离的方法。...这也是可以的,自从 Linux v3.3 版本的内核开始新增了一个 /proc/sys/kernel/ns_last_pid的文件,用于记录最后一个进程的 ID 。         ...一个Network Namespace提供了一份独立的网络环境,就跟一个独立的系统一。...自 Linux v3.5 版本的内核开始,在 /proc/[pid]/uid_map 和 /proc/[pid]/gid_map 文件中,我们可以查看到映射内容。...的博客-CSDN博客 干货 | 谈谈Linux Namespace - DockOne.io   《重识云原生系列》专题索引: 第一——不谋全局不足以谋一域 第二计算第1节——计算虚拟化技术总述 第二计算第

56920
领券