Microkernel IPC [Mailbox/Sections]

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
princetkmk
Posts: 2
Joined: Wed Aug 20, 2008 7:57 am

Microkernel IPC [Mailbox/Sections]

Post by princetkmk »

This is just a n00b question but could there be a space in each part of a microkernel that could be activated (such as a bit that can be changed from 1 to 0 and vice versa) with all sections checking that 'mailbox' every few seconds or so?
User avatar
ucosty
Member
Member
Posts: 271
Joined: Tue Aug 08, 2006 7:43 am
Location: Sydney, Australia

Re: mailbox section in a microkernel

Post by ucosty »

It's only a noob question because it's a badly worded question. I think you need to look into shared memory IPC. The wiki has information on this.
The cake is a lie | rackbits.com
princetkmk
Posts: 2
Joined: Wed Aug 20, 2008 7:57 am

Re: mailbox section in a microkernel

Post by princetkmk »

Perhaps my wording is vague. What I'm trying to say is if there was a specific chunk of memory dedicated to a section of a microkernel that can be changed by other sections. Sort of like an interrupt handler or message port dedicated to a section or program.
User avatar
neon
Member
Member
Posts: 1567
Joined: Sun Feb 18, 2007 7:28 pm
Contact:

Re: mailbox section in a microkernel

Post by neon »

What is a "section"? If its a part of the kernel, then "yes, of course you can do that". If its not (between processes), it cannot be done without memory sharing.
OS Development Series | Wiki | os | ncc
char c[2]={"\x90\xC3"};int main(){void(*f)()=(void(__cdecl*)(void))(void*)&c;f();}
User avatar
gravaera
Member
Member
Posts: 737
Joined: Tue Jun 02, 2009 4:35 pm
Location: Supporting the cause: Use \tabs to indent code. NOT \x20 spaces.

Re: Microkernel IPC [Mailbox/Sections]

Post by gravaera »

Hi: This is of course, definitely possible.

But it seems like you're not getting the basic ideas down properly here: Memory is nothing more than a set of addressable bytes on a RAM chip. Asking a question such as "Is it possible to set bits in a bitmap/shared memory area for interprocess signalling?" is indicative of a lack of a flexible mind.

Each byte has no innate interpretation. What you do with the bytes in RAM is entirely your own prerogative. So, yes: setting apart bytes in memory, or whole pages, or however you see fit, and manipulating them at the bit level is, of course, doable.

You need to abstract the bytes in memory to fit your design: memory doesn't impose any particulat methods on you for implementing concepts in your OS.

-Good luck
gravaera
17:56 < sortie> Paging is called paging because you need to draw it on pages in your notebook to succeed at it.
Post Reply