Рубрика «UNIX» - 5

Многообразие Linux-дистрибутивов - 1

Цель этой статьи показать и объяснить многообразие дистрибутивов Linux. Перечислить основные сходства (они же все почему-то называются "Линуксы" или даже правильнее GNU/Linux) и основные различия (если бы не было различий, их бы столько не существовало).

Рассмотрим несколько наиболее часто задаваемых новичками вопросов:

Переносим философию Unix в 21 век - 1


Один из основных принципов философии Unix заключается в создании таких программ, каждая из которых эффективно выполняет всего одну задачу, и связывании этих программ в конвейер. Подобный подход отлично зарекомендовал себя за десятилетия существования системы.

В статье же речь пойдет о том, чего ощутимо не хватает современным системам Linux с точки зрения этой философии, а также будет предложено решение связанных с этим проблем.Читать полностью »

Она могла стать Первой: история процессорной архитектуры Alpha (часть 1) - 1

Впервые об архитектуре Alpha я узнал вскоре после обретения своего первого ПК, осенью 2001 года. Это были не слишком свежие (примерно 1997-1998 года) страдания неизвестного автора о платформе AlphaPC, материнской плате удивительной производительности и поражающих возможностей в формате АТХ. С тех пор эта архитектура запала мне в душу, долгое время борясь за место в сердце с не менее прорывным Pentium Pro. Сейчас представители обоих направлений располагаются в коллекции «Digital Vintage» на расстоянии менее 1 см друг от друга.
Читать полностью »

Гость из другого мира: обзор рабочей станции HP 9000 712-60 под управлением HP-UX - 1

Что если я скажу вам, что уже во второй половине 80-х годов ХХ века были машины с многозадачной ОС с развитым графическим интерфейсом, цветными дисплеями высокого разрешения, мощными процессорами и десятками мегабайт оперативной памяти, способные выполнять задачи работы с графикой, обслуживать системы трехмерного моделирования и другие вещи, ставшие под силу ПК только в середине следующего десятилетия?

Добро пожаловать в параллельный мир, мир рабочих станций Unix!
Читать полностью »

Недавно я мимоходом отметил, что errno был, в целом, хорошим интерфейсом в Unix-системах до появления в них многопоточности. Кого-то подобное высказывание может удивить, поэтому сегодня предлагаю поговорить о сильных и слабых сторонах errno в традиционных Unix-окружениях, таких, как V7 Unix.

Заметки о Unix: сильные и слабые стороны errno в традиционных Unix-окружениях - 1

Сильной стороной errno является тот факт, что этот интерфейс представляет собой простейший механизм, способный возвращать несколько значений из системных вызовов C, в которых нет непосредственной поддержки возврата нескольких значений (особенно — в ранних вариантах C). Использование глобальной переменной для «возврата» второго значения — это практически идеал того, что можно сделать в обычном C, если только не планировать передачу из C-библиотеки указателя на каждый системный вызов и функцию, которые собираются возвращать значение errno (при таком подходе придётся, например, интенсивно пользоваться stdio). Постоянная передача подобного указателя приводит не только к ухудшению внешнего вида кода. Такой подход увеличивает объём кода, и, из-за использования дополнительного параметра, приводит к повышению нагрузки на стек (или на регистры).
Читать полностью »

В материале о том, что в наши дни find, как правило, не нуждается в xargs, я отметил, что в конструкции '-exec ... {} +' скобки ('{}') (для имён файлов, генерируемых find) должны находиться в конце команды. В комментарии к той публикации анонимный читатель сказал, что это неприменимо к -exec-версии, которая запускает отдельную команду для каждого имени файла. В результате можно поместить заменяемое имя файла в любом месте команды. Это, как оказалось, относится не только к GNU Find, являясь стандартной возможностью, и я полагаю, что этого даже требует Single Unix Specification (SUS) для find.

Заметки о Unix: ограничения опции -exec команды find и стремление к удобству при реализации команд - 1
Читать полностью »

Почему работать в консоли настолько приятно? Так задумано отцами-основателями Unix - 1
Кен Томпсон и Деннис Ритчи

Unix. Легендарная операционная система оказала огромное влияние на разработку программного обеспечения и всю информатику в целом. Из неё выросли целые семейства Unix-подобных ОС, которыми все мы пользуемся.

Язык программирования Си, Ричард Столлман и GNU, движение Open Source, Линус Торвальдс с ядром Linux, маки, айфоны и Android. Почти всё в системном программировании 21 века можно отследить до истоков — до Unix.

Unix — это фундаментальная база. Но что же в ней такого особенного? Есть один секрет. Точнее, два.
Читать полностью »

Как придумали кодировку UTF-8: выдержки из переписки создателей - 1

Всем известна кодировка UTF-8, что давно доминирует в интернет пространстве, и которой пользуются много лет. Казалось бы, о ней все известно, и ничего интересного на эту тему не рассказать. Если почитать популярные ресурсы типа Википедии, то действительно там нет ничего необычного, разве что в английской версии кратко упоминается странная история о том, как ее «набросали на салфетке в закусочной». 

На самом деле изобретение этой кодировки не может быть настолько банальным хотя бы потому, что к ее созданию приложил руку Кен Томпсон — легендарная личность. Он работал вместе с Деннисом Ритчи, был одним из создателей UNIX, внес вклад в разработку C (изобрел его предшественника — B), а позднее, во время работы в Google, принял участие в создании языка Go. 

Перед вами — перевод нескольких писем, в которых разработчики вспоминают историю создания кодировки. 
Читать полностью »

Заметки о Unix: работа с GNU grep и обязательное применение опции -a (--text) - 1

Однажды я заметил, что один из моих скриптов, сканирующих почтовые журналы, не выдал сообщение об одной записи, о наличии которой в журнале мне было известно (о ней меня оповестил другой скрипт). Работа скрипта начинается с использования grep для фильтрации записей, которые меня не интересуют:

grep -hv 'a specific pattern' "$@" | exigrep '...' | [...]

Я, столкнувшись этим, чего только себе не напридумывал.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js