2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2, 3, 4  След.
 
 Re: Операционно-независимый C
Сообщение23.03.2010, 00:41 
Ed_Em в сообщении #301138 писал(а):
Так это все равно, что писать свою операционную систему... А как с железом работать? Это же миллионы строк.
Ну так уж и миллионы. Что-нибудь на экран через БИОС вывести довольно просто.
kuraga же не намеревается разработать собственную ОС, а общей идеей интересуется.

 
 
 
 Re: Операционно-независимый C
Сообщение23.03.2010, 20:26 
Да, да, именно :D Глупый, но любознательный. В линкере есть опция COM-файл сделать, думаю, бьольше ничего и не надо, на выходных попробую.

 
 
 
 Re: Операционно-независимый C
Сообщение24.03.2010, 01:26 
2kuraga
Цитата:
думаю, бьольше ничего и не надо

Ой, сомневаюсь я что-то... Там очень муторно с адресацией... Особенно если вы захотите вашу "ОС" в защищенном режиме при страничной памяти гонять.

 
 
 
 Re: Операционно-независимый C
Сообщение24.03.2010, 01:35 
Circiter в сообщении #301619 писал(а):
Там очень муторно с адресацией... Особенно если вы захотите вашу "ОС" в защищенном режиме при страничной памяти гонять.
В COM-файлах нет ничего сложного с адресацией: простейший 16-разрядный режим, tiny-модель памяти (и программа, и данные лежат в общих 64 кБ адресного пространства). И настройки после загрузки никакой не надо (все внутренние ссылки уже линкером настроены).
И защищенного режима в простейшем случае тоже не надо; достаточно реального.

 
 
 
 Re: Операционно-независимый C
Сообщение24.03.2010, 01:45 
2Maslov
Под словом "там" я имел ввиду не com-файлы, а вообще весь мир операционных систем. Вот у буржуев слово хорошее есть, "there". :)

Не, ну согласитесь, в реальном режиме с 16-разрядной адресацией совсем неинтересно. :)

 
 
 
 Re: Операционно-независимый C
Сообщение24.03.2010, 01:53 
Circiter в сообщении #301624 писал(а):
Не, ну согласитесь, в реальном режиме с 16-разрядной адресацией совсем неинтересно. :)
Не могу согласиться :mrgreen: -- все зависит от того, чем заниматься. По-моему, написать с нуля маленький кусочек операционной системы, загрузчик для нее и простейшую программку, которая под этой ОС работает -- это очень интересно. Это почти чудо.

-- Ср мар 24, 2010 01:58:17 --

kuraga,
может быть, Вам будет интересно поисследовать какие-нибудь существующие учебные ОС, например, MikeOS (вся операционка вместе с исходными текстами -- 230 kB в архиве)

 
 
 
 Re: Операционно-независимый C
Сообщение24.03.2010, 08:27 
А у меня есть мечта написать свою операционку, может быть как-нибудь скооперироваться, и заняться этим делом, выкладывая статьи как мы это делали, с какими трудностями столкнулись.
Я об этом думаю уже года 3. Но вот как понял, а понял пока очень мало. 90% линукса написано на с, а остальные 10 на ассемблере, да и то там ассемблер понадобился, что бы реализоваться, многозадачность. Надеюсь я правильно понимаю.
А вообще тема классная мне кажется и для курсовой, так, что время потраченное на это, поможет и в вузе.
Вот моя аська 395712335

 
 
 
 Re: Операционно-независимый C
Сообщение24.03.2010, 11:00 
mycoding в сообщении #301654 писал(а):
А у меня есть мечта написать свою операционку, может быть как-нибудь скооперироваться, и заняться этим делом, выкладывая статьи как мы это делали, с какими трудностями столкнулись.
Я об этом думаю уже года 3. Но вот как понял, а понял пока очень мало. 90% линукса написано на с, а остальные 10 на ассемблере, да и то там ассемблер понадобился, что бы реализоваться, многозадачность. Надеюсь я правильно понимаю.
А вообще тема классная мне кажется и для курсовой, так, что время потраченное на это, поможет и в вузе.
Вот моя аська 395712335

Свою собственную операционку вы будете писать несколько лет. А потом еще десятилетия разрабатывать модули для поддержки оборудования. Оно вам надо? Лучше уж присоединяйтесь к разработчикам ядра линукс, если так хотите поработать надо ОС. Не нравится линукс? Пожалуйста: допиливайте MINIX или Gnu/Hurd.

 
 
 
 Re: Операционно-независимый C
