where do i start

From: jarcob (TCA7410NB_at_hotmail.com)
Date: 08/27/03


Date: 27 Aug 2003 13:20:21 -0700

As i posted some weeks ago, i'm trying to write an entire OS quite
similar to MINIX. i've completed the design and successfully read the
minix source (i don't want it as big as linux), i have some questions
too:

-* Where to start, i don't know if i have to write first the kernel,
the initialization code(well the kernel), the memory manager or the
file system. I would be glad if you give me some recommendations like
"don't go on this before you do that..." or "first focus on this and
leave this at the end". Sorry if i'm making too much newbie questions
but is that i'm neither an experienced programmer nor a guru. I list a
few design specs so you can make a big picture:

 -- only compatible with i386 and sucesors
 -- microkernel:
    - multitasking, simple procs, no threads
    - 3 level scheduling (sys_queue, server_queue, user_queue)
    - deadlock detection algorithm
    - IPC based on messages (copy, denomination and mailboxes)
    - interrupts and exceptions as messages
    - i/o controllers in this module
 -- mm
    - virtual memory based on paging with segmentation
    - LRU
    - 4KB pages
    - a lot more...

*- Maybe this is not the correct newsgroup to make this question but
let it go: Reading the IA-32 architecture systems programmer's guide
volume 3 on chapter 9, there is an iniatilization-code example which
is supposed to be stored on EPROM on address FFFFFFF0h (the first
instruction executed), and as far as i'm concerned, that address
contains a pointer to the BIOS code and not any real code should be
written on that address. My question is, are they overwriting the BIOS
or adding code to it?.

In the same chapter it sais that there's a BIST (Built-In Self Test)
routine made by the processor, isn't it the same to BIOS's POST
(Power-On Self Test)? or they're different; in the case that they were
the same, which one is executed first. What is the real porpouse of
that "init-code", initialize the computer or a certain operating
system?



Relevant Pages