DIY操作系统(一)

解锁编程新姿势:Bolt DIY + Deepseek打造免费代码编写助手 Bolt DIY 与 Deepseek 的结合为我们打开了一扇通往全新编程世界的大门。它打破了传统编程的诸多束缚,将开源的力量与智能代码生成技术完美融合,让编程变得更加智能、高效、有趣。无论你是刚刚踏入编程世界的新手,渴望借助 AI 的力量快速入门,还是在编程领域深耕多年的资深开发者,寻求突破创新的契机,都不妨尝试一下这个强大的组合。现在,就让我们怀揣着对编程的热爱和对未来的憧憬,踏上这一编程新征程吧!不知道大家有没有使用过类似的编程辅助工具呢? 阅读详情
引文:构想根据《30天自制操作系统》以及《ORANGE’S:一个操作系统的实现》初步实现一个操作系统。

先开个头,以后的棋一步一步下。

先说几句题外话:
  回想第一次看到《30天自制操作系统》这本书时,就被这快餐般的标题深深吸引了,我无法想象如此复杂有内涵的内容能在30天就弄出来,直到我花了一个多月看到这本书的第9天时,我放弃了。
  然而这次。
  对不起,我是认真的!

以下开始正文,都是个人浅见,如有错误,欢迎斧正。
  操作系统如何自己运行起来?
  首先,机器自动读取磁盘的第一个扇区(512字节),并载入到内存的0x7c00位置,然后执行第一个扇区的代码,这段代码会读取磁盘后续的扇区到内存,接着跳转到引导文件,由引导文件继续启动操作系统。
  这里有几点说明,并不是所有的第一个扇区都是引导扇区,因为他有个特殊的标记,以0x55aa结尾,为什么是0x55aa?还是让我们先看下为什么要载入到内存的0x7c00位置,因为答案都是一样的,龟腚!

下面是《30天自制操作系统》引导扇区的代码,略作修改,并且加了大量注释,让我们RTFSC!

CYLS    EQU        10                ; 定义变量,将要读取的柱面数量

        ORG        0x7c00            ; 指明程序载入到内存的地址,7c00是魔法数字,人为规定的,没什么道理好讲

        
; 以下这段是标准的FAT12格式软盘用的代码

        JMP       entry           ; 跳到下面执行入口entry
        DB        0x90            ; 写一个字节,DW是写2个字节,DD是写4个字节
        DB        "HARIBOTE"        ; 启动区的名称,必须8字节
        DW        512                ; 每个扇区的大小,必须512字节
        DB        1              
30天自制操作系统-30days diy os 30days_diy_os 30days_diy_os-head.pdf30days_diy_os-0.pdf30days_diy_os-1.pdf30days_diy_os-2.pdf30days_diy_os-3.pdf30days_diy_os-4.pdf30days_diy_os-5.pdf30days_diy_os-6.pdf30days_diy_os-7.pdf30days_ 阅读详情

相关推荐

一文看懂Bolt.diy:Bolt.new的开源孪生兄弟,更强大更灵活

所以今天再给大家介绍一下Bolt.diy这个开源项目,它原本是Bolt.new项目的一个开源分叉,现在已经发展成为Bolt.new的官方开源版本,给喜欢研究的用户提供了更多的灵活性和开放性。通过本文的介绍,希望读者能够对 Bolt.diy 有更全面的了解,并在实际开发中充分利用这一强大的工具。故事是这样的,Bolt.diy 之前曾被称为 oTToDev 和 Bolt.new ANY LLM,是由开源社区的 Cole Medin 创建的,但迅速发展为一个庞大的社区项目,致力于成为。

AI智能体研究 7296

操作系统DIY

使用1000行不到的代码实现一个完整的时时操作系统,包括任务调度,独立栈空间,内存管理,消息传递机制等等 软件架构 软件主要包括Task App、Driver、Scheduler三部分,task通过scheduler提供的API接口注册到系统,由scheduler基于时间片和优先级进行调度,其中scheduler的时间片由systick提供,其最小颗粒可以在inc/

guodaye5200的博客 5085

基于 ESP32-S3 的 DIY 手表

