Полезные ссылки
========================

Загрузка Linux
------------------------

* [Протокол загрузки Linux/x86](https://www.kernel.org/doc/Documentation/x86/boot.txt)
* [Параметры ядра Linux](https://github.com/torvalds/linux/blob/16f73eb02d7e1765ccab3d2018e0bd98eb93d973/Documentation/admin-guide/kernel-parameters.rst)

Защищённый режим
------------------------

* [64-ia-32-architectures-software-developer-vol-3a-part-1-manual.pdf](http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html)

Управление памятью в ядре Linux
--------------------------------------

* [Заметки @lorenzo-stoakes о подсистеме VM в ядре Linux](https://github.com/lorenzo-stoakes/linux-vm-notes)

Программирование последовательного порта
------------------------

* [Программирование 8250 UART](http://en.wikibooks.org/wiki/Serial_Programming/8250_UART_Programming#UART_Registers)
* [Последовательные порты на OSDEV](http://wiki.osdev.org/Serial_Ports)

VGA
------------------------

* [Video Graphics Array (VGA)](http://en.wikipedia.org/wiki/Video_Graphics_Array)

Ввод/вывод
------------------------

* [Программирвоание портов ввода/вывода](http://www.tldp.org/HOWTO/text/IO-Port-Programming)

GCC и GAS
------------------------

* [Типы атрибутов GCC](https://gcc.gnu.org/onlinedocs/gcc/Type-Attributes.html)
* [Директивы ассемблера](http://www.chemie.fu-berlin.de/chemnet/use/info/gas/gas_toc.html#TOC65)


Важные структуры данных
--------------------------

* [Определение task_struct](http://lxr.free-electrons.com/source/include/linux/sched.h#L1274)

Управление памятью
------------------------

* [Серия статей "NUMA Deep Dive"](http://frankdenneman.nl/2016/07/07/numa-deep-dive-part-1-uma-numa/)

Полезные ссылки
------------------------

* [Запуск программ в Linux x86](http://dbp-consulting.com/tutorials/debugging/linuxProgramStartup.html)
* [Разметка памяти при выполнении программы (32 бита)](http://fgiasson.com/articles/memorylayout.txt)
