> man operating_systems
Переход на страницу  1 2 3 4 5 6 7 [8] 9
Модераторы: Roman I Khimov, Wanderer, Dron
Автор Добавил
ossadchy
Четверг 11.10.2007 23:04
ID пользователя #941
Зарегистрирован: Среда 10.10.2007 22:55
Местонахождение: Украина, Николаевская обл., г. Первомайск
Сообщений: 181
nnivanov написал(а) ...

Когда системный вызов находится в цикле, скорость чувствуешь на своей шкуре.

1. Больше всего времени уходит как раз на сам системный вызов -- сохранение регистров, переключение стека и т.д.
2. Если читаешь с жесткого диска то по-моему, если написать на ASM -- существенно быстрей не будет
Наверх
Сайт
ossadchy
Четверг 11.10.2007 23:06
ID пользователя #941
Зарегистрирован: Среда 10.10.2007 22:55
Местонахождение: Украина, Николаевская обл., г. Первомайск
Сообщений: 181
Tommy написал(а) ...

понимаете что С уже устарел, а асм: вот положим ты решил что-то изменить - боже


Просто C++ и C совершенно разные языки -- своя идеология и язык который так удобен для системного программирования и так близок и к человеку и к копьютеру никогда не устареет, свитедельство тому -- новые стандарты C, новые версии компиляторов, новые программы...
Наверх
Сайт
Dron
Пятница 12.10.2007 09:33


ID пользователя #13
Зарегистрирован: Понедельник 05.07.2004 11:16
Местонахождение: Москва
Сообщений: 651
ossadchi, Не слишком ли старый топик поднял?
два года прошло...

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

Андрей Валяев
Наверх
Сайт
ossadchy
Пятница 12.10.2007 09:37
ID пользователя #941
Зарегистрирован: Среда 10.10.2007 22:55
Местонахождение: Украина, Николаевская обл., г. Первомайск
Сообщений: 181
Dron написал(а) ...

ossadchi, Не слишком ли старый топик поднял?
два года прошло...


1. ossadchy
2. dron, а уже не считаешь ASM лучшим средством разработки ядра ОС?
Наверх
Сайт
GVL
Пятница 12.10.2007 16:30

ID пользователя #482
Зарегистрирован: Пятница 28.10.2005 18:16
Местонахождение: Украина, Винница
Сообщений: 11
Ух, перечитал все с самого начала. Действительно, если еще есть люди которые тут спорили интересно узнать: не поменялись ли мнения за прошедшие 2 года?
Наверх
Dron
Пятница 12.10.2007 21:12


ID пользователя #13
Зарегистрирован: Понедельник 05.07.2004 11:16
Местонахождение: Москва
Сообщений: 651
ossadchy, извини, что переврал имя...
Да я уже давно осознавал что ассемблер для серьезного проекта это не самый лучший выбор, просто я начинал писать текущую версию ядра еще 4 года назад наверное... два года назад я просто не ощущал необходимости все переделывать.

А смешивать разный код я никогда не любил...
Вообще лет пять назад я пробовал писать ядро на С++, но тогда видимо знаний не хватало... спасовал я. А сейчас я здорово продвинулся в C++.

Я по прежнему считаю что смешивать низкий уровень и C++ не очень удобно.

Гораздо удобнее выстроить промежуточный уровень абстракции и заставить чисто C++-ное ядро работать на нем.
А саму абстракцию выразить через си и ассемблер...

У меня новое ядро будет состоять из двух с половиной компонент. платформенный стаб написанный на С с минимумом асма и платформонезависимая логика написанная полностью на C++.

Соственно в настоящее время создаю новое ядро.
Кроме того там много качественных изменений планируется...
По сравнению со старым будет просто на порядок лучше.
Если все получится как задумывал

[ Редактирование Пятница 12.10.2007 21:33 ]

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

Андрей Валяев
Наверх
Сайт
ossadchy
Пятница 12.10.2007 22:19
ID пользователя #941
Зарегистрирован: Среда 10.10.2007 22:55
Местонахождение: Украина, Николаевская обл., г. Первомайск
Сообщений: 181
Dron написал(а) ...

ossadchy, извини, что переврал имя...


Индульгенция будет отправлена почтой.

