搜索
bottom↓
回复: 41

ARM9多进程操作系统SmileOS

  [复制链接]

出0入0汤圆

发表于 2012-4-1 15:28:32 | 显示全部楼层 |阅读模式
缘起:
出于学习和尝试的目的,利用晚上时间码了一个ARM9操作系统,取名SmileOS,微笑(微小)操作系统。 目前只写了mini2440的BSP,mini2440上可以跑。
项目主页:http://code.google.com/p/smileos
协议:GPL

特性:
一、多进程
支持多进程,并且利用MMU的快速上下文切换功能,进程切换时不用切换页表,避免了重建MMU、使Cache和TLB无效、重建Cache和TLB等耗时的操作,
从而极大地提高了系统的性能,限制就是最多只能创建127个进程,每个进程使用前32MB的虚拟地址空间,支持进程保护。

二、虚拟内存管理
每个进程使用前32MB的虚拟地址空间,使用缺页中断和二级页表支持虚拟内存管理,进程退出时会回收进程运行时占用的物理页面。
独特的内存堆管理算法有利于减少进程运行时占用的物理页面。

三、IPC
支持基本的进程间通信机制,如信号量,互斥量,消息队列,管道,本地回环socket等。

四、多线程
支持内核多线程用于移植LwIP网络协议栈和实现中断底半部处理程序及提供一些内核服务,支持内核线程堆栈溢出检查。
内核线程的调度算法基于优先级,进程的调度算法基于时间片。
应用程序可以使用GNU/libpth库支持用户空间的非抢占式多线程。

五、网络
目前LwIP网络协议栈也移植好了,简单的telnetd用于控制台,简单的ftpd用于下载进程二进制文件。

六、文件系统
虚拟文件系统用于支持多种常用的文件系统,如yaffs2、fatfs、devfs、rootfs等。
提供符合posix标准的文件与目录操作接口。
简单的驱动程序框架,易于编写各种设备的驱动程序。

七、成熟的C库
成熟的嵌入式C库newlib,实现了其需要的20个桩函数。

出0入0汤圆

发表于 2012-4-5 00:39:07 | 显示全部楼层
沙拉个发来帮顶。

出0入0汤圆

发表于 2012-4-5 00:52:10 | 显示全部楼层
大家都开始写操作系统啦,有空去学习。

出0入0汤圆

发表于 2012-4-5 01:51:55 来自手机 | 显示全部楼层
真羡慕……

出0入0汤圆

 楼主| 发表于 2012-4-6 11:35:26 | 显示全部楼层
上传两张SmileOS的图片

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-4-6 14:12:04 | 显示全部楼层
不错,学习一下。

出0入0汤圆

发表于 2012-4-6 16:18:29 | 显示全部楼层
中国嵌入式水平提高的很快啊!顶顶

出0入0汤圆

发表于 2012-4-6 23:27:39 | 显示全部楼层
又一个OS~~

出0入0汤圆

发表于 2012-4-7 00:01:26 | 显示全部楼层
支持一个,看看学习

出0入0汤圆

发表于 2012-4-12 22:16:19 | 显示全部楼层
   大家都玩这个了啊

出0入0汤圆

发表于 2012-4-13 19:09:18 | 显示全部楼层
搂主很厉害呀, 支持下

出0入0汤圆

发表于 2012-4-18 01:00:21 | 显示全部楼层
楼主NB,支持一下

出0入90汤圆

发表于 2012-4-18 01:10:44 | 显示全部楼层
现在人都不玩单片机了,直接玩操作系统了,牛叉!!

出0入0汤圆

发表于 2012-4-18 01:22:38 | 显示全部楼层
http://code.google.com/ 無法進入!

出0入0汤圆

 楼主| 发表于 2012-4-18 15:07:21 | 显示全部楼层
jjj206 发表于 2012-4-18 01:22
http://code.google.com/ 無法進入!

国为访问http://code.google.com/ ,有时确实不稳定,但大多数时间可用

出0入0汤圆

 楼主| 发表于 2012-4-18 15:22:36 | 显示全部楼层
vi编辑器来了!

出0入0汤圆

发表于 2012-4-18 15:27:26 | 显示全部楼层
好多OS啊,个个都很牛!

出0入0汤圆

发表于 2012-4-19 00:37:41 | 显示全部楼层
wyoujtg 发表于 2012-4-18 15:07
国为访问http://code.google.com/ ,有时确实不稳定,但大多数时间可用

可能是我這裡網絡的原因,我一直都無法上去。

出0入0汤圆

发表于 2012-5-10 00:40:35 | 显示全部楼层
听人介绍了 跑来学习下

出0入0汤圆

 楼主| 发表于 2012-5-12 15:03:23 | 显示全部楼层
顶起,顶起,顶起

出0入0汤圆

 楼主| 发表于 2012-6-19 09:45:09 | 显示全部楼层
