who can join me and help me?
-
- Posts: 10
- Joined: Sat Mar 01, 2008 11:27 pm
who can join me and help me?
Now,I have an idea。I want to add virtual memory management to minix,but I encount a lot of problems,for example:we all know that minix does not have paging mechanism,the first step I should do is that adding paging mechanism to minix ,but I am not very familiar with the booting of minix,
about boothead.s and bootblock.s,because of lacking of concrete materials
about minix ,if who knows the booting of minix,or has some materials,or
is interested in this can contact me and help me,my email is:
[email protected]
thank you the people will help me and god bless you!
-
- Posts: 10
- Joined: Sat Mar 01, 2008 11:27 pm
-
- Posts: 10
- Joined: Sat Mar 01, 2008 11:27 pm
I'm looking at the MINIX source code right now, and I see this block of code in src/kernel/arch/i386/memory.c
So yes, minix uses virtual memory, and paging at that.
Code: Select all
PRIVATE void vm_enable_paging(void)
{
u32_t cr0;
cr0= read_cr0();
write_cr0(cr0 | I386_CR0_PG);
}
-
- Posts: 10
- Joined: Sat Mar 01, 2008 11:27 pm
-
- Member
- Posts: 391
- Joined: Wed Jul 25, 2007 8:45 am
- Libera.chat IRC: aejsmith
- Location: London, UK
- Contact:
Was that code from SVN (from the fact that the arch dir is there I'd probably say yes) or from a released version? I know definitely that the original 3.0 release didn't have paging, as well as the version in OSDI 3rd edition and possibly 3.1.2 as wellspeal wrote:I'm looking at the MINIX source code right now, and I see this block of code in src/kernel/arch/i386/memory.c
So yes, minix uses virtual memory, and paging at that.Code: Select all
PRIVATE void vm_enable_paging(void) { u32_t cr0; cr0= read_cr0(); write_cr0(cr0 | I386_CR0_PG); }
I found the code in the subversion source tree of MINIX 3.
Minix 1 and 2 use segmentation, but an announcement was made with the release of MINIX 3 that virtual memory would be used. Whether they mean paging or paging to disk, I'm not sure. I'm not extremely familiar with the structure of MINIX, but paging memory to disk certainly seems like a task for a user-mode server, and not the kernel itself. In his book "Modern Operating Systems," Tanenbaum advocates for paging-to-disk code running in user-space. I don't know if they already have this or not.
I'd look at the original release of MINIX 3 to see if there is paging code there, but they only seem to provide easy access to code for the development version, and older releases (1 and 2).
Minix 1 and 2 use segmentation, but an announcement was made with the release of MINIX 3 that virtual memory would be used. Whether they mean paging or paging to disk, I'm not sure. I'm not extremely familiar with the structure of MINIX, but paging memory to disk certainly seems like a task for a user-mode server, and not the kernel itself. In his book "Modern Operating Systems," Tanenbaum advocates for paging-to-disk code running in user-space. I don't know if they already have this or not.
I'd look at the original release of MINIX 3 to see if there is paging code there, but they only seem to provide easy access to code for the development version, and older releases (1 and 2).
-
- Member
- Posts: 391
- Joined: Wed Jul 25, 2007 8:45 am
- Libera.chat IRC: aejsmith
- Location: London, UK
- Contact:
Look in the branches/tags directories in SVN. Although, the Minix SVN seems to be not working for me...speal wrote:I'd look at the original release of MINIX 3 to see if there is paging code there, but they only seem to provide easy access to code for the development version, and older releases (1 and 2).