• OS实现流程草稿


    实现一个OS需要现在网上搜索

    1. 不要在Windows环境下写
    2. nasm等汇编编译器的语法
    3. bois中断函数使用
    4. 内存分布
    5. 描述符
    6. 实模式与保护模式
      1. 从实模式到保护模式比较难,可以从网上找一些代码能运行自己理解就行了
      2. 页表
    7. 硬盘与软盘的结构
      1. 制作软盘:高级语言编写工具或者直接只用Linux下的命令行工具
    8. 系统算法
    9. 与硬件有关的操作(端口,相应中断等)都用汇编写了,逻辑在C中写,必要时调用汇编中的函数,接着再调用C语言封装好的函数
      1. 汇编应该实现的操作(被C语言调用)
        1. 端口的读入读出

             

    流程

    1. 先写一个Hello world=》测试
    2. 将Hello world改写为bootloader和kernel=》测试
    3. 在kernel中实现实模式到保护模式-》测试
    4. 可以用C语言了(因为C语言需要堆栈,所以需要在kernel中配置堆栈的描述符和内存空间(定义512或者其他),关于GDT的修改都是在进入保护模式之前)
    5. 将显卡从字符模式切换到图形模式(调用BIOS函数)=》测试
    6. 界面
      1. 将显卡的图形模式再转为调色板模式=》测试绘制背景图形
      2. 绘制字体和字符串(Windows NT的内核就是通过将调试信息绘制在屏幕上实现Windows NT内核的调试的,又因为画字体不方便,于是写了GDI相关的API,Windows NT的GUI就是在内核态的,Linux没有这样子使用,它使用的还是文本模式)
      3. 绘制鼠标
      4. 图像分层(桌面图形绘制(消耗CPU))
    7. 中断描述符=》测试(键盘与鼠标)
      1. 鼠标的移动
    8. 时钟
    9. 内存
      1. 检测可用内存
      2. 进程
        1. 借助TSS

         

  • 相关阅读:
    springboot 整合 pagehelper
    Linux maven安装
    linux 查看端口状态
    mysql执行顺序
    Java int/int 保留2位小数
    【每日一题】30.储物点的距离 (区间处理,前缀和/线段树//树状数组)
    【每日一题】29.maze (BFS 进阶)
    2016年第七届 蓝桥杯C组 C/C++决赛题解
    2016年第七届 蓝桥杯A组 C/C++决赛题解
    第六届蓝桥杯C++A组 A~F题题解
  • 原文地址:https://www.cnblogs.com/megachen/p/12636360.html
Copyright © 2020-2023  润新知