最近回顾之前写的代码的时候, 发现了以前本科时还开发过一个64位的操作系统, 不过最终也只是开发到进程切换部分

这是一个涉及到汇编和C语言的一个偏底层偏硬核的项目, 而且为了能够学到更多东西, 使用的还是BIOS引导这一古老的方式加载内核

一路上踩过很多的坑, 虽然很遗憾没有彻底完成, 但是还是积累了不少的经验, 所以决定慢慢的把开发过程整理成博客发出来, 好让对系统开发感兴趣的同学少踩一些坑.

现在空闲时间有限, 整理代码的时候还发现部分代码有些可以修改的地方, 所以博客发的比较慢, 甚至有时候可能还会鸽一段时间, 还望不要介意

目前博客仅仅写完boot部分, 后续会继续更新loaderkernel部分

如果有可能, 在将现有的代码整理成博客发出后, 我会继续编写进程切换, 文件系统部分, 并且实现在系统里运行其他程序

目前的项目代码运行之后的界面如下, 当然我也是通过U盘在我的笔记本上启动成功了的, 还记得第一次在笔记本上运行失败, 在bochs,qemu,vmware却正常运行时的懵逼

最后, 欢迎那些正在开发自己的系统的同学在我的博客留言自己遇到的问题, 兴许这些问题我以前就遇到过

X86-64位简易系统开发 - 从BIOS阶段开始的更多相关文章

  1. 64 位 Windows 平台开发注意要点之文件系统重定向

    Program Files 的重定向 很多开发人员都知道,在 64 位 Windows 系统上,32 位程序是无法获取得到 C:\Program Files 的完整路径的,只能获取到 C:\Progr ...

  2. 64位Win7系统下vs2010调试无法连接oracle

    64位win7系统的Program Files (x86)路径中有括号,oracle不认识这样的路径,所以就出现不能连接数据库的问题.所以我们可以将vs2010的内部调试web服务器WebDev.We ...

  3. 64位Win8系统下安装Oracle12c

    经过3个小时的折腾,终于在64位win8系统下成功安装了Oracle 12c.这篇文章主要把安装过程中遇到的一些问题总结一下,以便帮助后来人参考. 首先我把我的机器的主要配制情况列举出来: 1. 系统 ...

  4. 64位Ubuntu系统下ROP攻击

    64位Ubuntu系统下ROP攻击 基础知识 ROP攻击 ROP全称为Retrun-oriented Programmming(面向返回的编程)是一种新型的基于代码复用技术的攻击,攻击者从已有的库或可 ...

  5. 64位Win7系统下vs2010调试无法连接oracle解决办法

    具体的解决办法如下: 1.先将WebDev.WebServer20.EXE和WebDev.WebServer40.EXE文件从Program Files (x86)目录中拷贝出来放到c:\dev目录中 ...

  6. 解决Tomcat6解压版在64位windows系统上无法启动服务的问题

    解决Tomcat6解压版在64位windows系统上无法启动服务的问题         由于客户环境为64位windows系统,开发环境一直用32位.tomcat使用6.0.20非安装版.部署时发现在 ...

  7. 64位Windows系统下32位应用程序连接MySql

    1.首先得安装“Connector/ODBC”,就是Mysql的ODBC驱动,这个是与应用程序相关的,而不是与操作系统相关的,也就是说,不管你的系统是x64还是x86,只要你的应用程序是x86的那么, ...

  8. win10 64位专业版系统中显示32位dcom组件配置的方法

    word.excel是32位的组件,当用户64位系统在运行窗口中输入dcomcnfg命令时,在打开的组件服务管理窗口,是找不到Microsoft Excel.word程序的.另外,Windows 环境 ...

  9. MiniCRT 64位 linux 系统移植记录:64位gcc的几点注意

    32位未修改源码与修改版的代码下载: git clone git@github.com:youzhonghui/MiniCRT.git MiniCRT 64位 linux 系统移植记录 MiniCRT ...

  10. 在64位Ubuntu系统上安装32位程序包

    在64位Ubuntu系统上安装32位的程序包 $sudo apt-get install package_name:i386 例如: $sudo apt-get install openjdk-7-j ...

随机推荐

  1. 阿里云产品之数据中台架构-copy

    1. 场景描述 客户打包买了很多阿里云的产品,但是阿里云不负责实施,基于阿里云产品与客户需求,拟采用的数据中台架构,有类似需求的,可以参考下,拿走不谢! 2. 解决方案 阿里产品大数据架构图: 从下到 ...

  2. 数据库数据实时采集--Maxwell

    1.Maxwell 简介 Maxwell 是一个能实时读取 MySQL 二进制日志文件binlog,并生成 Json格式的消息,作为生产者发送给 Kafka,Kinesis.RabbitMQ.Redi ...

  3. Fluttter基础组件Image的使用

    1.图片 Image 图片组件( Image)是显示图像的组件, Image 组件有多种构造函数 : new Image:从 ImageProvider 获取图像 . new Image.asset: ...

  4. Jenkins插件:Publish over SSH

    Jenkins插件:Publish over SSH Jenkins作为一个开源的持续集成和交付工具,通过插件扩展可以实现各种功能.其中,Publish over SSH插件是Jenkins的一个常用 ...

  5. Q:Linux查看进程启动服务的精确时间

    输入命令 获取进程号 #1#获取进程号ps -ef|grep java|grep 进程名#2#获取启动时间ps -p 进程号 -o lstart  展示启动时间:星期 月 日 小时:分钟:秒 年 一键 ...

  6. Luogu P8710 [蓝桥杯 2020 省 AB1] 网络分析 题解 [ 绿 ] [ 带权并查集 ]

    原题 分析 本题由于从一个节点发信息,同一个集合内的所有点都会收到信息,显然是一道要求维护各节点间关系的题,因此采用并查集的数据结构进行求解. 但由于维护关系的同时还要维护权值,所以采用带权并查集,它 ...

  7. TTRSS 迁移实战

    背景 几年前在云服务器上搭建了一套 TTRss + RssHub 集群, 用于阅读文章. 具体可以参见这篇文章: 使用 K8S 部署 RSS 全套自托管解决方案 - RssHub + Tiny Tin ...

  8. FishSpeech应用篇——专属朗读人

    背景 FishSpeech部署教程参见:使用FishSpeech进行语音合成推理 - 天命小猪 - 博客园 部署好之后,就能够基于推理来定制自己专属朗读人.编程能力强的小伙伴可以结合AI定制一个自己的 ...

  9. 超详细的 Linux - conda 环境安装教程

    一.引言 在 Linux 系统中安装 conda 环境可以为您提供便捷的 Python 环境管理和包管理功能.本教程将详细介绍在 Linux 系统中安装 conda 的步骤. 二.安装前的准备 确保您 ...

  10. VSCode ESLint规则警告屏蔽方法

    举例:要屏蔽"Missing trailing comma"或"comma-dangle"警告,你可以使用ESLint的配置选项来设置规则.下面是一些方法,你可 ...