特性:
一、多进程
支持多进程,并且利用MMU的快速上下文切换功能,进程切换时不用切换页表,避免了回写Cache和WriteBuffer?,使Cache和TLB无效,重建页表、Cache和TLB等耗时的操作,从而极大地提高了系统的性能,限制就是最多只能创建127个进程,每个进程只能使用前32MB的虚拟地址空间,支持进程保护。

二、虚拟内存管理
每个进程使用前32MB的虚拟地址空间,使用缺页中断和二级页表支持虚拟内存管理,进程退出时会回收进程运行时占用的物理页面。
独特的内存堆管理算法有利于减少缺页中断的次数和进程运行时占用的物理页面及帮助程序员快速定位内存使用错误。

三、IPC
支持基本的进程间通信机制,如信号量,互斥量,消息队列,本地回环socket等。

四、多线程
支持内核多线程用于移植lwIP网络协议栈和实现中断底半部处理程序及提供一些内核服务,支持内核线程堆栈溢出检查。
内核线程的调度算法基于优先级,进程的调度算法基于时间片,调度时先调度内核线程再调度进程。
应用程序可以使用GNU/libpth库支持用户空间的非抢占式多线程。

五、网络
目前lwIP网络协议栈也移植好了,简单的telnetd用于控制台,简单的ftpd用于下载进程二进制文件到文件系统。

telnet与控制台:


ftp服务器:


六、文件系统
虚拟文件系统用于支持多种常用的文件系统,如yaffs2、fatfs、devfs、rootfs等。
提供符合posix标准的文件与目录操作接口。
简单的驱动程序框架,易于编写各种设备的驱动程序。
支持select。

七、成熟的C库
成熟的嵌入式C库newlib。

八、常用工具与组件
vi编辑器:


goahead服务器:


libffmpeg视频播放器:




开始SmileOS学习或开发:
请看http://code.google.com/p/smileos/wiki/HOWTO

出0入0汤圆

 楼主| 发表于 2012-7-26 14:48:19 | 显示全部楼层
顶到首页

出0入0汤圆

发表于 2012-7-26 14:52:50 | 显示全部楼层
顶你一下,不错不错!

出0入0汤圆

发表于 2012-8-6 18:14:06 | 显示全部楼层
顶一下,楼主是牛人

出0入0汤圆

发表于 2012-8-6 18:49:41 | 显示全部楼层
大牛啊!

出0入0汤圆

发表于 2012-8-6 18:58:56 | 显示全部楼层
顶一下,不吹的东西是好东西

出0入0汤圆

发表于 2012-8-6 19:05:34 | 显示全部楼层
wyoujtg 发表于 2012-4-18 15:22
vi编辑器来了!

VIM 都来了,楼主强大啊。

出0入0汤圆

发表于 2012-8-7 14:54:09 | 显示全部楼层
楼主威武,顶起

出0入0汤圆

发表于 2013-1-15 21:44:08 | 显示全部楼层
谢谢楼主分享

出0入0汤圆

发表于 2013-1-16 00:38:35 | 显示全部楼层
觉得一步一步去实现,这个过程一定能学到很好啊!作为计算机专业的,深深感慨

出0入0汤圆

发表于 2013-1-16 08:45:36 | 显示全部楼层
不错,支持

出0入0汤圆

发表于 2013-1-18 20:48:01 | 显示全部楼层
楼主,太NB了。

出0入17汤圆

发表于 2013-1-19 08:43:08 | 显示全部楼层
把源码传到此论坛上,应该能给条裤子。。

出0入0汤圆

发表于 2013-1-19 08:47:16 | 显示全部楼层
想学linux,    买个arm9的板子应该够用吧

出0入0汤圆

 楼主| 发表于 2013-1-19 09:10:09 | 显示全部楼层
llysc 发表于 2013-1-19 08:43
把源码传到此论坛上,应该能给条裤子。。

持续开发更新的软件项目,还是用git或svn好

出0入0汤圆

发表于 2013-1-19 10:58:23 | 显示全部楼层
能分享源码吗?

出0入0汤圆

 楼主| 发表于 2013-1-19 11:57:03 | 显示全部楼层
hihi66 发表于 2013-1-19 10:58
能分享源码吗?

获得源码的方法:

svn checkout http://smileos.googlecode.com/svn/trunk/

出0入0汤圆

发表于 2014-4-27 14:50:38 | 显示全部楼层
楼主 你好!
http://code.google.com/p/smileos上下载smileOS,好像连接失效了。

出0入0汤圆

发表于 2014-5-14 20:06:36 | 显示全部楼层
楼主,你这个OS支持缺页管理吗?貌似MMU只做了虚拟内存管理呀

出0入0汤圆

发表于 2014-12-17 11:06:12 | 显示全部楼层
路过!学习!!!

出0入0汤圆

发表于 2017-9-21 08:51:05 | 显示全部楼层
SmileOS  是  SylixOS 前身吗?

出0入0汤圆

发表于 2018-7-20 11:40:03 | 显示全部楼层
跟着SylixOS的路标走到这的,SmileOS和SylixOS是前世今生的关系?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 02:42

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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