[笔记一] 学习开发一个RISC-V上的操作系统

在这里插入图片描述

[笔记一] 学习开发一个RISC-V上的操作系统

资料来源

Gitee 链接
B站视频链接

1 环境准备

代码克隆

  • git clone --depth=1 git@gitee.com:unicornx/riscv-operating-system-mooc.git
  • 参考 README.md 搭建环境
  • sudo apt update
  • sudo apt install build-essential gcc make perl dkms git gcc-riscv64-unknown-elf gdb-multiarch qemu-system-misc
  • 常用构建命令
    • make:编译构建
    • make clean:清理
    • make run:启动 qemu 并运行
    • make debug:启动调试
    • make code:反汇编查看二进制代码

2 计算机系统复习

讲解 C语言 编写 Hello World 程序,从编译到运行显示过程

  • CPU(Central Processing Unit):ALU(Arithmetic Logical Unit) + CU(Control Unit) + Registers
  • IO Bridge
  • Main Memory
  • 总线
  • USB Controller + Disk Controller + Graphic Adapter

冯 诺依曼架构

  • 指令和数据均存储在存储器中,总线开销小,控制逻辑实现简单
  • 但执行效率较低
  • 通用计算机体系结构,广泛用于个人电脑、服务器

哈佛架构

现代应用中,也有两种融合应用的场景,也是根据实际应用场景而定

  • 从 Disk 中源文件 hello.c > gcc编译链接 a.out > 运行 加载到内存 Main Memory
  • Control Unit:取指(Fetch) > 译码(Decode) > 执行(Execute):晶振 驱动 控制单元去执行

存储设备的层次结构

  • 寄存器 > 高速缓存 > 主存储器 > 本地存储(磁盘) > 远程存储(网盘)
  • 速度 快 > 慢
  • 容量 小 > 大
  • 成本 高 > 低

操作系统

  • 保护硬件被失控的软件应用程序滥用
  • 向应用程序提供简单一致的抽象接口来控制复杂的多种外设
  • 应用程序与操作系统之间通过 系统调用(System Call) 来交互
  • 操作系统 与 硬件 通过 指令集架构ISA 来交互
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值