Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Хочу написать ОС (http://forum.oszone.net/showthread.php?t=30128)

Guest 04-07-2003 11:41 207378

Я ришил нопесать ОС, чтонибуть типа windos, уже взял на недельку у знакомого С++ для чайников,  и готов начать. Только низняю с чего начать. Может кто подскажит, только по быстрее а то скоро книшку атдавать.

Megabizon 04-07-2003 12:11 207379

На subscribe.ru есть рассылка - Разарботка операционных систем - для начинающих и не только. Подпишись на нее.
Тебе еще придется изучить Ассемблер.
Цитата:

Я ришил нопесать ОС, чтонибуть типа windos
Амбициозно, внушает!

Vlad Drakula 04-07-2003 12:21 207380

начни счегонибуть по проще например с линукса,
установи для начала его, потом открой исходный код и тренируйся на здоровье, ну потом можешь и свою операционку писать :)

Добавлено:

начни счегонибуть по проще например с линукса,
установи для начала его, потом открой исходный код и тренируйся на здоровье, ну потом можешь и свою операционку писать :)

bgg0408 04-07-2003 13:44 207381

to Guest
Сначла надо купить учебник по ассемблеру. После этого надо ассемблер изучить. Еще можно найти статью по программированию ОС на www.programme.ru. Статья называется "Настоящий Hello World". После этого можно начинать, по ходу дела изучая исходники OpenSource ситем(Linux). Можно поковыряться и в FreeBSD, но там все на порядок сложнее:(.
Еще можно найти TechHelp!. Это справка по программированию устройств - очень помогает.


Добавлено:

to Guest
А зачем писать? Уже много ОС. Даже слишком много. Могу привести 100 наименований. После того как написал, кто будет ее устанавливать? Кому будет нужна Ваша ОС? FreeBSD, Linux и Windows большинство народу устраивает. Т.е. вывод - писать ОС надо только для того, чтобы понять как это все работает.

vasketsov 04-07-2003 18:22 207382

Будет флейм - тема туда и улетит.

Добавлено:

По теме - знание ассемблера вообще-то не является необходимым. Так что не пугайте чайника, который за 14 уроков готов C++ выучить.
:lol:

ivank 04-07-2003 18:50 207383

bgg0408
Для изучения принципов гораздо лучше подойдут Minix или Thix. Исходники понятней на порядок чем Линуксовые (хотя бы потому, что на два порядка меньше :))

Guest
Таких шутников банить надо. С твоего IP заходил на этот форум только один человек, и всевидящее око (т.е. я :)) его знает, так что бойся.

ЗЫ Надоело, что зареганные люди заходят "поприкалываться" как гости. Тем более, что это так невесело.

bgg0408 10-07-2003 13:20 207384

to ivank
Да, может быть, но я имел в виду исходники старого Линукса. Они весят <500KB

ivank 10-07-2003 17:27 207385

bgg0408
Я в своё время пвтался читать сурцы kernel-0.01 (.tgz с исходниками < 71kb. кто-нибудь будет спорить, что это самая простая версия ядра?:)) - в принципе всё понятно, но всё равно Minix понятнее, хотя он и побольше, но там комментариев примерно столько же сколько и кода, да и вообще он писался с целью обучения принципам разработки OS.

JCooper 12-07-2003 23:37 207386

Guest поразил, не зная толком никакого языка программирования, в одиночку писать свою ось???!!! Да ты хотя бы паскаль выучи да нортон-коммандер попробуй написать. Что, пропал оптимизм?

bgg0408 13-07-2003 01:20 207387

to Kuper
Человек хотя бы bootsector или loader должен написать (и уметь это делать) под свою ОС.

ihoru 13-07-2003 22:40 207388

Писал я как-то свою ОС. Она даже файлы умела читать :) Могу поделиться опытом за умеренное вознаграждение :)

vasketsov 15-07-2003 00:09 207389

bgg0408
Да можно LILO взять, это имхо не принципиально.

pauluss 17-07-2003 10:26 207390

