flat assembler
Message board for the users of flat assembler.
Index
> OS Construction > Help in developing a kernel |
Do you think this will work? / Você acha que isso dará certo? | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
Total Votes : 3 |
Author |
|
HaHaAnonymous 23 Apr 2013, 15:51
[ Post removed by author. ]
Last edited by HaHaAnonymous on 28 Feb 2015, 20:57; edited 3 times in total |
|||
23 Apr 2013, 15:51 |
|
cod3b453 23 Apr 2013, 16:53
A good start is to list your "must-haves" and "would-be-nice-to-haves". This will allow you to (hopefully) follow a more structured approach and you can even make a road map of things to tick off as you go.
It's also a good idea to have a rough plan of the kernel structure and the API that will wrap it as this may also affect how you boot your kernel in the first place. Example questions to ask yourself: What boot devices? (Will I make my own or use a premade one?) 32 or 64 bit? Uniprocessor/SMP/NUMA? Micro-/hybrid-/monolithic- kernel? Command line or GUI? Which devices to support? Which languages? (ASM/C) ... |
|||
23 Apr 2013, 16:53 |
|
A$M 23 Apr 2013, 17:18
cod3b453 wrote: A good start is to list your "must-haves" and "would-be-nice-to-haves". This will allow you to (hopefully) follow a more structured approach and you can even make a road map of things to tick off as you go. [PT-BR] Foco no Kernel, em primeiro lugar. Um possível sistema operacional virá depois. 1. Boot devices? Alguém pode me explicar o que seria isso? 2. Inicialmente, 32 bit 3. Isso significa se vai suportar mais de um processador? No início, não. 4. Esse é o tipo do Kernel, não? Ajudem-me a escolher. 5. Agora refere-se ao SO 6. Processador x86 (32 bits) e placa de vídeo e de rede no mínimo... 7. Assembly. Tenho horror a SO's em C. [EN] Focus on Kernel first. An operating system can come later. 1. Boot devices? Can anyone explain me what is that? 2. Initially, bit 32 3. This means it will support more than one processor? At the beginning, no. 4. This is the type of kernel, is not it? Help me to choose. 5. Now refers to OS 6. X86 (32 bit) and video card and network at least ... 7. Assembly. I abhor OSes in C. |
|||
23 Apr 2013, 17:18 |
|
cod3b453 24 Apr 2013, 16:37
By boot devices I mean where do you want to boot from? Floopy disk/hard disk/usb memory/cd and so on. If it doesn't matter you can select one but if you want multiple I'd suggest using a staged boot loader so it can be shared.
For simplicity (and based your other answers), monolithic is probably the best choice. So far it sounds like you're aiming at a netbook style OS? Any other requirements? |
|||
24 Apr 2013, 16:37 |
|
A$M 25 Apr 2013, 13:55
cod3b453 wrote: By boot devices I mean where do you want to boot from? Floopy disk/hard disk/usb memory/cd and so on. If it doesn't matter you can select one but if you want multiple I'd suggest using a staged boot loader so it can be shared. [PT-BR] Tudo bem... Eu gostaria que este kernel faça boot a partir de um CD. Eu procurei no Google o que significa monolítico. É um kernel com todos seus drivers e afins rodando no espaço do Kernel. Está certo? Estou um pouco confuso ainda com essa palavra. O que eu gostaria no Kernel: 32 bit Boot pelo CD (ou DVD, quem sabe). Multitarefas. Drivers: vídeo, áudio, rede, mouse, teclado e talvez pendrives USB. [EN] Okay... I wish that this kernel does boot from a CD. I searched on Google which means monolithic. It is a kernel with all your drivers and the related running in Kernel space. Is that right? I'm still a little confused with this word. What I would like in the kernel: 32 bit Boot from CD (or DVD, maybe). Multitasking. Drivers: video, audio, network, mouse, keyboard and USB sticks maybe. |
|||
25 Apr 2013, 13:55 |
|
cod3b453 25 Apr 2013, 17:06
Yes - monolithic basically means it's one big program containing all the drivers, system and kernel code.
OK so CDs use CDFS/ISO9660 and USB sticks are normally FAT16/32, so these are the two file systems you'd be interested in. Driver wise, you can use the legacy VBE3 LFB for simple video and (to begin with at least) ATA(PI) for CD and PS2 keyboard/mouse. Everything else sits on the PCI bus - video/audio/ethernet/USB memory - but you can also get to the keyboard, mouse and CD via bridging controllers as well. |
|||
25 Apr 2013, 17:06 |
|
A$M 25 Apr 2013, 17:36
[PT-BR] Bom, então podemos começar a escrevermos o bootloader? É só me dar um tempo para pesquisar sobre os sistema de arquivos utilizado em CD's e estarei pronto.
[EN] Well, so can we start to write the bootloader? Just give me some time to search about the file system used on CD's and I'll be ready. |
|||
25 Apr 2013, 17:36 |
|
ACP 26 Apr 2013, 07:59
Here you will find most if not all information you are looking for this stage: http://wiki.osdev.org/Main_Page
|
|||
26 Apr 2013, 07:59 |
|
A$M 26 Apr 2013, 17:48
ACP wrote: Here you will find most if not all information you are looking for this stage: http://wiki.osdev.org/Main_Page Thanks, but OSDev is already one of my favorite website about Assembly programming. |
|||
26 Apr 2013, 17:48 |
|
ACP 26 Apr 2013, 18:43
A$M wrote: Thanks, but OSDev is already one of my favorite website about Assembly programming. Good. I did not know that since your questions suggested you haven't read osdev wiki. IMHO it is a great resources. |
|||
26 Apr 2013, 18:43 |
|
Bob++ 26 Apr 2013, 20:57
My suggestion: do you like UNIX model? if so,get inspiration from it and try yourself write an UNIX kernel.
|
|||
26 Apr 2013, 20:57 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.