Автор Тема: GNU/Linux & MS Windows: что общего?  (Прочитано 4038 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Kawabunga

  • Галактеко опасносте!!!11
  • Новичок
  • *
  • Сообщений: 48
  • Карма пользователя: +1/-0
GNU/Linux & MS Windows: что общего?
« : 14 Августа , 2008, 21:20:23 »
Считается, что GNU/Linux и MS Windows - полные противоположности друг друга. Энтузиазм против коммерции, базарная разработка против централизованной, консоль против графики, сервера против десктопов и т.д. Все это очевидно и находится на поверхности.
Однако время идет, и Windows захватывает часть серверного рынка, а Linux приходит на десктопы. Появляется MS Powershell, Windows Server-ом 2008 можно управлять полностью из командной строки, а настроить пользовательское окружение Linux становится возможным без помощи консоли.
Чем дальше, тем менее очевидными становятся функциональные отличия двух ОС. Конвергенция, друзья?

R0iZ, уверен что заглянешь в тред. Интересно увидеть обоснование о "невтемности" ссылки на кольца защиты. Если конечно есть чем обосновать.

Оффлайн R0iZ

  • Administrator
  • *****
  • Сообщений: 1292
  • Карма пользователя: +1/-0
Re: GNU/Linux & MS Windows: что общего?
« Ответ #1 : 15 Августа , 2008, 07:57:11 »
Kawabunga, конечно загляну :). "Невтемность" заключалась в том, что изначально мы начинали разговор не про кольца защиты и процессорную архитектуру. А про архитектуру операционных систем. Тут можно почитать об этом не вдаваясь в дебри.

Оффлайн Kawabunga

  • Галактеко опасносте!!!11
  • Новичок
  • *
  • Сообщений: 48
  • Карма пользователя: +1/-0
Re: GNU/Linux & MS Windows: что общего?
« Ответ #2 : 15 Августа , 2008, 15:46:21 »
R0iZ, совсем изначально разговор был про вирусы ;)

Архитектура ОС в том, что касается рантайма, сильно завязана на архитектуру процессора. Простой вопрос: ты по-прежнему считаешь, что процессы рута и процессы пользователей выполняются на CPU с разными привилегиями? :) Я нигде не заявлял что рут и юзеры это одно и то же, ты просто невнимательно прочел. И как следствие, начал оспаривать тезисы, которые никто не высказывал. Акцентирую внимание на этом, чтобы показать, что "прямого доступа" к ядру нет ни у одного пользователя, прямой доступ к структурам и коду ядра есть только у самого ядра. Остальные имеют косвенный доступ, с разграничением по правам.

О различиях ОС я в курсе, спасибо. Доказывать не нужно. Тема, начатая в предыдущей ветке и продолженная здесь, обращаю внимание - их сходство.

Статья по ссылке опять же о различиях, написана в 2003 году, и написана в духе доброй пропаганды. Доброй, потому что напрямую не заявляет "виндозе - кал, линукс - божий дар", и даже жертвует один из главных козырей (признают безглючность графической подсистемы Windows). Но статья, которая подробно с картинками повествует об одной ОС, а описание другой начинает с критики и всего-то приводит короткий список подсистем, не может быть объективной.

Далее, в статье есть явные искажения:
- FreeBSD и Windows приписывается микроядерная архитектура, и поясняется, что у микроядра производительность хуже из-за переключений контекста. В действительности же, у FreeBSD монолитное ядро, а у Windows - гибридное, т.е. все подсистемы ядра работают в kernel-mode без необходимости переключать контекст.
- пишут что:
Цитировать
Структура Windows 2000/XP не отличается оригинальностью: ядро системы (исполняется на максимально приоритетном уровне процессора) и пользовательские подсистемы (исполняются на минимально приоритетном уровне).
Тогда не отличается оригинальностью и Linux, потому что он работает в точности так же.
Цитировать
Ядро системы является критичной частью кода, любые ошибки, происходящие в ядре, приводят к фатальному краху системы - "синему экрану". Фактически - это ошибки типа "Нарушение общей защиты".
Фактически, BSOD возникает при "double fault", при этом исключении Linux ударяется в "панику". Два разных названия, поведение одно и то же. Но у читателя должно сложиться впечатление глючности именно Windows.
Цитировать
Опыт эксплуатации систем Windows показывает, что код Win32k.sys работает абсолютно корректно и не содержит фатальных ошибок. Однако некорректный драйвер видеосистемы может все испортить.
Некорректный драйвер чего угодно может положить и Windows, и Linux. Причина - в реакции процессоров x86 на сбои в режиме ядра (привет, R0iZ).

И так далее.
Вывод: не катит.

Оффлайн R0iZ

  • Administrator
  • *****
  • Сообщений: 1292
  • Карма пользователя: +1/-0
Re: GNU/Linux & MS Windows: что общего?
« Ответ #3 : 16 Августа , 2008, 10:08:56 »
Ну хорошо, в этом аспекте я с тобой согласен.

