Search found 436 matches

by Mike
Tue Feb 26, 2013 2:31 am
Forum: News Discussion
Topic: Chapter 24: Process Management Initial Release
Replies: 16
Views: 94323

Re: Chapter 24: Process Management Initial Release

Hello,

Apologies for the constant delays for the chapter 24 demo. We are planning on releasing it soon with some updates to the series. We will try to push it out as soon as the next graphics article is completed which is planned for a pre-release this weekend.
by Mike
Fri Nov 30, 2012 2:09 pm
Forum: Beginning OS Development
Topic: Segments initiation problem
Replies: 1
Views: 6454

Re: Segments initiation problem

Hello, The code, data, and stack all share the same linear address space and so can interfere with the others if not careful. This reflects a flat address space where segmentation is not used (all kernel segments start and end at the same place.) Of course, you can always still use segmentation but ...
by Mike
Wed Nov 28, 2012 8:54 pm
Forum: Beginning OS Development
Topic: GDT help
Replies: 8
Views: 13047

Re: GDT help

Hello, If the OS wants to give control to a program(and needs to go to user-mode), once program finishes its execution and want to give control back to OS, how will OS go to ring-0 since it can't go from ring-3 to ring-0? Typically the OS provides a kernel or executive API that user mode programs ca...
by Mike
Tue Nov 27, 2012 3:54 am
Forum: Beginning OS Development
Topic: GDT help
Replies: 8
Views: 13047

Re: GDT help

Hello, The CPL is only set by the processor that controls it, you cannot set it directly. The software needs to request a new protection level change by setting the RPL bits in the segment registers. If the processor allows it, the RPL becomes the new CPL. This is a layer of protection: the processo...
by Mike
Sun Nov 25, 2012 6:38 pm
Forum: Beginning OS Development
Topic: GDT help
Replies: 8
Views: 13047

Re: GDT help

Hello, In addition 0x8 and 0x10 are not what they are because they are equal to the bytes from the start of the GDT, but instead because of the whole selector(index,gdt/ldt,ring) meaning that if,for example, wanted to be in ring-1 that number would be 0x11(10 0 01).Am i right? It is important to not...
by Mike
Sat Nov 24, 2012 10:07 pm
Forum: Beginning OS Development
Topic: GDT help
Replies: 8
Views: 13047

Re: GDT help

Hello, When we load 0x10 into a segment register we are effectively setting the index to 3, ring 0, and clearing the gdt/ldt bit in the segment register (setting gdt type). The index 3 refers to the 3rd entry in the gdt at offset 0x10. In the design, we set ss to 0x10 to share the same kernel data s...
by Mike
Sat Sep 29, 2012 4:59 am
Forum: Site Comments, Suggestions, and Ideas
Topic: RSS for brokenthorn web site
Replies: 1
Views: 17772

Re: RSS for brokenthorn web site

Hello,

Currently there is no such feature. Due to the amount of requests, I will see if the feature can be added in the next few days.
by Mike
Tue Aug 28, 2012 3:22 am
Forum: News Discussion
Topic: Chapter 24: Process Management Initial Release
Replies: 16
Views: 94323

Re: Chapter 24: Process Management Initial Release

Hello everyone, There might be an error found in source written for earlier chapters that is currently delaying finalization of the demo. The demo will be released as soon as it is known to be error free. Apologies for the delay; error reports will be updated on the site when it is confirmed. This p...
by Mike
Sun Aug 19, 2012 1:41 am
Forum: Beginning OS Development
Topic: Some silly FAT32 question
Replies: 7
Views: 12598

Re: Some silly FAT32 question

Hello, Fat32 is very similar to fat12 in how it its designed. The only differences is that the root directory is stored in the data area (the extended BPB block can be used to get the starting cluster of the root directory--typically 2. Note that this is a cluster into the data area on disk), BPB is...
by Mike
Fri Aug 10, 2012 1:14 am
Forum: News Discussion
Topic: Chapter 24: Process Management Initial Release
Replies: 16
Views: 94323

Re: Chapter 24: Process Management Initial Release

Hello,

Thanks for the feedback. :) Those are indeed errors. They will be fixed with possibly a few additional changes when the demo is released. If additional errors or suggestions are found, please let me know.
by Mike
Thu Aug 02, 2012 11:55 pm
Forum: News Discussion
Topic: Chapter 24: Process Management Initial Release
Replies: 16
Views: 94323

Re: Chapter 24: Process Management Initial Release

Hello, We are adopting MSVC++ 2010 for the series but I believe that chapter demo was developed in the 2008 version. The demo can be built with minimal changes however -- it is the demo used as a base for the next chapter. Chapter 23's demo still contains some outdated broken code however so may fai...
by Mike
Sat Jul 28, 2012 9:40 pm
Forum: News Discussion
Topic: Chapter 24: Process Management Initial Release
Replies: 16
Views: 94323

Chapter 24: Process Management Initial Release

Hello everyone, The first part of what might become a multi-part topic to cover process management, IPC, shared resources, and loaders has been released. This is an initial release -- an associated demo will be released soon for the chapter as well as possible updates. This chapter introduces IPC, p...
by Mike
Fri Jul 13, 2012 3:43 am
Forum: Beginning OS Development
Topic: pmmngr memory allocation problem?
Replies: 6
Views: 12350

Re: pmmngr memory allocation problem?

Hello, The series identity maps the first 4MB of the address space. Your code does not reserve 0x1000 physical in the PMM bitmap so it gets allocated as free memory. load_executable trashes the page at 0x1000 corrupting the memory block previously allocated. Also, load_executable should not be using...
by Mike
Fri Jul 13, 2012 12:16 am
Forum: Beginning OS Development
Topic: pmmngr memory allocation problem?
Replies: 6
Views: 12350

Re: pmmngr memory allocation problem?

Hello, pmmngr_init already reserves the space for the bitmap itself so you do not need to do it. Looking at the code, it looks to initialize the bitmap at 1mb+kernelSize*512 which is correct as the kernel binary is loaded in 512 byte segments. Does the code work "as-is" with the series boo...
by Mike
Wed Jul 11, 2012 12:52 am
Forum: Beginning OS Development
Topic: pmmngr memory allocation problem?
Replies: 6
Views: 12350

Re: pmmngr memory allocation problem?

Hello, It does indeed sound like the PMM is not initialized properly. If you are using either GrUB or the Neptune boot loader, kernelSize would contain garbage . Also, your boot_inf might be invalid as well unless you have another function that passes it into main . It is better to reserve some area...