Главная Настройка Mobile Контакты NSFW Каталог Пожертвования Купить пасскод Pics Adult Pics API Архив Реквест доски Каталог стикеров Реклама
Доски


[Ответить в тред] Ответить в тред

Check this out!


[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 32 | 3 | 27
Назад Вниз Каталог Обновить

Планирую написать свою ОС. С чего начать? Какие подводные? p.s. асм и си знаю. Аноним 16/09/17 Суб 23:32:36  1063026  
Linux-Kernel-De[...].jpg (18Кб, 321x414)
Планирую написать свою ОС.
С чего начать?
Какие подводные?

p.s. асм и си знаю.
Аноним 16/09/17 Суб 23:40:33  1063028
>>1063026 (OP)
>асм и си знаю
Пруф или не знаешь.
Аноним 16/09/17 Суб 23:58:05  1063034
>>1063026 (OP)
> p.s. асм и си знаю.
Нет, не знаешь.

> С чего начать?
Таненбаум.

> Какие подводные?
Положишь хуй, когда поймешь, что пора портировать компилятор и станартную библиотеку, а у тебя нихуя не работает.
Аноним 16/09/17 Суб 23:59:15  1063035
>>1063034
сажа приклеилась
Аноним 17/09/17 Вск 00:25:52  1063049
.jpg (42Кб, 600x499)
>>1063034
>пора портировать компилятор и станартную библиотеку
Зачем в 2017 году нужен еще один клон UNIX?
Аноним # OP  17/09/17 Вск 02:07:18  1063066
Screenshot20170[...].png (34Кб, 410x502)
>>1063028
Лол, будто знание этих языков что-то совершенно непостижимое и мистическое, что я должен каждому доказывать что я действительно знаю их.
Во-первых, на с и с++ я пишу уже более 10 лет и зарабатываю этим.
Во-вторых, я очень часто дизассемблирую свой код, для того чтобы убедиться что компилятор все правильно делает и генирирует правильный ассемблер.
Да и на ассемблере я изредка по приколу пишу, вот недавно писал мандельброта на AVX/FMA3 пикрил. Кстати вышло очень даже неплохая скорость, выдавал на моем i5 4670k 60+ фпс при 1024x1024.

>>1063034
>Таненбаум.
Не знаю, что-то полистал оглавление его книги и мне она показалась для совсем новичков, мне бы что-нибудь более практическое с примерами типа как загрузиться, как там MMU программировать и всякие такие низкоуровневые штуки с железом.

>>1063034
>портировать компилятор
Нахуя мне портировать компилятор, я же не новую процессорную архитектуру буду изобретать, а x86 совместимую ОС. Да и со стандартной библиотекой это тоже ты загнул, думаю она даже не потребуется. Т.к я не собираюсь писать какую-то серьезную ОС чтобы составить конкуренцию линуксу или что-то такое, мне это интересно в качестве самообразовательных целей.
Аноним 17/09/17 Вск 02:14:51  1063067
>>1063066
Ты слишком успешный, здесь нет никого твоего уровня.
Аноним 17/09/17 Вск 02:18:13  1063068
>>1063066
Делай forth-машину и расширяй ее, куда тебе вздумается.
Аноним 17/09/17 Вск 02:23:30  1063069
>>1063066
>Во-первых, на с и с++ я пишу уже более 10 лет и зарабатываю этим.

Научи. Как стать таким же, как ты?
Аноним 17/09/17 Вск 10:42:41  1063120
>>1063026 (OP)
>>1063066
Ты не по адресу, тебе нужно например к этим деятелям http://board.kolibrios.org/ посмотри исходники этой питухОС, я уверен там есть все, что тебе нужно - загрузка, низкоуровневый анал-карнавал с любым железом и т.д.
Аноним 17/09/17 Вск 12:44:22  1063138
>>1063120
>kolibri
>питухОС
Да ты охуел. А ну извинись!
Аноним 17/09/17 Вск 16:01:25  1063192
>>1063026 (OP)
Что ты подраземеваешь под "своей ОС"?
Аноним 17/09/17 Вск 16:04:10  1063194
>>1063066
Вопрос снят. Читай osdev wiki, выполняй все по инструкции.
Аноним 17/09/17 Вск 18:08:40  1063218
>>1063026 (OP)
https://github.com/SamyPesse/How-to-Make-a-Computer-Operating-System
Аноним 22/09/17 Птн 10:18:28  1064893
>>1063218
Там недописана самая интересная часть про портирование стандартной библиотеки, системные вызовы и т.д.
Аноним 24/09/17 Вск 00:23:51  1065714
>>1063026 (OP)
>Какие подводные?
Ты не напишешь свою ОС.

Мимо писал ОС на асме в технаре.
Аноним 24/09/17 Вск 09:08:50  1065762
>>1063066
> как там MMU программировать и всякие такие низкоуровневые штуки с железом.
Не трать время. Все равно не осилишь.
На дворе далеко не 1990г. когда комплюхтер был простой и можно было самому спаять.
Аноним 24/09/17 Вск 14:41:22  1065858
>>1063026 (OP)
А зачем? Что даст новая ОС, какие перимущества перед остальными?
Аноним 24/09/17 Вск 15:22:31  1065871
>>1063066
> x86 совместимую ОС
Пффф. Вот тут-то все ответы мне и показались верными.
А то я зашёл тебе посоветовать в качестве ниши RTOS для ARM (альтернативу FreeRTOS или лучше RIOT-OS), но иди тогда ты нахуй.
Аноним 24/09/17 Вск 17:44:37  1065905
>>1063026 (OP)
Гугли- Bugurtos Лучше помоги анону.
Аноним 24/09/17 Вск 22:27:33  1065993
Вкатись в компиляторы. Всего один норм учебник на весь мир.

Вкатись в ReactOS, Kolibri Os

Почитай Танненбаума.

Пиши систему с самых низких уровней. Например взаимодействие контроллера - диска
Аноним 25/09/17 Пнд 00:47:45  1066048
В качестве дополнения к советам выше очень рекомендую посмотреть исходники bolgenOS для лучшего понимания как писать осы профессионально, со всеми новейшими лучшими практиками и учетом ошибок популярных осей типа линукса или винды.
Аноним # OP  25/09/17 Пнд 01:07:52  1066058
>>1065871
Так RTOS отличает только по идее цпу шедулер и остальные функции памяти, процесса, стека и т.п для уменьшения латенси.
Как я уже писал я хочу написать свою ОС, чтоб познать дзен, это следующая ступень в моем мастерстве программирования.
Компилятор я уже писал,
3Д двиган делал в студенческие годы.
Хай лод сервера писал на работе.
Алгоритмы уже все выдрочены и написаны свои версии по 5 раз.
Думаю теперь пришло время валить рейд босса - написать свою ОС.
На ARM писать не могу ибо у меня нету ARM нигде кроме USB модема, да и архитектуру арм не знаю, в отличии от х86.
Тем более архитектурные особенности это всего лишь нижний слой абстракции, основной то слой где работает само ядро с шедулерами, менеджерами памяти и т.п. находиться выше архитектуры CPU.
Аноним 25/09/17 Пнд 12:25:23  1066171
>>1063026 (OP)
Начни с загрузчика
/thread
Аноним 25/09/17 Пнд 12:27:11  1066172
>>1066171
Вообще накатай LispOS и делов то
Аноним 25/09/17 Пнд 17:54:09  1066305
>>1063066
>Да и со стандартной библиотекой это тоже ты загнул, думаю она даже не потребуется
Ты заебешься без неё писать, хотя бы частичная реализация нужна.
Аноним 25/09/17 Пнд 18:16:44  1066314
>>1063026 (OP)
Очередной монолит? Фичи-то будут?
Аноним 27/09/17 Срд 15:56:09  1067175
>>1063026 (OP)
Watch out for the CIA niggers. They glow in the dark.
Аноним 27/09/17 Срд 17:18:47  1067215
>>1063026 (OP)
Начни с драйвера дисковода. Это работает, гарантирую результат.
Аноним 28/09/17 Чтв 08:39:58  1067516
>>1063026 (OP)
Попов, уймись
Аноним 28/09/17 Чтв 21:13:28  1067807
>>1063026 (OP)
Главное, чтобы обои были не скучные
Аноним 28/09/17 Чтв 21:37:41  1067820
>>1063026 (OP)
Вот полноценная ОС на Сишке
#define G(n) int n(int t, int q, int d)
#define X(p,t,s) (p>=t&&p<(t+s)&&(p-(t)&1023)<(s&1023))
#define U(m) ((signed char )(m))
#define F if(!--q){
#define I(s) (int)main-(int)s
#define P(s,c,k) for(h=0; h>>14==0; h+=129)Y(16c+h/1024+Y(V+36))&128>>(h&7)?U(s+(h&15367))=k:k

G (B)
{
Z;
F D = E (Y (V), C = E (Y (V), Y (t + 4) + 3, 4, 0), 2, 0);
Y (t + 12) = Y (t + 20) = i;
Y (t + 24) = 1;
Y (t + 28) = t;
Y (t + 16) = 442890;
Y (t + 28) = d = E (Y (V), s = D
8 + 1664, 1, 0);
for (p = 0; j < s; j++, p++)
U (d + j) = i == D | j < p ? p--, 0 : (n = U (C + 512 + i++)) < ' ' ? p |=
n 56 - 497, 0 : n;
}

n = Y (Y (t + 4)) & 1;
F
U (Y (t + 28) + 1536) |=
62 & -n;
M
U (d + D) =
X (D, Y (t + 12) + 26628, 412162) ? X (D, Y (t + 12) + 27653,
410112) ? 31 : 0 : U (d + D);
for (; j < 12800; j += 8)
P (d + 27653 + Y (t + 12) + ' '
(j & ~511) + j % 512,
U (Y (t + 28) + j / 8 + 64 Y (t + 20)), 0);
}

