
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.75] |
![]() |
|
Страницы: (17) « Первая ... 13 14 [15] 16 17 все ( Перейти к последнему сообщению ) |
Сообщ.
#212
,
|
|
|
Ну все тогда, холивар считаем закрытым
![]() |
![]() |
Сообщ.
#213
,
|
|
Цитата D_KEY @ Ну это вы у себя никогда RFS не проводили, оно у нас занимает ~месяца со 100% нагрузкой всех подключённых исполнительных устройств. И ещё WCET, который увеличивает нагрузку раз в 10. Но так-то да, в обычном режиме нагрузка невелика. Если не считать, что в это время стенд обслуживает "кривые поделки", ещё не отлаженные.Потому что не продакшн окружение, не продакшн нагрузки и не продакшн поведение запросов. Цитата D_KEY @ Потому что им не требуется сертифицировать процессы жизненных циклов. WinAPI создаёт вокруг них предсказуемое операционное окружение со свойствами, оцениваемое и измеряемое количественно, а без метрик отраслевые стандарты жить не могут, сразу фтопку. Но ключевое слово всё ж – предсказуемое.Не знаю, о чем ты, но серваки в основном на linux'ах по всему миру. Не помню точно статистику, но под 90%. Вопрос Majestio был за API, а не ОС. И я сразу предупредил, что это не совсем то. Два результата сразу: bool и int, причём смысл последнего разный в зависимости от bool. Удобно Добавлено Наш лучший в 0-ых импортный партнёр Honeywell, чьим подрядчиком был наш основной московский заказчик, и который сам был одним из подрядчиков Boeing, вовсю использовал свою DEOS. Она использовалась на куче всякоразного коммерческого летающего, от Агусты и Цесны до Эмбрайров и Хоризонов. DEOS построена на WinAPI. И кстати, процессы у Honeywell были бесподобные. Мы в своё время многое из них почерпнули как образец для подражания. (Я даже с их подсистемы групп, основанных на скриптовании тестовых воздействий и исполнении их прямо на исполнительных устройствах, слизал архитектуру реал-тайм чеков для внедрения в функциональных тестовых окружениях. И улучшил, конечно ![]() |
Сообщ.
#214
,
|
|
|
Цитата Qraizer @ Цитата D_KEY @ Ну это вы у себя никогда RFS не проводили, оно у нас занимает ~месяца со 100% нагрузкой всех подключённых исполнительных устройств. И ещё WCET, который увеличивает нагрузку раз в 10.Потому что не продакшн окружение, не продакшн нагрузки и не продакшн поведение запросов. Ну нагрузочное проходит регулярно. И все равно продакшн - это продакшн ![]() Цитата Qraizer @ Цитата D_KEY @ Потому что им не требуется сертифицировать процессы жизненных циклов. WinAPI создаёт вокруг них предсказуемое операционное окружение со свойствами, оцениваемое и измеряемое количественно, а без метрик отраслевые стандарты жить не могут, сразу фтопку. Но ключевое слово всё ж – предсказуемое.Не знаю, о чем ты, но серваки в основном на linux'ах по всему миру. Не помню точно статистику, но под 90%. А что-то сертифицируется на WinAPI? Я пока так и не увидел примеров от тебя. Цитата Qraizer @ Вопрос Majestio был за API, а не ОС. И я сразу предупредил, что это не совсем то. Ну т.е. там POSIX поддержан хотя бы отчасти, а winapi - нет. Верно? Цитата Qraizer @ Наш лучший в 0-ых импортный партнёр Honeywell, чьим подрядчиком был наш основной московский заказчик, и который сам был одним из подрядчиков Boeing, вовсю использовал свою DEOS. Она использовалась на куче всякоразного коммерческого летающего, от Агусты и Цесны до Эмбрайров и Хоризонов. Гуглится довольно плохо. И вроде как там тоже POSIX (но не уверен). А с HeartOS не работал? Она точно POSIX, как я понял. Цитата Qraizer @ DEOS построена на WinAPI. А можно подробнее? Гуглится плохо, вместе с winapi вообще ничего не нашел. Есть упоминание POSIX, но как-то невнятно. Без обид, но ты как-то очень сильно зациклен на довольно узкую нишу, в которой работаешь ![]() |
Сообщ.
#215
,
|
|
|
Цитата Qraizer @ Два результата сразу: bool и int, причём смысл последнего разный в зависимости от bool. Удобно Чем это лучше std::expected того же? Я уже не говорю про безопасный код и пр. |
Сообщ.
#216
,
|
|
|
Цитата Qraizer @ DEOS построена на WinAPI. Гугыль молчит. А чят-гпт крутит пальцем у виска. Но последнему доверие так себе - научился врать ппц. |
Сообщ.
#217
,
|
|
|
Вот офсайт вроде: DEOS
Про WinAPI ни слова. Есть немного про POSIX: Цитата Deos™, DDC-I’s safety-critical time and space partitioned real-time operating system (RTOS) that has been verified to the guidance of DO-178C/ED-12C Design Assurance Level A (DAL A) for Avionics Applications, supports ARINC 653 APEX, Rate Monotonic Scheduling (RMS), and is targeted at the Future Airborne Capability Environment (FACE™) Safety Extended and Safety Base Profiles. Deos is the first RTOS to receive OSS Conformance Certification for the FACE Technical Standard, Edition 3.1. The Safety Extended Profile, which adds support for TCP/IP communications, multi-process support, and expanded POSIX capability (80 extra functions), is a superset of the functionality required by the Safety Base and Security Profiles ![]() Добавлено И от них же вроде есть HeartOS, которая POSIX. |
Сообщ.
#218
,
|
|
|
Сообщ.
#219
,
|
|
|
Хе-хе ... немножко про WinAPI
![]() В моем "личном зачёте" для WinAPI я бы поставил оценку "удовлетворительно". Нельзя сказать что сей стандарт полное удобрение. Кстати, я пишу с Венды. Нет, в нем есть очень и очень здравые моменты проектирования. Меня больше всего радует объектно-событийный подход к проектированию. Мое скромное ИМХО, это - та бомба, которую до сих пор не изобрели и не унифицировали в POSIX. Да, как писали выше, уже есть костыли в виде epool/kqueue. Но тут, положа честную руку на моё самое доброе сердце - венда тут на этаж впереди. Но есть и тяжелое наследие Я имею ввиду Си-наследие. Когда зарплаты платились по 1.5 индийских рупий за килограмм кода. Нужно было добывать, майнить строки и объёмы. Посмотрите на количество аргументов функций, а-ля CreateProcess, NtCreateUserProcess, CreateProcessAsUser, RegCreateKeyEx, NtCreateSection. Это же не хухры-мухры, это уже просто мама-дарагая! ![]() Я вот тоже решил немножко закинуть гиперболоид в тему топика. Как вам моя функция в стиле WinAPI Futures? ![]() ![]() ![]() BOOL OpeningMicrosoftMortgage( LPCSTR lpApplicantName, LPCSTR lpPropertyAddress, LPCSTR lpLoanType, double dLoanAmount, int nLoanTerm, double dInterestRate, BOOL bFixedRate, LPCSTR lpCreditScore, LPCSTR lpEmploymentStatus, LPCSTR lpIncomeVerification, BOOL bCoApplicant, LPCSTR lpCoApplicantName, LPCSTR lpCoApplicantCreditScore, LPCSTR lpDownPaymentSource, double dDownPaymentAmount, LPCSTR lpPropertyType, BOOL bFirstTimeHomeBuyer, LPCSTR lpLoanOfficerName, LPCSTR lpApplicationID, BOOL bPreApproval, LPCSTR lpReferralSource, LPCSTR lpContactMethod, BOOL bEmailUpdates, LPCSTR lpPreferredClosingDate, LPCSTR lpInsuranceProvider, LPCSTR lpPropertyInspectionStatus, LPCSTR lpAppraisalValue, BOOL bEscrowAccount, LPCSTR lpMonthlyPaymentEstimate, LPCSTR lpLoanDisclosureDocuments, LPCSTR lpAdditionalNotes, BOOL bSubmitApplication ); Ради прикола, ну и кому не лениво, посмотрите, пожалуйста, как красиво и изящно это обыгрывается в языке программирования Dart. Сорян, ссылаюсь на свой же сайт - но это во благо ![]() |
Сообщ.
#220
,
|
|
|
Да, я уже упоминал про количество аргументов. У меня язык не повернется назвать это безумие хорошим дизайном.
Добавлено Цитата Majestio @ Да, как писали выше, уже есть костыли в виде epool/kqueue. Но тут, положа честную руку на моё самое доброе сердце - венда тут на этаж впереди. Я еще раз напомню, что сранивать некорректно. Захотели MS ввести какой-нибудь IOCP и все, в следующей версии ждите. Одна компания, одно семейство ОС. А теперь для POSIX. Когда-то унифицировали select/poll. Потом времена поменялись, стало недостаточно, разные *nix системы пошли чуть разными путями, придумали epoll(linux), kqueue(*bsd), а сейчас в linux все больше обороты набирает io_uring. И это круто, что в разных ОС продолжают эксперементировать. Это развитие. Но что вы хотите от POSIX? Чтобы он побежал описывать разные эксперементальные штуки и обязал тем самым кучу разных компаний и ОС это все реализовывать? Это же требует согласований. И сертификации. Еще раз, winapi корректно сравнивать с API какой-то конкретной ОС. А не с POSIX. Добавлено Цитата Majestio @ красиво и изящно это обыгрывается в языке программирования Dart Dart не изучал, мне нравится, как в Swift сделано |
Сообщ.
#221
,
|
|
|
Цитата D_KEY @ Dart не изучал Ну я сцылку дал - не поленись, посмотри ![]() Добавлено Цитата D_KEY @ как в Swift сделано Бегло глянул - мне кажется почти один-в-один ![]() |
Сообщ.
#222
,
|
|
|
Цитата D_KEY @ Еще раз, winapi корректно сравнивать с API какой-то конкретной ОС. А не с POSIX. Не - ну ту без вопросов! WinAPI - это |
![]() |
Сообщ.
#223
,
|
|
Цитата D_KEY @ Какие тебе примеры? Falcon, Boeing, Embraer — недостаточно? Могу ещё с десяток наименований накидать. Вся авионика, с которой я сталкивался, разрабатывается и сертифицируется под виндой. У нас как-то был один проект на LynxOS, договора благополучно подохли (потому что французы; и это не первый раз с ними, никогда с французами не работайте) в 18-м, наклюнулся было ещё один, на этот раз отечественный, сдулся из-за недостатка финансирования.А что-то сертифицируется на WinAPI? Я пока так и не увидел примеров от тебя. Цитата D_KEY @ Это не та DEOS, то была собственная. Нафик им вовне выкладывать собственные IP. Хошь кусочек заголовков?Вот офсайт вроде: DEOS ![]() ![]() #ifndef DEOS_H #define DEOS_H #include <windows.h> #define semaphoreHandle HANDLE #define semaphoreStatus int #define timeoutSpecifier unsigned int #define waitIndefinitely 0xFFFFFFFF #define semaphoreSuccess 0 #define process_handle_t HANDLE int waitSemaphore( HANDLE handle, unsigned int timeout ); int signalSemaphore( HANDLE handle ); void waitUntilNextPeriod( ); ... ![]() ![]() #ifndef EVENTAPI_H #define EVENTAPI_H /* ** HHdr-beg **************************************************************** ** ** Copyright Honeywell Inc 03/01/96 ** All Rights Reserved ** ** Honeywell Proprietary ** ** Include File name: EVENTAPI.H ** ** Purpose: ** Everything needed to call event related DEOS API functions. ** Note: This header file MUST be compatible with a "C" compiler. ** ** ** HPrj-beg **************************************************************** ** ** HPrj-end **************************************************************** ** HHdr-end **************************************************************** */ ... #ifdef __cplusplus extern "C" { #endif DEOSBASEAPI eventStatus DEOSKERNAPI createEvent(const char * name, eventHandle *createdEvent); DEOSBASEAPI eventStatus DEOSKERNAPI getEventHandle( const char * name, process_handle_t procHand, eventHandle *createdEvent); DEOSBASEAPI eventStatus DEOSKERNAPI waitForEvent(eventHandle theEventHandle, timeoutSpecifier timeout, DWORD currentCount); DEOSBASEAPI eventStatus DEOSKERNAPI pulseEvent( eventHandle theEventHandle ); DEOSBASEAPI DWORD DEOSKERNAPI eventPulseCount( eventHandle theEventHandle ); DEOSBASEAPI eventStatus DEOSKERNAPI deleteEvent( eventHandle theEventHandle ); DEOSBASEAPI eventStatus DEOSKERNAPI grantEventAccess( eventHandle theEventHandle, process_handle_t processHandle, eventAccessRightsType access, bool grantToAllProcesses ); #ifdef __cplusplus } #endif ... Цитата Majestio @ И что с ними не так? Регистров не хватает, компилеру приходится стек юзать? Ай-яй-яй. Посмотрите на количество аргументов функций, а-ля CreateProcess, NtCreateUserProcess, CreateProcessAsUser, RegCreateKeyEx, NtCreateSection. Это же не хухры-мухры, это уже просто мама-дарагая! Добавлено Цитата Majestio @ Ну так VB.NET. И ещё VBA. А ещё так можно в IDispatch. Только какое отношение это имеет в API? Ради прикола, ну и кому не лениво, посмотрите, пожалуйста, как красиво и изящно это обыгрывается в языке программирования Dart |
Сообщ.
#224
,
|
|
|
Цитата Qraizer @ И что с ними не так? Регистров не хватает, компилеру приходится стек юзать? Ай-яй-яй. С ними не хватает ... Нормального подхода. Просто подход - полное говно! ![]() Добавлено В языках программирования нового поколения (Dart, и как оказалось, и Swift) ввели понятие "именованных параметров". Там это решается проще - просто при инициализации указываем те параметры, которые явно нужно определить (по именам параметров), остальные инициализируются по умолчанию. В этом случае можно обойтись и без "строителя", но и вызов будет гораздо компактнее. Добавлено Цитата Qraizer @ Ну так VB.NET. И ещё VBA. А ещё так можно в IDispatch. Только какое отношение это имеет в API? Такое не говори! У меня от такого бабки в подъезде крестятся! ![]() |
Сообщ.
#225
,
|
|
|
Цитата Qraizer @ Какие тебе примеры? Falcon, Boeing, Embraer — недостаточно? Могу ещё с десяток наименований накидать. Тут проблема в том, что в публичной информации нет никакого упоминания про windows, есть информация про разные rtos и они основаны не на винде, а или на чем-то своем или на линуксах. И даже когда на своем, то есть как минимум частичная реализация posix. Про WinAPI ни слова. Добавлено Цитата Qraizer @ Вся авионика, с которой я сталкивался, разрабатывается и сертифицируется под виндой. Ты сам пишешь про rtos, но винда к ним не относится ![]() Добавлено Цитата Qraizer @ Цитата D_KEY @ Это не та DEOS, то была собственная.Вот офсайт вроде: DEOS Так DEOS они и делают вроде ![]() Может раньше была какая-то старая и другая, а сейчас перешли на что-то новое? Почему не гуглится ничего? Ты только правильно пойми, я тебе верю больше, чем себе, но для холивара нужно что-то более существенное ![]() Добавлено Цитата Qraizer @ Хошь кусочек заголовков? Извини за нубские вопросы. Ты хочешь сказать, что в их "RTOS" под капотом была винда? |