首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

arm64和linux的书

关于ARM64和Linux的书籍,以下是一些推荐资源:

ARM64和Linux的书籍

  • 《ARM64体系结构编程与实践》:由奔跑吧Linux社区著,人民邮电出版社出版。本书详细介绍了ARM64体系结构的相关技术,包括ARM64指令集、GNU汇编器、链接器、内存管理等,适合嵌入式开发人员阅读。

ARM64 Linux的基本概念

  • 基础概念:ARM64,也称为AArch64,是ARM架构的64位扩展版本,用于高性能计算和服务器应用。Linux是一种自由和开放源代码的操作系统内核,广泛应用于各种设备。
  • 优势:性能提升、能效比高、广泛兼容性、安全性增强。

ARM64 Linux的应用场景

  • 服务器端:用于构建高性能、低功耗的数据中心服务器。
  • 嵌入式系统:适用于物联网设备、智能家居产品等。
  • 移动设备:Android操作系统就是基于ARM架构的Linux变种。

通过这些书籍和资源,您可以深入了解ARM64架构和Linux系统的相关知识,为您的技术学习和项目开发提供宝贵的支持。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iPad上使用UTM安装Linux arm64系统

0x00 背景 以前研究过一次在iPad上安装Linux系统,当时的方案是:AltStore + UTM,由于没有硬件虚拟化,性能非常差,只能安装服务器版Linux,而且UTM由于签名问题需要每7天续签一次...0x05 安装Ubuntu 22.04 arm64桌面版 现在Linux系统的arm生态已经很健全了,基本上常见的应用都有提供对应的arm版本。...保存后启动虚拟机,开始进行安装,Ubuntu也支持Live方式使用,可以先体验一下 安装完成后进入系统,可以做一些个性化界面优化(访问虚拟机需要外接键盘和鼠标才能操作) 至此,一个便携式Linux系统已经安装完成...TrollStore 工具——应用免签&&微信双开 Trollstore2发布了,保姆安装教程~ TrollStore2 巨魔商店2 使用教程 用 UTM 虚拟机在 iPad 上运行 Windows 和...Linux,拓展生产力新可能

4.6K10

宋宝华: ARM64 Linux内核页表的块映射

内核文档Documentation/arm64/memory.rst描述了ARM64 Linux内核空间的内存映射情况,应该是此方面最权威文档。...以典型的4K页和48位虚拟地址为例,整个内核空间的虚拟地址分布如下: ?...对于用户空间的虚拟地址而言,当我们进行的是PMD映射的时候,我们得到的是Huge Page,ARM64的2MB的huge page,在虚拟和物理上都连续,它在实践工程中的好处是,可以减小TLB miss...我们需要一个真实的调试手段来验证我们的想法,这个调试手段就是PTDUMP(Page Table Dump),相关的代码在ARM64内核的: arch/arm64/mm/ptdump.c和ptdump_debugfs.c...我用qemu启动了一个4GB内存的ARM64虚拟机,可以看到前1GB的虚拟地址空间大多数是PMD和PTE映射,后面的3GB,全是PUD映射: ?

