![]() |
Я ришил нопесать ОС, чтонибуть типа windos, уже взял на недельку у знакомого С++ для чайников, и готов начать. Только низняю с чего начать. Может кто подскажит, только по быстрее а то скоро книшку атдавать.
|
На subscribe.ru есть рассылка - Разарботка операционных систем - для начинающих и не только. Подпишись на нее.
Тебе еще придется изучить Ассемблер. Цитата:
|
начни счегонибуть по проще например с линукса,
установи для начала его, потом открой исходный код и тренируйся на здоровье, ну потом можешь и свою операционку писать :) Добавлено: начни счегонибуть по проще например с линукса, установи для начала его, потом открой исходный код и тренируйся на здоровье, ну потом можешь и свою операционку писать :) |
to Guest
Сначла надо купить учебник по ассемблеру. После этого надо ассемблер изучить. Еще можно найти статью по программированию ОС на www.programme.ru. Статья называется "Настоящий Hello World". После этого можно начинать, по ходу дела изучая исходники OpenSource ситем(Linux). Можно поковыряться и в FreeBSD, но там все на порядок сложнее:(. Еще можно найти TechHelp!. Это справка по программированию устройств - очень помогает. Добавлено: to Guest А зачем писать? Уже много ОС. Даже слишком много. Могу привести 100 наименований. После того как написал, кто будет ее устанавливать? Кому будет нужна Ваша ОС? FreeBSD, Linux и Windows большинство народу устраивает. Т.е. вывод - писать ОС надо только для того, чтобы понять как это все работает. |
Будет флейм - тема туда и улетит.
Добавлено: По теме - знание ассемблера вообще-то не является необходимым. Так что не пугайте чайника, который за 14 уроков готов C++ выучить. :lol: |
bgg0408
Для изучения принципов гораздо лучше подойдут Minix или Thix. Исходники понятней на порядок чем Линуксовые (хотя бы потому, что на два порядка меньше :)) Guest Таких шутников банить надо. С твоего IP заходил на этот форум только один человек, и всевидящее око (т.е. я :)) его знает, так что бойся. ЗЫ Надоело, что зареганные люди заходят "поприкалываться" как гости. Тем более, что это так невесело. |
to ivank
Да, может быть, но я имел в виду исходники старого Линукса. Они весят <500KB |
bgg0408
Я в своё время пвтался читать сурцы kernel-0.01 (.tgz с исходниками < 71kb. кто-нибудь будет спорить, что это самая простая версия ядра?:)) - в принципе всё понятно, но всё равно Minix понятнее, хотя он и побольше, но там комментариев примерно столько же сколько и кода, да и вообще он писался с целью обучения принципам разработки OS. |
Guest поразил, не зная толком никакого языка программирования, в одиночку писать свою ось???!!! Да ты хотя бы паскаль выучи да нортон-коммандер попробуй написать. Что, пропал оптимизм?
|
to Kuper
Человек хотя бы bootsector или loader должен написать (и уметь это делать) под свою ОС. |
Писал я как-то свою ОС. Она даже файлы умела читать :) Могу поделиться опытом за умеренное вознаграждение :)
|
bgg0408
Да можно LILO взять, это имхо не принципиально. |
Попробуй создать для начала свою файловую систему для обычных FDD, для этого тебе придеться писать на Ассемблере и знать систему команд контроллера флопика.
Цитата:
Ссылка на неплохую библиотеку тех. литературы. www.infocity.kiev.ua |
Вот вы говорите "Minix проще, там коментариев столькоже сколько и кода, создан для обучения"... А где же взять-то этот Minix с преславутыми коментариями?
|
31337
Вариант #1, предпочтительный - книжку купить "Operating systems: design and implementation", second edition Andrew S Tanenbaum. К ней прилагается CD с исходниками и уже собранной версией. Вариант второй - восользоваться гуглом. http://www.google.com.ru/search?q=Minix |
Чел угарает, а вы и рады стараться :gigi: Может и мне написать? Книжка по С есть :gigi: |
vasketsov
Мнение модератора, конечно, надо уважать, но на счёт BootSector и ASM ты конкретно не прав. LILO сидит в MBR, его действительно можно оставить, а BootSector логического диска ему ПРИДЁТСЯ писать самому на ASM. Именно он загружает системные файлы ОС. Чужой не прокатит, так как у каждой ОС своя идеология загрузки и разные названия этих файлов (не считая файловой системы !). И для начальной стадии загрузки ядра ему ASM тоже необходим. Только потом можно переходить на С. Поверь человеку, который программит на ASM с 8 лет :wink:. И к тому же в 14 лет уже мог разметить HDD с Partition Table и дисками FAT 12/16/32 с помощью DiskEdit (все структуры до байта руками написать). |
Sarge
Не lilo, так gub - умеет грузить практически из всех форматов, практически со всех фаловых-систем, почти любым желаемым образом. Добавлено: grub, я хотел сказать. |
ivank
Ты хочешь сказать, что если я напишу свою ОС со своим ядром и файловой системой этот grub узнает, каким образом меня загрузить ? PS Извиняюсь за флейм. |
Sarge
Делать свою фс, так же как и формат исполняемых файлов - глупо. Вернее, в целях обучения - глупо. Теоретически, в реальных условиях может понадобиться какая-то экзотика, но я не представляю зачем. Вот: http://www.gnu.org/software/grub/grub.html |
Если будешь писать полностью свою систему, то не забудь и про компилятор (например для С).
|
Блин: ребята, чего вы повелись??? сравните названия топика и сам топик!
|
http://www.codenet.ru/progr/os/intro.php
Посмотрев на заколовки (только идея), но не заглядывая в сами исходники можно написать свой аналог. Нужно: * * * основы асемблера //я выучил за три вечера * * * общее представление о прерываниях, видеопамяти, и т.д Все необходимые сведения (работа *с floppy, keyboard, видеопамятью, и n.д) можно найти там же или в google. На написание самой "OS" уйдет около недели. Если сроки показались маленькими, учтите, что дело было перед зачетной сессией и надо было cдавать, если большие, то дело было в конце второго семестра (первый курс). Задача вполне подходит для изучения основ asm и нискоуровневой работы (на уровне прерываний) *с устройствами. Практической ценности не имеет, так как для написания реальной OS мало заботать язык программирования. Нужны еще и алгоритмы, математика и еще куча умных вещей. |
По моему, нам, всем жителям РФ надо иметь свою, одну общую ОС, что бы другим неповадно было. Вот. Талантов у нас целый форум, как я вижу. Надо поддержать патриотические движения, кто за пишите на nomailbox@mail.ru может что и выйдет.
С уважением Павел Постер. |
Написать можно, а зачем??? Конечно, круто, но никому Ваша ОС не будет нужна. У всех и так кучи траблов с Windows. У других UNIX и они низачто его не поменяют на мелкую неизвестную глючную ОС!
|
2 all:
Чего-й то я не пойму. Еще в начале темы было написано Цитата:
Поэтому полностью согласен с ivank-ом. [s]Исправлено: [mzd], 12:34 26-11-2003[/s] |
[mzd]
Sorry, повторяться начал :( Единственное зачем это может понадобиться - глубокое изучение компьютера. Без него ОС не напишешь, а в процессе ее написания можно лучше понять компьютер. Еще это надо, чтобы понять как ЭТО пишется. Более смысла я в этом деле не вижу. |
bgg0408
Полностью согласен. Но ведь для изучения совсем не обязательно писать с ноля (см. пост выше), хотя признаю, это будет высший пилотаж программирования. |
Упс, залогиниться забыл. Ну, это был я.
|
Коль пошла такая пьянка, вот ссыла на ось, написанную целиком на ASM32 http://www.menuet.narod.ru/index.htm
|
mzd
Отстойно... Лучше Thix потесть. Это вроде Линукса, но гораздо полезнее в плане обучения. А еще есть чудесная ОС, как QNX. Жалко, что к ней исходники не поставляются :( |
bgg0408
Согласен, хотя идея ОСи на дискете мне понравилась. А кто-нить знает еще подобные маленькие ОС? |
Посмотри MenuetOs всего одна дискета и всё,
Оконный интерфейс,Под стать XP ,открытые сырцы,на ASMе. |
to [mzd]
Floppix, Menuet, Elks(~1-2 floppy), QNX Demo disk(1 floppy), Windows 1.0 (урезанная), DOS. Linux(ядро на дискетку влезает) Thix - очень маланький. Minix - версия UNIX Таненбаума для учебных целей. Тоже маленькая в силу отсутствия большого софта :) Win98 Lite Pro - влезает в 10МБ!!! Могу продолжать и дальше :) |
RIKO
Посмотри несколько постов выше. bgg0408 Спасибо, мне пока хватит. :) |
Уважаемый, задачку ты себе сложную поставил. Полностью понимаю твой энтузиазм, но даже сами программисты, писавшие винду, не знают где и как они там чего писали, поэтому на первое время пробуй написать чего-нибудь типа DOS. Если хочешь дельных советов и помощи - стучи в 320-461-299
|
das_fleisch, ничего, что 4,5 года уже прошло?;) Чел, наверное, уже написал свою ОС и над вистой успел поработать:)
|
А если я зочу сделать аналог Windows(такие как Windows XP Xtreme SP2 DVD Edition 12.7). Что мне для этого нужно изучить?
Просто для себя... |
alexxx_mod,
Цитата:
Coutty, Цитата:
|
А как сделать, чтоб скин-прогу виста переработать в свой скин, и скинуть на диск, чтоб прога установилась сама при установке винды?
|
alexxx_mod, Это вопрос в другой раздел форума, и постарайтесь расширить его(вопрос), что вы имеете и что хотите получить.
|
А как линукс переделать, чтоб читала программы и игры в Винде? Мне хочеться на линуксе играть в Гта, например.
|
alexxx_mod, поставить туда эмулятор - например wine, Xen и т.д. но у всех у них эмулируются не очень современные видеокарты, так что про игры можно забыть и не всё прикладное ПО там нормально запускается, а то и вовсе. Есть дистрибутив Linux - Lindows (но MS заставила сменить названия, как но сейчас называется я не знаю) так вот там софт времён Windows 98 запускался.
Сейчас насколько знаю под выше указанными эмуляторами можно запускать софт поколения Windows XP (но не Висты). А всем тем, кто хочет написать или хотя бы собрать ОС рекомендую LFS, попробуйте хотя бы собрать из готовых блоков "свою" собственную ОС, перед тем как писать её изготавливая свои блоки. |
Не, чувак... нафиг это надо? Лучше написать свой ДОС, но со своими особенностями.. фишками какими-то, чтобы заинтересовать сторонних разработчиков. Это намного интереснее и полезнее.
Существует ReactOS - www.reactos.ru |
das_fleisch, а ты видел сорцы React OS? Сразу убиться мона.
Цитата:
|
Написать более-менее полноценную ОС - нереально. Для этого надо имень уйму свободного времени. Большие связи и деньги.
Да и то это делается тока на основе готовой базы... |
Написать свою ОС реально, если сделать это целью своей жизни.
Линус Торвальдс посветил этому всё своё время, а не только свободное. Связи и общение через сеть, консультируясь по поводу того, что сейчас не устраивает пользователей. А так же все сбережения и помощь от пользователей, с которыми он общался (первым вкладом было 200$ на до установку Minix – клон Unix) Так что дерзайте. Для начала сделайте свой загрузчик, вот материал для раздумий. Загрузочный CD своими руками №1 Загрузочный CD своими руками №2 Загрузочный CD своими руками №3 |
Admiral, ты не понимеш. Тогда было время другое. Линус Товардс конечно молодец, но ему ещё повезло в том что тогда было только начало. А сейчас что-бы сделать тоже самое что сделал он (написать ОС с нуля) надо иметь в 10 раз больше времени, денег и связей.
Самому можно сделать тока загрузку, графический режим VGA, работу с дисками и сетевое взаимодействие. Остальное оочень тяжело. Надо начинать договариватся с фирмами производителями железа. А потом и с производителями ПО. |
Ой, да ладно: то время, не то время. Всегда были, есть и будут люди, которые могли горы скрутить.
Дело в другом, что сейчас корпорации, вот таких вот молодцов, к себя сразу же забирают, после разно образных олимпиад, конкурсов и других мероприятий мониторинга и поиска талантливых людей. |
Цитата:
|
Цитата:
Цитата:
Поэтому повторяюсь: сейчас надо иметь в 10 раз больше времени, денег и связей. Это факт! Читайте мою подпись, вторая строчка. Это тоже факт! Объяснять почему так, не буду. Потому как влом (и флейм). |
Цитата:
|
Люди, разкажите, что надо, что б написать ОС типа Линукса или Виндовза????
|
goroskob,
Цитата:
|
После прочтения темы сразу браться за литературу, например за книгу
Operating Systems Design and Implementation By Andrew S. Tanenbaum - Vrije Universiteit Amsterdam, The Netherlands, Albert S. Woodhull - Amherst, Massachusetts В книге как раз говорится про ОС Minix. Ту самую, которую за основу взял Линус Торвальдс. Но ведь сегодня можно поступить намного проще, если строить типа Линукса, то можно просто собрать свой конструктор - LFS. Понадобится много времени, но это намного меньше чем писать ОС с чистого листа. Насчёт Виндовса то такого не получится сделать ввиду закрытости системы. Хотя пару лет назад и был украден код NT4.0/2000, но Microsoft заявила что он не работоспособен, так что на нём скорей всего можно поучится стилю программированию от MS программистов. А вот исходники MS-DOS вроде целиком доступны в сети, только зачем они когда можно вполне легально разбираться на FreeDosе. Можно ещё обратится за помощью к участьну Stepsу, автору темы *ASSM* | Как написать bootsector, судя по теме для завершения ОС оставалось совсем мало. |
Admiral,
Цитата:
|
Да была такая тема количество строк WinXP
Здесь я указал что код, но не сказал что весь, а там что часть, но не сказал что рабочая, так что это одно и тоже я подразумевал. :) |
Admiral,
Цитата:
|
Вот никто так и не спросил:"А на каком языке программирования лучше писать ОС?"
Я сейчас изучаю С++, но везде рядом со словом "операционная система" стоит название языка "С". Я тоже хочу написать свою ОС, мда. Просто малюсенькую ОС. Потом, мож быть, с кем-то притуманить ещё чего-нибудь. |
А на Visual Basic писать ОС можно?
|
mmx358, если смотреть на историю Unix то сперва использовали asm, потом уже перешли на C что б легче было портировать под разные платформа. Windows тоже написан на чистом C.
goroskob, на VB6 разве что Shell, а загрузчик и менеджер устройств всё же на asm и\или С. К тому же нужно будет чемуто загружать виртуальную машину VB6 - msvbvm60.dll. VB.NET тоже не далеко ушёл в пригодности для написангия ОС от VB6, но тут больше маркетилогические соображения MS. Так как на C#, использующий как и VB.NET - .NET FrameWorks, само MS пишет ОС Singularity. Singularity: A research OS written in C# |
а как насчет ЯП Scheme(lisp)??
|
Время: 06:06. |
Время: 06:06.
© OSzone.net 2001-