Сообщение от кустомер
|
Как хотите, воля Ваша; я просто открыл ДокторВэб и списал число. Не верите - пойдите на сайт Касперского, посмотрите, сколько знает вирусов он. Или НОД, или кому Вы верите))))
|
Ну как я могу верить или не верить! Мы что в церкви, где верят во все, что говорить поп? Я считаю, мы ближе к науке, где все постулаты и новые теории проверяются и перепроверяются многократно разными людьми, в разное время и проверяются на возможность интегрироваться в общую теорию физических/математических явлений.
Поэтому я говорю -- я сомневаюсь в этих цифрах. Покажите мне метод, с помощью которого они получены. Скорее всего у нас разные подходы к оценке количества вирусни.
Да ну их всех нафиг!
Цитата:
|
Ага; возьмите строчку "х = 5 - 3" и поменяйте цифры местами))))
|
Имелось совсем другое. Вы вывернули на изнанку и получили бред.
Цитата:
|
Ага, и работает в консоли
|
Неудивительно. Вы проявляете заблуждение свойственное людям из лагеря Виндовс. Я попробую пояснить, в чем Ваша ошибка понимания природы ядра.
Ядро, если говорить упрощенно, -- это набор данных (битов, байтов, чисел, текстовых строк, структур, их массивов, ну и так далее) и набор функций (программного кода, инструкций процессору), которые эти данные обрабатывают.
Сами по себе ни данные, ни тем более программный код не имеют ни цвета, ни формы. Что такое бит? -- Это всего-лишь уровень напряжения на ножке микросхемы. Что такое байт? Это набор из восьми битов (мимоходом замечу, что байт не всегда был равен восьми битам. Когда-то давно байт был равен семи битам, шести и даже пяти! Я тоже был шокирован, когда об этом прочитал.)
Ядро ОСи занимается перемалыванием этих дурацких байтов. Функция ядра, которая считывает файл в буфер оперативной памяти, читает не изображения .jpg-файла, а просто обезличенные байты. Потом она возвращает управление на пользовательский уровень. Задача функции ядра делать низкоуровневую работу, а уж как эти считанные данные мы будем интерпретировать -- ядру все равно!
Может эти байты -- это буквы текстового файла, может какие-то двоичные данные с экспериментальной установки, может пикселы изображения или звуковые сэмплы. Как знать!
Ядро вообще невидимо и неслышимо для пользователя. Но к ядру имеется огромное количество интерфейсов. Самый простой интерфейс -- это командная оболочка. Или в контексте Винды -- интерпретатор команд консоли. Эта прога может принимать команды от пользователя и передавать их ядру, получать данные от ядра и прорисовывать их на текстовом экране. Текстовый вывод не требует очень немного ресурсов. Поэтому "пробрасывать" текстовый ввод-вывод по сетям получается весьма эффективно, чего не скажешь о Radmin-е и других графических программах удаленного доступа.
Таким образом, ядро + консольный ввод-вывод -- это все, что необходимо для минимальной работы компа. Остальное -- различные утилиты, консольные программы, графические приложения -- это уже тот довесок на ядро, который раздувает его (ядро) со страшной силой.
Но люди ленивы. Люди предпочитают тыкать мышкой, а не набирать команды в консоли спомощью клавиатуры.
В некоторых сферах (или в некоторых программах) графическое взаимодействие компа и пользователя -- это единственный способ делать работу. Например, программы для обработки графики, всякие CAD-ы. Но зачем, спрашивается, мне прибегать к графической программе для того, чтобы залить .hex-файл в микроконтроллер? Или, что еще чаще бывает, настроить какой-нибудь параметр в конфигурационном текстовом файле. Записать на CD-болванку фильм. Но люди ленивы. Им удобнее видеть предоставленные на выбор пункты меню, иконки или еще какие-либо объекты, и тыкать по ним мышкой.
Я еще раз скажу: иногда это единственный способ. Иногда -- более простой. Но, когда решаются задачи создания программ для МК, или управления компом, а тем паче -- дистанционного управления компом, то графические проги как раз являются тем, от чего надо уходить. Но люди ленивы. Они привыкли тыкать мышкой, и ничего более не знать.
Поэтому, черная консоль на них наводит трепетный ужас -- они ее не знают! Ну может быть знают на уровне Виносовской Консоли. Но консоль Линукса несравнимо богаче Вендовой. Это не одно и тоже! Глупо с позиции уборщицы тети Маши оценивать работу программиста-разработчика. В Линуксовой консоли заложено столько возможностей и столько удобства, что про это можно писать толстые книги. Но Виндовс-пользователи не знают об этих возможностях, поэтому испытывают ужасные страдания. А потом делают вывод, что консоль и в целом весь Линукс -- УГ.
Я не фанат консоли. Но я много работы делаю в консоли. Точнее -- в консолях. Текстовых консолей у Линукса, как правило, шесть. Аналогов в Виндовсе нет! Седьмая консоль -- графическая. Это единственный аналог в Виндовсе. Но в отличие от Венды, графическая консоль предоставляет пользователю несколько рабочих столов. По умолчанию их -- четыре. Расположены они по горизонтали. Но при желании вы можете захреначить аж 36 столов, расположив их по вертикали и горизонтали. Приложения можно перетаскивать со стола на стол. Ладно, продолжать не буду.
Кроме того, на поверхности графической консоли вы можете открывать так называемые "псевдо-консоли". Это аналог командной строки в Виндовсе. Приставка "псевдо" говорит о том, что это не настоящие консоли. Они принадлежат графической, седьмой консоли. С точки зрения безопасности, они не требуют регистрации в системе, так как вы уже работаете в ней (графическая консоль -- это ваше рабочее место). А вот полноценная текстовая консоль (их 6 шт, как я уже говорил) -- это независимый вход в систему. Вы можете войти в систему под другим именем. Поэтому полноценные консоли требуют сначала залогиниться в системе, и только потом вы сможете задавать в ней команды.
Мало того, Линукс способен предоставить вам еще и удаленные консоли. Это полноценные консоли, которые открываются на локальном компе, но принадлежат дркгому -- удаленному, который может стоять хоть где. Например, в Канаде. Находясь в Канаде, вы можете управлять своим компом точно также, как будто он стоит у вас на столе. Ну, разумеется, надо только сделать поправку на незначительную задержку по времени,то есть на передачу трафика на расстояние.
Например я, таким образом, находясь дома управляю своим рабочим компом, который стоит у меня на работе. Я смотрю на данные, которые собирают мои датчики, установленные на крыше здания. Я могу перекинуть файлы с удаленного компа на локальный и обратно. Я могу дистанционно запустить какие-нибудь программы на удаленном компе. Я даже могу перезагрузить или вообще выключить его! (Включить, правда, не смогу. Надо физически ткнуть пальцем в кнопку Power.)
Я могу выполнять практически любую работу не выходя из дома. Например, я сижу дома и пишу прогу для МК. Я получаю hex-файл. Звоню на работу, чтобы к программатору, который подключен к компу, подключили плату с МК. Дистанционно я заливаю в него (в МК) прогу. Потом запускаю ее, останавливаю, смотрю регистры, память... короче -- отлаживаю дистанционно. О чем еще мечтать!
Про перекачку файлов данных с удаленного компа на свой -- это вообще песня! Виндузятникам такого ни в одном сне не приснится! Мои файлы сырых (raw) данных в основном состоят из повторяющихся байтов. Поэтому пересылать их с компа на комп было бы удобно в сжатом виде.
Сначала нужно на удаленный комп дать команду: сжать (в терминах Виндос-технологии -- заархивировать) файлы данных. Поскольку файлы имеют повторяющиеся данные, они хорошо сжимаются. Потом дать команду на локальной консоли -- забрать полученный файл. Потом на локальном компе его обратно разжать. В обшем-то так и будут поступать продвинутые пользователи Виндовса.
В Линуксе я это делаю немножко иначе. Я это делаю одной командой на локальной консоли. НИчто не мешает мне записать ее в тесктовый файл. Такие файлы называются скриптами.
Я не испытываю комплексов, чтобы не поделиться своими знаниями. Вот эта команда:
$ ssh alex@spectron `cd /home/alex/work/uv-radiation; tar -jcf - uv-*.bin` | tar -jxf -
Ослинная грамота? -- Да! Но я сейчас всё расшифрую. На самом деле сложного тут ничего нет.
ssh -- это обращение к удаленному компу. Аналог telnet-а, только работает по защищенному каналу.
alex@spectron -- это имя пользователя, под каким я буду логиниться на удаленный комп, и, собстевнно, очеловеченний IP-шник этого компа. Поскольку у меня не закупленно доменное имя (в этом мне не никакого резона), IP-шник и соответствующее ему имя ("spectron"), у меня жестко прописаны в конфигурационном файле /etc/hosts. Нечто подобное имеется в Виндовсе, только там, на сколько я помню, файл hosts расположен в папке c:\windows\system32\drivers\etc. Ну или как-то так. Я уже более трех лет не садился за Венду. Забывается всё, как кошмарный сон.
`cd ............uv-*.bin` -- это не просто строка символов, заключенная в обратные апострофы, это команда. В процессе работы результат исполнения этой команды будет подставлен вместо этой строки. Что эта команда делает, я расскажу чуть ниже. Аналога такого функционала в Виндовсе -- нет!
Таким образом, конструкция ssh user@host `....` -- это команда локальной консоли: залогинится на удаленном компе host под именем user, и выполнить там команду, которая заключена в обратные апострофы. После чего разлогиниться.
| -- вертикальная палка -- это неименованный канал или, как еще говорят, -- конвейер или "пайп". Это такая хрень, которая принимает вывод от команды, которая стоит слева от этой палки слева, и передает его команде, которая стоит справа. Неименованные каналы передачи данных имеется и в Виндовсе.
tar -jxf - -- это команда архиватору: всё то, что принимается с консоли -- разжать и сохранить на диске. Поскольку это вторая часть команды, которая дается в локальной консоли (первая часть ssh user@host `....`), то в этом контексте консоль -- надо понимать как локальную консоль. Иначе говоря, так оно и есть, ведь черная консоль нарисуется на экране (на мониторе) локального компа, а не на экране удаленного компа.
Обратите внимание на последний значек "-" (черточка). Эта опция как раз и говорит команде tar информацию брать с консоли (в нашем случае -- из папйпа, который перехватывает вывод на консоль) и расценивать эти данные как входной сжатый файл. Разжиамть его и сохранять полученное в файлы на диске локального компа.
Ну что, крыша ещё не едет? Тогда продолжим!
Рассмотри теперь команду в обратных кавычках.
Эта команда будет выполнятся на удаленном компе. Что она делает? Эта команда состоит из двух, команд, которые будут выполнятся последовательно.
Первая команда:
cd /home/alex/work/uv-radiation -- изменит текущий директорий (в который по умолчанию попадает удаленный пользователь, когда он залогинится в системе) на тот, который нам нужен. Точно такая же команда имеется в Виндовсе.
Теперь обратите внимание на точку с запятой в конце команды. Этот значок не является частью команды, но он разделяет две команды, которые находятся от него слева и справа. Аналога в Виндовсе -- нет. Этот значок гарантирует, что после исполнения первой команды, будет выполняться вторая. Для Линукса это нормальное явление -- в одной команде (командной строке) иметь цепочку команд. В Виндовсе в командной строке можно задавать только одну команду. Не путайте последовательность команд, которые не имею завивимости друг от друга по данным, и пайпы (неименованные каналы), которые организуют перекачку данных между командами. Это разные вещи.
Более того, в Линуксе имеется возможность не просто тупо выполнять последовательность команд из командной строки, а еще и выполнять их в зависимости от результата предыдущей команды. Ну иначе говоря, если первая команда обломалась и закончилась с ошибкой, то следующая команда не должна исполняться. Или наоборот, если текущая выполнилась удачно, то нет необходимости в выполнении следующей команды. Жизнь -- сложная штука. Нюансов в запуске последовательности команд много. Линукс хоть как-то это делает. Точнее -- делает на уровне, достаточном для работы. А Виндовс сразу падает на спинку и орет: "Да вы чЁ, Блеааааа! Я в такие игры вообще не играю!"
Однако. Первая команда (которая заключена в строке апострофов) затащила нас в нужный директорий.
Вторая команда
tar -jcf - uv-*.bin
будет сжимать все файлы, отвечающие шаблону uv-*.bin.
Например, у меня это файлы uv-2012.03.14.bin, uv-2012.03.15.bin и uv-2012.03.16.bin. По идее, команда tar должна сжимать файлы и записывать результат сжатия в выходной файл. Но вместо имени выходного файла я указал черточку. Для тех, кто не заметил ее -- она находится между между ключами -jcf и шаблоном входных файлов. При традиционном способе сжатия на месте черточки мы должны указывать имя выходного (сжатого) файла. Черточка же говорит команде tar вываливать результат сжатия на консоль, а не в файл.
Теперь смотрите, что получается. Консоль находится у меня на локальном компе. Значит, команда, которая исполняется на удаленном компе, будет выводить результат своей работы ко мне на экран. Но мне он нафиг не нужен -- эта "овсянка"! Поэтому я эту "овсянку" передаю с помощью пайпа другой команде tar, которая, как я уже говорил, получив сжатый файл, разожмет его и сохранит в виде файлов с их исходными именами.
"Овсянка" на экране у меня не появится. Она будет перехвачена пайпом и отдана второй команде. Если вы знаете работу пайпов, то вас это не должно удивлять. Тем более в Виндовсе тоже есть пайпы.
Поскольку пересылка данных с удаленного компа на локальный идет в виде сжатого файла (сжатого трафика), то получается, что мы экономим время и деньги. Это высший пилотаж, который в Виндовсе не достижим.
Однако, удивляться и крутит у виска не стоит. Ведь Виндовс-пользователей не ставят в тупик задачи типа что-нибудь поправить или посмотреть в Реестре, вот и Линукс-пользовавтелей не ставят в тупик выполнение вот таких вот сумасшедших "волшебных" команд.
Теперь, вы видите, чем отличается подходы при решениии задач в Линуксе и Виндовсе. Чем отличается мышление в стиле Виндовс и мышление в стиле Линукс. Теперь вы видите, почему для Виндовс-пользователей Линукс труден и непонятен. Почему нельзя в Линуксе использовать Виндосовские навыки работы. Эти навыки сильно не дотягивают до уровня Линукса, их просто не хватает.
Но на самом деле, в Линуксе все даже очень просто и понятно. Просто мозг Виндовс-пользователя мыслит по-Вендовому. А в среде Линукса это ведет к его разрыву.
Но самое смешное состоит в том, что Линукс-пользователи легко постигают работу в Виндовсе. Уровень-то ниже! Почему я и говорю -- изучайте правильные технологии и не тратьте свое время на суррогаты -- резиновых баб и Виндовс. Ешьте натуральные продукты.
Выше, я вам показал, по какой причине Линукс дается не всем. Я вам показал, почему Линукс-пользователи называют Виндовс-пользователей хомячками. Наверно в этом все-таки есть доля правды. Виндовс отучает мозг работать. И в самом деле, невозможно ткнуть мышкой по тому, чего нет на экране. Выбор действия Линукс-пользователя ничем не ограничен. Выбор же Виндовс-пользователя ограничен тем, что удалось разместить на экране.
Но замечу еще один не мало важный аспект. Человек, который до этого ни разу не сталкивался ни с Виндовсом, ни с Линуксом, одинаково легко на уровне обычного пользователя (мышкотыкание по экрану) овладевает хоть тем, хоть другим. Собственно, изучение Виндовса на этом мышкотыкании и заканчивается. А вот в Линуксе можно продолжать погружение.
Линукс никак не ограничивает пользователя. Возьмем какую-нибудь сверх-задачу. Виндовс скажет сразу -- "я не могу" и упадет к верху лапками. После чего пользователь прекратит свои попытки что-либо сделать. И слегка покручинясь, что не получилось сделать, и перейдет к другим задачам, поставив на этой задаче крест.
В Линуксе нет дна. Поэтому вы не можете упереться в стену и завыть -- "я не могу решить эту задачу!". Так обычно делают неопытные пользователи и лентяи.
В Линуксе можно сделать всё, только для этого нужно приложить усилия. Народ ленив. Народу проще утонуть в крынке со сметаной, чем поработать лапками. Поэтому Линукс считается трудным для более глубокого освоения. Там где останавливается Виндовс, Линукс прет дальше. Вот за это я его люблю и уважаю. Линукс -- настоящий вездеход. Только к нему нужны мозги и руки.
Это, собственно, то, почему я перешел с Виндовой платформы на Линуксовую. Линукс гораздо мощнее, чем Виндовс, не смотря на временное отсутствие у него "программ для устранения красных глаз на фотках". Со временем в Линуксе всё будет.
И еще один не мало-важный аспект. Вы -- разработчики МК систем. Вы растете. Вчера вы делали поделки, которые моргают светодиодами. Сегодня вы лепите более сложные конструкции. А завтра вы начнете ставить операционки на свои девайсы... Вопрос. Если в сутках мало времени, а Операционную систему нужно знать на более глубоком уровне, то зачем распыляться, тратить драгоценное время на изучение параллельных, но других технологий? Неужели вы собираетесь портировать Виндовс-Мобайл на STM32? Или же вы решили остановиться в своем развитии на уровне моргания светодиодами или чуть выше?
Цитата:
|
Не это плохо. Плохо то, что проги из одного пакета используют части прог из других пакетов. Вот это меня окончательно ДОБИЛО. И я понял, что не свяжусь с Линуксом ни при каких условиях.
|
А зря! Это не проблемы Линукса. Это чисто ваше незнание его.
Цитата:
|
А вообще у меня есть мечта - сколотить группу понимающих, что пора создавать ОС на совершенно иной идеологии. И способных начать создавать такую ОС от нуля (а не взяв за основу какое-нибудь "ядро" и навесив на него кучу финтифлюшек).
|
У меня есть один знакомый с легендарной фамилией -- доктор Завалишин. Да-да, тот самый Завалишин, который пишет свою уникальную операционную систему. Присоединяйтесь к его проекту. Там сплошные марсиане! Уверяю Вас, получите огромное удовольствие и совершенно перпендикулярное восприятие мира.
Спасибо, что прочитали весь этот текст.
Уф-ф! Пойду спать.