Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
8096 Alex2003 1
roadmap Kolibri-E (kernel r. 7965; distributive r. 8092)
2
 
3
Обязательно для каждого, кто читает этот родмап:
4
1. Как определить приоритет задач:
5
	поставьте после каждой строки цифру от 1 до трёх:
6
	1 - критически важно;
7
	2 - важно
8
	3 - надо будет сделать.
9
	Приоритет посчитаю я. Каких цифр больше - такой и приоритет задачи. Большая просьба когда ставите цифры, делать пробел после двоеточия и делать их жирными и красными.
10
 
11
2.	Можете добавлять свои задачи, но они обязательно должны быть оригинальными и не повторять другие.
12
 
13
3.	Своё мнение излагать в комментариях к задачам.
14
 
15
 
16
	Эта сборка предназначена для проведения испытаний новейших поправок в коде ядра и приложений. После успешного прохождения тестирования код заливается в транк. Ниже расписаны основные направления.
17
 
18
Участники и составители (ники на форуме):
19
Alex2003 - Алексей Рогозинников
20
denius - Денис Литвинов
21
maxcodehack
22
Михаил Фролов
23
Юрий Петров
24
superturbocat2001
25
rgimad - Рустем Гимадутдинов
26
Boppan - Боппан Костоев
27
 
28
Ядро - системные функции, поддержка технологий, документация
29
 
30
1.	Отделить графику от ядра.
31
Приоритет: 3
32
 
33
2.	Системная функция 70 - исправить использование полного пути для открытия файлов, сделать через дескрипторы.
34
Приоритет: 2
35
 
36
3.	Системная функция 1 - удалить неиспользуемый стиль окон.
37
Приоритет: 2
38
 
39
4.	Поддержка многоядерных процессоров - переделать планировщик задач; переделать примитивы синхронизации.
40
Приоритет: 3
41
 
42
5.	Мануал по отладке ядра. ВЫПОЛНЕНО (rgimad, статья выложена на форум в раздел Ядро)
43
Приоритет: 1
44
 
45
6.	Загрузчик PE DLL и EXE в ядре.
46
Приоритет: 2
47
 
48
7.	Реализовать стандартные потоки ввода-вывода, pipe в ядре.
49
Приоритет: 1
50
 
51
8.	USB 3.0.
52
Приоритет: 3
53
 
54
9.	Wi-Fi подсистема.
55
Приоритет: 3
56
 
57
10.	Внедрить syscall из Kolibri A.
58
Приоритет: 3
59
 
60
11.	PAE-NX.
61
Приоритет: 3
62
 
63
12.	Hybrid-core: опробовать систему из двух ядер разной разрядности работающих на разных ядрах процессора и в одном адресном пространстве.
64
Приоритет: 3
65
 
66
Графика - функции, оконная система, движки
67
 
68
1.	Разработка графического стека с использованием OpenGL/TinyGL/Mesa.
69
Приоритет: 2
70
 
71
2.	Масштабируемый GUI.
72
Приоритет: 2
73
 
74
3.	Улучшение вида панели задач; переделка системного скина; красивые обои, заменить “Шкворку”, а то она уже надоел, кстати, большой выбор их есть, и так же добавить кнопку разворота на весь экран.
75
Приоритет: 2
76
 
77
4.	Внедрение glass environment (библиотека альтернативной оконной графики).
78
Приоритет: 3
79
 
80
5.	Пересмотр всех графических функций.
81
Приоритет: 3
82
 
83
6.	Выделение графической системы из ядра.
84
Приоритет: 3
85
 
86
7.	Компактные шрифты с масштабированием и сглаживанием
87
Приоритет: 2
88
 
89
Приложения - портирование, исправление багов, написание, фичи
90
 
91
1.	Дописать порт браузера NetSurf.
92
Приоритет: 1
93
 
94
2.	Firefox и его зависимости.
95
Приоритет: 3
96
 
97
3.	Обновить shell.
98
Приоритет: 3
99
 
100
4.	Обновить пакет офисных программ (уже имеется Table).
101
Приоритет: 3
102
 
103
5.	Win PE лаунчер (есть в ядре KOLIBRI-PE, идет разработка KWINE, PELOAD).
104
Приоритет: 2
105
 
