Phoenix的开发目标是图形嵌入式实时操作系统,开放源代码,其实我本来想做一个x86 pc操作系统,但是后来发现开发pc系统实在太庞大,不是几个人可以完成的,并且就算做出来也不具备实用性,因此我打算把这个操作系统做成一个嵌入式实时操作系统。这样不但工作量小而且具备实用性。 1.PHOENIX简介: 目前phoenix操作系统是运行在x86平台的,体积非常小,可以做成软盘镜像在虚拟机中测试,支
我准备把Phoenix OS做成一个实时linux补丁,这样linux就可以用于实时的应用了 类似于RT-linux 和MontaVista公司的实时linux 4/2/2008 :X86下实现vesa驱动 4/4/2008 :实现窗口显示 (点击看大图):
最新版本: Phoenix OS Beta 0.01 For I386 Phoenix Beta 0.01运行在I386平台,支持保护模式,支持内核态和用户态,支持中断管理,支持系统调用,支持256个任务,支持256个优先级,支持信号量,支持进程通信,支持动态内存分配。采用O(1)复杂度的优先级抢占式调度,高优先级先执行,低优先级任务不可抢占高优先级任务,相同优先级任务采用时间片轮
51CTO博客开发
修改进程调度算法,增加一个超级进程,用于实现类似windows的消息机制,超级进程会一直执行。 增加窗口显示函数,可以通过 win_struct *wp=malloc(p_mem_win);create_window(wp,20,20,300,300,0);show_window(wp); 来创建一个窗口,效果如下图(点击看大图):
增加vesa驱动,实现图形界面以及最基本的绘图函数,如画点,画线,画矩形,画圆
phoenix图形界面支持1600*800以下的所有分辨率,以及各种色数,包括8位色,16位色,24位色等。 首先要介绍一个概念:Linear Frame Buffer ,这个是什么呢?这个是vesa2.0以后新增的一个概念(现在显卡一般都支持vesa2.0及以上了),用于标志显存的物理地址,而我们只要往这个地址里面写数据就可以在显示器上显示出来,其余的我们都不需要关心,神奇吧!这个数据根据颜色
1.更新内存管理,将内存管理修改为适合嵌入式的固定内存块大小式分配,提供malloc,free函数进行内存的动态分配,但是malloc只能申请到固定大小的内存。 Phoenix Beta 0.01 For Win 很快会发布
1.修复用户堆栈的严重BUG,以前总是发生奇怪的错误,原来是这里的问题 2.增加进程通信 3.信号量测试完毕,暂无BUG
Phoenix os 的开发环境及开发工具如下: 1.开发环境:Windows 2000/xp 虽然很喜欢linux,但是linux下辅助工具的缺少实在让我闹心! 2.开发工具 Nasm: 一款免费的汇编编译器,可运行在windows/linux下,学起来十分简单,[url]http://nasm.sourceforge.net/[/url] gcc: 不用说了,大家都知
Phoenix OS 2008.3.20 最新更新: 加入信号量机制,正在测试中。 sem_p sem1; //声明一个指向信号量的指针 sem1=creat_sem(short num); //创建一
Phoenix OS Beta 0.001 运行在x86平台,软盘引导。 支持保护模式,支持内核态和用户态,支持中断管理,系统调用,支持256个任务,支持256个优先级,采用O(1)复杂度的优先级抢占式调度,高优先级先执行,低优先级任务不可抢占高优先级任务,相同优先级任务采用时间片轮转法调度。支持页式管理(暂时不支持虚存)
编译phoenix 个文件:boot.bin,setup1.bin2.镜像 将其打开 ,setup1bin文件的0x0000文件,制作完成!!
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号