linux0.11 源码阅读 head.s setup.s bootsect.s加载位置

news2024/11/19 9:20:25

从github上下载linux0.11源码
linux0.11源码
在这里插入图片描述

在这里插入图片描述

将0x10000处的代码往下复制到0开始的地址处。
在这里插入图片描述
移动后的内存布局如下
在这里插入图片描述

setup中存在gdt和idt的相关数据。此时需要用gdtr和idtr寄存器指向对应的数据。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实模式下,访问内存方式。最多访问1M内存。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

分页模式下,计算物理地址。
在这里插入图片描述
在这里插入图片描述

开启分页后,将页目录项,页表项都设置好后,开始执行main函数,此时的内存布局如下:
在这里插入图片描述
上面这张图,我们要牢记在心,操作系统说白了就是在内存中放置各种的数据结构,来实现"管理"的功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1466625.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32控制max30102读取血氧心率数据(keil5工程)

一、前言 MAX30102是一款由Maxim Integrated推出的低功耗、高精度的心率和血氧饱和度检测传感器模块,适用于可穿戴设备如智能手环、智能手表等健康管理类电子产品。 该传感器主要特性如下: (1)光学测量:MAX30102内置…

Java向ES库中插入数据报错:I/O reactor status: STOPPED

Java向ES库中插入数据报错:java.lang.IllegalStateException: Request cannot be executed; I/O reactor status: STO 一、问题问题原因 二、解决思路 一、问题 在使用Java向ES库中插入数据时,第一次成功插入,第二次出现以下错误&#xff1a…

C++种pair的初始化及与unordered_map的区别

pair的初始化及与unordered_map的区别 概述pair初始化开发环境头文件示例运行结果 与unordered_map的区别 概述 本文旨在介绍pair初始化,同时简述pair与unordered_map的区别。 pair初始化 pair是一个模板类,可以存储两个类型的数据为一个对象。 开发…

【深度学习】SSD 神经网络:彻底改变目标检测

一、说明 Single Shot MultiBox Detector (SSD) 是一项关键创新,尤其是在物体检测领域。在 SSD 出现之前,对象检测主要通过两阶段过程执行,首先识别感兴趣的区域,然后将这些区域分类为对象类别。这种方法虽…

js数组操作大全

目录 创建数组: 访问和修改数组元素: 数组的遍历: 数组的操作: 数组的转换: 创建数组: 使用数组字面量:let arr []。使用new关键字和Array构造函数:let arr new Array()。 访问…

【更换yarn的位置】解决yarn和nodejs不在同一盘下产生的某些命令应用失败问题

具体问题我记得是command fail什么error,记不太清楚了,文章主要写了如何替换yarn路径,希望可以帮助到大家。

【算法与数据结构】链表、哈希表、栈和队列、二叉树(笔记二)

文章目录 四、链表理论五、哈希表理论五、栈和队列理论5.1 单调栈 六、二叉树理论6.1 树的定义6.2 二叉树的存储方式6.3 二叉树的遍历方式6.4 高度和深度 最近博主学习了算法与数据结构的一些视频,在这个文章做一些笔记和心得,本篇文章就写了一些基础算法…

10:部署Dashboard|部署Prometheus|HPA集群

部署Dashboard|部署Prometheus|HPA集群 Dashboard部署Dashboard上传镜像到私有仓库安装服务发布服务创建管理用户查看登录的Token信息 Prometheus步骤一:导入所有后续需要的镜像到私有镜像仓库(在master主机操作操作)步…

LangChain原理学习笔记

最新越发觉得AI的发展,对未来是一场革命,LangChain已经在工程设计上有了最佳实践,类似于AI时代的编程模型或编程框架,有点Spring框架的意思。之前在LangChain上也有些最佳实践,所以在这里分享记录下。 LangChain解决什…

计算机网络面经-TCP三次握手一文说清

