# Architecture

In this part we are going to cover the most Architecture specific topic, and some basic drivers that are needed in early stages of development. Below the list of chapters:

* [Overview](01_Overview.md) An overview on most of the topics covered by
* [Hello World](02_Hello_World.md) The kernel says its first words...
* [Higher Half](03_HigherHalf.md) We are moving everything done so far where it usually belongs, the higher half of the memory
* [The GDT](04_GDT.md) One of the architecture specific chapters, the Global Descriptor Table, used to "describe" the behaviour of different part of memory
* [Interrupt Handling](05_InterruptHandling.md) How to handle the interrupts and exceptions generated by the CPU, and external resources
* [ACPI Tables](06_ACPITables) The ACPI tables, and how to parse them
* [APIC](07_APIC.md) The Advanced Programmable Interrupt Controller, along with the IOAPIC they replace the old PIC to handle interrupts coming from external hardware
* [Timers](08_Timers.md) We initialize, configure and start a timer
* [PS2 Keyboard Overview](PS2_Keyboard/01_README.md) Introduction to the PS2 Keyboard Driver implementation
* [PS2 Keyboard Interrupt Handling](PS2_Keyboard/02_Interrupt_Handling.md) How to handle the interrupt generated by the keyboard, and introduction of some of the basic concepts
* [PS2 Keyboard Driver implementation](PS2_Keyboard/03_Driver_Implemenation.md) Finally how to translate the scancode we received into readable characters.