106
6.	Animage - сделать удобный интерфейс, исправить мелкие баги.
107
Приоритет: 1
108
 
109
7.	FPlayer- добавить поддержку формата 4К и его зависимость ffMpeg.
110
Приоритет: 3
111
 
112
Разработка - библиотеки, компиляторы, документация, IDE
113
 
114
1.	Переписать документацию и заменить ей DOCPACK.
115
Приоритет: 1
116
 
117
2.	.obj-библиотека для работы с файлами.
118
Приоритет: 3
119
 
120
3.	Создать графический IDE с возможностью подключения библиотек и компиляторов.
121
Приоритет: 2
122
 
123
4.	console.obj - добавить разворачивание консольного окна на полный экран, и изменение размера экрана как в KFAR, там не настоящая консоль; выделение текста в окне; горячие клавиши ^C ^V.
124
Приоритет: 2
125
 
126
5.	Избавиться от кросс-компиляции, по максимуму портировать различные компиляторы в KOS.
127
Приоритет: 1
128
 
129
6.	Написать различные обёртки для C++/C--/C.
130
Приоритет: 2
131
 
132
 
133
Дистрибутив - комплектация, сборка
134
 
135
1.	Разобраться с MENU.dat.
136
Приоритет: 3
137
 
138
Комментарии к разделу "Ядро"
139
 