3.6K10
  • ARM64 的多核启动流程分析

    在 ARM64 架构下如果想要启动多核,有 spin-table 和 psci 两种方式,下面针对这两种启动流程进行分析。...代码版本 boot-wrapper-aarch64 version : 28932c41e14d730b8b9a7310071384178611fb32 linux v5.14 多核 CPU 的启动方式...嵌入式系统的启动的基本流程是先运行 bootloader ,然后由 bootloader 引导启动 kernel,这里无论启动的是 rt-thread 或者是 linux 原理都是一样的。...该字段有两个可选值:smc 和 hvc。表示调用 PSCI 功能使用什么指令。smc、hvc、svc 这些指令都是由低运行级别向更高级别请求服务的指令。 和系统调用一样。...psci_call 实现函数,通过 fid 与 PSCI_CPU_OFF 和 PSCI_CPU_ON 相比,找出需要执行的动作: 1long psci_call(unsigned long fid,

    2.3K50

    为学Linux,我看了这些书

    写这篇文章的目的有两个: 1.分享自己的学习经验 2.记录下我的学习历程 既然谈到了学习,那一定需要从看书说起,下面我就罗列下我看过的关于Linux学习的书 1....这本书正是讲解这种语言的,但是内容不是很简单,需要知道一些简单的命令和参 数是做什么的,所以,读这本书之前最好还是看看第一本书吧。...我们大概都已经知道,Linux对网络的支持也是非常好的,它在内核中接入网络,所以我们需要知道和运用一些Linux系统提供给我们的命令实现网 络的测 试,运行状况查看等操作,这本书又派上用场了,我记得这本书有一章的内容叫做...《Linux系统编程》 ? 首先说,这本书不是很好找,是一本比较老的书,但是内容却是非常好,也是学习Linux编程不可多得的一本好书。...《Linux内核设计的艺术》 ? 这里,我首先引用这本书封面上的一句话–“本书对操作系统内核的驾驭能力和深刻理解程度达到世界顶尖级水平,是一本能真正引导你深入理解Linux内核设计思想的经典著作。”

    2.1K70

    Linux与JVM的内存关系分析(文末送书)

    一、Linux与进程内存模型 JVM以一个进程(Process)的身份运行在Linux系统上,了解Linux与进程的内存关系,是理解JVM与Linux内存的关系的基础。...下图给出了硬件、系统、进程三个层面的内存之间的概要关系。 ? 从硬件上看,Linux系统的内存空间由两个部分构成:物理内存和SWAP(位于磁盘)。...2.内核内存 应用程序通常不直接和内核内存打交道,内核内存由操作系统进行管理和使用;不过随着Linux对性能的关注及改进,一些新的特性使得应用程序可以使 用内核内存,或者是映射到内核空间。...Linux和Java NIO在内核内存上开辟空间给程序使用,主要是减少不要的复制,以减少IO操作系统调用的开销。例如,将磁盘文件的数据发送网卡,使用普通方法和NIO时,数据流动比较下图所示: ?...根据前面的模型,Java NIO使用的内存主要分布在Linux内核内存的System区和PageCache区。

    1.2K10

    ARM64下函数参数的传导

    return a+b; } 二·Debug调试结果 QQ图片20210131143525.png 我们可以发现编译器做了如下几件事情 1.拉伸main函数栈空间 用来存放参数 2.保护x30 x29寄存器的值...3.参数以x29赋值的sp作为参照物依次减去所需要参数的内存空间 4.参数传递到我们写的sum函数当中去 2.png 三·优化思考 1.在上一章 ARM64下用汇编写一个死循环及函数保护栈 中我们写了一个空函数...,与以往不同的是这次编译器没有进行简写操作 2.既然编译器做的事情是把参数在寄存器里出栈入栈运算的话,为什么不直接通过汇编操作寄存器?...wzr ,[x29,#-0x4] stur w0 ,[x29,#-0x8] stur w1 ,[x29,#-0x10] QQ截图20210131154701.png 五·深思考 死循环和死递归的区别在哪里...从上一章 ARM64下用汇编写一个死循环及函数保护栈 我们可以知道,死循环是由于ret 返回后lr保存的值和当前函数地址一致导致死循环。

    2K40

    ARM64 Kernel Image Mapping的变化

    来源: wowotech | http://www.wowotech.net/memory_management/436.html 引言 随着linux的代码更新,阅读linux-4.15代码,从中发现很多与众不同的地方...之所以与众不同,就是因为和我之前从网上博客或者书籍中看到的内容有所差异。当然了,并不是为了表明书上或者博客的观点是错误的。而是因为linux代码更新的太快,网上的博客和书籍跟不上linux的步伐而已。...当然,我相信不久的将来这篇文章也将会成为一段历史。 注:文章代码分析基于linux-4.15,架构基于aarch64(ARM64)。...根据页表基地址tbl和当前的start变量填充对应的页表项。start ARM64地址占用8 bytes。 更新下一个页表项。 更新下一个block的物理地址。...当然是利用linux中常用手段自定义代码段。自定义的代码段的名称是".idmap.text"。除此之外,肯定还需要在链接脚本中声明两个标量,用来标记代码段的开始和结束。

    2.3K40

    读过的书

    为了记录自己度过的书,写个帖子总结一下,不定时更新。以前度过的书有些不记得了,就先记录一下我记得的吧:) PS:现在读过的书(2016.4月以后),我会做读书总结。...以前看的书,会再抽时间回顾一下,做个简单的总结。...跟数据挖掘相关的书我另写了一个帖子,可以参考这个: 【原】数据分析/数据挖掘/机器学习---- 必读书目 2017.11-12 基本框架搭成,做好之后看公司同不同意开源哈哈,加了两个月的班,朝9晚11,...,和关于树模型的内容,月底之前总结一个树模型的总结。 顺便把十月份拖着没总结的内容总结完。...) Python核心编程(看完PartI) 2015.6 数据挖掘概念与技术(参考了部分章节) 推荐系统实战(看完) 2015.5 数据挖掘-R语言实战(看完) R语言编程艺术(参考了arules部分和作图部分

    1.3K70

    一些不错的单片机,嵌入式Linux书籍推荐

    这本书基于ARM64架构的Linux 4.x内核,用大量图例描述数据结构之间的关系和函数的执行流程,结合代码分析,全面剖析Linux内核。...“奔跑吧Linux内核”系列三本书由“奔跑吧Linux社区”创建者笨叔撰写,第二版基于Linux 5.0内核和ARM64/x86_64架构,全面修订。...基于GCC的“O0”选项编译的Linux 5.0实验平台,通过大量实战案例、高频面试题,剖析Linux内核的源代码 本系列书涵盖大量实战案例,可操作性强,同时配备全套代码下载。...书中每篇均有内容导读,每章都配有小结、思考题和练习题,列举了具有实用价值和工程数据的例题,书末附有习题答案,便于学习。对于从事物联网RFID工作的工程师,本书是一本很好的参考书。...业界工程师:由于RISC-V还处在早期高速发展阶段,想转入该领域的工程师都需要一本书全面了解技术和发展。 技术爱好者:对于新技术的了解需求,加上产业应用情况的进展,也需要一套书来快速获取。

    2.1K50

    ARM64下的函数sp指令调用栈操作

    一·指令 sp:用来保存栈底的寄存器 ldr:把数据从内存读出来,写入寄存器 str:把数据从寄存器读出来,写入内存 二·实现 我们新建一个Xcode项目,创建一个新的.s文件。...如下 1.JPG 三·通过LLDB和内存查看栈空间 我们需要特别关注sp,x0,x1 寄存器的变化 当我们执行函数A时:sp指向A函数的栈空间底部 2.JPG 此时x1 x0还未被赋值都为0x00b...当我们利用LLDB继续向下指向函数跳转到B函数时,修改x0的值,查看内存变化 IMG_5933(20210129-142055).JPG 1.JPG 我们得到了 跳转后的sp指针地址 2.JPG...再通过memoy read sp得到内存空间 IMG_5935(20210129-142102).JPG 由于0xb在内存地址中不明显,我们修改它让它成为一个特征值,修改x0的值我们可以发现内存地址是从地往高处写的...比较A函数sp地址:0x16f1b7820 跳转到B时:16F1B7836处写的FF值 四·结论 QQ截图20210129143830.png 汇编代码解释: sub sp,sp #0x30 拉伸栈空间

    2.7K20

    一本书的结束和新生

    接下来我就在自己的博客上,偶尔写点工作上的思考和记录。 去年的时候,编辑看到我的博客,说挺喜欢工作那块内容,问要不写成一本书呢?...纸质书的困境 尽管我和编辑小姐姐两个都很喜欢这本书,但是对于纸质书来说,成本和收益摆在眼前,而根据出版社的调研统计,软技能远不如硬技能有市场。...最终这本书的内容瞬间翻了倍,变成了三大部分:前端基础和入门、提升硬实力、必备软实力。 而我最喜欢的部分,依然是最初的软技能部分。但结果依然是,这部分不能进行纸质书出版,因为没有市场。...在这个被流量蚕食的时代,纸质书也好,电子书也好,甚至是一部完整的电影、电视剧都好,都很少有人会耐着性子仔细阅读了。...但在聚光灯无法照亮的地方,或许还有无数人在努力地生根发芽,默默地憧憬着偶尔从缝隙中穿过的阳光。 或许很多人不会需要这样一本书,但谁又会知道呢? 于是,把书开源的念头便冒了出来。

    25241

    经典“西瓜书”的学习伴侣“南瓜书”出版

    作者: 谢文睿 ,秦州 折后5折 1 这是一本与众不同的书 “南瓜书”系Datawhale成员自学笔记,对“西瓜书”中250个重难点公式做了详细解析和推导(重难点公式覆盖率达99%),旨在解决机器学习中的数学难题...其实,每个人在学习一门新的课程时,都会有自己独特的经验和方法. 这种经验和方法的共享非常难能可贵....这种新的学习思路和撰写模式,自打开始那一刻,就紧紧抓住读者的需求和痛点,使得这本书成为非常值得推荐的好书。和这本书同样值得推荐的,还有Datawhale 的开源精神和实践精神。...如果想要理解机器学习,而不止步于了解和应用,这本书将是你的好“同桌”——伴你思考,同享“知其所以然”的乐趣。...从这个意义来说,“南瓜书”可以看成是“西瓜书”的公式字典.超纲的数学知识以附录和参考文献的形式给出; 其次,阅读时一定要克服对公式的排斥或者畏惧心理 公式是通过符号对原理本质的高度概括,是一种精简而美丽的数学语言

    92520

    【干货书】流畅的Python清晰、简洁和有效的编程

    Python的简单性使您能够快速地提高工作效率,但这通常意味着您不能使用它所提供的所有功能。在这个实践指南的更新版中,您将学习如何利用Python3的最佳思想来编写有效的、现代的代码。...发现并应用超出您过去经验的惯用Python 3特性。作者Luciano Ramalho将指导您了解Python的核心语言特性和库,并教你如何使您的代码更短、更快、更易读。...本书的主要更新包括:Fluent Python,第二版,包括: 特殊方法: Python对象行为一致的关键 数据结构: 序列、字典、集合、Unicode和数据类 函数作为对象: 一级函数、相关设计模式和函数声明中的类型提示...面向对象的习惯用法: 组合、继承、mixins、接口、操作符重载、静态类型和协议 控制流: 上下文管理器、生成器、协程、async/await和线程/进程池 元编程: 比元类更简单的属性、属性描述符、...类装饰器和新的类元编程 https://www.oreilly.com/library/view/fluent-python-2nd/9781492056348/

    56820

    【Rust日报】2020-07-18 提升ARM64 Linux平台支持到Tier-1

    Rust新提案:提升ARM64 Linux平台支持到Tier-1 Rust 编译器编译并运行于很多平台之上,但不是所有的平台都被同等支持。...Rust 对平台的支持被分为Tier-1,Tier-2,Tier-3三个等级,对其编译和运行的保证程度逐级递减。...这次新提案,提升 aarch64-unknown-linux-gnu 到Tier-1等级,处于该等级的平台被认为是“确保可以构建和工作的”,会为此平台建立了自动化测试,向rust-lang/rust仓库主分支提交的修改确保测试通过...你应该在Rust中实现你的下一个Web服务吗?我还不知道,但是我们现在到了至少应该考虑的地方。...文章链接,https://brandur.org/rust-web traits 工作组Sprint 3的总结 该Sprint继续前期的工作:努力使 Chalk 功能完整等。

    77630

    编译arm64平台的软件包

    国产化平台使用的是arm64v8 CPU芯片,因此传统软件厂商提供的x86架构二进制软件包都没法用,都需要在arm64v8 CPU的服务器上拿源码重新编译。...构建debian deb包 在x86上构建debian的deb包还是比较简单的,过程简述如下: # 下面假设要编译curl的deb包 # 安装gcc、make等编译链工具 $ apt-get update...但有些软件厂商并没有提供apt源或apt源里没有相应CPU架构的包,只提供了软件的deb包,比如mysql。...构建出arm64v8的deb包后,再将之安装到arm64v8的base docker镜像里,一个arm64v8平台下可使用的docker镜像就生成好了,参考的Dockerfile如下: FROM arm64v8...构建出arm64v8的rpm包后,再将之安装到arm64v8的base docker镜像里,一个arm64v8平台下可使用的docker镜像就生成好了,参考的Dockerfile如下: FROM arm64v8

    4.8K20
    领券