Оффлайн DFX

  • Новичок
  • *
  • Сообщений: 14
  • Карма пользователя: +1/-0
  • Дикий гентушник
Re: GNU/Linux & MS Windows: что общего?
« Ответ #4 : 06 Марта , 2010, 08:57:50 »
я, конечно, в программизмах ничерта не смыслю и в гимназиях не обучался, но выскажусь:

Цитировать
Архитектура ОС в том, что касается рантайма, сильно завязана на архитектуру процессора.


Именно по-этому GNU/Linux портирован на два с лишним десятка архитектур, ага...

Цитировать
Простой вопрос: ты по-прежнему считаешь, что процессы рута и процессы пользователей выполняются на CPU с разными привилегиями? :)


ящитаю, да. и разработчики CoreBoot (он же LinuxBios, он же "свободный биос") тоже считаю, о чём и не побоялись вскользь заявить на недавней конференции (легковесная версия, ибо снимал видео наркоман)

нет - запускаются то они все в ring 3, но вот взять и шарахнуть код в ring 0 процесс root'а останавливает только желание его разработчика и _некоторые_ опциональные установки безопасности ядра, которые могут сделать некоторые участки памяти только read-only даже для root'а или наложить полный запрет, но они не немногочисленны (по-умолчанию... в большинстве дистрибутивов... год-два назад)

Цитировать
Акцентирую внимание на этом, чтобы показать, что "прямого доступа" к ядру нет ни у одного пользователя, прямой доступ к структурам и коду ядра есть только у самого ядра. Остальные имеют косвенный доступ, с разграничением по правам.


вот к ядру то как раз у root'а полный доступ есть ;) можно, например, обосрать /dev/kcore и заставить ядро резко убиться и послать процессор в triple fault
или вот штука хитрая, аж ядро на лету модифицирует и обновляет на "годы вперёд"

Цитировать
Доброй, потому что напрямую не заявляет "виндозе - кал, линукс - божий дар", и даже жертвует один из главных козырей (признают безглючность графической подсистемы Windows).


ОлололоЛОЛО... безлючность, ага...огоГо...
я конечно признаю, что по функционалу и скорости нам ещё догонять, но вот стабильность и "безглючность" уж точно имеем.

пока я нашёл только один способ убить ядро "графической подсистемой"; для этого надо:
1) использовать Kernel Mode Setting (привет, BSOD!) вместо User Mode Setting
2) использовать реализацию KMS от нарков типа Intel, которые не открыли для себя "command stream checker", а вляпать чего-нить новенького и нетестеного хочеться, или пузырь от Nvidia и Via в любом виде

Цитировать
Фактически, BSOD возникает при "double fault", при этом исключении Linux ударяется в "панику". Два разных названия, поведение одно и то же. Но у читателя должно сложиться впечатление глючности именно Windows.


фактически BSOD возникает только там, где при выборе ядра "попытаться исправить \ проигнорировать \ убиться", оно выберает последнее

выбора не остаётся у ядра только при triple fault, но, в основном, само ядро его и устраивает ради скорейшей перезагрузки (опять привет, BSOD!)

Цитировать
Некорректный драйвер чего угодно может положить и Windows, и Linux. Причина - в реакции процессоров x86 на сбои в режиме ядра (привет, R0iZ).


да, да, конечно положит... :

Цитировать
Note that "fault" doesn't mean "panic." The Linux code is robust enough to respond gracefully to most errors: a fault usually results in the destruction of the current process while the system goes on working. The system can panic, and it may if a fault happens outside of a process's context, or if some vital part of the system is compromised. But when the problem is due to a driver error, it usually results only in the sudden death of the process unlucky enough to be using the driver. The only unrecoverable damage when a process is destroyed is that some memory allocated to the process's context is lost; for instance, dynamic lists allocated by the driver through kmalloc might be lost. However, since the kernel calls the closeoperation for any open device when a process dies, your driver can release what was allocated by the open method.


нет, в каком-то случае и у ядра Linux не останется выбора, только CPU тут ничем особым от другого железа не отличается - убивающий косяк может быть где-угодно, а его реакция всем побарабану, если это, конечно, не triple fault и он (CPU) выпиливает всё к чертям и гонит систему в насильный reboot...

Цитировать
Вывод: не катит.


а что за вывод-то был и что-куда катило ? 0_o
> тут верно заметили - это большой бизнес. и моськи с криками "вендекапец" этому слону точно не помешают, каким был не был неповоротливым и несмотря на кучи его испражнений.

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

Оффлайн CKYHCs

  • Постоялец
  • ***
  • Сообщений: 128
  • Карма пользователя: +7/-0
Re: GNU/Linux & MS Windows: что общего?
« Ответ #5 : 06 Марта , 2010, 11:45:21 »
DFX, букв многа, осилить не смог. ) Но за старания от меня плюсик.

 

HotLog