F if (n)
{
D = Y (t + 28);
if (d - 10)
U (++Y (t + 24) + D + 1535) = d;
else
{
for (i = D; i < D + 1600; i++)
U (i) = U (i + 64);
Y (t + 24) = 1;
E (Y (V), i - 127, 3, 0);
}
}
else
Y (t + 20) += ((d >> 4) ^ (d >> 5)) - 3;
}
}

G (_);
G (o);
G (main)
{
Z, k = K;
if (!t)
{
Y (V) = V + 208 - (I (_));
L (209, 223) L (168, 0) L (212, 244) _((int) &s, 3, 0);
for (; 1;)
R n = Y (V - 12);
if (C & ' ')
{
k++;
k %= 3;
if (k < 2)
{
Y (j) -= p;
Y (j) += p += U (&D)
(1 - k 1025);
if (k)
goto y;
}
else
{
for (C = V - 20;
!i && D & 1 && n
&& (X (p, Y (n + 12), Y (n + 16)) ? j = n + 12, Y (C + 8) =
Y (n + 8), Y (n + 8) = Y (V - 12), Y (V - 12) =
n, 0 : n); C = n, n = Y (n + 8));
i = D & 1;
j &= -i;
}
}
else if (128 & ~D)
{
E (Y (n), n, 3, U (V + D % 64 + 131) ^ 32);
n = Y (V - 12);
y:C = 1 << 24;
M U (C + D) = 125;
o (n, 0, C);
P (C + p - 8196, 88, 0);
M U (Y (0x11028) + D) = U (C + D);
}
}
}

