Kip Irvine book: Assembly Language for x86 Processors is quite nice for learning assembler but it use the MASM syntax which by itself isn't really a negative especially if you're planning to use the Intel documentation since they also use the MASM syntax in their example.
I use a simple document that explain how to convert from MASM to NASM http://left404.com/2011/01/04/convertin ... to-nasm-3/
Don't know where to begin
Re: Don't know where to begin
Learn D and ASM (NASM). Makefiles and bash scripting too.
Use GRUB2 as bootloader.
Xamarin Studio (monodevelop) as a IDE.
Use LLVM, LDC2, clang, binutils (maybe LLD) as your basic tools.
Choose x64 as a main arch.
Choose microkernel as your concept of OS.
Start with multiboot2 info, GDT, IDT, TSS, PIT, PIC, paging, virutal/physical memory managers.
Then implement syscalls and thread scheduling.
ext2 and elf parsers/drivers.
create VFS and other daemons.
Look at my kernel (currently not working, switching from monolitic to micro kernel arch).
https://github.com/Rikarin/Trinix/
Study basics of QNX kernel architecture, syscall, message passing, networking, resource managers, etc.
(Just my opinion)
Use GRUB2 as bootloader.
Xamarin Studio (monodevelop) as a IDE.
Use LLVM, LDC2, clang, binutils (maybe LLD) as your basic tools.
Choose x64 as a main arch.
Choose microkernel as your concept of OS.
Start with multiboot2 info, GDT, IDT, TSS, PIT, PIC, paging, virutal/physical memory managers.
Then implement syscalls and thread scheduling.
ext2 and elf parsers/drivers.
create VFS and other daemons.
Look at my kernel (currently not working, switching from monolitic to micro kernel arch).
https://github.com/Rikarin/Trinix/
Study basics of QNX kernel architecture, syscall, message passing, networking, resource managers, etc.
(Just my opinion)
Trinix (written in D) https://github.com/Rikarin/Trinix
Streaming OS development https://www.livecoding.tv/satoshi/
Streaming OS development https://www.livecoding.tv/satoshi/