LINUX.ORG.RU
 
urxvt

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


0

11

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

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


[#]  
urxvt

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

*** ()
[#]  
geekless

Интересненько, почитаем.

** ()
[#]  

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

anonymous ()
[#]  
Zhbert
>>-----Цитата---->>

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

<<-----Цитата----<<

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

*** ()
[#] Ответ на: комментарий от urxvt 06.01.2012 17:53:44  
drSchur

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

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

* ()
[#] Ответ на: комментарий от Zhbert 06.01.2012 20:49:36  
urxvt
>>-----Цитата---->>

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

<<-----Цитата----<<

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

*** ()
[#] Ответ на: комментарий от isako 06.01.2012 18:09:50  
marvin_yorke

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

** ()
[#] Ответ на: комментарий от marvin_yorke 06.01.2012 22:20:25  
marvin_yorke

без защищенного т.е. наоборот, только реальный

** ()
[#] Ответ на: комментарий от marvin_yorke 06.01.2012 22:20:25  

это как это? не на x86?

* ()
[#]  
fat_angel

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

***# ()
[#] Ответ на: комментарий от urxvt 06.01.2012 17:53:44  
fat_angel

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

***# ()
[#] Ответ на: комментарий от drSchur 06.01.2012 21:03:51  
isako

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

** ()
[#] Ответ на: комментарий от marvin_yorke 06.01.2012 22:20:25  
isako

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

** ()
[#]  
AntonK

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

()
[#] Ответ на: комментарий от fat_angel 06.01.2012 23:22:39  
urxvt

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

*** ()
[#] Ответ на: комментарий от isako 07.01.2012 0:46:22  
havelite

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

* ()
[#] Ответ на: комментарий от havelite 07.01.2012 18:03:55  
isako

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

** ()
[#]  
mixail

хороший годный студент

()
[#]  
snefjyent

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

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

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

()
[#]  

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

>>-----Цитата---->>

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

<<-----Цитата----<<

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

* ()
[#]  

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

***** ()
[#]  
I-Love-Microsoft

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

**** ()
[#]  
pacify

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

**** ()
[#]  
Buy

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

*** ()
[#] Ответ на: комментарий от Buy 08.01.2012 5:42:02  
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 08.01.2012 6:29:04  
>>-----Цитата---->>

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

<<-----Цитата----<<

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

***** ()
[#] Ответ на: комментарий от anonymous 08.01.2012 6:29:04  
mono

ну все, теперь win 3.11 точно капец!

***** ()
[#]  
Rolex

UNIX From Scratch :)

* ()
[#]  
northerner
>>-----Цитата---->>

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

<<-----Цитата----<<

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

** ()
[#]  

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

anonymous ()
[#]  

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

** ()
[#] Ответ на: комментарий от pacify 08.01.2012 5:31:03  
void_ptr

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

* ()
[#] Ответ на: комментарий от anonymous 08.01.2012 6:25:30  
urxvt

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

<<-----Цитата----<<

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

*** ()
[#]  

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

** ()
[#]  

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

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

()
[#]  
flareguner

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

()
[#] Ответ на: комментарий от TheMixa 08.01.2012 10:12:43  
tlx

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

()
[#] Ответ на: комментарий от tlx 08.01.2012 10:34:58  
Igron
>>-----Цитата---->>

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

<<-----Цитата----<<
>>-----Цитата---->>

по русски

<<-----Цитата----<<

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

***** ()
[#]  

Эм, но зачем?

* ()
[#]  
unfo

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

* ()
[#] Ответ на: комментарий от flareguner 08.01.2012 10:27:24  

кроме быдлокода у чувака отсутствует местами понимание собственных действий. Зачем-то он засунул в 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 08.01.2012 5:19:01  

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

anonymous ()
[#]  

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

()
[#] Ответ на: комментарий от Spoofing 08.01.2012 5:16:21  

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

anonymous ()