Ucore-Lab1物理内存管理

操作系统ucore lab2实验报告 练习0 填写已有实验   本实验依赖实验1.请把要做的实验1的代码填入本实验中代码有lab1的注释相应部分 首先利用meld工具比较两个文件的差异 发现缺失的是kdebug.c、trap.c两个文件的相关代码,补全后进行下一练习 首先运行 报错,看来就是需要进行实验的所有编程才能完整的运行练习1 实现firstfit连续物理内存分配算法(需要编程)   在实现firstfi 阅读详情

问题

  1. 执行make lab1-mon 后貌似无法自动执行tools/lab1init图片描述
    解决:
    重开一个gdb 改为手动

练习三

  • 为何开启A20,如何开启?
    为了将实模式转换成保护模式
    将键盘控制器上的A20线置于高电位,全部32条地址线可用。
    movb $0xdf,%al
    outb %al,$0x60
    
  • 如何初始化GDT
    一个简单的GDT表和其描述符已经静态存储在引导区中,载入即可。
    lgdt gdtdesc
    
  • 如何使能 和 进入保护模式
    将cr0寄存器PE位 置1便开启了保护模式
    	movl %cr0,%eax
    	orl $CR0_PE_ON,%eax
    	movl %eax,%cr0
    通过长跳转更新cs的基地址
    	 ljmp $PROT_MODE_CSEG, $protcseg
    	.code32
    	protcseg:
    设置段寄存器,并建立基栈
    	movw $PROT_MODE_DSEG, %ax
        movw %ax, %ds
        movw %ax, %es
        movw %ax, %fs
        movw %ax, %gs
        movw %ax, %ss
        movl $0x0, %ebp
        movl $start, %esp
    

操作指令

# 单步执行
next 单步到程序源代码的下一行,不进入函数。
nexti 单步一条机器指令,不进入函数。
step 单步到下一个不同的源代码行(包括进入函数)。
stepi 单步一条机器指令。
# 反汇编(gdb 命令行输入)
define hook-stop
x/i $pc
end

练习四

  • bootloader如何读取硬盘扇区的?
  • bootloader是如何加载ELF格式的OS?
操作系统实验二实验报告 学堂在线-清华操作系统课程-实验二实验报告 阅读详情

相关推荐

ucore lab2 操作系统实验

知识准备: (通过操作系统原理教材、gitbook实验指导书、清华大学教学视频以及其他相关的资料进行学习) 1.特权级以及特权级的转换 (在清华大学教学视频中格外详细讲述了此内容,故结合视频内容并查阅相关资料掌握了此内容) 特权级的目的:用于操作系统和CPU提供给不同应用程序隔离空间、不能让用户程序任意访问操作系统空间 X86的特权级共4个,分别为:ring 0内核级,ring 1和2 操作系统的...

Ding 的博客 4867

操作系统实验报告1:ucore Lab 1

操作系统实验报告1 实验内容 阅读 uCore 实验项目开始文档 (uCore Lab 0),准备实验平台,熟悉实验工具。 uCore Lab 1:系统软件启动过程 (1) 编译运行 uCore Lab 1 的工程代码; (2) 完成 uCore Lab 1 练习 1-4 的实验报告; (3) 尝试实现 uCore Lab 1 练习 5-6 的编程作业; (4) 思考如何实现 uCore Lab 1 扩展练习 1-2。 实验环境 架构:Intel x86_64 (虚拟机) 操作系统:Ubunt

StuGeek的博客 5265

Ucore lab5操作系统实验

LAB5实验报告 实验相关知识 (主要从教学ppt、gitbook、学堂在线上了解掌握并根据优快云查询了解更加详细的信息) 在lab4中我们已经实现了内核线程的管理,本次实验我们将实现用户进程的管理,虽然操作系统对二者的管理体制是较为相似的,但是具体实现上还是有很大差别。基于系统的安全性和可扩展性,ucore要提供用户态进程的创建和执行机制,给应用程序执行提供一个用户态运行环境。 内核线程与用...

Ding 的博客 2435

ucore物理内存管理

物理内存管理 (1)编译运行 uCore Lab2的工程代码 (2)完成uCore Lab2 练习 1-3的编程作业 思考如何实现Core Lab2扩展练习1-2 提交uCore Lab2实验报告的具体要求,包括必要的运行截图 实验目的: 理解基于段页式内存地址的转换机制 理解页表的建立和使用方法 理解物理内存的管理方法 实验内容: 了解如何发现系统中的物理内存 了解如何建立对物理内存的初步管理,即了解连续物理内存管理 了解页表相关的操作,即如何建立页表来实现虚拟内存到物理内存之间的映射,对段页式

m0_50488845的博客 1037

Ucore lab5 操作系统实验

LAB5实验报告 ​ 17342005丁佳奇 实验相关知识 (主要从教学ppt、gitbook、学堂在线上了解掌握并根据优快云查询了解更加详细的信息) 在lab4中我们已经实现了内核线程的管理,本次实验我们将实现用户进程的...

