Разница между 1.6
и текущей версией
ПроектLAMPOS.
@@ -1,15 +1,13 @@
-- LAMP OS
-
-- О проекте
+= LAMP OS
'''LAMP OS''' - учебный проект по созданию ядра для процессоров архитектуры [[https://en.wikipedia.org/wiki/X86|x86]].
- Зависимости
-Для сборки проекта вам потребуются ''make(1)'', [[КроссКомпилятор|кросс компилятор]], ''genisoimage(1)'' из набора ''[[https://en.wikipedia.org/wiki/Cdrkit|cdrkit]]'' и ''[[https://en.wikipedia.org/wiki/QEMU|qemu(1)]]'' для тестирования работы проекта.
+Для сборки проекта вам потребуются ''make(1)'', компилятор gcc с установленным пакетом gcc-multilib, ''genisoimage(1)'' из набора ''[[https://en.wikipedia.org/wiki/Cdrkit|cdrkit]]'' и ''[[https://en.wikipedia.org/wiki/QEMU|qemu(1)]]'' для тестирования работы проекта.
На дистрибутиве Debian установить зависимости можно следующим образом:
- # apt-get install make git qemu gcc genisoimage
+ # apt-get install make git qemu gcc genisoimage gcc-multilib
- Установка
@@ -25,7 +23,7 @@
Проект можно протестировать с получением отладочной информации с помощью команды:
$ make debug
-- Устройство проекта:
+- Устройство проекта
Все исходные коды заголовков помещаются в ''include/''. исходные коды же находятся в ''src/''.
В ''src/boot.s'' находится ассемблерный код функции ''start()'' отвечающий за первоначальную загрузку и включения страничного механизма, который после отработки передает управление функции ''main()'' в файле ''src/main.c''.
@@ -46,18 +44,22 @@
* Реализован '''аллокатор''' физических страниц
* Реализован '''аллокатор''' виртуальных страниц
* Реализован '''аллокатор''' для ядра поверх двух вышеназванных '''аллокаторов'''
+ * написана ядерная отладочная командная оболочка
+ 1 написан простой драйвер '''клавиатуры'''
+ 1 реализована поддержка прерываний с помощью '''PIC'''
+ * Поддержка TIP (программируемый таймер).
- ''''''ToDo''''''
- 1 написать минимальный ''sh(1)''
- 1 написать драйвер '''клавиатуры'''
- 1 сделать поддержку прерываний и работы с '''PIC'''
- 1 написать '''файловую систему'''
- 1 написать драйвер '''Floppy''', '''ATA''', '''SATA'''
- 1 написать минимальную '''файловую систему'''
- 1 написать '''виртуальную файловую систему'''
+ 1 Написать минимальный ''sh(1)''
+ 1 реализовать пользовательские процессы
+ 1 написать '''файловую систему'''
+ 1 написать драйвер '''Floppy''', '''ATA''', '''SATA'''
+ 1 написать минимальную '''файловую систему'''
+ 1 написать '''виртуальную файловую систему'''
+ 1 APIC, SMT
-- Ссылки:
+- Ссылки
* [[https://wiki.osdev.org/|OSDev]] - англоязычная вики про создания операционных систем
* Intel® 64 and IA-32 Architectures Software Developer’s Manual