LINUX.ORG.RU

Руководство по созданию простой UNIX-like ОС.

 , , , ,


1

10

Английский студент James Molloy опубликовал в своем блоге пошаговое руководство по созданию ОС для x86 процессоров. Данная ОС имеет все основные части современных операционных систем, таких как виртуальная память, VFS, многозадачность и другие. Данное руководство состоит из фрагментов исходного кода (на С и Assembler) и детального объяснения принципов его работы, а также технических данных о работе процессора, описание некоторых регистров, и т. п.

>>> Руководство

★★★★★

Проверено: svu ()

Как я мечтал о похожей доке будучи студентом с огромным количеством свободного времени...

urxvt ★★★★★ ()

молодец, завидую

anonymous ()

пошаговое руководство по созданию ОС для x86 процессоров

Там есть пунктик «Напишите свое ядро»? Или как всегда - «Открываем сорцы ubuntu...»?

Zhbert ★★★★★ ()
Ответ на: комментарий от urxvt

Угу. Мой первый имэйл, купленный у провайдёра за 30 уёв в месяц, состоял из акронима на юниксовую тематику))

Эх-х-х, молодость...

drSchur ★★★ ()
Ответ на: комментарий от Zhbert

Там есть пунктик «Напишите свое ядро»? Или как всегда - «Открываем сорцы ubuntu...»?

Там именно как написать ядро с нуля, как программировать таймер, обработчики прерываний и всякое такое.

urxvt ★★★★★ ()
Ответ на: комментарий от isako

ну ты чо, у меня все куда примитивнее было.. даже без реального режима

marvin_yorke ★★★ ()

Мальчик решил повторить успех операционных систем Таненбаума?

fat_angel ★★★★★ ()
Ответ на: комментарий от urxvt

Тоесть Таненбаума в институтской библиотеке не было?

fat_angel ★★★★★ ()
Ответ на: комментарий от drSchur

пусть сам расскажет :) но в кратце - велосипедостроитель :)

isako ★★★ ()
Ответ на: комментарий от marvin_yorke

да я просто постебаться, вдруг ты напишешь мануал по топорОС

isako ★★★ ()

Наплыв новых ядер от Поповых будет? С нескучными планировщиками ввода/вывода?

AntonK ()
Ответ на: комментарий от fat_angel

Даже не знаю. :) А там так детально все описано? Я его не читал но всегда думал что там только теория.

urxvt ★★★★★ ()
Ответ на: комментарий от isako

кстати давно хотел спросить: какого дистра ты, сестра?

havelite ()
Ответ на: комментарий от havelite

дебиано-минтового в разные периоды времени

isako ★★★ ()

Полезная штуковина.

В самый раз перед прочтением Таненбаума многим подойдет. Да и просто, что бы понимать что там происходит.

з.ы. Мне бы такое, когда я месяц свое убогое поделие на асме стругал.

snefjyent ()

А есть ли резон для изучения этого материала? Я верю в ядро linux, и не читая его сорцов - уверен, что там давно уже реализовано

виртуальная память, VFS, многозадачность и другие

, а теперь стоят совсем иные, более «высокоуровненые», чтоли, задачи в развитии linux. Зачем тратить ресурсы на изобретение велосипеда (и не факт, что он будет с круглыми колесами), когда linux наше все :)

Spoofing ★★★★★ ()

ну вот и зачем асм в учебном руководстве?

AVL2 ★★★★★ ()

я буду первым что напишет этот волнительный вопрос: это... а эта ОСька она вообще работает???

I-Love-Microsoft ★★★★★ ()

Я начинал писать когда-то поделие в Unreal mode. Написал загрузчик для
FAT12/16 на yasm/nasm и загрузчик второго уровня на Си. На этом дело
закончилось.

pacify ★★★★★ ()

Так понимаю, зоопарк осей не за горами :)

Buy ★★★★★ ()
Ответ на: комментарий от Buy

Неправильно понимаешь. Можно придумать правильную и некривую ось но надорвёшься её писать.

Napilnik ★★★★★ ()

Это что, такие приколы на ЛОРе, писать «новости» о событиях многолетней давности? Этим руководством мои прадеды ещё пользовались, когда ОС писать учились. А тут оно в «новостях» болтается.

