OS4E

OS4E

Postby mrgs » Tue Jan 08, 2013 12:07 pm

Hi, Well, as I see: WE have to?! write a ultra light-weight operating system for Epiphany, not just for fun, but something useful. This is my mission?! for this 'year(s)'.
My (Xinu appr.) steps will be: 1) Learn about the HW (continuous), 2) Build toolchain (done), 3) Learn compiler's calling conventions (now), 4) Build bootstrap, 5) Polled in/output, 6) SEQ program, 7) Basic MMU, 8) Context switch, 9) Process management, 10) IT dispatcher, 11) RT clock functions, 12) tty driver, ... (new HW?!) ... 13) ETH + more device driver, 14) Port an FS, 15) Network port protocol(s), 16) Port a Shell and other applications.
I am an idealist, so there are some limits which are created by us. --- So, OS4E?! ---

Well, from my point of view --- from my movie --- : Epiphany processor is 'not just' a massive '2D FPU mesh' rather than an universal embedded processing unit. Which is 'deserve' an operating system. More technically: I am going to use the E16 like a stand alone CPU, not like a co-processor. Regards, Gabor
| OS4E : A preemptive, multiprocessing, microkernel based OS for Epiphany ARCH |
User avatar
mrgs
 
Posts: 63
Joined: Mon Dec 17, 2012 3:22 am
Location: Hungary

Re: OS4E

Postby mrgs » Tue Jan 08, 2013 1:42 pm

Hi and Welcome!
@fmotta : To continue our conversation from here: http://forums.parallella.org/viewtopic.php?f=23&t=56&start=10#p513:
- OS4E as an academic exercise: Well, maybe?! ;) I am going to build up something useful. We should to collect the pro and contra stuffs beside the OS. I will start: pro: + 'Universal' usage, + Higher abstraction of HW / machine 'collects' more people, + 'Stand-alone' processing unit, + Flexibility, + 'Monitor-ability', + 'Standard' methods, + More FUN, ... contra: - Overhead?! What is Your 'acceptable' overhead beside the pros?
@LamsonNguyen: Yes this is my goal: To use E16 like a 'main' processor to solve real computing problem under an OS at a low level power consumption.
@notzed: cooperative threading mechanism v.s. pre-empting: Well, I think, the cooperative threading would be 'just a half' what I like. The 'total cost' of the cooperation mechanism (less flexibility, not so easy coding?!, an additional 'non wanted partitioning'...) is too high. But I think, I see what You said beside the cooperative thread mechanism.
Gentleman, I am so exciting to be here. ;) Regards, Gabor.
| OS4E : A preemptive, multiprocessing, microkernel based OS for Epiphany ARCH |
User avatar
mrgs
 
Posts: 63
Joined: Mon Dec 17, 2012 3:22 am
Location: Hungary

Re: OS4E

Postby fmotta » Wed Jan 09, 2013 1:01 am

The term "Acceptable overhead" is always relative... and the only good answer is none. The only realistic answer is as little as possible. To quantify it I would need to assess an application and determine if I have any headroom.

But, for me the idea seems mostly "interesting" and have a marketing bullet. However, I have found in the several ASSP/SoC companies of my past that if the OS is not one of the existing small list of favorites then people laugh and wander off and buy an ARM or x86.

Since I know that with use of hardware accelerators for scheduling and IPC and free list management (all hardware and no OS) 0.23% can be lost on one multi-core SoC some consider that acceptable. Many want 1:1 scaling with zero overhead and I want the deed on a nice house in Madrid.
User avatar
fmotta
 
Posts: 61
Joined: Mon Dec 17, 2012 3:27 am

Re: OS4E

Postby mrgs » Wed Jan 09, 2013 3:32 pm

Hi fmotta,
- "realistic answer is as little as possible": Yes, I agree. So, there it is some overhead anyway. :)
- "small list of favourite OS": Well, I think 'everybody' use applications/libs/services... to do some jobs. If anyone could deliver 'these functions' on a platform, then it could be widely successful.
- E v.s. (ARM or x86) : Well, If Epiphany really has advantages --- from my point of view: n GFLOPS/W --- with the 'usually used' services then I will choose E16 rather than a Cortex-A8. (I really need GFLOPS device on low power consumption, but without an OS I can not share this device with 'wide range of developers').
- "interesting and marketing" : Yes, OS is one of the most interesting thing in this Planet. Marketing: Well, who knows?!
- "HW accelerators" : Yes, give more(!) As I see, the HW accelerators in Epiphany will our best friends both of us. ;)
R, Gabor
| OS4E : A preemptive, multiprocessing, microkernel based OS for Epiphany ARCH |
User avatar
mrgs
 
Posts: 63
Joined: Mon Dec 17, 2012 3:22 am
Location: Hungary

Re: OS4E

Postby ysapir » Wed Jan 09, 2013 7:51 pm

