Development Of RTOS Kernel

Hi 2 all,

I am contemplating development of a RTOS Kernel for use in my applications. You do have licensing issues with most of the commertial Kernels and Linux is too big for most of the smaller controllers. I also think it would be better if this kernel is written ANSI C as much as possible so that the ports are eazily to written to various controllers.

I would like to know how many of the CrazyEngineers want to participate in the project.

I expect a basic non-preemptive kernel could be ready in 20 weeks

Replies

  • Kaustubh Katdare
    Kaustubh Katdare
    Super !

    Here we Go ! πŸ˜€

    Okay, I doubt how many of us are really into C programming. Prady, to start with, you might want to involve your friends/collagues who'll get started with this project. People surely want to see some action before they get involved.

    20 week timeline seems challenging; considering the fact that engineers will be devoting their spare time. But let's take this challenge. Now our aim is to gather people who'll code in C.

    Fantastic Start! 😁 Let's see what comes out of this project.

    -The Big K-
  • crazygal
    crazygal
    pradypop
    Hi 2 all,

    I am contemplating development of a RTOS Kernel for use in my applications. You do have licensing issues with most of the commertial Kernels and Linux is too big for most of the smaller controllers. I also think it would be better if this kernel is written ANSI C as much as possible so that the ports are eazily to written to various controllers.

    I would like to know how many of the CrazyEngineers want to participate in the project.

    I expect a basic non-preemptive kernel could be ready in 20 weeks
    hi pradyπŸ˜€
    im a electronics n communiations student i know how to write c code can i'll be happy if i can help u any way!!
  • pradypop
    pradypop
    The most important consideration for a RTOS design would be identifying the points which drive the context switching. For example, a delay routine will cause context a switch, waiting to post a message into a full message queue would cause a context switch or ... many other senarios which we need to get into.

    The pre-requsites for this project would be:
    1. Idea of C and Assembly coding.
    2. Knowledge of RTOS concepts. We should really know the differences between RTOS and a genral purpose OS. I recommend Embedded Systems by David E Simon, for this.
    3. Internals of the OS. Although RTOS Intenals would not be extensive. There won't be any file sub-sustem, IO sub-system will be coded at assembly level, Memory management will be taken care of by the compiler for which we write the ports and all we need to handle would be IPCs and interrupt management.
    4. Idea of controllers/processors.

    A similar sort of project is currently underway at my work place. I would try and rope in my collegues who are on that project although i wont promise.
  • pradypop
    pradypop
    I welcome crazygal aboard. And would like to thank Biggie for his interest.

    I am not really sure how many are really sure about what a RTOS is? So, I suggest we can go for a discussion on pre-requisites for the project for a period of say 4 weeks.

    I feel that a team of 12 members divided into 3 groups would be sufficent to go ahead and implement the project in 20weeks. Non-Preemptive kernels do not need extensive TCBs, there wont be any need for semaphores and a simple function queue scheduler would be sufficient enough scheduler.

    I welcome quires on the topic.

    currently, Biggie, Crazygal and Pradypop are onboard. Waiting for more.
  • Kaustubh Katdare
    Kaustubh Katdare
    Prady πŸ˜€

    Although I won't be directly involved in writing code for the project, I'll make sure that we get right people here. Once the team is through with the discussions and confident about starting the project, we'll see if we need a private/public place with open/restricted access.

    Do start with introduction of project. Please initiate discussion on RTOS.
    You might want to write SRS for this project. πŸ˜€

    -The Big K-
  • Mayank
    Mayank
    Hey Praddy,
    I have worked a lot on C n C++ but not exactly on Assemly in C. Still I feel I can make some remarkable inputs to the project. So we shud all pull up r sleeves n be ready for a Hard Core Technical stuuf tat lie in front of us.

    Mayank Shukla
  • pradypop
    pradypop
    hi mayank,I agree that u will be in position to contribute with your C skills.

    @biggie
    Before defining requirements i think i will go ahead with an ariticle about RTOS. If I find something on net i'll post the link or content. If i have to author the content, then, i'll be needing some time.
  • Kaustubh Katdare
    Kaustubh Katdare
    Sure Prady,

    It'd be nice if you author an article. Take all the time you need! People seem really excited about this project. I'll wait for sometime and if things really move on well, we'll create a separate project space with separate sections for knowledge sharing and code. But we need more activity & people.

    Great start everyone! I talked to a few people about this project & they give me this look -> :shock: . Let's see 😁 .

    -The Big K-
  • pradypop
    pradypop
    I will be working on the article. Meanwhile lets work on formation of team of coding engineers(real crazy ones).
  • george
    george
    Hi,

    I am a fellow working in a MNC.I would like to join this.Could you include me too and give a brief overview of what is to be done?
  • crazygal
    crazygal
    hi pradypop no news 4m u 4 a long time wat happen to our project:sleepy:
    pradypop
    I will be working on the article. Meanwhile lets work on formation of team of coding engineers(real crazy ones).
  • Jerry
    Jerry
    my 2 cents πŸ˜€

    I guess our community isn't mature enough to handle these type of projects. We gotta rope in more crazy engineers to take up projects.

    yeh, my best wishes to this project.
  • crook
    crook
    i'm new here. I agree with jerry.

    I read all the posts. But its interesting. We can start new projects here. Count me in!

    crook
  • Kaustubh Katdare
    Kaustubh Katdare
    It seems that pradypop isn't around. It was a nice initiative from him. Probably, the thread died out because of lack of people.

    CE community probably needs more people with lot of free spare time to take up such projects. The thread however continues to be open for anyone who is willing to join.

    Meanwhile, I'll try to contact pradypop. πŸ˜€

    -The Big K-
  • rick
    rick
    The_Big_K
    It seems that pradypop isn't around. It was a nice initiative from him. Probably, the thread died out because of lack of people.

    CE community probably needs more people with lot of free spare time to take up such projects. The thread however continues to be open for anyone who is willing to join.

    Meanwhile, I'll try to contact pradypop. πŸ˜€

    -The Big K-
    Yeh, actually I miss him. He initiated really good technical discussions on our forums. I think we can start with this project after we achieve a strength of 1000 CEans.
  • Jerry
    Jerry
    rick
    Yeh, actually I miss him. He initiated really good technical discussions on our forums. I think we can start with this project after we achieve a strength of 1000 CEans.
    If I'm not mistaken, pradypop is back on forums. I am not into coding but I'd certainly like to see such projects happening through crazy engineers' forum.

    Jerry.
  • mouli
    mouli
    hi,
    m interestd in the work.
    may i know further details of the project.
    I workd as c programmer for 3 years.
    proficient programmer of algebriac assembly coding of CISC processors of TI.

    am interested in design and development aspects of RTOS. right now studying MS, sort of embedded type ...
    wud provide furthr details upon request.
    thanks and regards
    mouli
  • Kaustubh Katdare
    Kaustubh Katdare
    Welcome to the CE world, Mouli. The project has been canned for some time. We need a team of 5-6 engineers to take up this project. Hang on and let us get started with a small CE project ( #-Link-Snipped-#)

    -The Big K-
  • Jerry
    Jerry
    The_Big_K
    Welcome to the CE world, Mouli. The project has been canned for some time. We need a team of 5-6 engineers to take up this project. Hang on and let us get started with a small CE project ( #-Link-Snipped-#)

    -The Big K-
    CE forum is new and it will grow with time. RTOS Kernel project will happen as soon as we find dedicated Crazy Engineers. I repeat, CE needs at least 5000 members to have around 30-40 active posters.

    Its just a matter of time.
  • grinningbrain
    grinningbrain
    Heya...😁
    Good job going in here 😎
    I am a software engineer into embedded stuff.
    I would like to be part of this RTOS development project.

    I guess we may start off with the SRS in case that has not been made yet.

    And hope the feasibility study has been done too - after all we need to see and ensure how the new RTOS would be similar and different from the existing ones.
    CheroπŸ˜€
    grinnningbrain😁
  • basu_embedded
    basu_embedded
    hi

    myself basavaraj working in embedded domain since 1 yr i have good understanding of RTOS internal and i have done course work on VX works and RT linux and i am proficient in C and assembly language programming and i have good hands on experience in working with Microcontroller based projects.

    I am willing to extend my 100% co operation in ur venture


    waiting for ur reply

    basavaraj
  • Kaustubh Katdare
    Kaustubh Katdare
    Its always good to see new CEans willing to join the Project. As I said in my earlier posts, this might be a complicated project for us.

    We have many fantastic project ideas floating around in our CE Lab. Let us build our confidence by completing a small project first.

    What say?

    -The Big K-
  • akravikanth
    akravikanth
    I'm an intermediate in MASM assembly language... Also i know how to work in linux... But no idea about this RTOS project...
  • xheavenlyx
    xheavenlyx
    Ohmyg0d! Prady left the building?! I hope not. He started a pretty good project but dont know, we 'dwindled' out.

    Basically I still did not read a single Fulform of RTOS here for the new people who read our posts.

    RTOS: Real Time Operating System.

    Ah, after thats out of my head. Now to start this kind of a project; what developement system will we use?

    Like what microprocessor? What are our programing requirements? And stuff like that. Keep pooling in on the ideas and then in a while we can compile all that into a foundation to follow!
  • Harshad Italiya
    Harshad Italiya
    i have some overview of FreeRTOS based on ARM (32 bit) processor NXP as my fellow was working on this.. i will call him to join this forum and may be got some time to make a project also.
  • elektrolikit
    elektrolikit
    Hi,

    i would be really grateful i can find opportunity to enjoy your co-operation πŸ˜€

    If we would like to implement a RTOS i guess first we should ask these 2 questions:

    --For what?
    --At which physical platform

    Its very hard to implement a complete RTOS in a 8bit device because multitasking needs extra timers and sources.

    At that point i have an idea.

    Our aim should be designing a RTOS that can execute tasks and "programs"
    instead of designing a new one we can port a ready to use one for 8 bit processors.

    How could be possible?

    For example, could we use uClinux with 8bit pic?

    I think answer is parallel-processing
    Δ°f we can construct a simultaneous hierarchy we can design 16/32 bit systems with lower processors to embedd linux based RTOS's

    Am i wrong?
    Any idea?
  • skipper
    skipper
    I like to start with the most abstract level of description possible, when it comes to design.
    If you know about spectral theory (which roughly speaking, is a theory about any kind of spectrum) there are only three "components", which are i) an algebra for the system, which has closure in the physical domain; ii) a vector space (we all know what that is, right?); iii) a set of operators which can be characterized as deformations in the algebra (distance changes, dispersal, diffusion) so that a flow exists.

    The triple A,H,D corresponds in digital computers to A = Boolean logic; H = "signals" of capacitive charge that are stored and forwarded in register components; D = rules of engagement for the charges, in "bits" of each register component, that have a "proof" in Boolean form.

    Generally, you want to find a triple with a (2,3,7) structure and map "causality" to the rules (D), so that the algebra A can run through all valid (physically allowed) states, and "deliver" an output.
    Languages arise naturally (algebraically); any "higher level" of abstraction is just an extension of the underlying physics (a 2,3,7 triple). Why this group is important still eludes me, but it is and it does describe physicality.

    Consider that to build a logical computing "device" you need 2 basics: a way to copy a state, and a way to delay a "signal" from being copied (sent through a gate or a circuit). Copy has an inverse "erase" operation, or is bidirectional. The flow relation from the delay operation is a natural function of any thermodynamic system - all circuits require time delays to operate. Maybe the copy/delay operators are the 2-dimensional part of the 2,3,7 triangle group. Note: the group is dimensionless, each number can be correlated to a physically real thing, just so long as the relations "work".

    So what do the 3 and 7 correspond to, if the first number 2 is in fact the (descriptive) relations that correspond to actually building something and having it do work? Copying copper tracks (and removing them) and the delays the tracks represent for signal propagation, represent a circuit. Copying/erasing resistors is the same thing; copying bits in register A to register B; erasing bits etc, and the delays involved in the switching are also in this domain = 2 dimensions of "construction", in the A,H,D triple.

    So, since these days there are a number of paths to take, a project should start from the most general "top-down" that still corresponds to the closest "bottom-up" model of flow, delay, and copy/erase. Boole used just 3 logical relations: NOT, AND, and OR. You actually only need two of these, since you can build AND gates with inverters, on the inputs/ouput of a OR gate = NOT and OR derive AND; presumably any 2 of the 3 derive the 3rd.

    Going up the ladder of abstraction, registers are maps of the algebraic states; these are usually n bits wide where n is a power of 2, but each pair of bits represents a term in the binary algebra.
    The algebra at the lowest level, derives the algebra at the highest level. Parallel circuits are then just a path "around" the delay operator in D (the deformation product of parallel computation is "delay-less").

    This means any language can be decomposed into the basic A,H,D rep; in fact that's exactly what compilers are supposed to do. So that compiling a circuit is the inverse in some sense, of deconstructing a language.

    P.S. I decided I can deconstruct languages (computer algebras) as well as mathematical, Latin-Greek (as well as German, French and Italian), i.e. "scientific" language into these same self-assembling/disassembling structures, since I can also assign "operator" to my own language-processing. That is, I'm free to assign a term like "flow" to more specific "science-methodic" terms like "momentum", "forced-motion" "oscillation", "expansion", "lift", "boost", etc.
    Note the " means read the following words as literal sounds. A single ' usually means linguistically, in English that the following words are implied semantically, rather than as bare quoted free speech. This says something about implication, and implication is all any logic can achieve, either strongly or otherwise; in logic speak, we use => to mean "it follows that", or a stronger sense than -> which implies, it implies a left-to-right association, so has to be 'bracketed', with a stronger (more robust) kind of argument, so that: if A, then B explains A, B and AB -> their existence, their relation to each other, and what happens when they 'meet'; when they 'join' something vanishes.

    P.P.S I call this my general theory of linguistic and computational relativity; it isn't really mine, I got it from MIT (no I haven't been there)
  • wassup
    wassup
    pradypop It looks like you need very basic RTOS ! I might be able to help, I have not written an RTOS till date, but have lot of exp on IO n stuff. C , ASM...
    BTW what's your requirement ? which processor ? what application ? (If it's a generic one then there are other options, free and open) I remember trying to port one of the opensource kernel.
  • Kaustubh Katdare
    Kaustubh Katdare
    Pradypop's too busy with his own work. I'll try to get him back on CE.
  • skipper
    skipper
    Sorry for being too abstract, I can make it a little more straightforward: logic arrays you can program are like having a "free" lattice of abstract gates, you get to choose how they are interconnected; it could be a lot of different things, but these devices tend to be used for the same kind of purpose. This says something about what I was trying to get to, that the process of computing is like building something abstract.
    Which is what you are trying to do here, with off-the-shelf stuff which is already a long way down the path. You will be starting with "top-end" algebra, etc.

    You can only separate out recursive and iterative parts of any process, in general. The recursion is the part you want to be a parallel part, so the iterations don't have to wait. The tricky part is that we think best in two, not three dimensions.

    The internet for instance is a system with parallel communication, which is one step back from logic and computational processing.
    The mathematical equivalent of communication is the identity function/matrix.

You are reading an archived discussion.

Related Posts

HI Er 's ..i need a help...i need code for BigInteger class in pure java (no packages shold be imported even the io and math package)πŸ˜’
hi all i have completed electronics n telecommunications enggineering in the yr 2005 ..i got a percentile of 92 in gate 2005 but i didnt make it to iits so...
Its been on my mind since ages. How about developing a comprehensive newbie guide? I'd like to know if anyone wants to volunteer for this? If we get more response...
Hi CEans ! πŸ˜€ I think its time to introduce 'CE-Finance' section. But before we implement this section I'd like to gather some feedback from you folks! 😁 Q.-> What's...
Okay, Let me see if its really that easy πŸ˜‰ . I thought of a simple way of preventing Aircraft Hijack! 1. Cockpit should be isolated from rest of the...