for (D = 720; D > -3888; D--)
putchar (D >
0 ?
" )!\320\234\360\256\370\256 0\230F .,mnbvcxz ;lkjhgfdsa \n][poiuytrewq =-0987654321"
" \357\262 \337\337 \357\272 \337\337 ( )\"\343\312F\320!/ !\230 26!/\16 K>!/\16\332"
" \4\16\251\0160\355&\2271\20\2300\355`x{0\355\347\2560 \237qpa%\231o!\230 \337\337\337"
" , )\"K\240 \343\316qrpxzy\0 sRDh\16\313\212u\343\314qrzy !0( "
[D] ^ 32 : Y (I (D)));
return 0;
}

G (o)
{
Z;
if (t)
{
C = Y (t + 12);
j = Y (t + 16);
o (Y (t + 8), 0, d);
M U (d + D) =
X (D, C, j) ? X (D, C + 1025, j - 2050) ? X (D, C + 2050,
j - 3075) ? X (D,
C + 2050,
j -
4100) ?
X (D, C + 4100,
((j & 1023) + 18424)) ? 176 : 24 : 20 : 28 : 0 : U (d + D);
for (n = Y (t + 4); U (i + n); i++)
P (d + Y (t + 12) + 5126 + i
8, U (n + i), 31);
E (Y (t), t, 2, d);
}
}

G (_)
{
Z = Y (V + 24);
F Y (V - 16) += t;
D = Y (V - 16) - t;
}

F for (i = 124; i < 135; i++)
D = D << 3 | Y (t + i) & 7;
}

if (q > 0)
{
for (; n = U (D + i); i++)
if (n - U (t + i))
{
D += _(D, 2, 0) + 1023 & ~511;
i = ~0;
}
F if (Y (D))
{
n = _(164, 1, 0);
Y (n + 8) = Y (V - 12);
Y (V - 12) = n;
Y (n + 4) = i = n + 64;
for (; j < 96; j++)
Y (i + j) = Y (t + j);
i = D + 512;
j = i + Y (i + 32);
for (; Y (j + 12) != Y (i + 24); j += 40);
E (Y (n) = Y (j + 16) + i, n, 1, 0);
}
}
}

return D;
}
Аноним 30/09/17 Суб 13:01:41  1068512
>>1063026 (OP)
>Планирую написать свою ОС.
>С чего начать?
Закончить школу.

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 32 | 3 | 27
Назад Вверх Каталог Обновить

Топ тредов
Избранное