Some food for thought - Back at the times when I had much more hair on my head, I had the 8-bit Motorola 6809 based Dragon 64 home computer (http://en.wikipedia.org/wiki/Dragon_32/64), which was a similar design to the TRS-80 Color Computer known in the US.

With 32KB and 64KB variants, aside from the ROM based MS Basic OS you could install and run the OS/9 Unix-like operating system (http://en.wikipedia.org/wiki/OS-9) and the FLEX/9 Disk Operating System (http://en.wikipedia.org/wiki/FLEX_%28op ... _system%29).

If they could do it back in the 80's on these computers, there may be a good chance for the OS4E as well!

{ :cry: <-- tears of nostalgia here...}
User avatar
ysapir
 
Posts: 393
Joined: Tue Dec 11, 2012 7:05 pm

Re: OS4E

Postby mrgs » Thu Jan 10, 2013 10:12 am

@ysapir : Yes, sweet 80's. I was a kid that time and I always looking for some 'interesting' thing in my Commodore Plus/4 ROM. When I got the full, commented assemby ROM list it was the 'real refuge'. (I keep it on my 'secondary' shelf). Well, 'back to the future': IMHO the open source model / strategy will deliver a nice solution for all of us. OS4E: I am currently working on my #1 point (Learn about the HW). Well, I have some non clear sections... I am going to ask You/aolofsson after I have some sample code. --- I hope that via the source code I can express myself more clearly?! --- ;)
Regards, Gabor
| OS4E : A preemptive, multiprocessing, microkernel based OS for Epiphany ARCH |
User avatar
mrgs
 
Posts: 63
Joined: Mon Dec 17, 2012 3:22 am
Location: Hungary

Re: OS4E

Postby 9600 » Thu Jan 10, 2013 10:53 am

ysapir wrote:Some food for thought - Back at the times when I had much more hair on my head, I had the 8-bit Motorola 6809 based Dragon 64 home computer (http://en.wikipedia.org/wiki/Dragon_32/64), which was a similar design to the TRS-80 Color Computer known in the US.

With 32KB and 64KB variants, aside from the ROM based MS Basic OS you could install and run the OS/9 Unix-like operating system (http://en.wikipedia.org/wiki/OS-9) and the FLEX/9 Disk Operating System (http://en.wikipedia.org/wiki/FLEX_%28op ... _system%29).

If they could do it back in the 80's on these computers, there may be a good chance for the OS4E as well!

{ :cry: <-- tears of nostalgia here...}


This just reminded me of the Helios O/S for Transputer systems, and I wonder if anything could be learnt from this:

http://www.classiccmp.org/transputer/helios.htm

Although it seems that it did need a system with 1M or more of external RAM:

http://www.0x1.org/d/stuff/helios/ethernet.html

But maybe there are concepts that could be reused.
Andrew Back (a.k.a. 9600 / carrierdetect)
User avatar
9600
 
Posts: 997
Joined: Mon Dec 17, 2012 3:25 am

Re: OS4E

Postby jeremybennett » Thu Jan 10, 2013 11:39 am

9600 wrote:This just reminded me of the Helios O/S for Transputer systems, and I wonder if anything could be learnt from this:

IIRC Helios was derived from/inspired by Tripos (http://en.wikipedia.org/wiki/TRIPOS). That would run on a BBC micro, so would seem small enough. I see Martin Richards maintains a derivative implementation http://www.cl.cam.ac.uk/~mr10/Cintpos.html.

As another option, how about eCos (http://ecos.sourceware.org/). I think that can be quite small, and I believe there may be eCos experts in the Parallella community.

Jeremy
User avatar
jeremybennett
 
Posts: 61
Joined: Mon Dec 17, 2012 9:06 am

Re: OS4E

Postby mrgs » Thu Jan 10, 2013 6:12 pm

Hi 9600, jeremybennett, well, ... There are several OS on our planet Earth and some outside, maybe in the deep space, which made by a human mind. A good question arise: Why I would not like to port one of these?! Well, the short answer is : "This is my personal motivation to build one". The long answer is: A question: Which one?! Tell the true, I have not got a proper list. But my criteria list could be:
- Open source (examinable)
- Nice license (free to use)
- Mostly written in C, as little part as necessary in Assembly (portable)
- Small / Smart / Clean (well designed),
- Standard conform (uniform),
- Well documented (doc [in|is] the source),
- Complete (no 3rd party bootstrap / abstraction layer),
- 'Real OS' with MMU, process management/coordination/sync, IPC, RTC, device independent IO, device drivers, network protocols...
- Multicore support,
- ...
Additionally I am 'sure' there is someone who will be the catalyst to port one of the 'ready made' OS for Epiphany. But I have an another way: 'OS4E'. Well, It could be a mission impossible for me, we will see... ;) Best Regards, Gabor
| OS4E : A preemptive, multiprocessing, microkernel based OS for Epiphany ARCH |
User avatar
mrgs
 
Posts: 63
Joined: Mon Dec 17, 2012 3:22 am
Location: Hungary

Re: OS4E

Postby jeremybennett » Thu Jan 10, 2013 6:46 pm

Hi mrgs

That's a good motivation. All true software engineers either build their own compiler or their own operating system - once :). Look forward to seeing how you get on.

Best wishes,


Jeremy
User avatar
jeremybennett
 
Posts: 61
Joined: Mon Dec 17, 2012 9:06 am

Next

Return to Epiphany Operating System

Who is online

Users browsing this forum: No registered users and 2 guests

cron