Цитата: Прокруст от 13.08.2019 19:44:14Вообще-то QNX 6 изначально позиционировался как десктопный помимо всего прочего.
Цитата: Прокруст от 13.08.2019 19:44:14Вообще-то QNX 6 изначально позиционировался как десктопный помимо всего прочего.
Цитата: qurvax от 14.08.2019 09:32:00И, вот честно, подход винды мне видится более верным.
Цитата: DarkRaider от 15.08.2019 14:42:14Хотелось бы поинтересоваться зачем в виндах потребовался прямой блочный доступ к диску. Все основные API для прикладного программирования работают с файлами и файловыми дескрипторами. Блочным доступом занимается драйвер 2 кольца ОС.
Цитата: DarkRaider от 15.08.2019 14:42:14Видимо крик души был услышан!
Специально для удовлетворения экзотических чаяний запилили. Раньше уж больно заморачивались с безопасностью контейнеров всяких сертификатов, сейчас видимо уже решили, что никого этим не удивить.
Цитата: DarkRaider от 15.08.2019 14:42:14Штатными средствами десктопных. Про серверные и полные версии где доступна корпоративная система - даже и ссылку искать не буду.С никсом формы разные - суть одна - копирование и перенос (восстановление) образа системного диска. Вот только Винда может создавать образ системного диска из под активной ОС(Shadow Volume Copy для гугла, заодно и про NTFS знания подновите), а никсам раньше надо было отмонтироваться на запись для этого. Но не слежу - возможно там что то изменилось.
Цитата: DarkRaider от 15.08.2019 20:52:35Благодарю. \n\nДля не прикладных целей существует DDK. В нём много чего интересного, но специфичного. \n\nНаверное сложно представить, но механизм доступа ко всем одинаков. Файловый дескриптор называется.
Цитата: DarkRaider от 16.08.2019 15:49:48Вы, с каждым постом зарываете картину своего таланта всё глубже.
Если бы, Вы, имели хоть какое то практическое отношение к системному программированию универсальных процессоров (не RISC я имею ввиду), то должны были бы знать о существовании механизма называемого Кольца защиты процессора.
Кольца защиты — архитектура информационной безопасности и функциональной отказоустойчивости, реализующая аппаратное разделение системного и пользовательского уровней привилегий.
Цитата: DarkRaider от 16.08.2019 15:49:48Что Винда, что Никса используют 0- kernel mode и 3- user mode.
Значит для любой прикладной программы работающей не в режиме ядра (user mode) - интерфейс одинаковый.
Цитата: adolfus от 14.08.2019 16:15:00Верным в чем?
Цитата: adolfus от 14.08.2019 16:15:00В том, что нет никакого порядка в работе с устройствами памяти прямого доступа? В том, что доступ к диску, как массиву блоков отличается от доступа к флешке? В том, что на флешке или карте, разбитой на разделы даже по досовски, виндовсы этого разбиения не видят? На диске видят, а на флешке/карте нет.
Цитата: adolfus от 14.08.2019 16:15:00В том, что я не могу просто так взять и скопировать раздел или целый диск, как это я могу сделать с файлами?
Цитата: adolfus от 14.08.2019 16:15:00Для этого нужно купить где-то отдельную программу на каждый случай – чтобы скопировать файловую систему с CD, нужна одна программа, чтобы с DVD – другая, а чтобы дискету – третья? И каждая лезет чуть ли не в регистры устройс
Цитата: adolfus от 14.08.2019 16:15:00тва.
В том, что в виндах полный бардак в символьных кодировках? В том, что можно наткнуться в одном каталоге на файлы, поименованные и в utf16 и в cp1251?
Очень верный подход.
Цитата: DarkRaider от 18.08.2019 18:50:31Ни в никсах ни в виндах, Вы, напрямую инструкции ring0 не вызовите из ring3. Для этого используются более высокие уровни абстракции и API доступа (неважно какие это API, системные ли, или API драйверов, или API подсистем ОС).
Цитата: DarkRaider от 18.08.2019 18:50:31Вы сами почитайте, что, Вы, написали, kernel mode и user mode - это режимы ограничений ПРОЦЕССОРА на выполнение команд, а, Вы, пишите как любой процесс может вызвать аццкого сотону из ЯДРА ОС, которое уже рулит правами процесса. Посчитайте уровни абстракции сами. Ни в никсах ни в виндах, Вы, напрямую инструкции ring0 не вызовите из ring3. Для этого используются более высокие уровни абстракции и API доступа (неважно какие это API, системные ли, или API драйверов, или API подсистем ОС).
Не поленитесь, почитайте.
Цитата: qurvax от 19.08.2019 16:46:22Ну дык, POSIX от нтфс'а требует чо? Единственные невалидные символы в имени должны быть / и NULL, я правильно вспомнил? Ват зе проблем, насяльника?
Цитата: adolfus от 20.08.2019 00:33:45Это ntfs так думает, а posix думает так, как это описано в стандарте про него. Ссылку на последний я приводил в ветке раньше.
Но Вы попробуйте создать на ntfs в любом каталоге файл с именем " ::: " (пробел три двоеточия пробел) – это же валидные символы, откройте его что-нибудь туда запишите и прочитайте.
Цитата: qurvax от 20.08.2019 09:18:14Создал, прочел.Скрытый текст
ЧЯДНТ?
Цитата: adolfus от 21.08.2019 08:04:29Нигде не увидел имени " ::: ".
Сделайте $ ls -l, чтобы можно было видеть содержимое каталога и имя этого файла. Иди dir, что там в нтях для листинга каталогов используется.
Ссылка протухла... Увы, не нашел анонимного файлообменника, чтобы тот хранил долго. Но, есть вариант – на gen.lib.rus.ec этот документ присутствует. Там же есть и последние стандарты на си (9899) и на кроссы (14882).
Цитата: qurvax от 21.08.2019 12:55:12Это потому, что его там и нету Ну как нету, вообще-то есть, но...
Винда его отображает как . В случае с TC там просто шрифт мелкий.
Почему так? А черт его знает, самому вот любопытно. Пока нарыл, что в MFT забита последовательность 3A F0 3A F0 3A F0, где 3А - ":" ,а вот F0 3А в UTF-16, что как раз и рисуется. Трюк для совместимости, похоже. За наводку спасибо.
Цитата: Википедия:.... представление Юникода, обеспечивающее наибольшую компактность и обратную совместимость с 7-битной системой ASCII; текст, состоящий только из символов с номерами меньше 128, при записи в UTF-8 превращается в обычный текст ASCII и может быть отображён любой программой, работающей с ASCII; и наоборот, текст, закодированный 7-битной ASCII может быть отображён программой, предназначенной для работы с UTF-8. Остальные символы Юникода изображаются последовательностями длиной от 2 до 4 байт ...
Сейчас стандарт UTF-8 официально закреплён в документах RFC 3629 и ISO/IEC 10646 Annex D.
Цитата: adolfus от 21.08.2019 20:39:50Отображает так потому, что базовый набор системных шрифтов виндовсов не умеет толком в юникод.
Цитата: adolfus от 21.08.2019 20:39:50Как, впрочем, и Times New Roman, Arial и прочие гарнитуры из MS-офиса. Когда Вы создавали имя с двоеточиями, вместо ASCII ':' в имя ушел код знакоместа "colon" в кодировке UTF-16.
Цитата: adolfus от 21.08.2019 20:39:50Поскольку для него в используемых у Вас шрифтах нет глифа, Вы его видите как плашки. Что касается пробелов, то скорее всего они в начале и конце банально выпилены.
Цитата: adolfus от 21.08.2019 20:39:50Попробуйте создать файлы с именами " " (1 пробел) и " " (два пробела).
UTF-16 – самая древняя кодировка символов (точек) юникода. Сегодня используется, по-видимому, только в виндовсах. Жалкое наследие 30-летней давности устремлений IBM в сторону поддержки мультиязычности в виде DBCS. Имеет особенность – отсутствие 8-битного подмножества для кодирования ASCII (SBCS) и, как следствие, невозможность использовать UTF-16 для исходных текстов программ.
Цитата: adolfus от 21.08.2019 20:39:50Поэтому рядом с UTF-16 всегда живет отдельной жизнью какая-нибудь SBCS-кодировка, например, cp1251.
Цитата: qurvax от 22.08.2019 06:29:51Сьеканомили, мать их. Бред жеж. Внутреннее представление винды в UTF-16 исторически сложилось, за отсутствием UTF-8 в природе, когда поддержка юникода запиливалась в NT. И так и осталась. Обратная совместимость же, главная священная корова кговавого энтерпрайза. А у кого не так?
Цитата: adolfus от 22.08.2019 09:02:56Не так у всех остальных. У основоположника DBCS, IBM, например, вообще раньше была abcdic, но они ее на ascii сменили без сожаления, как только потребовалось. И все это работало одновременно – были даже версии принтера IBM Proprinter, которые поддерживали наряду c ascii системы dbcs и abcdic. Потом ibm сменила все это устаревшее на utf8.
А чтобы обратная совместимость, "главная священная корова кговавого энтерпрайза" не сдохла, этот энтерпрайз вложился в стандарты, в частности, в posix и придумал #include . Нона собаке живут блохимикрософт воротит от стандартов, как черта от ладана, поэтому у нее не посих, а пофуй. Как следствие, ее священная корова обратной совместимости в окаменевшем говне мамонта по самое вымя.
Цитата: qurvax от 22.08.2019 09:44:31А про стандарты я не понял, какие к майкам претензии вообще? Посыкс у них такой же как и везде, где он есть. Никому, на виндах, не нужный, правда, но ведь, зараза, рабочий, не? Правда я за 15 лет его задействованым никогда не видел, но то таке, энтерпрайз мабуть неправильный у меня
Цитата: DarkRaider от 25.08.2019 10:21:16Вот зря Вы не воспользовались моим предложением! 2 страницы форума ушло на то чтобы таки доказать что "Ваша винда - полное гавно!".
Цитата: DarkRaider от 25.08.2019 12:32:40Вы можете любить или ненавидеть MS, Вы можете любить или ненавидеть все винды - но никто не будет спорить с тем, что с технологями продаж, маркетингом - у MS всегда был порядок. Они всегда знали как выжать доступное из всех до кого смогли дотянутся.