CrazyEngineers
  • pradypop
    pradypop

    MemberFeb 12, 2006

    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
Howdy guest!
Dear guest, you must be logged-in to participate on CrazyEngineers. We would love to have you as a member of our community. Consider creating an account or login.
Replies
  • Kaustubh Katdare

    AdministratorFeb 12, 2006

    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-
    Are you sure? This action cannot be undone.
    Cancel
  • crazygal

    MemberFeb 12, 2006

    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!!
    Are you sure? This action cannot be undone.
    Cancel
  • pradypop

    MemberFeb 12, 2006

    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.
    Are you sure? This action cannot be undone.
    Cancel
  • pradypop

    MemberFeb 12, 2006

    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.
    Are you sure? This action cannot be undone.
    Cancel
  • Kaustubh Katdare

    AdministratorFeb 12, 2006

    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-
    Are you sure? This action cannot be undone.
    Cancel
  • Mayank

    MemberFeb 12, 2006

    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
    Are you sure? This action cannot be undone.
    Cancel
  • pradypop

    MemberFeb 12, 2006

    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.
    Are you sure? This action cannot be undone.
    Cancel
  • Kaustubh Katdare

    AdministratorFeb 12, 2006

    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-
    Are you sure? This action cannot be undone.
    Cancel
  • pradypop

    MemberFeb 14, 2006

    I will be working on the article. Meanwhile lets work on formation of team of coding engineers(real crazy ones).
    Are you sure? This action cannot be undone.
    Cancel
  • george

    MemberFeb 23, 2006

    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?
    Are you sure? This action cannot be undone.
    Cancel
  • crazygal

    MemberMar 11, 2006

    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).
    Are you sure? This action cannot be undone.
    Cancel
  • Jerry

    MemberMar 15, 2006

    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.
    Are you sure? This action cannot be undone.
    Cancel
  • crook

    MemberMar 31, 2006

    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
    Are you sure? This action cannot be undone.
    Cancel
  • Kaustubh Katdare

    AdministratorJun 25, 2006

    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-
    Are you sure? This action cannot be undone.
    Cancel
  • rick

    MemberJun 27, 2006

    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.
    Are you sure? This action cannot be undone.
    Cancel
  • Jerry

    MemberJul 1, 2006

    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.
    Are you sure? This action cannot be undone.
    Cancel
  • mouli

    MemberNov 11, 2006

    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
    Are you sure? This action cannot be undone.
    Cancel
  • Kaustubh Katdare

    AdministratorNov 11, 2006

    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-
    Are you sure? This action cannot be undone.
    Cancel
  • Jerry

    MemberNov 11, 2006

    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.
    Are you sure? This action cannot be undone.
    Cancel
  • grinningbrain

    MemberNov 28, 2006

    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😁
    Are you sure? This action cannot be undone.
    Cancel
  • basu_embedded

    MemberNov 28, 2006

    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
    Are you sure? This action cannot be undone.
    Cancel
  • Kaustubh Katdare

    AdministratorNov 30, 2006

    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-
    Are you sure? This action cannot be undone.
    Cancel
  • akravikanth

    MemberJan 7, 2007

    I'm an intermediate in MASM assembly language... Also i know how to work in linux... But no idea about this RTOS project...
    Are you sure? This action cannot be undone.
    Cancel
  • xheavenlyx

    MemberMay 2, 2007

    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!
    Are you sure? This action cannot be undone.
    Cancel
  • Harshad Italiya

    MemberMay 14, 2009

    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.
    Are you sure? This action cannot be undone.
    Cancel
  • elektrolikit

    MemberJul 16, 2009

    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?
    Are you sure? This action cannot be undone.
    Cancel
  • skipper

    MemberJul 16, 2009

    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)
    Are you sure? This action cannot be undone.
    Cancel
  • wassup

    MemberJul 16, 2009

    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.
    Are you sure? This action cannot be undone.
    Cancel
  • Kaustubh Katdare

    AdministratorJul 16, 2009

    Pradypop's too busy with his own work. I'll try to get him back on CE.
    Are you sure? This action cannot be undone.
    Cancel
  • skipper

    MemberJul 17, 2009

    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.
    Are you sure? This action cannot be undone.
    Cancel
Home Channels Search Login Register