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.
Search found 436 matches
- Tue Feb 26, 2013 2:31 am
- Forum: News Discussion
- Topic: Chapter 24: Process Management Initial Release
- Replies: 16
- Views: 193758
- Fri Nov 30, 2012 2:09 pm
- Forum: Beginning OS Development
- Topic: Segments initiation problem
- Replies: 1
- Views: 28985
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 ...
- Wed Nov 28, 2012 8:54 pm
- Forum: Beginning OS Development
- Topic: GDT help
- Replies: 8
- Views: 48034
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...
- Tue Nov 27, 2012 3:54 am
- Forum: Beginning OS Development
- Topic: GDT help
- Replies: 8
- Views: 48034
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...
- Sun Nov 25, 2012 6:38 pm
- Forum: Beginning OS Development
- Topic: GDT help
- Replies: 8
- Views: 48034
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...
- Sat Nov 24, 2012 10:07 pm
- Forum: Beginning OS Development
- Topic: GDT help
- Replies: 8
- Views: 48034
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...
- Sat Sep 29, 2012 4:59 am
- Forum: Site Comments, Suggestions, and Ideas
- Topic: RSS for brokenthorn web site
- Replies: 1
- Views: 42391
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.
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.
- Tue Aug 28, 2012 3:22 am
- Forum: News Discussion
- Topic: Chapter 24: Process Management Initial Release
- Replies: 16
- Views: 193758
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...
- Sun Aug 19, 2012 1:41 am
- Forum: Beginning OS Development
- Topic: Some silly FAT32 question
- Replies: 7
- Views: 49286
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...
- Fri Aug 10, 2012 1:14 am
- Forum: News Discussion
- Topic: Chapter 24: Process Management Initial Release
- Replies: 16
- Views: 193758
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.
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.
- Thu Aug 02, 2012 11:55 pm
- Forum: News Discussion
- Topic: Chapter 24: Process Management Initial Release
- Replies: 16
- Views: 193758
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...
- Sat Jul 28, 2012 9:40 pm
- Forum: News Discussion
- Topic: Chapter 24: Process Management Initial Release
- Replies: 16
- Views: 193758
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...
- Fri Jul 13, 2012 3:43 am
- Forum: Beginning OS Development
- Topic: pmmngr memory allocation problem?
- Replies: 6
- Views: 44433
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...
- Fri Jul 13, 2012 12:16 am
- Forum: Beginning OS Development
- Topic: pmmngr memory allocation problem?
- Replies: 6
- Views: 44433
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 boot loader? ...
- Wed Jul 11, 2012 12:52 am
- Forum: Beginning OS Development
- Topic: pmmngr memory allocation problem?
- Replies: 6
- Views: 44433
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...