Сообщение24.03.2010, 17:30 
Ну я еще мал, 1-й курс, я свою CMS так и не доделал за 4 года (как узнаю новую технологию - переписываю. зато учебный процесс), а вот с 32 битами все рввно работать надо будет...

 
 
 
 Re: Операционно-независимый C
Сообщение26.03.2010, 00:44 
Принципиально (подчеркиваю - принципиально) написать новую ОС ничего сложного нет.
После всех внутренних проверок процессором считается информацию с носителя в ОЗУ начиная с определенного адреса (предзагрузчик), а потом передается управление командой jump на этот адрес. Обычно это программа, которая осуществляет запуск загрузчика ОС. Описал схематично, прошу не бить.
Сама ОС - обычная программа, которая обеспечивает загрузку других программ, связь между железом и загруженной программой, также ей может осуществляться та или иная степень многозадачности.
Большая часть того, что находится в дистрибутивах назвать ОС достаточно сложно - это обычные прикладные программы.
Сложность возникает только для связи с железом - его достаточно много, хотя оно и может работать стандартно, но лучше учитывать специфические возможности конкретного изделия.
Для 286 я такое сделал, если в своих архивах найду и смогу прочитать, то выложу тексты. Сам предзагрузчик был написан на ассемблере - 150-200 команд, загрузчик и ОС были написаны на интеловском С. Написал еще несколько программ, которые могли загружаться в этой ОС, тоже на на интеловском С. Просто была очень специфическая задача. Но при дальнейшем желании можно было бы продолжать развивать этот проект.

 
 
 
 Re: Операционно-независимый C
Сообщение26.03.2010, 04:11 
Ed_Em в сообщении #301693 писал(а):
Свою собственную операционку вы будете писать несколько лет. А потом еще десятилетия разрабатывать модули для поддержки оборудования. Оно вам надо? Лучше уж присоединяйтесь к разработчикам ядра линукс, если так хотите поработать надо ОС. Не нравится линукс? Пожалуйста: допиливайте MINIX или Gnu/Hurd.

На самом деле эта задача не столь уж бессмысленная.
Есть такой известный фондовый рынок NASDAQ, вот у них в планах запускать ядро торговой платформы вообще без операционной системы.
Но у них железо вполне конкретное - специально изготовленные для них Dell-ы.
Они могут себе позволить подобные затраты с целью максимального улучшения производительности.

Вообще прежде чем браться за подобные задачи надо хотя бы в общих чертах представлять себе зачем это нужно и чем не удовлятворяют уже готовые решения. Иными словами актуальность задачи.

 
 
 
 Re: Операционно-независимый C
Сообщение26.03.2010, 08:40 
Цитата:
запускать ядро торговой платформы вообще без операционной системы.

Т.е. "ядро торговой системы" и будет являться операционкой :)
Вообще без ОС не получится - а как вы реализуете многозадачность, сокеты всякие и т.п.?

 
 
 
 Re: Операционно-независимый C
Сообщение26.03.2010, 14:43 
Ed_Em в сообщении #302563 писал(а):
Вообще без ОС не получится - а как вы реализуете многозадачность, сокеты всякие и т.п.?

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

 
 
 
 Re: Операционно-независимый C
Сообщение26.03.2010, 19:37 
А что-то типа MikeOS, но с использованием C, есть?

 
 
 
 Re: Операционно-независимый C
Сообщение28.03.2010, 16:21 
А как для начала написать простенькую программку, которая при изменении параметров в bios-заргрузке, выводить какой-нибудь рисунок и пишет русское по.
А второй этап , это как добиться чтобы от нажатия на клавиатуру, что то менялось.
Конечно вопрос может быть и простой, но одно дело на winapi или qt делать или даже javascripte, а тут я даже не знаю какой компилятор брать. Intel c написали, я раньше думал есть просто с, а оказывается есть разновидности?

-- Вс мар 28, 2010 17:28:19 --

И ещё хотел спросить, у нас некоторым в Вузе дают в качестве курсовой написать свой компилятор. Это шутка, или я неправильно что-то понял, или это вообще как?

 
 
 [ Сообщений: 52 ]  На страницу Пред.  1, 2, 3, 4  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group