Ding 的博客 2136

ucore lab2 实验报告

ucore lab2 实验报告 练习0:填写已有实验 本实验依赖实验1.请把你做的实验1的代码填入本实验中代码中有“LAB1”的注释相应部分。提示:可采用diff和patch工具进行半自动的合并(merge),也可用一些图形化的比较/merge工具来手动合并,比如meld,eclipse中的diff/merge工具,understand中的diff/merge工具等。 ​ 这...

yanhangy的博客 4103

ucore—5至7讲:物理内存管理

文章目录第五讲:物理内存管理(连续份分配)5.1 计算机体系结构/内存层次体系结构内存层次内存管理方式第六讲:物理内存管理(非连续分配)第七讲(实验):物理内存管理 第五讲:物理内存管理(连续份分配) 5.1 计算机体系结构/内存层次 体系结构 内存层次 注意:cache及以上的部分,由硬件直接控制,操作系统只控制内存和外存 内存管理方式 操作系统中采用的内存管理方式 重定位:程序地址和物理地址不同;不过整个系统都是连续的 分段:至少代码、数据、堆栈(至少一段的内容是连续的) 分页:… 虚拟存储:…

strdhgthbbh的博客 569

DIY压电陶瓷传感器信号放大:从拆解到JFET电路实战(附示波器实测数据)

本文详细介绍了如何利用废旧设备拆解的压电陶瓷片,结合JFET(结型场效应管)高输入阻抗特性,DIY搭建高灵敏度振动传感器放大电路。从元件拆解、参数实测到JFET共源极放大器实战搭建与调试,提供了完整的步骤、示波器实测数据及优化方案,帮助电子爱好者实现低功耗振动检测应用。

weixin_29195615的博客 386

ucore Lab2 物理内存管理

一、实验目的 实验二主要涉及操作系统的物理内存管理。操作系统为了使用内存,还需高效地管理内存资源。在实验二中大家会了解并且自己动手完成一个简单的物理内存管理系统。 理解基于段页式内存地址的转换机制 理解页表的建立和使用方法 理解物理内存的管理方法 二、实验内容 本次实验包含三个部分。首先了解如何发现系统中的物理内存;然后了解如何建立对物理内存的初步管理,即了解连续物理内存管理;最后了解页表相关的操作,即如何建立页表来实现虚拟内存到物理内存之间的映射,对段页式内存管理机制有一个比较全面的了解。本实验里面实

zumhui的博客 963

TI 实时操作系统SYS/BIOS使用总结

1:概述: SYS/BIOS 是一个可扩展的实时的操作系统。具有非常快速的响应时间(在中断和任务切换时达到较短的延迟),响应时间的确定性,强壮的抢占系统,优化的内存分配和堆栈管理(尽量少的消耗和碎片)。能够实现系统的模块化并可裁剪。 最大的特点就是:实时。 2:XDCtools: XDCtools 是SYS/BIOS引用的一种实时的软件组件技术(RTSC),它包括一些有用的工具,标准的AP

带头奋青的博客 5万+

SAP 供应商寄售(VMI)完整实现方案

摘要:本文详细讲解了SAP系统中供应商寄售(Consignment)和VMI(供应商管理库存)的实现方法。核心逻辑是物料所有权属于供应商,仅在领用时才触发采购。文章包含配置步骤(物料主数据、供应商设置、定价协议、会计科目等)、端到端操作流程(收货、库存查询、领用、结算、付款)、关键差异比较(与普通采购的区别)、核心事务码和数据表。重点说明了寄售流程无需采购订单,通过信息记录维护价格,领用时才产生应付账款的特点,并提供了常见问题解决方案和VMI进阶优化建议。

金牌架构师 1044

物理内存管理-ucore操作系统的PADDR宏

PADDR宏 在pmm.c文件中的pmm_init(void)函数中会有如下奇怪的宏定义用法,以前从未见,PADDR完成了去除内核的虚拟起始地址,这个宏是如何工作的?

u012750235的博客 772

扣子Coze工作流教程:采集公众号爆文,一键仿写自动发布

通过本教程,你学会了如何利用扣子(Coze)平台构建一个完整的公众号文章自动处理工作流。这个系统不仅能够大幅提升内容产出效率,还能通过AI二创保持内容新鲜度和原创性。最佳实践建议:初次使用时,建议先保存为草稿而不是直接发布,以便人工审核;从简单的工作流开始,逐步增加复杂度;定期检查工作流运行日志,优化节点配置。自动化内容创作是新媒体运营的未来趋势,掌握这项技能将使你在数字内容领域占据显著优势。

互联网架构师笔记 1236

[操作系统]ucore lab2 学习笔记

总的来讲把的LAB1代码逻辑理顺后再往后学就轻松了一大截.LAB2过遍课程视频,再多翻翻实验指导书基本上就没遇到啥大坎儿.对这节学得东西做个总结就是一张图: 练习0:填写已有实验 本实验依赖实验1。请把你做的实验1的代码填入本实验中代码中有“LAB1”的注释相应部分。 提示:可采用diff和patch工具进行半自动的合并(merge),也可用一些图形化的比较/merge 工具来手动合并,比如me...

