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

哈工大李治军操作系统课程实验环境搭建

资源下载 首先,我们需要linux-0.11源码、bochs等。我把资源放在百度云盘里了。...我的Ubuntu是64位的(具体是Ubuntu Kylin 20.04版本),因此选择amd64目录下的包进行安装,使用如下命令: cd amd64 #进入该目录 sudo.../run,就会看到bochs加载Linux0.11成功,界面如下: ? Ubuntu与Linux-0.11之间的文件交换 在oslab目录下,运行mount-hdc脚本,挂载linux0.11。...挂载以后就可以在hdc目录下和Ubuntu进行文件交换。挂载以后可以在hdc目录下看到如下文件。 ? 不要在0.11内核运行的时候mount镜像文件,否则可能会损坏文件系统。...同理,也不要在已经mount的时候运行0.11内核; 在关闭Bochs之前,需要先在Linux-0.11的命令行运行“sync”,确保所有缓存数据都存盘后,再关闭Bochs

3.9K21

在学习操作系统开发中选bochs还是qemu

最近有同学问我:为什么你的《从0写x86 Linux操作系统课程》选择了bochs,而不是qemu?他认为bochs更加好用,很多资料上都写了用该软件。...软件特点 图片 Bochs是一个用C++编写的开源模拟器,仅可模拟x86计算机硬件环境,包括CPU、内存、硬盘、显示器、网卡等。...Bochs和QEMU都提供了各种调试手段,以帮助用户诊断和调试操作系统。不过,从我的使用经验来说,使用qemu进行操作系统开发时,可以提供相比bochs更为丰富的调试手段。...当然,Bochs也支持GDB调试,但是需要重新编译源码生成带GDB支持的bochs,非常麻烦。而且在GDB模式下,内置的调试命令将无法使用。...如下图所示,在进入该窗口后,可以直接输入各种命令,实现bochs同样的命令的功能。这些命令,可以有效的帮助同学分析开发过程中的各种问题。

1K30

如何调试操作系统源码

开源的虚拟机 bochs 就具备这些强大的调试功能: http://bochs.sourceforge.net/ 3.1. bochs 的安装 你可以通过源码编译安装,也可以通过包管理工具进行安装,如果你通过包管理工具安装...,需要安装 bochsbochs-x。...3.2. bochs 配置 安装好后,bochs 启动需要至少进行以下配置: BIOS 映像文件,例如安装包中已经提供的 BIOS-bochs-latest VGA BIOS 映像文件,例如安装包中已经提供的...启动 bochs 3.3.1. unix 环境 在 linux 或 mac 环境下,执行下面的命令就可以启动 bochs 了: bochs -f bochsrc bochsrc 是我们上面编写的配置文件...4. bochs 调试指令 bochs 和我们熟悉的 gdb 界面非常像,可以通过命令进行系统的调试工作。 输入 help 可以看到支持的调试命令。 4.1.

1.6K10

Bochspwn漏洞挖掘技术深究(2):未初始化漏洞检测

关于bochs插桩技术参考《Bochspwn漏洞挖掘技术深究(1):Double Fetches 检测》,此处不再赘述。...直接先看下instrument.h中实现插桩函数有哪些: // Bochs初始化CPU对象时的回调函数 void bx_instr_initialize(unsigned cpu); // Bochs析构...CPU对象时的回调函数 void bx_instr_exit(unsigned cpu); //Bochs每次执行中断操作(软件中断、硬件中断或异常)时的回调函数 void bx_instr_interrupt...(unsigned cpu, unsigned vector); // Bochs执行指令前的回调函数 void bx_instr_before_execution(unsigned cpu, bxInstruction_c...*i); // Bochs执行指令后的回调函数 void bx_instr_after_execution(unsigned cpu, bxInstruction_c *i); // Bochs访问线性内存时的回调函数

2K40

Ubuntu12Ubuntu14Ubuntu16Ubuntu18Ubuntu20Ubuntu22 安装Xfce图形界面

一、 Ubuntu12-22通用,安装Xfce图形界面(由于ubuntu12的源已经失效,目前没法验证ubuntu12了,其他的ubuntu偶数版本我都验证过)参考https://learn.microsoft.com...执行apt-get install net-tools xrdp firefox xfonts-wqy -y)执行时如果不识别sysv-rc-conf (≥ubuntu18.04不支持sysv-rc-conf...,不用动源)vim /etc/apt/sources.list在软件源sources.list文件末尾添加如下文本deb http://mirrors.tencentyun.com/ubuntu/ trusty...执行systemctl enable xrdp)echo xfce4-session >~/.xsessionadduser xrdp ssl-cert(≥ubuntu18.04需要执行这句)service...(适用ubuntu18/20,不适用ubuntu22)add-apt-repository ppa:linuxuprising/libpng12apt updateapt install libpng12

8.8K52

ubuntu 卸载命令_Ubuntu怎么卸载

前言 本文重点介绍Ubuntu卸载软件的4种方法。他们分别是图形化界面的synaptic、自动解决依赖关系的apt-get,处理依赖关系更强大的aptitude,还有安装本地deb包的dpkg。...方法一: Ubuntu使用synaptic图形化界面管理软件 oucanrong@zcwyou:~$ sudo apt-get install synaptic -y 以下是使用Synaptic管理软件的教程...输入当前用户密码 右键选择安装或卸载等软件管理目标 方法二: Ubuntu使用apt-get卸载软件 apt会自动解决和安装模块的依赖关系,于Redat系统的yum命令类似,并且会查询软件仓库, 但不会安装本地的...删除软件包及配置文件 sudo apt-get remove xxx –purge 删除不再需要的软件包 sudo apt-get autoremove -y 注:aptitude 没有,它会自动解决这件事 方法三: Ubuntu...sudo aptitude clean 仅删除过期的包文件 sudo aptitude autoclean 利用apitude重装软件 sudo aptitude reinstall xxx 方法四: Ubuntu

6.6K10
领券