2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4  След.
 
 Re: Операционно-независимый C
Сообщение23.03.2010, 00:41 
Заслуженный участник


09/08/09
3438
С.Петербург
Ed_Em в сообщении #301138 писал(а):
Так это все равно, что писать свою операционную систему... А как с железом работать? Это же миллионы строк.
Ну так уж и миллионы. Что-нибудь на экран через БИОС вывести довольно просто.
kuraga же не намеревается разработать собственную ОС, а общей идеей интересуется.

 Профиль  
                  
 
 Re: Операционно-независимый C
Сообщение23.03.2010, 20:26 


08/11/09
156
Да, да, именно :D Глупый, но любознательный. В линкере есть опция COM-файл сделать, думаю, бьольше ничего и не надо, на выходных попробую.

 Профиль  
                  
 
 Re: Операционно-независимый C
Сообщение24.03.2010, 01:26 
Заслуженный участник


26/07/09
1559
Алматы
2kuraga
Цитата:
думаю, бьольше ничего и не надо

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

 Профиль  
                  
 
 Re: Операционно-независимый C
Сообщение24.03.2010, 01:35 
Заслуженный участник


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

 Профиль  
                  
 
 Re: Операционно-независимый C
Сообщение24.03.2010, 01:45 
Заслуженный участник


26/07/09
1559
Алматы
2Maslov
Под словом "там" я имел ввиду не com-файлы, а вообще весь мир операционных систем. Вот у буржуев слово хорошее есть, "there". :)

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

 Профиль  
                  
 
 Re: Операционно-независимый C
Сообщение24.03.2010, 01:53 
Заслуженный участник


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

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

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

 Профиль  
                  
 
 Re: Операционно-независимый C
Сообщение24.03.2010, 08:27 


31/08/09
183
А у меня есть мечта написать свою операционку, может быть как-нибудь скооперироваться, и заняться этим делом, выкладывая статьи как мы это делали, с какими трудностями столкнулись.
Я об этом думаю уже года 3. Но вот как понял, а понял пока очень мало. 90% линукса написано на с, а остальные 10 на ассемблере, да и то там ассемблер понадобился, что бы реализоваться, многозадачность. Надеюсь я правильно понимаю.
А вообще тема классная мне кажется и для курсовой, так, что время потраченное на это, поможет и в вузе.
Вот моя аська 395712335

 Профиль  
                  
 
 Re: Операционно-независимый C
Сообщение24.03.2010, 11:00 


04/02/08
325
Буково
mycoding в сообщении #301654 писал(а):
А у меня есть мечта написать свою операционку, может быть как-нибудь скооперироваться, и заняться этим делом, выкладывая статьи как мы это делали, с какими трудностями столкнулись.
Я об этом думаю уже года 3. Но вот как понял, а понял пока очень мало. 90% линукса написано на с, а остальные 10 на ассемблере, да и то там ассемблер понадобился, что бы реализоваться, многозадачность. Надеюсь я правильно понимаю.
А вообще тема классная мне кажется и для курсовой, так, что время потраченное на это, поможет и в вузе.
Вот моя аська 395712335

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

 Профиль  
                  
 
 Re: Операционно-независимый C
Сообщение24.03.2010, 17:30 


08/11/09
156
Ну я еще мал, 1-й курс, я свою CMS так и не доделал за 4 года (как узнаю новую технологию - переписываю. зато учебный процесс), а вот с 32 битами все рввно работать надо будет...

 Профиль  
                  
 
 Re: Операционно-независимый C
Сообщение26.03.2010, 00:44 


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

 Профиль  
                  
 
 Re: Операционно-независимый C
Сообщение26.03.2010, 04:11 


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

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

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

 Профиль  
                  
 
 Re: Операционно-независимый C
Сообщение26.03.2010, 08:40 


04/02/08
325
Буково
Цитата:
запускать ядро торговой платформы вообще без операционной системы.

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

 Профиль  
                  
 
 Re: Операционно-независимый C
Сообщение26.03.2010, 14:43 


30/12/09
95
Ed_Em в сообщении #302563 писал(а):
Вообще без ОС не получится - а как вы реализуете многозадачность, сокеты всякие и т.п.?

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

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


08/11/09
156
А что-то типа MikeOS, но с использованием C, есть?

 Профиль  
                  
 
 Re: Операционно-независимый C
Сообщение28.03.2010, 16:21 


31/08/09
183
А как для начала написать простенькую программку, которая при изменении параметров в bios-заргрузке, выводить какой-нибудь рисунок и пишет русское по.
А второй этап , это как добиться чтобы от нажатия на клавиатуру, что то менялось.
Конечно вопрос может быть и простой, но одно дело на winapi или qt делать или даже javascripte, а тут я даже не знаю какой компилятор брать. Intel c написали, я раньше думал есть просто с, а оказывается есть разновидности?

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

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 52 ]  На страницу Пред.  1, 2, 3, 4  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group