Попробуй создать для начала свою файловую систему для обычных FDD, для этого тебе придеться писать на Ассемблере и знать систему команд контроллера флопика.

Цитата:

только по быстрее а то скоро книшку атдавать
Даже для такой задачи книжку надо купить(и скорее всего в одной книжке ты всю информацию не найдешь), и асм за две недели не изучить, пол года, как минимум надо тренироваться на простых задачах.  Про написать "что-то типа Вин" забудь, ты явно не представляешь себе объем работ.

Ссылка на неплохую библиотеку тех. литературы. www.infocity.kiev.ua

31337 27-07-2003 17:05 207391

Вот вы говорите "Minix проще, там коментариев столькоже сколько и кода, создан для обучения"... А где же взять-то этот Minix с преславутыми коментариями?

ivank 27-07-2003 20:00 207392

31337
Вариант #1, предпочтительный - книжку купить "Operating systems: design and implementation", second edition Andrew S Tanenbaum. К ней прилагается CD с исходниками и уже собранной версией.

Вариант второй - восользоваться гуглом. http://www.google.com.ru/search?q=Minix

Zur0 13-08-2003 09:41 207393


Чел угарает, а вы и рады стараться :gigi:

Может и мне написать? Книжка по С есть :gigi:

Sarge 30-08-2003 19:15 207394

vasketsov
Мнение модератора, конечно, надо уважать, но на счёт BootSector и ASM ты конкретно не прав. LILO сидит в MBR, его действительно можно оставить, а BootSector логического диска ему ПРИДЁТСЯ  писать самому на ASM. Именно он загружает системные файлы ОС. Чужой не прокатит, так как у каждой ОС своя идеология загрузки и разные названия этих файлов (не считая файловой системы !). И для начальной стадии загрузки ядра ему ASM тоже необходим. Только потом можно переходить на С.
Поверь человеку, который программит на ASM с 8 лет :wink:. И к тому же  в 14 лет уже мог разметить HDD с Partition Table и дисками FAT 12/16/32 с помощью DiskEdit (все структуры до байта руками написать).

ivank 30-08-2003 20:15 207395

Sarge
Не lilo, так gub - умеет грузить практически из всех форматов, практически со всех фаловых-систем, почти любым желаемым образом.

Добавлено:

grub, я хотел сказать.

Sarge 30-08-2003 21:47 207396

ivank
Ты хочешь сказать, что если я напишу свою ОС со своим ядром и файловой системой этот grub узнает, каким образом меня загрузить ?
PS Извиняюсь за флейм.

ivank 31-08-2003 12:48 207397

Sarge
Делать свою фс, так же как и формат исполняемых файлов - глупо. Вернее, в целях обучения - глупо. Теоретически, в реальных условиях может понадобиться какая-то экзотика, но я не представляю зачем.

Вот: http://www.gnu.org/software/grub/grub.html

Guest 20-09-2003 20:15 207398

Если будешь писать полностью свою систему, то не забудь и про компилятор (например для С).

Guest 30-09-2003 17:10 207399

Блин: ребята, чего вы повелись??? сравните названия топика и сам топик!

aalleexx 04-10-2003 05:25 207400

http://www.codenet.ru/progr/os/intro.php
Посмотрев на заколовки (только идея), но не заглядывая в сами исходники можно написать свой аналог.

Нужно:
* * * основы асемблера //я выучил за три вечера
* * * общее представление о прерываниях, видеопамяти, и т.д

Все необходимые сведения (работа *с floppy, keyboard, видеопамятью, и n.д) можно найти там же или в google. На написание самой "OS" уйдет около недели.

Если сроки показались маленькими, учтите, что дело было перед зачетной сессией и надо было cдавать, если большие, то дело было в конце второго семестра (первый курс).

Задача вполне подходит для изучения основ asm и нискоуровневой работы (на уровне прерываний) *с устройствами. Практической ценности не имеет, так как для написания реальной OS мало заботать язык программирования. Нужны еще и алгоритмы, математика и еще куча умных вещей.



Guest 26-11-2003 00:08 207401

