16 лет назад / 04 июля 2007 10:43
Какой хотелось бы видеть «идеальную» ОС? Чего такого хотелось бы иметь в «идеальной» операционной системе, чего нет или сильно ограничено в нынешних ОС?
Например:
Хотелось бы чтобы ОС быстро реагировала на клавиатурные действия пользователя.
Хотелось бы чтобы перерисовка окон происходила независимо от прочих действий программы (то есть без подвисаний).
Хотелось бы чтобы переключение с программ вроде DirectX'овских происходило бысто и с первого раза; и чтобы переключение программ (например по Alt+Tab) вообще не зависело от желания текущей программы, что иногда наблюдается.
...
Какой хотелось бы видеть «идеальную» ОС?
Другими словами, чтобы ничего не глючило и не тормозило!
Данная статья является дискуссионным вбросом, набором надерганных из интернета фактов и моих собственных соображений и нуждается в дополнении, улучшении и упоря́дочивании, с тем, чтобы сформулировать требования к к операционной системе ReactOS, которая вот‑вот выйдет в стадию беты.
Статья может вызвать неоднозначные впечатления, поэтому просьба сразу писать, в чем автор ошибся, и как надо сделать правильно!
ReactOS позиционируется как свободная и бесплатная операционная система с открытым кодом, совместимая с приложениями и драйверами Windows (Windows NT версии 5.x и выше — Windows 2000 и далее. Ну насчет «далее» — это Windows XP (NT 5.1)
Какие функции, требующиеся для домашней OS, должны быть обеспечены, что нужно взять от Windows XP, а какие функции категорически брать не следует?
Под ReactOS должны запускаться программы и устанавливаться драйвера, работающие под Windows XP.
Это основное требование для операционной системы совместимой с Windows XP.
ReactOS должна устанавливаться и работать на реальном железе, а не только в VM.
Предлагаемые этапы выпуска новых версий:
Этап 1
Версия ReactOS которая будет устанавливаться на реальное железо и иметь возможность установки драйверов устройств, совместимых с Windows XP.
На этом этапе ОС пусть получится "ограниченно годной", но ее уже можно выпустить в массы для опытов.
Процесс установки
Установка осуществляется с загрузочной флешки. Для создания флешки пользователь может скачать с сайта ReactOS установщик, какой‑нибудь ROSInstall.ехе. Далее установщик создает (а‑ля Rufus, только в автомате) загрузочную флешку, скачивает на нее образ системы и программу‑установщик драйверов. Пользователь вставляет флешку в целевой компьютер и устанавливает ReactOS ( «Откиньтесь на спинку кресла, съешьте французских булок» и вот это вот все ). Далее запускается программа ‑установщик драйверов (типа DriverPack ), которая будет входить в комплект на флешке, и устанавливает драйвер сетевой карты. Дальше можно подключить интернет и скачать остальные драйвера. Просто база драйверов офлайн занимает около 20 Gb, на всякую флешку запишешь.
Дальше устанавливаются драйвера устройств под конкретное железо. Пользователь устанавливает необходимый прикладной софт и может начинать работать.
Для каких-то целей ОС подойдет уже в таком ограниченно годном виде. Но главное, больше народу будет вовлечено в процесс, пользователи начнут давать обратную связь и возможно, кто‑то захочет подключиться к разработке.
Совместимость с софтом на данном этапе может быть ограничена, какая получается на настоящий момент, а там довольно много. Основная задача — установка на реальное железо, поддержка драйверов, поддержка сети и скачивания файлов с Интернета. Интернет браузер на данном этапе может быть ограниченно годный и не полностью поддерживать современные стандарты, лишь бы он мог открывать сайт с дистрибутивом ReactOS.
Требования к ОС этапа 1:
Поддержка драйверов железа под WindowsXP, поддержка Plug and Play.
Файловая система – FAT32
Разрядность системы -32b
Сеть и Интернет.
Интернет браузер – as is, ограниченный функционал
Офисное ПО – возможно ограниченный функционал
Мультимедиа– ограниченный функционал
Игры – ограниченный функционал
Этап 2
Это уже рабочая система, которой можно пользоваться для типовых задач домашнего ПК Тут уже в обязательном порядке должны быть:
Интернет браузер с поддержкой современных технологий, в том числе online banking со всеми наворотами безопасности
Файловая система — FAT32, NTFS
Офисное ПО — Libre Office. MS Office (???)
Мультимедиа‑ более продвинутый, чем на 1 этапе, но... Как реально получится.
Игры — по возможности максимум.
Сон, гибернация
Что‑то еще????
ReactOS в первую очередь предназначена для использования на домашних ПК, поэтому 1 и 2 этап — это ReactOS Home Edition.
Системные требования
Что требовала Windows XP.
Рекомендуемые cистемные требования операционных систем Windows XP Home и Professional Edition следующие:
Pentium‑совместимый процессор 300 МГц или выше
Оперативная память 128 МБ или больше
Видеоадаптер и монитор Super VGA разрешением (800×600) или выше
Свободное место на жёстком диске 1,5 ГБ или больше
Значит так и запишем - 128 Мб ОЗУ! Хорошо, пусть будет 256 Мб, по нынешним временам это неплохо. Хотя говорят, что лучше 512 Мб.
Разрядность системы -32b
Браузер
Браузер, соответствующий современным требованиям — это отдельная песня.
Что из этих требований возможно реализовать в рамках Windows NT 5.1 — большой вопрос.
Придется допиливать какой‑нибудь опенсорсный браузер. Можно начинать уже прямо сейчас!
По браузерам и движкам см. например https://habr.com/ru/companies/timeweb/articles/706 390/
«Современный браузер — это весьма сложный образец софта с базой кода примерно в десятки миллионов строк.»
Основные требования к браузеру:
чтобы открывал современные сайты (ну, для начала кроме каких‑нибудь bank‑online) и работал под Windows XP.
не более 10 мб на вкладку для пустых страниц, оптимизация обращения к диску (что бы это ни значило)
См. также https://habr.com/ru/articles/373 803/
Поддержка процессоров с SSE2, только c SSE и даже без SSE
Обновление корневых сертификатов
В Windows:
Такие браузеры как Internet Explorer, Chrome, Yandex и др., а так же плагины Windows Media Player, VLC, Flash player и др. для проверки достоверности источника контента используют встроенные в Windows корневые сертификаты безопасности. Эти сертификаты действительны на определённый срок (как правило несколько лет). По завершению срока действия сертификатов многие сайты в браузере могут не открываться, а плагины не проигрывать медиаконтент.
Что‑бы не возникло проблем c браузером и плагинами в будущем, крайне желательно обновить корневые сертификаты Windows XP.
Сделать это можно автоматически с помощью простой программы UpdRoots.
Программа может обновить сертификаты и без подключения к интернету. Необходимо лишь поместить загруженные файлы сертификатов в туже папку где находится UpdRoots.exe
Сохранить на всякий случай последние сертификаты можете по этим ссылкам:
www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authroots.sst
www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/delroots.sst
www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/roots.sst
www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/updroots.sst
www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/disallowedcert.sst
В браузере:
Firefox и браузеры на его основе для проверки достоверности источника контента используют корневые сертификаты безопасности из своего хранилища. Эти сертификаты действительны на определённый срок (как правило несколько лет). По завершению срока действия сертификатов многие сайты в браузере могут не открываться.
Необходимо установить в браузер новый или обновлённый корневой сертификат, который на многих сайтах исправит ошибки связанные с сертификатами.
Установка в Windows XP протоколов TLS 1.1 и TLS 1.2
Видеокарта и аппаратное ускорение в браузере:
Браузер Firefox может задействовать ваш графический адаптер в обработке загружаемого контента, и тем самым значительно разгрузить процессор.
Видеокарта должна поддерживать DirectX9.0 или OpenGL 2.0.
ReactOS должна поддерживать драйвера для таких карт
Поддержка современных расширений и дополнений (каких?)
Правильное отображение современных сайтов Последние официальные версии браузеров для Windows XP выходили давно. С того времени многие веб-стандарты в интернете изменились: что-то убрали, но очень много добавилось нового (того, что старые браузеры не умеют).
Ошибки могут проявляться по разному. Например: не прорисовывается часть страницы или вообще вся страница целиком, отдельные элементы страницы расположены не на своих местах, не нажимаются кнопки или не заполняются формы ввода.
Драйверы
Все устанавливаемые драйверы должны быть взяты в первую очередь с официальных сайтов производителей оборудования или комплектующих.
См. https://habr.com/ru/articles/373803/ Там целый список драйверов под WinXP
Видео и звук – поддержка DirectX9.0, OpenGL 2.0, современных кодеков (каких ???)
Подсистема печати, поддержка принтеров USB
Игры
Игрушки, как минимум те, которые шли под WindowsXP (ну может с ограничениями) со всеми вытекающими требованиями по графике и звуку.
Безопасность
Для ОС первого этапа.
Пароль для входа. Ну можно и оставить )
Учетные записи с разграничением прав – Администратор, Юзер – убрать.
На первом этапе только один пользователь. В дальнейшем все учетные записи будут иметь права администратора.
Требуется анализ и устранение всех дыр, закрытых пакетами обновлений SP1,2,3 и в последующих версиях Windows (ну, по возможности)Все, что связано с удаленным доступом к компьютеру – не реализуется
(удаленный рабочий стол, помощник итд)
Какие еще службы Windows нужны и какие –нет ???
Вот надергал из инета всякого. Далее – информация со страницы.
===================== не реализуется ====================
Сервер папки обмена — дает возможность удаленным пользователям просматривать вашу папку обмена. Отключаем.
Сервер — обычно компьютер, предоставляющий общие ресурсы пользователям сети. Отключено.
Модуль поддержки NetBIOS через TCP/IP — обеспечивает работу SMB-протокола. Отключаем.
Диспетчер автоподключений удаленного доступа — представьте себе такую ситуацию: вы открываете свежесохраненную страницу, а на ней присутствует баннер, который ссылается на другую страницу, и ваш explorer рьяно хочет подключиться к нету. Представили? Вам оно надо? Отключаем.
Диспетчер сеанса справки для удаленного рабочего стола — а если возьмут, да и помогут — а если возьмут, да и помогут. Отключаем.
Удаленный реестр — позволяет удаленно управлять вашим реестром. Отключаем.
Вторичный вход в систему — позволяет запускать специфические процессы с правами другой учетной записи. Отключаем.
Служба терминалов — дает возможность работать на вашем компьютере удаленному пользователю при помощи утилиты Remote Desktop. Отключено.
Telnet — Сервер удаленного управления через командную строку. Отключаем.
"Политика безопасности IP..." реализуется по умолчанию при разработке, не настраивается (?)- разрешить ICMP трафик от всех пользователей на нашу машину.
Теперь у нас не будет работать ничего, кроме ICMP протокола. Сейчас нам осталось выделить те службы, которые нам нужны, и прописать для них доступ. Ниже я дам строчки для самых распространенных служб, но в вашем индивидуальном случае все может быть по-другому. Следует отметить, что по умолчанию каждая служба добавляется зеркально – то есть если мы разрешаем связь от нашего компьютера к любым веб-серверам (порт 80), то будет реализовываться и обратная связь для передачи ответа веб-сервера.
Если у вас есть локальная сеть с «левыми» адресами, то нужно прописать для нее доступ – открываем все протоколы с адресов 192.168.1.0 маска 255.255.255.0 (к примеру) до "Мой IP адрес".
1. Запросы DNS сервера. Разрешаем 53 порт получателя (Определённый IP адрес) протокола UDP от нашего компьютера к любому компьютеру. Вместо любого компьютера можно указать DNS сервер провайдера.
2. Веб-трафик. Открываем порт TCP 80 получателя от нашего компьютера к любому компьютеру.
3. FTP-трафик. Открываем порты TCP 20 и TCP 21 получателя от нашего компьютера к любому компьютеру.
4. SMTP трафик (для отправки писем). Открываем порт TCP 25 получателя от нашего компьютера к любому компьютеру (можно вместо любого компьютера указать SMTP сервер провайдера).
5. POP3 трафик (для приема писем). Открываем порт TCP 110 получателя от нашего компьютера к любому компьютеру (или к POP3 серверу провайдера).
6. IMAP трафик (для приема писем). Открываем порт TCP 143 получателя от нашего компьютера к любому компьютеру (или к IMAP серверу провайдера).
Что еще нужно разрешить на машине с ОС Home Edition ???
Службы сертификации (?)
Хранилища сертификатов с открытыми ключами:
Windows XP Professional хранит сертификаты с открытыми ключами в личном (Personal) хранилище сертификатов. Они хранятся открытым текстом, так как это общедоступная информация. Сертификаты имеют цифровую подпись ЦС для предотвращения изменения.
Сертификаты пользователя расположены в папке Documents and Settings<имя_пользователя>ApplicationDataMicrosoft SystemCertificatesMyCertificates профиля пользователя. Эти сертификаты записываются в локальном реестре при каждом входе в систему компьютера.
Автозапуск CD и флешек – нет
Автоматическое обновление системы – нет
Как известно для Windows XP вышло 3 сервиспака – SP1, SP2 и SP3. Что их них потребуется для ReactOS первого этапа.
SP-1
+ поддержка USB 2.0
- возможность выбирать программы по умолчанию для просмотра Интернета, почты, обмена мгновенными сообщениями – нет
- различные реализации виртуальной машины Java. нет
- Шифрующая файловая система EFS получила возможность использовать алгоритм шифрования AES с 256-битным ключом. Нет + ? поддержка LBA-48, позволяющая операционной системе работать с жёсткими дисками ёмкостью более 137 Гб.SP-2
- улучшенный файрволл – нет;
+ поддержку Wi-Fi с мастером настройки и Bluetooth (на втором этапе)
+ расширенная защита памяти, в частности, от атак переполнения буфера как с использованием технологии «NX-бит» (на втором этапе)
- Центр обеспечения безопасности нет!!!
- функции автозапуска при вставке компакт-диска или подключении флеш-карт и подобных устройств. нет!!! Remote Procedure Call (RPC) - нет!!! Безопасность электронной почты в Outlook Express – эмм?? Автоматическое обновление системы - нет!!!SP-3
Криптографический модуль режима ядра (Kernel Mode Cryptographic Module) ???
Wi-Fi Protected Access 2 (WPA2)
Определение "Black hole" роутеров. ???
Прочее
Github desktop требует.net framework 4.5. При установке.net пишет «вы можете свободно его использовать для любой лицензированной систем windows».
Встает вопрос — а как в ReactOS будет обеспечиваться совместимость с приложениями .Net?
ReactOS третьего этапа
Как по мне, так развитие не должно идти в сторону Windows Vista, Win 7 и так далее. Добавляя и углубляя совместимость с драйверами и приложениями Windows 7 и следующих версий Windows? С точки зрения безопасности, быстродейсвия, удобства использования, потребленя ресурсов ПК ReactOS должна идти своим путем.
Основные проблемы операционной системы Windows связаны с компьютерной безопасностью.
Обеспечение безопасности в ReactOS третьего этапа
Основные виды вредоносного ПО описаны например в https://habr.com/ru/articles/748254/
шифровальщики
ботнеты
майнеры
стилеры (крадут пароли и пр.)
руткиты
буткиты
спамеры
Операционная система должна быть обеспечивать безопасность по двум направлениям:
Препятствовать проникновению вредоносных программ
Минимизировать ущерб от действия вредоносных программ.
При этом ОС не должна ограничивать контроль пользователя над компьютером препятствовать его действиям.
Защита от проникновения вредоносных программ
Основные методы проникновения:
фишинговая атака с использованием вредоносных программ во вложенных файлах.
фишинговые и вредоносные веб-сайты
Флешки и внешние диски
???
Ну как бы и не много... И методы защиты как по мне так очевидны.
ОС должна контролировать запуск файлов из указанных выше источников.
Противодействие вредоносным программам, проникшим на ПК
Основные методы противодействия должны обеспечиваться архитектурой системы.
Например:
Невозможность незаметного для пользователя запуска подозрительных программ, совершения им действий из группы риска.
массовая обработка файлов
интернет соединения
перехват клавиатуры
???
Недоступность файлов операционной системы для пользовательких программ.
Операционная система устанавливается в раздел диска невидимого для пользователя. Никакие файлы операционной системы не доступны для пользователя. При необходимости пользователю доступны копии файлов, открытые для чтения. Обновление осуществляется средствами самой ОС без участия пользователя, ну в принципе и сейчас так в Windows.
Пользовательские программы не пишут свои данные в системный реестр.
Только в собственные ini файлы или в пользовательский реестр для совместимости с существующим ПО.
Драйвера для внешних устройств устанавливаются в режисе пользователя.
Подпись для драйверов не нужна.
Пользователькие программы не имеют возможность эмуляции мышки и калавиатуры без разрешения пользователя.
Ну, наверное достаточно для вброса. Надеюсь комментаторы "накидают тапков" по существу вопроса )