目录 说一下TCP的三次握手? 为什么要三次握手?两次行不行?四次呢? 为什么建立连接是三次握手,关闭连接确是四次挥手呢? TCP四次挥手的过程? 如果已经建立了连接,但是客户端突然出…

编译GreatSQL with RocksDB引擎

GreatSQL里也能用上RocksDB引擎 1. 前言 RocksDB 是基于Facebook 开源的一种支持事务的、高度可压缩、高性能的MyRocks存储引擎,特别适用于高度压缩和大容量的数据。以下是一些关键特点: 高性能: LSM 树结构使得RocksDB在写入密集型负载下表现…

苹果分拣检测YOLOV8NANO

苹果分拣,可以检测成熟、切片、损坏、不成熟四种类型,YOLOV8NANO,训练得到PT模型,然后转换成ONNX,OPENCV的DNN调用,支持C,PYTHON 苹果分拣检测YOLOV8NANO,检测四种类型苹果

React18源码: React调度中的3种优先级类型和Lane的位运算

优先级类型 React内部对于优先级的管理,贯穿运作流程的4个阶段(从输入到输出),根据其功能的不同,可以分为3种类型: 1 )fiber优先级(LanePriority) 位于 react-reconciler包,也就是L…

【电路笔记】-RC放电电路

RC放电电路 文章目录 RC放电电路1、概述2、RC放电电路3、RC放电电路示例当电压源从完全充电的 RC 电路中移除时,电容器 C 将通过电阻 R 放电。 1、概述 RC 放电电路利用电阻器-电容器组合的固有 RC 时间常数以指数衰减率对电容器进行放电。 在之前的 RC 充电电路教程中,我们…

4 buuctf解题

[CISCN 2019 初赛]Love Math1 打开题目 题目源码 <?php error_reporting(0); //听说你很喜欢数学&#xff0c;不知道你是否爱它胜过爱flag if(!isset($_GET[c])){show_source(__FILE__); }else{//例子 c20-1$content $_GET[c];if (strlen($content) > 80) {die("…

前端项目打包体积分析与优化

一、安装依赖分析工具 npm install webpack-bundle-analyz 二、修改webpack.config.js文件 1、导入上面下载的包 2、在plugins里创建实例 三、启动打包命令 npm run build 会弹出如下界面&#xff1a; 四、优化 1、通过CDN导入react-dom文件 修改webpack.config.js文件里…

Upload-Labs-Linux1【CTF】

拿到这道题目一看&#xff0c;发现是upload靶场&#xff1b;这不简简单单吗&#xff1b;结果中间还是遇到了一些小问题 小坑总结&#xff1a;该关只识别标准php语法&#xff1a;<?php phpinfo()?>格式&#xff1b;即<?php ?> 不识别<? phpinfo()?> &…

大模型综述总结--第一部分

1 目录 本文是学习https://github.com/le-wei/LLMSurvey/blob/main/assets/LLM_Survey_Chinese.pdf的总结&#xff0c;仅供学习&#xff0c;侵权联系就删 目录如下图 本次只总结一部分&#xff0c;刚学习有错请指出&#xff0c;VX关注晓理紫&#xff0c;关注后续。 2、概述…

Spark: a little summary

转眼写spark一年半了&#xff0c;从之前写机器学习组件、做olap到后面做图计算&#xff0c;一直都是用的spark&#xff0c;惭愧的是没太看过里面的源码。这篇文章的目的是总结一下Spark里面比较重要的point&#xff0c;重点部分会稍微看一下源代码&#xff0c;因为spark是跟cli…

HL祭记汇

一.写在前面 如果说廿四10天集训&#xff0c;对于我&#xff0c;是完成了从入门到蒟蒻的蜕变&#xff0c;那么&#xff0c;HL7天&#xff0c;可以说是真正成为了OIer&#xff0c;虽然是被小学生、初中生&#xff08;南方的&#xff09;薄纱的那种高中OIer…… 二.目录 Day 1…