А такой аспект, как автоматическое обновление модулей у всех программ при обновлении у одной мы куда относим, к плюсам или минусам?
К минусам. Вдруг программе требуется определенная версия? Или какая-то устаревшая, но используемая функция вырежется? А может, она изменится? Получится как обычно: пришло обновление - что-то отвалилось.
Неактивен
Вдруг программе требуется определенная версия? Или какая-то устаревшая, но используемая функция вырежется?
А для этого и существуют репозитории с их отслеживанием зависимостей и при необходимости конкретная программа будет пересобрана.
Yesterday it worked.
Today it is not working.
Windows is like that.
Неактивен
ikkunan salvataja, тогда будет много занимать места линукс, скажем три программи и им надо будет одна библиотека *.so, НО три разные версии библиотеки, хотя обычно новая библиотека работает с тарой, скажем так стараются сделать
Неактивен
А для этого и существуют репозитории с их отслеживанием зависимостей и при необходимости конкретная программа будет пересобрана.
А это не помешает свободе и гибкости?
Что-то мне подсказывает, что свобода выбора тут сильно ограничена вариантами либо всё обновлять, либо ничего не обновлять.
Если у меня после полного апдейта программа "А" обновилась до версии 1.3, но на моём железе или с текущим ядром она стала глючить в нужном мне функционале, какова вероятность спокойно без бубнов вернуться на версию 1.2 пока там разработчики выясняют?
Случайности не случайны.
Неактивен
какова вероятность спокойно без бубнов вернуться на версию 1.2 пока там разработчики выясняют?
Ну не знаю насколько это без бубнов. В общем так, через синаптик удаляем эту программу "А", потом выбираем её же для установки, в том же синаптике Пакет > Выбрать версию, там выбираем 1.2 и по новой устанавливаем. Разумеется это если предыдущую версию из репозиториев не удалили и/или /var/cache/apt не чистился.
Yesterday it worked.
Today it is not working.
Windows is like that.
Неактивен
Неактивен
Вместо того, чтобы сделать у операционной системы нормальную архитектуру, которая позволит запускать любые бинарники на любом дистрибутиве,
Ты знаешь, архитектура тут абсолютно не при чём. Никто не мешает в программе сделать статическую линковку и запускать её на любом дистрибутиве. В качестве примера можно взять такие закрытые программы как skype или Acrobat Reader, нормально устанавливающиеся на любой дистрибутив. Ну или из свободных libreoffice или firefox. Сборка утащенная с сайта производителя нормально становится на любой дистрибутив. То, что на сайте libreoffice лежат как deb, так и rpm пакеты это уже частности, бинари внутри там всё равно одинаковые и ничто не мешает запаковать их в какой-нибудь бинарный инсталлятор, по типу как это у Adobe сделано. Правда тот же самый LO взятый с сайта будет жрать чуток больше памяти и работать чуть медленнее, чем та же версия установленная из репозитария конкретного дистрибутива.
Да и в винде можно сделать так, что один и тот же код будет использоваться разными программами разных производителей. По крайней мере технических ограничений для этого нет. Тут трудности возникнут так сказать политического плана. Мне как то трудно представить что продукты Adobe начнут пользовать модули написанные Corel'ом, и наоборот.
Yesterday it worked.
Today it is not working.
Windows is like that.
Неактивен
тысячи людей занимаются, извините, хуйнёй, переливанием из пустого в порожнее.
А другая тысяча этим хвастается и просит показать ещё какую-нибудь операцонку, где реализована такая вкусная плюшка.
Ты знаешь, архитектура тут абсолютно не при чём. Никто не мешает в программе сделать статическую линковку и запускать её на любом дистрибутиве. В качестве примера можно взять такие закрытые программы как skype или Acrobat Reader, нормально устанавливающиеся на любой дистрибутив.
Именно с дебками, стянутыми с сайтов, например, дровами для принтера кенон мп190, у меня и было больше всего проблем при установке - жалобы на старые библиотеки и тухлость ядра при попытке впендюрить новые.
Добавлено спустя 02 мин 57 с:
Хотя, нет. Со сторонними репами тоже не мало было. Не уверен, где было больше.
Случайности не случайны.
Неактивен
Именно с дебками, стянутыми с сайтов, например, дровами для принтера кенон мп190, у меня и было больше всего проблем при установке
Купи turboprint, проблем не будет и встанет на любой дистрибутив, хоть deb, хоть rpm based.
Ура, до тебя наконец-то дошло
Пашик, что значит дошло? Я где то писал что архитектура виндей препятствует совместному использованию кода? Более того, оно и в винде попадается, правда нечасто и в основном в пределах софта от одного производителя. Равно как и в линуксе используется софт со статической линковкой не привязанный к конкретному дистрибутиву, но тоже нечасто. Это до некоторых твоих коллег ни хрена не доходит что никто не запрещает в линуксе статичкскую линковку использовать. То, что много софта собирается в разных версиях под разные дистрибутивы это к архитектуре никакого отношения не имеет.
Yesterday it worked.
Today it is not working.
Windows is like that.
Неактивен
Купи turboprint, проблем не будет и встанет на любой дистрибутив, хоть deb, хоть rpm based.
О, господи, тридцать евриков... Выгодное вложение. Рублей на 300 получится дешевле, чем купить оем-ную 7-ку хоме бэйсик.
Начинаю откладывать
Чего только не сделаешь, чтобы пользоваться открытой, стабильной, бесплатной операционной системой.
Редактировался Okkamas Buddy (11-06-12 22:32:38)
Случайности не случайны.
Неактивен
ОЧЕНЬ часто. Любой виндовый фреймворк возьми
Я не о фреймворках, а о случаях, когда, к примеру, один и тот же модуль для кодирования звука используется как аудио, так и видеоредактором. Или видеопроигрывтель для сохранения стоп-кадров использует тот же модуль, что и графический редактор или конвертер графических форматов. Для примера, showfoto и gwenview используют один и тот же модуль для устранения "эффекта красных глаз"
Добавлено спустя 04 мин 58 с:
Нет, конкретно ты писал, что в винде при запуске нескольких экземпляров приложения, код дублируется,
Так, где это я писал что при запуске нескольких экземпляров одного приложения? У меня было так
А вот в винде эти библиотеки притащит с собой и та, и другая программы. Да и при совместной работе в линуксе код они будут использовать общий, хотя стек и данные будут у каждого приложения свои. А вот в случае виндов и код будет в памяти продублирован.
И та, и другая программы. Где ты тут видишь одно приложение?
Yesterday it worked.
Today it is not working.
Windows is like that.
Неактивен
там приложение одно, а дескрипторы разные, программа работает не с приложениями а с дескрипторами
Неактивен
и не важно сколько либ в системе 3 или 1, в стеке все равно будет столько экземпляров одного и того же кода сколько запущено экземпляров приложения.
А, понятно, ну для васик-кодеров простительно. Значит так, объясняю:
Любая программа использует три области памяти — это собственно код, область памяти где обрабатываются данные и стек. Для работы со стеком в ассемблере существуют две команды, push, которая помещает значение регистра, или в новых моделях ещё и непосредственное значение, на стек, с одновременным уменьшением указателя стека, и pop, которая их оттуда снимает, с одновременным увеличением указателя. Например после
push ax
pop dx
у нас регистр dx будет помещено значение ax, хотя здесь можно и проще mov dx,ax. Ну и ещё при вызове подпрограммы на стек автоматическ помещается текущее значение указателя памяти, следующее непосредственно за вызовом подпрограммы, а при возврате по команде ret это значение со стека снимается и по нему передаётся дальнейшее управление. Ну это так, в общих чертах, поскольку существуют ещё нюансы, например я могу в некоторых случаях объединить данные и код и менять этот код в процессе выполнения. Правда ни в линуксе ни в винде это не покатит.
Теперь ку? Та область памяти, в которой записан собственно алгоритм обработки, для всех экземпляров будет общей, а вот те области, которые модифицируются в процессе работы, у каждого экземпляра будут свои.
Yesterday it worked.
Today it is not working.
Windows is like that.
Неактивен
Для работы со стеком в ассемблере существуют две команды, push
mov [esp], eax
к примеру чем вам не нравится ? я так тоже на ассемблере програмирую некоторые штуки знаю, если оптимизировать ПО то там редко встретишь рор ...
Добавлено спустя 02 мин 48 с:
например я могу в некоторых случаях объединить данные и код и менять этот код в процессе выполнения.
так писал уже причину выше, дискрипторы, все в них в пирается, не работает программа с кодом а с дескрипторами, будет три запущеных программы и везде будут разные дескрипторы и на файл и на папку и на окно .... , там хоть открывай три программы и с одинаковымы окнами везде
Редактировался beep (11-06-12 23:21:21)
Неактивен
mov esp, eax
Это модификация самого указателя, к работе со стеком как то несколько условно.
там редко встретишь рор ...
Да ну, так уж и редко? А если мне надо сохранить значения всех регистров перед выполнением какой либо процедуры? Что там будет лучше pusha popa? Да и при выполнении вложенных циклов постоянно приходится делать push cx pop cx.
Добавлено спустя 05 мин 12 с:
будет три запущеных программы и везде будут разные дескрипторы и на файл и на папку и на окно ..
Мы ведь про защищённый режим? Дескрипторы то будут разные, но в память только один экземпляр будет утянут.
Yesterday it worked.
Today it is not working.
Windows is like that.
Неактивен
Это модификация самого указателя, к работе со стеком как то несколько условно.
пожже я понял ошибку и сдела исправление еще до вашего поста
Неактивен
О, господи, тридцать евриков... Выгодное вложение. Рублей на 300 получится дешевле, чем купить оем-ную 7-ку хоме бэйсик.
Ты не понял фишки! Он, когда купил сразу стал править сорцы, аха
База сама по себе сплошной скрипт (с) AleksK
При том, что свежие очевидно работают лучше и исправляют некоторые глюки. А в линуксе они (глюки!!!)ещё и становятся нормальными (c) Журнашлюшка
Неактивен