本项目基于 ESP32-S3 平台,采用分层架构设计,构建了一个可靠、高效、可扩展的 DIY 智能手表系统平台。代码示例涵盖了硬件抽象层、操作系统层、中间件层和应用层,展示了嵌入式系统开发的完整流程。通过模块化设计、事件驱动编程、低功耗优化等技术手段,并结合单元测试、集成测试、系统测试等验证方法,确保了系统的可靠性和稳定性。同时,预留了 OTA 升级接口和模块化扩展性,为后续维护和升级奠定了基础。

lianmengde的博客 1753

手把手教你打造自己的操作系统:DIY手册完整指南

理论终须落地。本节指导读者在一个迷你操作系统原型中实现一个基于时间片轮转的调度器,并测量其性能指标。

weixin_29940495的博客 935

EEVDF调度算法核心实现解析(一)

本文深入解析Linux kernel 6.6引入的EEVDF调度算法核心实现,详细讲解其基于虚拟截止时间(virtual deadline)的进程挑选机制和红黑树优化设计。通过代码实例展示算法如何平衡系统响应速度与公平性,特别适合需要优化Linux系统性能的开发者参考。

weixin_42522953的博客 477

Nettrace 源码分析

文章介绍:本文将围绕腾讯开源项目nettrace工具中数据采集,数据处理,数据分析三个模块深入源码分析其实现细节

abobob的博客 989

HTTP 代理服务器的设计与实现

HTTP 代理服务器的设计与实现 首先当然是最重要的代码:github地址 1) 实验目的 熟悉并掌握 Socket 网络编程的过程与技术;深入理解 HTTP 协议,掌握 HTTP 代理服 务器的基本工作原理;掌握 HTTP 代理服务器设计与编程实现的基本技能。 2) 实验内容 基于 java 实现了基本功能与全部附加功能,并增加了 https 的支持 (1) 设计并实现一个基本 HTTP 代理服...

qq_42754642的博客 1888

CY7C68013 C0模式启动

C0或是C2启动的目的,是更改USB芯片的ID信息,并把固件载入到芯片内部RAM中运行。C0模式是指只从EEPROM中载入USB ID信息,因为只有ID信息(8个字节),所以只需要一个小容量的EEPROM即可。当然大容量的EEPROM也可以使用C0模式,但是小容量的EEPROM只能使用C0模式启动。如下图所示: 使用小容量的EEPROM要将A0,A1,A2接地。 这里我用了个24LC01,容量1

Fezl的博客 1740

2024年09月CCF-GESP编程能力等级认证Scratch图形化编程二级真题解析

小杨购物 【题目描述】 小杨有n元钱用于购物。商品A的单价是a元,商品B的单价是b元。 小杨想购买相同数量的商品A和商品B。 默认小猫角色和白色背景,编写程序请你帮小杨计算出他最多能够购买多少个商品A和商品B。 【输入描述】 新建变量“n”用于存储小杨购物的金额。 新建变量“a”用于存储商品A的价格。 新建变量“b”用于存储商品B的价格。 1≤n,a,b≤100000 如下图所示: 图片 【输出描述】 新建变量“result”用于存储小杨最多购买商品A和商品B的个数。 如下图所示:

人生就是一个不断学习的过程 496

Python爬虫实战:全方位解析前程无忧(51job)职位详情爬取及反爬破解

平台规模:覆盖全国各行业、数百万条岗位信息。数据特点:职位描述详细,职位标签丰富。数据价值:支持招聘趋势分析、职业发展研究、薪资行情调研。推荐Python 3.10+,支持最新async特性与库兼容。

2201_76125261的博客 1486

21、使用 FastHenry 进行片上电感器的模拟与参数预测

本文介绍了使用 FastHenry 对片上电感器进行模拟和参数预测的方法。讨论了 FastHenry 的适用场景、线圈几何形状的选择与离散化方法,以及如何考虑模拟中的寄生效应。同时对比了 FastHenry 和 Magnet 在不同基板电阻率下的模拟精度,并提出了优化电感器设计的策略,为高效准确地预测电感参数提供了技术指导。

y9z0a1b的博客 293

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: 配置默认打开ftp和telnet,允许root用户
sunxp
博客等级 码龄25年 16粉丝 21原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值