Jicama 操作系统咨询

4 views
Skip to first unread message

Jiang Lu

unread,
Sep 18, 2006, 3:00:59 AM9/18/06
to jic...@googlegroups.com
你好,我看了一些Jicama的fs服务的代码,有很多疑问,遍寻你的Blog不得其解,希望能得到你的解答:Jicama是不是微内核系统?网络和文件服务器是作为独立的进程还是一个内核线程?如果是独立的进程,文件服务器如何将数据写入用户程序?proc_vis_addr这个函数的功能是什么呢?将用户的缓存空间映射到文件服务器的地址空间中吗?Jicama支持pe-coff-elf可执行程序,支不支持动态连接呢?Jicama的内核是在高地址还是低地址运行?每个进程的地址空间是多少?Jicama是如何管理设备的呢?为什么要特别的限制进程数为48呢?
 
还有,你能不能开放部分文档啊,毕竟好多人是以学习为目的的,谢谢。
 
蒋露
2006.9.28
 

qimi...@eyou.com

unread,
Sep 18, 2006, 7:16:34 AM9/18/06
to jic...@googlegroups.com

抱歉,我不是Jicama 操作系统的开发人员。事实上我与Jicama 操作系统一点关系都没有。

> 你好,我看了一些Jicama的fs服务的代码,有很多疑问,遍寻你的Blog不得其解,希望能得到你的解答:Jicama是不是微内核系统?网络和文件服务器是作为独立的进程还是一个内核线程?如果是独立的进程,文件服务器如何将数据写入用户程序?proc_vis_addr这个函数的功能是什么呢?将用户的缓存空间映射到文件服务器的地址空间中吗?Jicama支持pe-coff-elf可执行程序,支不支持动态连接呢?Jicama的内核是在高地址还是低地址运行?每个进程的地址空间是多少?Jicama是如何管理设备的呢?为什么要特别的限制进程数为48呢? > > 还有,你能不能开放部分文档啊,毕竟好多人是以学习为目的的,谢谢。 > > 蒋露 > 2006.9.28 > > >


--视听震撼低价
--http://sms.eyou.com
--无忧二二族、足球大富翁...尽在亿邮短信

eas...@gmail.com

unread,
Sep 19, 2006, 10:19:35 PM9/19/06
to Jicama OS Development
你好,蒋露:
jicama原先一段时间有做成一个microkernel,但是出于效率方面的考量,最后重新修改成了大内核OS,文件部分其实只是一个加载模块,他既不是进程也不是一个线程,但是网络部分由于采纳了lwip这样的tcp/ip协议栈,所以是多线程的(目前运行了3个),同linux不同的是jicama基本是以线程为单位进行调度的,进程被虚位化了。
jicama一个进程可以管理32M的内存空间,用了48个插槽,所以总共管理了1G的空间,proc_vis_addr这个函数是把用户空间地址转换成内核空间的地址,相当于linux下get_fs_byte()类似的作用。
jicama不是做学习为目的的操作系统,故在项目没有达到预定目标,暂时不会做文档的整理。
我现在正在做boa,java虚拟机,ntfs,usb设备的开发工作,如果你有兴趣参与,我们可以在这里讨论,谢谢。

Jiang Lu

unread,
Sep 21, 2006, 8:30:55 AM9/21/06
to jic...@googlegroups.com
哦,了解,也就是说jicama的内存管理有点类似于Windows CE对不对,每个进程的地址只有32M喽,但是内核可以管理1G的地址空间,于是proc_vis_addr函数的作用类似这样:
内核地址 = (用户地址空间起始地址 * 线程号)+ 用户地址
对不对啊?如果是这样,jicama的内核就这样稳定住了吗?我现在在做毕业设计,是一个嵌入式操作系统,QNX是我的模仿对象。我看到jicama的外部应用相当好,视频播放,网络层啦,所以对jicama很感兴趣。^_^同好啊,我的程序主要是用于学校教学用的,性能并不重要。我现在也在设计核外文件系统服务器,希望我们都能早日完成啊。
 
蒋露
 
在06-9-20,eas...@gmail.com <eas...@gmail.com> 写道:

eas...@gmail.com

unread,
Sep 21, 2006, 8:44:42 PM9/21/06
to Jicama OS Development
你说的基本都对,其实32M的地址的后16M是用来做虚拟内存的,可被影射到系统空间,
proc_vis_addr()的作用是:
内核地址 = (用户地址空间起始地址 * 进程号)+
用户地址
虽然采用线程调度,但是同一个进程下的空间是被多个线程所共享的,但是核心线程可以访问到4G内的所有空间.
UHCI,OCHI目前都开发完毕,待测试,另外昨天改写了文件描叙字重定位,现在boa
web server也可以运行起来了。
Reply all
Reply to author
Forward
0 new messages