Рубрика «UNIX» - 3
Время — иллюзия, время Unix — иллюзия вдвойне…
2022-10-28 в 5:14, admin, рубрики: GNU, UNIX, Unix time, проблема 2038 года, Разработка под Linux, секунда координации, системное администрирование, эпоха unixКак вы хорошо знаете, в Unix-системах мы измеряем время как количество секунд, прошедших с «эпохи»: 00:00:00 UTC 1 января 1970 года. Немало людей сильно разозлилось из-за этого, да и вообще, общественное мнение сочло это ошибкой.
Во-первых, это определение основано не на чём-то разумном, например, на объективной частоте колебаний атома цезия-133, а на удобной доле времени полного оборота одного большого камня вокруг собственной оси.
Во времени Unix каждый день гарантированно состоит из 86400 секунд и мы притворяемся, что это число равномерно увеличивается. Когда оказывается, что вышеупомянутый камень на самом вращался дольше, чем удобно для нас, и нам нужно добавить секунду координации, то мы просто притворяемся, что этого не было, а механизм меток времени не идентифицирует уникальный момент времени.
Ещё один аспект, который продолжает вызывать проблемы, когда мы пытаемся считать секунды, заключается в том, что мы сталкиваемся с проблемами хранения и описания данных, потому что, как оказалось, компьютеры не так уж хорошо справляются с числами. Не говоря уж об "эпохальном сбое".
Читать полностью »
Разбираем по полочкам «философию Unix»
2022-09-30 в 10:05, admin, рубрики: api, java, powershell, timeweb_статьи_перевод, UNIX, windows, Блог компании Timeweb Cloud, Компиляторы, Программирование, система, файлы, язык программированияКак-то раз я написал пост о том, как проектируются компиляторы. Основная идея этого поста заключалась в очень простом композиционном примитиве – а именно, выстроить конвейер из функций. Традиционно проектирование компиляторов выстраивается как нисходящий процесс. Компилятор – большая штука, слишком большая, чтобы сразу уложить его в голове. Поэтому задачи дробятся до тех пор, пока не удастся остановиться на какой-нибудь удобоваримой подзадаче, например: написать парсер. Эта проблема уже достаточно компактная, чтобы справиться с ней в одиночку.
Читать полностью »
Когда байты были маленькими
2022-09-28 в 7:57, admin, рубрики: UNIX, баги, старое железо, старый софтНу что же, после комментария к статье про выборы карма стала отрицательной (не понимаю, кстати, как: за комментарии только плюсики стоят), надо наверстывать. Попробую написать первую свою хабрастатью.
Мне нравится старое железо и старый софт, так что ловите три короткие истории про историю.
Когда байты были маленькими
Сейчас большинство людей привыкли пользоваться 8-битными байтами, но когда "байт" только появился, он был 4-битным (впервые byte упоминается в документации к IBM Stretch в 1956 году; интересно, что сам компьютер был при этом 64-битным), и следующие 10 лет плавал от 4 до 8 бит, задерживаясь на 6 битах.
Пособие по программированию модулей ядра Linux. Ч.6
2022-09-18 в 14:00, admin, рубрики: linux, ruvds_перевод, tty, UNIX, Блог компании RUVDS.com, модули ядра, Настройка Linux, планирование задач, программирование ядра, Разработка под Linux, тасклетыОчередная часть последней версии пособия по созданию модулей ядра от 2 июля 2022 года. В ней мы познакомимся с понятием tty, представляющим альтернативу макросу
print
, напишем модуль для мигания светодиодами клавиатуры, а также разберем тему планирования задач с помощью тасклетов и очередей заданий.Читать полностью »Пособие по программированию модулей ядра Linux. Ч.4
2022-09-02 в 13:00, admin, рубрики: linux, procfs, ruvds_перевод, sysfs, UNIX, Блог компании RUVDS.com, Настройка Linux, программирование ядра, Разработка под LinuxПеред вами очередной фрагмент последней версии руководства по написанию модулей ядра от 2 июля 2022 года. Тема этой части — системные вызовы. В ней вы познакомитесь с этим понятием на примере создания собственной функции для открытия файлов, которая будет подменять собой исходную
sys_open
, а также следить за конкретным пользователем, информируя нас об открываемых им файлах. Читать полностью »Краткий справочник по «всем-всем» командам Linux
2022-08-25 в 7:01, admin, рубрики: bash, cli, command, command line, linux, UNIX, Блог компании ГК ЛАНИТ, Настройка Linux, Разработка под Linux25 августа 1991 - День рождения Linux
Говорят, "Лучший подарок на день рождения - книга" и "Нет лучше подарка, чем сделанный своими руками". А так как сегодня 25 августа - день первого упоминания о системе, получившей название Linux, то
🖐Linux, с днем Рождения!!! 🎂 📖
Пособие по программированию модулей ядра Linux. Ч.2
2022-08-19 в 13:00, admin, рубрики: linux, ruvds_перевод, UNIX, Блог компании RUVDS.com, написание модулей linux, Настройка Linux, программирование ядра, Разработка под Linux, системное администрирование, создание драйверовПродолжение последней версии руководства по написанию модулей ядра от 2 июля 2022. В первой половине текущей части мы подробнее разберём структуру и принцип действия модулей, узнаем, чем отличается пространство пользователя от пространства ядра, а также немного поговорим об использовании памяти. Вторая же половина будет посвящена одному из типов модулей — драйверам устройств, основы работы с которыми мы также подробно рассмотрим.
Читать полностью »
18 отборных однострочных команд Linux
2022-06-15 в 13:00, admin, рубрики: bash, linux, ruvds_перевод, UNIX, Блог компании RUVDS.com, командная строка, Настройка Linux, однострочные команды, системное администрированиеВ этой статье я опишу ряд функциональных, полезных, а порой и опасных команд, чтобы продемонстрировать потенциал использования оболочки Bash в Linux.Некоторые из них, действительно, потребуют соблюдения осторожности, так как иначе можно потерять все свои данные. Другие же, наоборот, окажутся очень покладистыми и полезными для повышения эффективности работы.
Приступим!Читать полностью »
Как ускорить работу в командной оболочке Bash
2022-05-22 в 10:00, admin, рубрики: bash, linux, ruvds_перевод, UNIX, Блог компании RUVDS.com, командная оболочка, Настройка Linux, Серверное администрированиеЛюбому начинающему разработчику необходимо научиться пользоваться командной строкой. При этом для выполнения в ней команд требуется оболочка. В статье речь пойдёт об оболочке Bash, которая популярна в UNIX-подобных системах и в большинстве дистрибутивов Linux используется штатно.Читать полностью »