Нет. Просто "традиционные" API сводились к наборам "системных вызовов". Этим системным вызовам передавались параметры через регистры или через стек. Планировать выделение ресурсов на уровне OS и обслуживание множества таких приложений - довольно трудно, особенно для оптимизации функционирования такой системы. Там ведь желательно анализировать код приложения при загрузке приложения ( load link-edit and-go ). Всё бы хорошо - но при выполнении dlopen или LoadLibrary всю эту лабуду надо проделывать снова. Я попробовал представить решение без этих излишеств - ну и позаимствовал кучу всего из очень старой документации IBM.
Жизнь дается человеку один раз и прожить ее надо так, чтобы не ошибиться в рецептах.
Строить Асгардию побуждает тьма, посетившая людские души
традиционные ейпиайи не просто через регистры и/или стек передают параметры.
при системном колле еще и происходит переклучка процессора какова нибудь из юзер режыма в кернел режым. я никогда нипанимал в чом разница, но вроде как таск свитчинг в кернел моуде не работает.
а дапустим если у тя весь апи лежит в юзер спейсе и просто кладет мессадж типа на кернеловский ББС, где сам кернел работает на другом процессоре ваще, то не происходит этаво дурацково разделения на юзер и кернел моуды.
это типа тем чем гордяцца эти микрокернелисты вовсю.
Fabricati Diem PVNC
Повышайте свой интеллект и вы станете монстр (С) Островский
Современный API представляет из себя набор функций запросов с параметрами, но обеспечивает ли этот набор все потребности при создании application :?:, конечно это трудный вопрос ответить на который можно по принципу что создавая и добавляя новые функции все становится более универсальным, но при этом следует учесть возможность создания более эффективных моделей разработки API особенно для специальных систем с новым уровнем возможностей :!: :grum: :popcorn: :cheer:
Да ! И там разница в том - что в kernel mode используется flat addressing относительно совсем другого "сегмента памяти". :grum:
Но при "обмене сообщениями" между kernel и юзер application без переключения режимов нужно гонять слишком большие объёмы данных по pipe. :grum:
Хотя в multiprocesssing это даже и предпочтительный вариант - потому как не надо думать о синхронизации таймингов памяти и процессоров. :grum:
Жизнь дается человеку один раз и прожить ее надо так, чтобы не ошибиться в рецептах.
Строить Асгардию побуждает тьма, посетившая людские души
Жизнь дается человеку один раз и прожить ее надо так, чтобы не ошибиться в рецептах.
Строить Асгардию побуждает тьма, посетившая людские души
There are currently 1 users browsing this thread. (0 members and 1 guests)
|
|
Terms of Service | Privacy Policy |
|