Giter VIP home page Giter VIP logo

xbook's Introduction

XBOOK简介

书是人类进步的阶梯
--高尔基

X是个很神奇的字母,所以X+BOOK就是XBOOK

xbook是一个基于x86架构的32位操作系统,运行在PC电脑上,目前主要通过虚拟机测试开发。

一次偶然机会看到了操作系统居然可以自制,于是就感兴趣,从入门到放弃,再从放弃到入门,反反复复,折腾了几年,终于在2019年6月份定下了开发xbook。把自己感兴趣的部分,想要实现的部分都添加进来,并且希望在众多自制操作系统中有所突出,在学习他人的基础上,也添加了自己的许多想法。

目前已经支持的内容在内容总览文件中查看。部分内容如下:

  • 分页机制
  • 物理内存管理
  • 多进程/多线程
  • 块设备驱动
  • 文件系统
  • 字符设备驱动
  • 控制台tty
  • 信号机制
  • 定时器和闹钟

os-structure

操作系统开发指南

工具环境搭建

虚拟机-推荐qemu

  • bochs
  • qemu
  • virtaul box
  • vmware

代码编辑器-任选其一

  • visual studio code
  • notepad++
  • vim
  • eclipse

开发工具

所需工具如下gcc, nasm, ld, dd, ar, make, rm

windows

linux

  • 自己根据以上工具名字安装哦

macos

  • 和linux兄弟类似

注意!工具包和虚拟机都需要配置环境变量,这样无论源码在哪个路径都可以进行编译运行。配置方法参考开发者手册。

编译源码

操作指令 command in makefile

#compile, link(编译并且链接)
make
#compile, link and run os in vm(编译链接写入磁盘并且在虚拟机中运行)
make run
#run in qemu(直接在qemu虚拟机中运行)
make qemu
#run in bochs(在bochs虚拟机中运行)
make bochs 
#run in bochsdbg(运行bochsdbg调试器)
make bochsdbg
#run in virtual box(运行在vbox虚拟机中,需要配置虚拟机名)
make vbox
#clean all .o, .bin, .a file(删除所有产生的临时文件)
make clean
# make a libary file(生成库文件,给应用程序链接)
make lib 
# remove a libary file(删除库文件)
make rmlib 

window

可以直接运行launch_cmd.bat打开命令行,输入make run即可运行。

linux

xbook目录下打开终端,输入对于指令即可运行。

macos

linux类似

开发交流,群贤聚集,必成大事

BookOS开发QQ官方群:913813452

资助鼓励

如果您觉得我写的系统对您来说是有价值的,并鼓励我进行更多的开源及免费开发,那您可以资助我,就算是一瓶可乐... donate-with-wechat donate-with-alipay

联系我

官方网址:www.book-os.org
电子邮件:[email protected]

xbook's People

Contributors

hzcx998 avatar zhuyu1997 avatar

Watchers

 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.