aios is an operating system for x86 PC.It aimed to make you understand how to develop operating system. after follow the links given below or reading our handbooks and experimenting on aios source code you will be able to make your own operating system.you can also help us throug your beautiful ideas.aios has a great forum where you share your views with others further you can mail me personally.I will be glad to response on your beautiful questions.
CPU
Modes
- Real Mode
- Protected Mode
- Virtual 8086 Mode
- X86-64
Hardware
The Hardware Category and linked resources
Other
- IA32 Architecture Family
- Model Specific Registers (MSRs)
- Detecting CPU Speed
- Inline Assembly/Examples
- CPU Bugs
- AMD K6 WriteBack Optimisations
- SSE
- Where Can I Find Information About Ports
Memory
- Detecting Memory (x86)
- A20 Line or "Why cant I access all my memory?"
IRQ's and Exceptions, PIC, NMI, APIC, OPIC
- PS2 Keyboard Input
- Mouse Input
- I can't get interrupts working
- IDT problems
- Interrupt Service Routines (ISRs)
- Interrupts
- Non Maskable Interrupt (NMI)
- APIC
- PIC
Clocks, Timers and Counters
- Programmable Interval Timer (PIT)
- The CMOS clock, and its RTC chip
- APIC timer (per-processor timer)
- Detecting CPU Speed
Video
- Accelerated Graphic Cards
- Detecting Colour and Monochrome Monitors?
- Printing to Screen in protected mode
- Text Mode Cursor
- Drawing In Protected Mode
- Kernel Stdio Theory
- VGA Resources and VGA Hardware documentation
- Drawing characters in graphics mode using VGA Fonts
- Video Signals And Timing
- How to program Bochs' and QEMU's BGA graphics device
Audio
- Sound
- PC Speaker
- Sound Blaster 16
Storage devices
- ATA (harddisks)
- ATAPI (CD-ROM)
- DMA
- Floppy Disk Controller (FDC)
Plug and Play
- Plug-and-Play (PNP)
- PNP Calls In Protected Mode
PCI, USB and things like this ...
Network cards and communicating devices
- 3c90x
- Intel 8254x
- Serial ports
- Ne2000
- RTL8139
- RTL8169
- 802.11
Tools
Bootloaders
- Bootloader theory
- GRUB / GRUB 2
- LILO
- XOSL
- System Commander
- Boot Magic
- Rolling Your Own Bootloader
Compilers
- GCC
- Cygwin
- MinGW
- Dev-C++
- DJGPP
- Building a GCC Cross-Compiler
- Porting GCC to your OS
- Calling Conventions of GCC for x86 systems
- Watcom C/C++
- Visual Studio
- Visual C++ Runtime
- TCC
- Other Compilers
Assemblers
- GAS (GNU as, part of binutils)
- Cygwin
- FASM
- NASM
- YASM
- On the difference between AT&T and Intel Opcode syntax
Linkers
- LD (GNU ld, part of binutils)
- Link Archiver (GNU ar, part of binutils)
Emulators
- Bochs
- QEMU
- Microsoft Virtual PC
- Windows Virtual PC
- VMWare
- VirtualBox
- SimICS
Working with Disk Images
- Disk Images in general, and ...
- Loopback Device for Linux, *BSD et al.
- hdiutil for MacOS X
- Windows Tools