По моему, нам, всем жителям РФ надо иметь свою, одну общую ОС, что бы другим неповадно было. Вот. Талантов у нас целый форум, как я вижу. Надо поддержать патриотические движения, кто за пишите на nomailbox@mail.ru может что и выйдет.
С уважением Павел Постер.

bgg0408 26-11-2003 01:29 207402

Написать можно, а зачем??? Конечно, круто, но никому Ваша ОС не будет нужна. У всех и так кучи траблов с Windows. У других UNIX и они низачто его не поменяют на мелкую неизвестную глючную ОС!

[mzd] 26-11-2003 12:33 207403

2 all:
Чего-й то я не пойму. Еще в начале темы было написано
Цитата:

А зачем писать? Уже много ОС. Даже слишком много. Могу привести 100 наименований. После того как написал, кто будет ее устанавливать? Кому будет нужна Ваша ОС? FreeBSD, Linux и Windows большинство народу устраивает.
ИМХО, просто взяв книжку по языку ***, нельзя написать что-то реальное и живое. Для начала надо узнать и понять очень многое: начиная от холодного старта компьютера и заканчивая загрузкой драйверов каких-нибудь экзотических устройств. У нас в универе препод по "Архитектуре ЭВМ и структуре программного обеспечения" так прямо и сказал, практически повторив цитату: "Зачем это нужно? Для обучения - прослушайте мой курс, выучите С или С++, ассемблер, возьмите готовые исходники *nix системы и читайте на здоровье." Так что, ИМХО, писать с ноля - занятие неблагодарное и геморрное.
Поэтому полностью согласен с ivank-ом.


[s]Исправлено: [mzd], 12:34 26-11-2003[/s]

bgg0408 27-11-2003 00:47 207404

[mzd]
Sorry, повторяться начал :( Единственное зачем это может понадобиться - глубокое изучение компьютера. Без него ОС не напишешь, а в процессе ее написания можно лучше понять компьютер. Еще это надо, чтобы понять как ЭТО пишется. Более смысла я в этом деле не вижу.

Guest 27-11-2003 15:23 207405

bgg0408
Полностью согласен. Но ведь для изучения совсем не обязательно писать с ноля (см. пост выше), хотя признаю, это будет высший пилотаж программирования.

[mzd] 27-11-2003 15:25 207406

Упс, залогиниться забыл. Ну, это был я.

[mzd] 27-11-2003 18:42 207407

Коль пошла такая пьянка, вот ссыла на ось, написанную целиком на ASM32 http://www.menuet.narod.ru/index.htm

bgg0408 28-11-2003 02:00 207408

mzd
Отстойно... Лучше Thix потесть. Это вроде Линукса, но гораздо полезнее в плане обучения. А еще есть чудесная ОС, как QNX. Жалко, что к ней исходники не поставляются :(

[mzd] 29-11-2003 17:23 207409

bgg0408
Согласен, хотя идея ОСи на дискете мне понравилась. А кто-нить знает еще подобные маленькие ОС?

RIKO 29-11-2003 21:04 207410

Посмотри MenuetOs всего одна дискета и всё,
Оконный интерфейс,Под стать XP ,открытые сырцы,на ASMе.

bgg0408 30-11-2003 01:12 207411

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МБ!!!
Могу продолжать и дальше :)

[mzd] 30-11-2003 17:14 207412

RIKO
Посмотри несколько постов выше.
bgg0408
Спасибо, мне пока хватит. :)

das_fleisch 18-03-2008 17:42 763096

Уважаемый, задачку ты себе сложную поставил. Полностью понимаю твой энтузиазм, но даже сами программисты, писавшие винду, не знают где и как они там чего писали, поэтому на первое время пробуй написать чего-нибудь типа DOS. Если хочешь дельных советов и помощи - стучи в 320-461-299

Coutty 18-03-2008 19:29 763163

das_fleisch, ничего, что 4,5 года уже прошло?;) Чел, наверное, уже написал свою ОС и над вистой успел поработать:)

alexxx_mod 28-03-2008 14:42 769784

