Microkernel IPC [Mailbox/Sections]
-
- Posts: 2
- Joined: Wed Aug 20, 2008 7:57 am
Microkernel IPC [Mailbox/Sections]
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?
Re: mailbox section in a microkernel
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
-
- Posts: 2
- Joined: Wed Aug 20, 2008 7:57 am
Re: mailbox section in a microkernel
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.
Re: mailbox section in a microkernel
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();}
char c[2]={"\x90\xC3"};int main(){void(*f)()=(void(__cdecl*)(void))(void*)&c;f();}
- gravaera
- 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]
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
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.