Coder Social home page Coder Social logo

zjkmxy / taurix Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sxysxy/taurix

0.0 3.0 0.0 137 KB

Taurix OS kernel. Taurix 系统内核,操作系统原理实(xjb)践(写)

License: MIT License

Batchfile 0.08% Ruby 4.48% Assembly 5.43% C 82.38% C++ 3.79% Python 3.85%

taurix's Introduction

Taurix

Taurix OS kernel. Taurix 系统内核,操作系统原理实(xjb)践(写)

Taurix kernel 是一个采用微内核构架,跨平台(但是目前只做了i386(⊙﹏⊙)b,内核提供的接口都是平台与实现无关的),高度模块化的系统内核。

Taurix 最终目标并非玩具操作系统(这样的操作系统已经不少了,照着《30天自制操作系统》糊一个就能弄出来,我估计我一天就能搞定它前15天的进度 <- 无视吐槽),而会致力于实现工业级标准(例如opengl/vulkan图形API,FAT32/EXT4文件系统,网络 等),实现友好,美观的图形化交互界面。

(更详细的说明设计等我做完文件系统再写个文档 )

怎么跑起来?

Release版

如果发布了有Release的镜像,在虚拟机中运行镜像即可(镜像作为RAW格式的虚拟磁盘)

对于开发者

工具链:

Linux Windows Mac OS X
cc/cxx/make gcc/g++ Toolchain包中提供MinGW clang/clang++ 待测试
nasm 包管理器安装 Toolchain包中提供 包管理器安装
qemu 包管理器安装 Toolchain包中提供 待测试
ruby 包管理器安装 Toolchain包中提供 系统自带
PyQt5 on Py3 pip安装 需自行下载安装 pip安装

其中Python3+PyQt5是可选的,如果没有会导致图形化内核参数设置程序无法运行,将自动使用默认参数

Windows上的开发者的Toolchain包下载:百度网盘 进入文件夹后选择针对目标平台(指的是Taurix运行的平台)的压缩包。工具本身的运行需要64位Windows 7及以上支持。

运行

克隆仓库并进入:

git clone [email protected]:sxysxy/Taurix.git
cd Taurix

运行configure程序根据配置生成Makefile,可以使用参数--arch=指定目标平台:

ruby configure.rb

如果安装的有Python3+PyQt5,且没有进行过内核参数的设置,那么会弹出设置界面进行相关设定。一般可以直接点击SaveExit保存退出,在目录下生成taurix-settings-final.json即可。

  • 注意:如果添加了新的源文件,需要重新执行configure.rb以生成Makefile

构建镜像Taurix.img

make Image

在qemu虚拟机中运行,这一步也会自动执行make Image

ruby QemuRun.rb

在qemu虚拟机中调试

ruby QemuDebug.rb

如果要进行调试,会发现qemu虚拟机启动后立刻暂停,这时候就可以使用gdb连接qemu进行调试了。这时可以新打开终端切换到Taurix目录,执行

gdb Taurix
target remote localhost:1234

就可以进行源码级调试了

taurix's People

Contributors

sxysxy avatar jazzleee avatar dimensyu avatar zjkmxy avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.