А если я зочу сделать аналог Windows(такие как Windows XP Xtreme SP2 DVD Edition 12.7). Что мне для этого нужно изучить?

Просто для себя...

Drongo 28-03-2008 14:54 769802

alexxx_mod,
Цитата:

Цитата alexxx_mod
А если я зочу сделать аналог Windows(такие как Windows XP Xtreme SP2 DVD Edition 12.7) Что мне для этого нужно »

Взять готовый дистрибутив, скопировать на диск, подставить темы оформления, создать промежуточный образ диска в UltraISO, подправить что нужно, прожеч\закатать на CD-диск, установить на комп, или продавать, на выбор, ты ж автор ёлки-палки! :jester:
Coutty,
Цитата:

Цитата Coutty
Чел, наверное, уже написал свою ОС и над вистой успел поработать »

То то, я думаю, отчего Vista, такая кумарная?! Видать в одиночку тяжело даётся создание... :laugh:

alexxx_mod 28-03-2008 15:00 769805

А как сделать, чтоб скин-прогу виста переработать в свой скин, и скинуть на диск, чтоб прога установилась сама при установке винды?

Drongo 28-03-2008 15:10 769813

alexxx_mod, Это вопрос в другой раздел форума, и постарайтесь расширить его(вопрос), что вы имеете и что хотите получить.

alexxx_mod 28-03-2008 15:24 769827

А как линукс переделать, чтоб читала программы и игры в Винде? Мне хочеться на линуксе играть в Гта, например.

Admiral 28-03-2008 15:41 769848

alexxx_mod, поставить туда эмулятор - например wine, Xen и т.д. но у всех у них эмулируются не очень современные видеокарты, так что про игры можно забыть и не всё прикладное ПО там нормально запускается, а то и вовсе. Есть дистрибутив Linux - Lindows (но MS заставила сменить названия, как но сейчас называется я не знаю) так вот там софт времён Windows 98 запускался.
Сейчас насколько знаю под выше указанными эмуляторами можно запускать софт поколения Windows XP (но не Висты).
А всем тем, кто хочет написать или хотя бы собрать ОС рекомендую LFS, попробуйте хотя бы собрать из готовых блоков "свою" собственную ОС, перед тем как писать её изготавливая свои блоки.

das_fleisch 29-03-2008 22:27 770646

Не, чувак... нафиг это надо? Лучше написать свой ДОС, но со своими особенностями.. фишками какими-то, чтобы заинтересовать сторонних разработчиков. Это намного интереснее и полезнее.

Существует ReactOS - www.reactos.ru

R0iZ 29-03-2008 22:35 770657

das_fleisch, а ты видел сорцы React OS? Сразу убиться мона.

Цитата:

Лучше написать свой ДОС, но со своими особенностями.. фишками
Тут http://rsdn.ru/article/singularity/singularity.xml посмотри...

Diseased Head 30-03-2008 01:09 770741

Написать более-менее полноценную ОС - нереально. Для этого надо имень уйму свободного времени. Большие связи и деньги.

Да и то это делается тока на основе готовой базы...

Admiral 30-03-2008 20:09 771081

Написать свою ОС реально, если сделать это целью своей жизни.
Линус Торвальдс посветил этому всё своё время, а не только свободное.
Связи и общение через сеть, консультируясь по поводу того, что сейчас не устраивает пользователей.
А так же все сбережения и помощь от пользователей, с которыми он общался (первым вкладом было 200$ на до установку Minix – клон Unix)
Так что дерзайте.

Для начала сделайте свой загрузчик, вот материал для раздумий.
Загрузочный CD своими руками №1
Загрузочный CD своими руками №2
Загрузочный CD своими руками №3

Diseased Head 30-03-2008 20:58 771112

Admiral, ты не понимеш. Тогда было время другое. Линус Товардс конечно молодец, но ему ещё повезло в том что тогда было только начало. А сейчас что-бы сделать тоже самое что сделал он (написать ОС с нуля) надо иметь в 10 раз больше времени, денег и связей.

