交流
商城
MCN
登入
注册
首页
提问
分享
讨论
建议
公告
动态
发表新帖
发表新帖
0 32位保护模式-环境准备
分享
未结
0
2590
李延
LV6
2022-10-30
悬赏:20积分
# 1、本章节目标 在上一章节中,我们主要了解了在16位实模式下的寻址过程,并且初步了解中断与磁盘系统。 在这样章节中我们将进入32位的保护模式。初步了解多任务切换的原理,包括: - 全局段描述符GDT - 局部段描述符LDT - 任务状态段 TSS - 中断描述符IDT - 内存分页机制 - 多核cpu的启动过程 同时由于我们程序也越来越发杂,需要对代码进行debug。所以我们除了在必要部分使用汇编外,其他都将使用c语言编写。 # 2 开发环境准备 本章节所有内容都在ubuntu18 环境中进行运行,建议在linux 环境中运行,这样方便我们直接debug代码。 如果机器不是linux,也可以使用windows的WSL 运行ubuntu18 的虚拟机。需要安装的程序如下: - 编译器 i686-elf-gcc (不是系统自带的gcc编译器,需要单独安装编译,用于我们程序的交叉编译) - qemu 虚拟机(运行代码) - 开发工具:clion ## 2.1 i686-elf-gcc 安装 运行安装脚本直接进行安装:[gcc_build.sh](https://www.lioyan.cn/data/gcc_build.sh) 参考自:[https://github.com/Minep/lunaix-os/blob/master/slides/c0-workspace/gcc-build.sh](https://github.com/Minep/lunaix-os/blob/master/slides/c0-workspace/gcc-build.sh) 安装完成后,会在当前用户的home目录下创建cross-compiler文件夹,而 i686-elf-gcc命令就在这个文件夹的bin目录下:  ## 2.3 安装qemu 直接使用apt-get 命令进行安装: ```shell apt-get install qemu ```
回帖
消灭零回复
提交回复
热议榜
java 相关知识分享
8
好的程序员与不好的程序员
6
写给工程师的十条精进原则
5
spring boot以jar包运行配置的logback日志文件没生成
5
一步一步分析SpringBoot启动源码(一)
5
MockMvc测试
5
【吐槽向】是不是有个吐槽的板块比较好玩
4
logstash jdbc同步mysql多表数据到elasticsearch
3
IntelliJ IDEA 优质License Server
3
.gitignore忽略规则
3
SpringBoot启动源码分析
3
一步一步分析SpringBoot启动源码(三)
3
2
一步一步分析SpringBoot启动源码(二)
2
积分不够将无法发表新帖
2
官方产品
Meta-Boot - 基于MCN
MCN - 快速构建SpringBoot应用
微信扫码关注公众号