anonymous ()

Новости - Документация
Руководство по созданию простой UNIX-like ОС.
urxvt (06.01.2012 17:52:34)

Copyright James Molloy 2008

LOR news so sloooooooooooooow

anonymous ()

Следующая новость будет о том, что некий финский студент Линус Торвальдс создал свободный клон миникса для x86 и портировал на него gcc, bash и прочий GNU?

anonymous ()
Ответ на: комментарий от anonymous

о том, что некий финский студент Линус Торвальдс создал свободный клон миникса для x86 и портировал на него gcc, bash и прочий GNU?

Что?! Когда он успел?!

X-Pilot ★★★★★ ()

Английский студент James Molloy

Торвальдс 2.0 Перезагрузка

northerner ★★★ ()

У JamesM только ядро, если быть точным. Создание UNIX-like OS это xv6 от MIT. Только они там свой загрузчик ещё пишут, в дидактических целях, наверное. И ещё юзают сегменты вместо страничной адресации, наверное для простоты. Но зато поддерживается SMP. А что сегменты --- есть форк xv6vm, где реализована страничная адерсация.

anonymous ()

Хорошая статья. Очень кратко и понятно. Но архитектура Intel и так разжевана по сто раз (в книге про ядро Linux это все тоже расписано, но на много страниц). А есть ли подобная статья по ARM?

olegk ★★ ()
Ответ на: комментарий от pacify

Ты далеко зашел. У меня все закончилось на загрузчике под FAT12.

void_ptr ★★★★ ()
Ответ на: комментарий от anonymous

http://www.jamesmolloy.co.uk/

Welcome to jamesmolloy.co.uk - the internet home of James Molloy, a student software engineer currently based in York/Manchester, England.
Copyright James Molloy 2008 - james<at>jamesmolloy.co.uk

Это копирайт в футере его сайта, и он стоит на каждой его странице. Ферштейн?

urxvt ★★★★★ ()

есть ресурс osdev.org подобной направлености где разжеваны основы x86

TheMixa ★★★ ()

немножко не в тему

Подскажите, есть собственно что то набодобие этого мануала, но только для написания браузера ?

l1nuxus3r ()

интересная дока, хотя в примерах много быдлокода.

flareguner ()
Ответ на: комментарий от TheMixa

И обо мне тоже вспомните http://kliga.ru У меня тоже самое на примере ядра 1.0. Может, конечно, похуже. Но я могу ответить на возникшие вопросы по русски.

tlx ★★★★★ ()
Ответ на: комментарий от tlx

Но я могу ответить на возникшие вопросы по русски.

по русски

Нет, чувак, не можешь.

Igron ★★★★★ ()

Любопытно, жалко праздники практически кончились, времени на это нет :(

unfo ★★★★★ ()
Ответ на: комментарий от flareguner

кроме быдлокода у чувака отсутствует местами понимание собственных действий. Зачем-то он засунул в multiboot header инфу о секциях, хотя собирает ELF-файл, из хедера которого GRUB сам достаёт эту инфу. Да и GRUB даже заглядывать в multiboot header за секциями не будет, т.к. этот

/* This flag indicates the use of the address fields in the header. */
#define MULTIBOOT_AOUT_KLUDGE                   0x00010000[[/code]]
флаг в коде не задействован.

Ну и для того, чтоб срать на экран я бы выдрал printf из NetBSD, там он отличный и портабельный. Нужно только определить свою функцию вывода символа и передавать указатель на неё в doprintf, который будет за неё дёргать каждый раз для вывода очередного символа. И вообще я бы не стал связываться с экраном. Прокрутки всякие тормозные реализовывать да переводы строки. Гораздо легче взять QEMU с её встроенным com-портом и писать туда, а не в VGA-буффер.

anonymous ()
Ответ на: комментарий от AVL2

Ну вот и иди, реализуй переключение контекстов на Сях, клоун. А мы посмеемся.

anonymous ()

О как! Забавненько.
Лет 10 назад я бы с радостью этим заморочился!

fom ()
Ответ на: комментарий от Spoofing

линукс кривой и некрасивый. ОС - продукт инженера, она должна быть работающей и красивой

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.