Самому можно сделать тока загрузку, графический режим VGA, работу с дисками и сетевое взаимодействие. Остальное оочень тяжело. Надо начинать договариватся с фирмами производителями железа. А потом и с производителями ПО.

Admiral 30-03-2008 21:18 771121

Ой, да ладно: то время, не то время. Всегда были, есть и будут люди, которые могли горы скрутить.
Дело в другом, что сейчас корпорации, вот таких вот молодцов, к себя сразу же забирают, после разно образных олимпиад, конкурсов и других мероприятий мониторинга и поиска талантливых людей.

Coutty 30-03-2008 21:47 771139

Цитата:

Цитата Admiral
Дело в другом, что сейчас корпорации, вот таких вот молодцов, к себя сразу же забирают, после разно образных олимпиад, конкурсов и других мероприятий мониторинга и поиска талантливых людей. »

Так ведь и нет тогда проблемы. Хотел писать ОС - получи работу, где тебя заставят кусок ОС писать. Потом можно будет говорить - "принимал участие при разработке ОС N".

Diseased Head 30-03-2008 23:17 771192

Цитата:

Цитата Admiral
Дело в другом, что сейчас корпорации, вот таких вот молодцов, к себя сразу же забирают, ...»

Их за шкирку что-ли забирают? Им предлагают и они соглашаются (деньги то всем нужны). Но тогда они попадают под трудовой договор.
Цитата:

Цитата Coutty
Хотел писать ОС - получи работу, где тебя заставят кусок ОС писать. »

Вот именно что кусок и заставят писать мутабор какойнить. Ты лишь шестерны в "механизме".

Поэтому повторяюсь: сейчас надо иметь в 10 раз больше времени, денег и связей. Это факт!
Читайте мою подпись, вторая строчка. Это тоже факт!
Объяснять почему так, не буду. Потому как влом (и флейм).

Admiral 31-03-2008 00:18 771218

Цитата:

Цитата Diseased Head
Их за шкирку что-ли забирают? »

Нет конечно, я просто к тому почему не светятся сейчас такие люди как Линус, корпорации от них светятся. Вот и всё.

goroskob 25-06-2008 13:11 834559

Люди, разкажите, что надо, что б написать ОС типа Линукса или Виндовза????

Drongo 25-06-2008 13:25 834575

goroskob,
Цитата:

Цитата goroskob
Люди, разкажите, что надо, что б написать ОС типа Линукса или Виндовза???? »

Для начала прочитать всю тему! И если возникнут вопросы, в чём-то задать их в понятной формулировке.

Admiral 25-06-2008 14:36 834672

После прочтения темы сразу браться за литературу, например за книгу
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, судя по теме для завершения ОС оставалось совсем мало.

Drongo 25-06-2008 14:47 834684

Admiral,
Цитата:

Цитата Admiral
Хотя пару лет назад и был украден код NT4.0/2000 »

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

Admiral 25-06-2008 16:22 834773

Да была такая тема количество строк WinXP
Здесь
я указал что код, но не сказал что весь, а там что часть, но не сказал что рабочая, так что это одно и тоже я подразумевал. :)

Drongo 25-06-2008 16:38 834793

Admiral,
Цитата:

Цитата Admiral
а там что часть »

Да-да-да, именно эта тема. :) Надо же, я вам рассказываю то, что вы и написали. :)

mmx358 16-11-2008 01:30 953774

Вот никто так и не спросил:"А на каком языке программирования лучше писать ОС?"
Я сейчас изучаю С++, но везде рядом со словом "операционная система" стоит название языка "С".
Я тоже хочу написать свою ОС, мда. Просто малюсенькую ОС. Потом, мож быть, с кем-то притуманить ещё чего-нибудь.

goroskob 16-11-2008 12:40 953952

А на Visual Basic писать ОС можно?

Admiral 16-11-2008 13:55 954002

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#

iam1992kreol 24-10-2010 11:13 1525996

а как насчет ЯП Scheme(lisp)??


Время: 06:06.

Время: 06:06.
© OSzone.net 2001-