注册 登录
编程论坛 操作系统内核开发

求组队写mini-os

klapset 发布于 2014-02-28 17:47, 5693 次点击
如题。
15 回复
#2
klapset2014-02-28 17:47
231111776@
#3
wp2319572014-02-28 17:55
太高深了  目前驱动(。sys)还不会写 不会调试
#4
klapset2014-03-03 14:28
手头上有一些芯片,想写一些较为简单的OS RUN一下。如果有兴趣的话可以一起做做,纯C即可。主要是实现调度器,内存分配。
#5
wp2319572014-03-03 14:35
那就是单片机吗

那就更不懂了
#6
embed_xuel2014-03-03 16:48
mark一下,回头聊聊
#7
klapset2014-03-03 16:58
回复 5楼 wp231957
不是单片机,是ARM芯片。
一片samsung的 S3C2440 ,一片cortex-a8的s5pc100 ,还有两片cortex-a7 全志的A20。
其实不用去太过关注硬件,重要的是软件算法上的东西。
#8
klapset2014-03-03 16:58
回复 6楼 embed_xuel
OKEY。一直在。
#9
xkwy00002014-03-09 12:20
内存分配如果只是统计总数,申请分配,释放回收,到是不很复杂。
只是如果长时间的分配,释放,形成碎片,整理起来,
无论使用索引,还是移动数据,效率不会特别高。
另外,不考虑硬件的话,即使分配了,如果应用程序不受限制的使用,
也就很难保证分配的意义了
#10
klapset2014-03-10 19:51
回复 9楼 xkwy0000
所以会考虑使用伙伴系统。

每个进程独享运行空间,互不干扰,但也有明显的使用限制。如有只读,可写。
至于碎片问题的话,确实很棘手,目前我得想法是把可用内存分不同大小的块,根据需要提供最接近的。如果小块的用完,则临时把大块分小,大块不够,则由小块临时组成。但本质不改变。
#11
xkwy00002014-03-15 09:06
碎片问题真是构思巧妙,看来是深思熟虑啊,满足应用没问题,再就没什么问题了
进程的话主要是进程间通信,有一块公用内存就可以了
关键是还是在单片机上做比较靠谱,arm因为涉及到通信安全,不允许做系统吧,
arm芯片我一直也想弄一个,不知如何到手。
#12
klapset2014-03-16 00:10
回复 11楼 xkwy0000
其实ARM也有单片机工控解决方案的。
A系列是 应用处理器 用于应用类电子product上
R系列是 实时处理器 用于军事 基本接触不到
M系列是 工业运用处理器 自明

一般来说M系列就是主要针对于单片机市场的处理器系列,现在的有m0,m3,m4 这个世界上比较牛叉的是ATMEL,NXP,意法电子,TI的M系列也可以。不过这种类型的不建议你去学习。

ARM7,ARM9,ARM11,ARM10(这个从未接触过)这是最以前A系列的前身。如果你要买这一类芯片的开发板,

三星的s3c2440(arm9, 可倍频到400MHZ,外设相对丰富,这里不做介绍,支持MMU,支持SDRAM,两级CACHE,具体值忘记了)
三星的s3c6410(arm 11, 800MHZ上下,有各种硬件编解码,OPENGL渲染。), 推荐购买。

如果觉得不给力,可以入手一套a系列的芯片。
CORTEX-A8架构的芯片,TI的OMAP系列, SAMSUNG-S5PC100,110,210, 飞思卡尔的也可以,我有认识人做这个的。国产的珠海全志的a13也可以,几百块一个开发板。

我手上有一块S5PC100,这是当年苹果iphone3用的芯片,这款芯片虽然已经停产,但真心很棒。我爱不释手。
还有两块珠海全志的cortex-a7芯片。这个是a7架构的。
a9的话,不怎么推荐,如果兄台想弄一个a9架构的话,还是推荐考虑samsung的 4412这颗IC吧。主要就是资料多,而且国外专门的开源网站做支持。代码应有尽有。

#13
xkwy00002014-03-16 08:41
对于一个芯片,初始的开发工具很重要的,重做系统也是必须的。对于个人或几个人使用机器码做一个
即使小型的系统,难度也是可想而知的。说这话,让人见笑,属于赤贫。
#14
klapset2014-03-22 22:25
回复 13楼 xkwy0000
最近有个新想法,关于一个面向对象的os结构。
#15
xkwy00002014-03-23 11:53
C++来描述是可以的,只是实现有些困难。如果说具体内容,
基本上了,只是还涉及到一个进程队列,外设的闲,忙,
我觉得可以了,参与的人太少了,思路打不开呀。
#16
klapset2014-03-23 19:11
回复 15楼 xkwy0000
我先构思一下。可能要一段时间。
1