吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3025|回复: 2
收起左侧

[其他原创] 模仿Linux0.11的一个小系统

[复制链接]
pcy190 发表于 2019-9-6 15:46
本帖最后由 pcy190 于 2019-9-6 15:47 编辑

分享一个自写的,模仿Linux0.11系统的一个小型操作系统。
此源码比较简短,功能虽然有限,但是可以对Linux系统基础的工作原理有较为广泛的认识.
该系统基于bochs和qemu运行,相关的配置可以参考项目的README
项目地址

源码打包好了放在附件
TinyOS-harddisk.zip (166.12 KB, 下载次数: 9)


系统实现了

  • 基本的内存管理
  • 线程调度
  • 有输入(键盘中断)和输出
  • 基本系统调用(getpid,printf等等)
  • 基本的磁盘驱动
  • 基于ext2的简单文件系统

分支

  • master分支是稳定版本
  • harddisk分支建议使用,会不断维护。

运行方式

在Linux或者wsl(子系统)中
下载源码

git clone https://github.com/pcy190/TinyOS.git

安装依赖项目

sudo apt install bochs qemu -y
sudo apt-get install build-essential module-assistant  
sudo apt-get install gcc-multilib g++-multilib 

编译运行

make run

目录介绍

  • kernel/main.c
    这是内核启动完后的主进程的程序。可以在这里添加主要的逻辑代码
  • boot/
    内核启动的引导代码。mbr引导到loader去加载内核。
  • fs/
    文件系统目录
  • device/
    设备驱动目录。包括时钟中断,键盘中断,磁盘中断的处理
  • lib/
    基本C语言中字符串,内存,读入输出的函数实现
  • thread/
    线程调度与管理
  • userprog/
    用户态和内核态切换。包括系统调用的syscall的声明。

hd80M.img文件是附加的磁盘,文件系统在此格式化并建立。
要运行的自定义二进制文件,可以通过dd或者syscall来写入读入并运行。
hd.img是系统内核所在磁盘,如果不存在会自动新建。



免费评分

参与人数 3吾爱币 +6 热心值 +2 收起 理由
hkdiaod + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
苏紫方璇 + 5 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
xuan1xuan + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

JuncoJet 发表于 2019-9-6 17:24
X86的?
 楼主| pcy190 发表于 2019-9-6 19:38
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 13:55

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表