当前位置: 首页 > news >正文

如何修改模板网站沈阳网站关键词优化哪家好

如何修改模板网站,沈阳网站关键词优化哪家好,湖州市南浔区建设局网站,游戏行业为啥30岁就要转行文章目录 硬件基本概念qemu-virt地址映射系统引导CSR![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/86461c434e7f4b1b982afba7fad0256c.png)machine模式下的csr对应的csr指令csrrwcsrrs mhartid引导程序做的事情判断当前hart是不是第一个hart初始化栈跳转到c语言的…

文章目录

  • 硬件基本概念
  • qemu-virt地址映射
  • 系统引导
  • CSR![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/86461c434e7f4b1b982afba7fad0256c.png)
  • machine模式下的csr
  • 对应的csr指令
    • csrrw
    • csrrs
  • mhartid
  • 引导程序做的事情
    • 判断当前hart是不是第一个hart
    • 初始化栈
    • 跳转到c语言的执行环境
  • 内核启动过程
  • 引导程序
  • 相关代码

硬件基本概念

hart:理解为处理器
在这里插入图片描述
platform:理解为芯片(包括处理器和一些外设)
DRAM:动态内存
ROM:只读内存,掉电后仍然存在

随着技术进步,芯片集成度越高,最终实现system on chip
在这里插入图片描述
qemu实现模拟platform
在这里插入图片描述

qemu-virt地址映射

qemu将platform的外设和内存都进行统一编址,将所有物理地址从零到最高地址都分配掉,下图显示的就是不同硬件对应的物理地址范围(qemu模拟出来物理地址)
在这里插入图片描述

系统引导

引导程序(Bootloader)加载:当电源通电后,处理器会从一个预定义的存储设备(如硬盘、固态硬盘、闪存等)中加载引导程序。引导程序位于启动设备的特定位置,并负责启动操作系统的过程。

引导程序初始化:引导程序初始化包括设置基本的硬件环境,如处理器模式,内存管理单元(MMU)等。

内核加载:引导程序会加载操作系统内核到内存中的特定位置。这个内核通常是一个独立的预编译的二进制文件,它包含操作系统的核心功能。

内核初始化和启动:一旦内核被加载到内存中,处理器切换到内核执行。内核会进行一系列的初始化操作,包括初始化硬件设备、启动设备驱动、建立必要的数据结构等。

编译时候 -Ttext类似选择0x80000000位置作为内核的起始位置
qemu -kernel指定加载的内核
在这里插入图片描述
八个核,各个核心同时在运行,各个核独立运转,一上电之后每个核都会同时运行这个过程。

CSR在这里插入图片描述

machine模式下的csr

在这里插入图片描述

对应的csr指令

不同模式下有不同对应的寄存器,同样有不同对应的操作寄存器的指令
在这里插入图片描述
Atomic:原子操作,不能中断,一气呵成

csrrw

在这里插入图片描述
rd是x0时,不会将csr中的数据写入x0,只会执行第二步的动作那就相当于向csr写一个寄存器了。对应的伪指令就说csrw

csrrs

在这里插入图片描述
此时如果x6为0,那么相当于把csr的值复制到rd,同时csr不变。可以等价于读

mhartid

在这里插入图片描述

引导程序做的事情

通电时八个核心同时跑起来,但为了简化流程,我们设置特别的参数使得核能够判断自己是否该跑。从而达到八个核心通电时只有一个在跑
在这里插入图片描述
目前先记住引导程序要做的事情吧,等后面再解释

判断当前hart是不是第一个hart

在这里插入图片描述
空转其实cpu仍然在运行,依然耗电。但如果是WIFI的话就是休眠,此时cpu停止运行

初始化栈

就是选定一块区域设置相关栈指针就行了

跳转到c语言的执行环境

其实就是跳转到原先是c代码现在对应的汇编了(因为最终编译了)

内核启动过程

  1. 开机通电后CPU自动执行BIOS(主板ROM中 主要检查硬件是否有问题)
  2. 最后BIOS会调入磁盘零号扇区的内容(MBR主引导记录)到内存并开始执行MBR
  3. 执行MBR时会选择调入一个系统分区的第一个扇区的内容(该系统的引导程序)到内存
  4. 开始执行调入扇区的内容,然后就启动该系统了

引导程序

引导加载程序,通常称为Bootloader,是Linux操作系统启动的关键组成部分。它的主要作用是在计算机启动时加载操作系统内核,并将控制权移交给内核,从而启动操作系统。Bootloader还负责检测和初始化硬件设备,为操作系统提供必要的信息和参数。

相关代码

BIOS引导完成后,bootloader(引导程序)就接手初始化硬件设备、建立存储器空间的映射,以便为操作系统内核准备好正确的软硬件环境

https://github.com/FULLK/risllkos/tree/main/Fullkenerl

http://www.yayakq.cn/news/727484/

相关文章:

  • 有了域名怎样做淘客网站网站建设 天秀网络
  • 织梦网站模板视频教程php网站制作软件
  • 个人网站的制作论文书法网站建站目标
  • 暖色调网站wordpress如何添加内链
  • 专业网站设计建设服务html5国内网站建设
  • dede 购物网站长治哪里做网站
  • 有可以做ssgsea的网站么泰安网站建设论文结论
  • 响应式wordpress南昌seo锐创
  • 廊坊cms建站模板企业建设3D网站
  • 甘南网站建设网站建设系统平台
  • 重庆市门户网站制作如何策划网络事件营销
  • 温州公司做网站科技基金
  • 官方网站开发商手机企业网站
  • 如何做好公司网站自适应网页模板企业
  • 开网站建设公司挣钱吗网站开发网站设计制作
  • 哈尔滨网站推广公司哪家好wordpress 折叠展开
  • 网站建设的指标纪检监察网站建设方案
  • 建设银行网站特色福田公司成立时间
  • 昆山网站建设及推广网站建设需求报告
  • 东莞网站搭建找哪里各大网站黑白几天
  • 泰安建设网站动漫设计软件有哪些
  • 微信公众号怎么建网站wordpress主题手动更新
  • 中小型网站建设新品发布会一般在哪里举行
  • 环境建设公司网站rar在线解压缩网站
  • 团购网站的交易流程龙岗中心医院
  • 建设企业网站综合考虑学院路网站建设
  • wordpress网站代码文件太多wordpress json 插件安装
  • 打鱼跟电子游戏网站怎么做wordpress后台编写seo设置
  • 怎么查网站做百度竞价信息深圳营销网站建设模板
  • 龙华网站建设哪家公司好投资公司企业文化