康宇的博客 1147

12、认知地图的建模与学习

本博客系统介绍了认知地图的定义、背景及其在机器智能领域的应用,重点探讨了模糊认知地图(FCMs)的建模方法与优势。文章还对比分析了几种主流的认知地图模型(如Axelrod模型、Kosko模型等),并讨论了模型的稳定性条件及实际应用前景。通过智能制造和医疗诊断的具体案例,展示了认知地图在复杂因果推理中的强大能力,并提出了模型优化方向与未来研究展望。

plant的博客 209

面向 Cloud Foundry、ABAP On-Prem 与 ABAP Cloud 的 SAP Fiori 开发全景:工具、流程与实战案例

SAP Fiori开发实战:基于BAS的一站式工程化方法 摘要: 本文系统梳理SAP Business Application Studio(BAS)在Fiori开发中的核心能力,提供三种典型后端(Cloud Foundry/ABAP On-Prem/ABAP Cloud)的对接方案。BAS通过预置Fiori Tools套件、MTA部署工具等扩展,支持从模板创建、可视化建模到构建部署的全流程。文章包含CAP+RAP服务对接、ABAP标准应用扩展等实战案例,重点解析注解驱动开发、Adaptation Proj

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 254

操作系统ucore lab4实验报告

操作系统lab4实验报告

Bendawang's Blog 8895

【unity知识】最新的虚拟相机Cinemachine3简单使用介绍

本文介绍了Unity中Cinemachine 3虚拟相机系统的使用方法。相比旧版本,新版功能更强大且参数分类更直观。文章详细讲解了摄像机镜头参数、旋转控制(包括None、目标跟随、样条线推拉、旋转追随等6种模式)和位置控制(跟随、样条轨道、硬锁定等5种模式)。重点演示了样条轨道摄像机的创建与配置,以及如何实现第一人称和第三人称视角。通过丰富的GIF图示,展示了各种模式的运行效果,帮助用户快速掌握Cinemachine 3的核心功能。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 865

ucore lab 2

ucore lab 2

sfadjlha的博客 2210

【机械臂视觉抓取从理论到实战】

首先声明一下,此项目是参考B站哈萨克斯坦UP的【机械臂视觉抓取从理论到实战】 此内容为他研究生生涯的阶段性成果展示和技术分享,所有数据和代码均开源。所以鹏鹏我特此来复现一下,我采用的硬件与之有所不同,UP主使用UR5,我实验室采用的是UR3,下面列出相关材料 UR3CB3.12:https://www.universal-robots.cn/cb3/ 【UR3系统升级到CB3.12附带URcap1.05】硬件支持代码支持 jacquard数据集:https://pan.baidu.com/s/1524HrV

vor234的博客 5182

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

ucore lab2 物理内存管理 实验报告

实验一过后大家做出来了一个可以启动的系统,实验二主要涉及操作系统的物理内存管理。操作系统为了使用内存,还需高效地管理内存资源。在实验二中大家会了解并且自己动手完成一个简单的物理内存管理系统。、本次实验包含三个部分。首先了解如何发现系统中的物理内存;然后了解如何建立对物理内存的初步管理,即了解连续物理内存管理;最后了解页表相关的操作,即如何建立页表来实现虚拟内存到物理内存之间的映射,对段页式内存管理机制有一个比较全面的了解。本实验里面实现的内存管理还是非常基本的,并没有涉及到对实际机器的优化,比如针对 cac

jzb的博客 1034

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

ucore lab3及challenge

练习1:给未被映射的地址映射上物理页 page_fault函数不知道哪些是“合法”的虚拟页,原因是ucore还缺少一定的数据结构来描述这种不在物理内存中的“合法”虚拟页。为此ucore通过建立mm_struct和vma_struct数据结构,描述了ucore模拟应用程序运行所需的合法内存空间。 当访问内存产生page fault异常时,可获得访问的内存的方式(读或写)以及具体的虚拟内存地址,这样...

DynaZang的博客 2548

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

ucore lab1-lab6

给和我一样的菜鸡看的,大佬让步,还有就是老师在视频里说的lab1和lab2最难,我想说每个lab都很难 lab1: 1.开机后的第一条指令在0xffffff0 处,只是系统规定的,这开始是bios的eprom区域,这些代码开始把bootloader加载到也就是第一个扇区加载在0x7c00处. 需要注意两点,1是bootmain函数也是bootloader的一部分,他将整个ucore读到内存中...

qq_40178140的博客 1368

Ucore lab2

操作系统实验2

1425

【ucore-lab2 物理内存管理】

不是实验报告

qq_50679110的博客 568
上一篇: AT&T汇编语法
下一篇: mysql使用Tips
folinggg
博客等级 码龄6年 20粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值