Dron написал(а) ...

А смешивать разный код я никогда не любил...


И смешал ASM, C, C++
Вспоминается бородатый анекдот
"Да будет свет, сказал монтер, и обрезал провода"
В общем, уже нет большой разницы - вызвать статичный метод или функцию C++.
Хотя, с другой стороны, там где логика -- там и ядро, ибо низкий уровень, может написать и школьник

А вообще -- результат подъема старого поста весьма радует -- человечество прогрессирует Хотя и давит катком тех кто прогрессирует быстрей

Следует ожидать, что через 2 года многие сменят отношение к ОС на базе типобезопасных(и как правило ОО, иногда интерпретируемых) языков(Singularity, JNode, SqueakNOS и пр.)

Минута молчания в знак памяти автора данного топика.

ЗЫ Только что обратил что предпоследний абзац перекликивается с подписью Dronа -- забавно.

[ Редактирование Пятница 12.10.2007 22:40 ]
Наверх
Сайт
Roman I Khimov
Суббота 13.10.2007 00:32

ID пользователя #1
Зарегистрирован: Воскресенье 27.06.2004 12:37
Местонахождение: Санкт-Петербург
Сообщений: 601
Dron написал(а) ...

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

Не приболел ли, всё ли в порядке?
Dron написал(а) ...
Соственно в настоящее время создаю новое ядро.
Кроме того там много качественных изменений планируется...
По сравнению со старым будет просто на порядок лучше.
Если все получится как задумывал

Ну это успехов, конечно! А всё-таки зачем теперь уже все C и ASM мешать? Есть пример Сугоняева как минимум, ядро на C++...


Греби и улыбайся!
Наверх
Сайт
Dron
Суббота 13.10.2007 14:39


ID пользователя #13
Зарегистрирован: Понедельник 05.07.2004 11:16
Местонахождение: Москва
Сообщений: 651
Не приболел ли, всё ли в порядке?


в старом ядре много просчетов глобального плана, чтобы их исправить - это надо все перелопатить... и не смотря на всю красоту кода (я достаточно доходчиво все там написал) это весьма проблематично. стар я уже...

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

Я не мешаю... компоненты максимально разделены..
То есть можно сказать, что C++ ядро работает на абтсрактном си компьютере. оно вообще ничего не будет знать о прерываниях всяких там...

Можно сказать что стаб как законченное приложение в качестве внутренней логики использует кору (C++ ядро) как либу.

Я делаю это не ради того, чтобы что-то там мешать или не мешать... я делаю это ради гибкости.
Мне хочется, чтобы C++ ядро было вобще универсальным. То есть чтобы на любой платформе работало вообще без модификаций.

Различаться будет только стаб...
Кстати архитектура платформы вообще пофиг.
Я вот после того как запущу это дело на IA32, сделаю стаб для линукс.

То есть ядро будет обычным линуксовым приложением. в одном окне - ядро, в другом приложение... Как отлаживаться будет удобно...
(ествственно приложения будут взаимодействовать я ядром, просто необходимость взаимодействия на линукс будет минимальна, не память, ни планировщик не будут использоваться, только взаимодействие приложений).

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

Андрей Валяев
Наверх
Сайт
Chizh
Вторник 23.10.2007 10:48
ID пользователя #90
Зарегистрирован: Понедельник 13.09.2004 18:42
Сообщений: 170
Dron написал(а) ...
в старом ядре много просчетов глобального плана

Интересно, что за просчёты?
Наверх
Сайт
Переход на страницу  1 2 3 4 5 6 7 [8] 9  

Перейти:     Наверх

Транслировать сообщения этой темы: rss 0.92 Транслировать сообщения этой темы: rss 2.0 Транслировать сообщения этой темы: RDF
Powered by e107 Forum System

© OSRC.info, 2004-2010.
Авторские права на любые материалы, авторы которых явно указаны, принадлежат их авторам. По вопросам публикации таких материалов обращайтесь к авторам.
Авторские права на любые другие материалы принадлежат OSRC.info.
Сайт является помещением библиотеки. Копирование, сохранение на жестком диске или иной способ сохранения произведений осуществляются пользователями на свой риск.
При использовании материалов сайта ссылка на OSRC.info обязательна.