140
1.	А  мух от котлет :)
141
Привет Xorg
142
Алексей: нет, это glass environment или glass shell, на ваше усмотрение
143
rgimad: я не про название, а про то что в линуксе тоже графика отделена от ядра и вынесена в Х сервер
144
Алексей: Сделать два ядра - графическое и системное? (смотрите hybrid core). Хм… Тогда видеокарта не будет нужна? Мне кажется, что лучше этот абзац перенести в ядро
145
2.	сисфункция 70. Почему там каждая операция с файлами производится по полному пути? Это неэкономно и неудобно. Нужно сделать сисфункцию открыть/закрыть файл которая возвращает дескриптор, а все операции уже будут по дескриптору
146
3.	Ничего здесь нет :(
147
4.	многоядерность. А именно SMP, как с этим работать можно посмотреть в исходниках любительских ОСей с гитхаба. Это потребует переделки всего планировщика задач, а также примитивов синхронизации.
148
5.	Написать мануал по отладке ядра. Это очень важно, ибо много кто хочет лезть в ядро и что-то там делать, но как это отлаживать почти никто не знает. Простейший способ это использовать вывод на доску отладки, но этот способ не всегда помогает. Например как ставить брейкпоинты? Слышал что ядро колибри можно отлаживать в BOCHS. Возникают вопросы: как грузить отладочные символы. Насколько я знаю у bochs их можно просто перечислить с определенном формате (.map). Есть идея написать утилиту которая бы перегоняла отладочные символы формата .fas (формат отладочных символов fasm) в .map файл для bochs.
149
За любой ваш кипишь связанный с документацией ядра: что где происходит, почему, на каком этапе, как туда собачится биос загрузка и ефишная - в какой момент и также попунктно по шагам что дальше происходит, по каким файлам и какие этапы распределены.
150
Важно не только что и в каких файлах, но в каком порядке и когда оно исполняется.
151
6.	возможно сделать загрузчик PE DLL и EXE в ядре. (Не путать с виндовс приложениями, PE формат можно использовать в любой оси). См. проект Kolibri-PE
152
7.	вроде уже есть, надо чекнуть
153
8.	Реализовать стандартные потоки ввода-вывода, чтобы консольные программы могли работать нормально. Чтобы стало возможным перенаправлять ввод и вывод команд. (Обязательно в ядре? msvcrt.dll - пользовательская либа, насколько мне известно. Разве что несколько POSIX-фич, вроде fork, придется впиливать в ядро, все остальное лучше выгрузить в юзерспейс либы).
154
9.	usb 3.0 . USB 3.0 обратно совместим с USB 2.0. По крайней мере сделать переключение usb 3.0 в режим совместимости с usb 2.0
155
10.	wi-fi драйверы. Это не только драйверы. Нужна подсистема wifi, а потом уже драйверы. Переписывать сетевой стек? - по сути да, дописывать его. То есть вопрос в том как интегрировать вифи с существующую сетевую подсистему?
156
11.	позволяет напрямую управлять ресурсами ПК
157
12.	PAE-NX (36- битная адресация ОЗУ) - пригодится для KWINE - особо ресурсожоркие приложения не поместятся в 4 гига озу
158
13.	опробовать конструкцию hybrid core? (два ядра разной разрядности на двух ядрах процессора). А это вообще возможно или нет? По крайней мере на форумах осдеверов это выяснить нужно
159
Алексей: Идея бредовая, но имеет здравое семя
160
 
161
Комментарии к разделу "Графика"
162
 
163
1.	Разработать графический стек (по типу как в KDE) с использованием OpenGL/TinyGL/Mesa и т.д.
164
Алексей: не будет ли такая оболочка тормозить? Сколько ОЗУ это затребует?
165
2.	сделать GUI колибри масштабируемым ибо сейчас даже на самых больших разрешениях экрана шрифты очень мелкие
166
3.	Улучшить вид панели задач; переделать системный скин; красивые обои
167
Комментарий: мб улучшить внешний вид панели задач, сейчас он не оч, и кнопку пуск(возможно как в XP только птицы вместо флажка) покрасивее мб птичку или лого какое. Кстати дефолтный скин надоел, я за то чтобы default.skn другой взять, у нас их много, ++. Ну и нескучные обои еще
168
Алексей: могу подобрать, моя подборка обоев для Kolibri N 10 всем понравилась
169
4.	Что такое glass environment?
170
Это библиотека является альтернативой оконной системой. Пока только расписывается документация.
171
5.	Тоже ничего нету… :(
172
6.	Обязательный пункт!!!
173
 
174
Комментарии к разделу "Приложения"
175
 
176
1.	Да, потому что оба разработчика порта (Нина и ashmew2) по разным причинам прекратили участие..
177
2.	А тут ничего нет! ;/
178
3.	добавить команд, сделать настройки shell
179
4.	Уже есть Table, остальное приложится
180
5.	Win pe - лаунчер. Уже есть peload от 0Coderr, но он сильно ограниченный, например не умеет грузить PE DLL. Сейчас идет разработка KWINE 0.0.4, который будет написан с нуля и без этих недостатков, но хз получится он или нет
181
6.	Где комментарий, Лебовски?
182
7.	Ничего...
183
 
184
Комментарии к разделу "Разработка"
185
 
186
1.	Алексей: уже занимаюсь, пока есть недоделанная версия на английском; думаю закончить к Новому году оба варианта перевода (русский/английский)
187
2.	Сделать .obj библиотеку для работы с файлами, ибо руками юзать сисфункцию 70 крайне неудобно (а для СИ++ fstream)
188
(А для си, уже есть сишные функции для работы с файлами в кос?
189
3.	(предлагали портировать WXWIDGETS, и уже на нем codeblocks, вот только оч сложно). Идея: визуальный конструктор форм. Суть такая есть визуальный конструктор форм, рисуешь формочку руками т.е кидаешь компонентики.. Форма сохраняется в чем то типа XML, а программа загрузчик форм уже парсит файл и рисует нужное с помощью box_lib или чего там.. Кстати это не я придумал, так работает Qt, и WPF, и delphi и еще много чего, можно подсмотреть в f_kol_edit это иде для кос, но на асме, и  не очень ТРУЪ, поэтому только идеи подсмотреть
190
4.	По console.obj: разворачивание консольного окна во весь экран, выделение мышкой, шифтом текста в консоли, ctrl+c и ctrl+v . В перспективе уйти от использования console.obj, это упростит создание консольных приложений. Консольный ввод-вывод будет осуществляться через системные функции. Отрисовкой консольных окон может заниматься уже не ядро, а программа пользовательского режима, например как conhost.exe в windows. Вообще модель консоли в windows наиболее простая и функциональная (см. GetConsoleHandle, SetConsoleHandle, …). А библиотеку console.obj оставить только как legacy для программ которые изначально писались с ее использованием.
191
5.	Компиляторы, которые ещё не портированы:
192
6.	например бокс либ...