reyoung / raynix Goto Github PK
View Code? Open in Web Editor NEWOperating System Kernel, Just a exercise.
Home Page: www.reyoung.me
Operating System Kernel, Just a exercise.
Home Page: www.reyoung.me
RayNix -- A simple enough operating system for educational purpose. And currently it is a exercise of a undergraduate student. Mostly i will use C or Cpp to complete this OS. How to run it: 1. type make run in linux or cygwin you must have i586 gcc and ld( you may build it from source), nasm, qemu. 2. copy the kernel.bin into a syslinux media, and change syslinux.cfg Complete Features: 1. multiboot header. make kernel can boot from grub or other multiboot bootloader. I don't wanna to rewrite a bootloader by myself. I wanna do it as simple as possible. 2. Part of libc Currently the atol, ctype, sprintf, stdarg, stddef, stdint, string.h has been written. Mostly reference to Crocos Project. 3. Console Driver Complete a Console Driver, which in protected/text mode. 4. Part of APCI Complete to RSDP struct. TODO Features: 0. Complete Interrupt Handle. 1. Complete APCI Make PC can shutdown. :) 2. Complete Libc Complete the malloc, free, time, etc. 3. Complete Mem-Management and Process Management. Final Goal: 1. A simple enough muilttask OS. RayNix -- 一个足够简单的操作系统。目前仅仅是一个本科生的练习,我准备绝大部分的代码使用C或者CPP来写,增加代码可读性,而且使事情变得简单。 如何运行: 方法1:在cygwin或linux环境中,在目录输入make run命令。 必须存在i586版本的gcc,或许你需要自己从源代码编译这些。 必须存在nasm, qemu 方法2:将编译好的kernel.bin复制到一个有syslinux环境的介质中,并配置syslinux.cfg。 然后重启计算机,用这个介质引导系统(U盘,硬盘,光盘,软盘,随你意) 目前完成的特性有: 1、多启动的头。可以兼容grub或者其他多启动的bootloader,例如syslinux 我没有欲望从头写一个bootloader,因为那样可能会使得系统变得更加复杂,而仅仅是做了重新制造轮子的过程。 2、一部分的C语言标准库 目前完成了一部分的C语言标准库,参考/rlibc/inc中的部分 标准库中大部分的代码和想法参考自 Crocos项目(在sf.net上) 3、控制台的驱动 完成了保护模式下,字符模式的控制台驱动。 4、一部分的APCI 完成了RSDP结构体的封装,查找。 将要做的工作: 0、完成中断的处理 1、完成APCI 让计算机可以关机重启 2、完成C语言标准库 3、完成内存管理,进程管理 最终目的: 做一个简单的操作系统,证明简单的操作系统是能被任何人写出来的
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.