Unix

Боровский А. Программирование для Unix : Часть 11: ncurses: привет Окнам!

Боровский А. Программирование для Unix [Текст] : Часть 11: ncurses: привет Окнам! / Андрей Боровский  //  Linux Format. — 2007. — № 4 (91), апр. — С. 80-83. — (Программирование для Unix. Учебник). 
     Аннотация
     Дополнительное средство управления терминалом – открытая библиотека ncurses (new curses), которая создает удобный интерфейс для утилит командной строки и расцвечивает терминал всеми цветами радуги. 

Боровский А. Программирование для Unix : Часть 10: Консольный ввод/вывод

Боровский А. Программирование для Unix [Текст] : Часть 10: Консольный ввод/вывод / Андрей Боровский  //  Linux Format. — 2007. — № 3 (90), март. — С. 74-77. — (Программирование для Unix. Учебник). 
     Аннотация
     Интерфейс терминала (консоли) Unix обладает гораздо большим числом возможностей, чем кажется на первый взгляд. Некоторые дополнительные возможности работы с терминалом при помощи интерфейса termios демонстрирует Андрей Боровский.

Боровский А. Программирование для Unix : Часть 9: Демоны

Боровский А. Программирование для Unix [Текст] : Часть 9: Демоны / Андрей Боровский  //  Linux Format. — 2007. — № 2 (89), февр. — С. 78-81. — (Программирование для Unix. Учебник). 
     Аннотация
     Демоны в мире Unix — процессы, которые не взаимодействуют с пользователем напрямую. У процесса-демона нет управляющего терминала и, соответственно, нет пользовательского интерфейса. Для управления демонами приходится использовать другие программы. Само название "демоны" возникло благодаря тому, что многие процессы (не все) этого типа большую часть времени проводят в ожидании какого-то события. Когда это событие наступает, демон активизируется (выпрыгивает, как чертик из табакерки), выполняет свою работу и снова засыпает в ожидании события. 
     Демоны делают всю "черную работу" – но как они выглядят изнутри? Для этого мы рассмотрим их работу на примере простого (очень простого) сетевого сервера aahzd, способного отвечать на запросы клиентов. Исходный код сервера представляет собой доработанный вариант открытого демонстрационного демона, написанного Давидом Жилье (David Gillies). 

Боровский А. Программирование для Unix : Часть 8: Потоки: синхронизация

Боровский А. Программирование для Unix [Текст] : Часть 8: Потоки: синхронизация / Андрей Боровский  //  Linux Format. — 2007. — № 1 (87-88), янв. — С. 72-75. — (Программирование для Unix. Учебник). 
     Аннотация
     Бесконтрольно размножающиеся потоки очень быстро устраивают соревнование за ресурсы системы. Андрей Боровский знает, как сделать так, чтобы все эти thread_func() не мешали друг другу. 

Боровский А. Программирование для Unix : Часть 7: Потоки: создание и уничтожение

Боровский А. Программирование для Unix [Текст] : Часть 7: Потоки: создание и уничтожение / Андрей Боровский  //  Linux Format. — 2006. — № 12 (86), дек. — С. 71-75. — (Программирование для Unix. Учебник). 
     Аннотация
     Потоки и процессы в Linux – где та тонкая грань, что отличает одно от другого? 
     Жизненный цикл потоков – от создания до принудительного завершения. 
     Некоторые авторы избегают термина "поток" и используют вместо него термин "нить" (от англ. "thread"), вероятно для того, чтобы потоки программ не путались с потоками ввода-вывода. Для обозначения последовательного выполнения цепочки инструкций автору лично больше нравится термин "поток", которым он и пользуется, надеясь, что читатели Linux Format не запутаются в контекстах и, встретив слово поток, всегда поймут, идет ли речь о потоках программы, потоках ввода вывода, или о других потоках. 

Боровский А. Программирование для Unix : Часть 6. Процессы и потоки

Боровский А. Программирование для Unix [Текст] : Часть 6. Процессы и потоки / Андрей Боровский  //  Linux Format. — 2006. — № 11 (85), нояб. — С. 100-103. — (Программирование для Unix. Учебник). 
     Аннотация
     Понятие процесса и понимание управления процессами, программирование управления процессами в Linux. 

Боровский А. Программирование для Unix : Часть 4. Сигналы

Боровский А. Программирование для Unix [Текст] : Часть 4. Сигналы / Андрей Боровский  //  Linux Format. — 2006. — № 10 (84), окт. — С. 90-93. — (Программирование для Unix. Учебник). — Библиогр.: с. 93 (2 назв.). — Прил.: "Поля структуры sigaction". — С. 92.
     Аннотация
     Сигналы традиционно считаются трудными в использовании, но при всем этом они незаменимы, когда речь заходит о настоящих приложениях Unix. 
     Рассматриваются только классические сигналы Unix, каковых в Linux насчитывается 31. Этим сигналам назначены номера с 1 до 31 (номер 0, так называемый null-сигнал, имеет особый смысл). Полный список сигналов можно получить из заголовочного файла signal.h. Рассмотрено несколько наиболее интересных сигналов.

Боровский А. Программирование для Unix : Часть 3. Сокеты

Боровский А. Программирование для Unix [Текст] : Часть 3. Сокеты / Андрей Боровский  //  Linux Format. — 2006. — № 9 (83), сент. — С. 96-99. — (Учебник. Программирование для Unix). — Библиогр.: с. 99 (2 назв.). — Прил.: "Остроконечники и тупоконечники" : [Термины «little-endian» и «big-endian» (в компьютерной литературе обозначают порядок байтов, используемый процессором для представления простых многобайтовых типов): порядок байтов как проблема в компьютерном мире]". — С. 98.
     Аннотация
     При всем богатстве выбора средств взаимодействия между процессами в Unix/Linux, самыми популярными средствами были и остаются сокеты. Мы окунемся в мир сетевого программирования и познакомимся с сокетами – базовыми "кирпичиками", из которых строятся и мощные сервера, и легкие клиентские приложения.
     На этом наше знакомство с увлекательным миром межпроцессного взаимодействия Linux заканчивается. 

Боровский А. Программирование для Unix : Часть 3. Очереди сообщений и семафоры

Боровский А. Программирование для Unix [Текст] : Часть 3. Очереди сообщений и семафоры / Андрей Боровский  //  Linux Format. — 2006. — № 8 (82), авг. — С. 102-105. — (Программирование для Unix. Учебник). — Библиогр.: с. 105 (3 назв.). — Прил.: "Неатомарность спин-блокировок" : [Операция «проверить значение – изменить значение» неатомарна, то есть ее выполнение может быть прервано другим процессом и алгоритм простых спин-блокировок (spin locks) не гарантирует надежного разграничения доступа и решение этой проблемы]". — С. 104.
     Аннотация
     Каналы – отнюдь не единственное средство IPC Unix/Linux. В этом выпуске Андрей Боровский рассказывает еще о нескольких механизмах межпроцессного взаимодействия, которые появились в Unix System V и были описаны в System V Interface Definition (SVID) — это сообщения и очереди сообщений, разделяемая память и семафоры (семафоры System V, семафоры POSIX и семафоры в разделяемой памяти).

Боровский А. Программирование для Unix : Часть 2. Межпроцессное взаимодействие

Боровский А. Программирование для Unix [Текст] : Часть 2. Межпроцессное взаимодействие / Андрей Боровский  //  Linux Format. — 2006. — № 7 (81), июль. — С. 97-99. — (Программирование для Unix. Учебник). — Библиогр.: с. 99 (3 назв.). — Прил.: "Закон Брукса [критика]". — С. 97 ; "Как канал передает данные". — С. 98.
     Аннотация
     Возможность разграничения доступа к ресурсам очень полезна, но Linux не была бы настоящей многозадачной системой, если бы в ней не существовало простых и эффективных методов взаимодействия между процессами. Статья посвящена рассмотрению межпроцессного взаимодействия.
     Благодаря межпроцессному взаимодействию (Inter-Process Communication, IPC) разработчик (и пользователь) может разбить решение сложной задачи на несколько простых операций, каждая из которых доверяется отдельной небольшой программе. Последовательная обработка одной задачи несколькими простыми программами очень похожа на конвейерное производство (среди многих значений английского pipeline есть и "конвейер", но статье для перевода слова pipe используется принятый в отечественной литературе термин "канал".  

Боровский А. Программирование для Unix : Часть 1. Linux API – работаем с файловой системой

Боровский А. Программирование для Unix [Текст] : Часть 1. Linux API – работаем с файловой системой / Андрей Боровский  //  Linux Format. — 2006. — № 6 (80), июнь. — С. 92-95. — (Программирование для Unix. Учебник) (Программирование для Linux. Учебник). — Библиогр.: с. 95 (2 назв.). 
     Аннотация
     Файловая система Linux с точки зрения программиста: everything is a file или файлы – это наше все. 

Боровский А. Кодируем : Cоветы бывалых

Боровский А. Кодируем [Текст] : Cоветы бывалых / Андрей Боровский  //  Linux Format. — 2009. — № 4 (117), апр.. — С. 72-75. — (Программирование. Учебник) (Советы программистам. Учебник). — Прил.: "Переменные GNU Readline" : [Комментарии к переменным: set сompletion-ignore-case on, set completion-query-items n, set disable-completion on, set expand-tilde on, set mark-directories on, set match-hidden-files on, set print-completions-horizontally on, set show-all-if-ambiguous on, set visible-stats on]. — С. 73 ; "Скорая помощь. Перехват библиотечных вызовов полезен не только для отладки. Переопределив функции для работы с сокетами, вы можете перенаправить весь сетевой трафик приложения на выделенный SOCKS-сервер.". — С. 75
      Аннотация
      На протяжении многих лет Андрей Боровский собирал интересные фрагменты из исходных текстов разных популярных программ и из форумов, посвященных программированию для Unix. Подборкой тонкостей и хитростей программистского мастерства он делится с читателями Linux Format. 
      Мы узнаем: как реализовать в консольном приложении завершение имен команд и файлов по нажатию Tab и обогатить программу историей команд в стиле Bash при помощи библиотеки GNU Readline; как написать процедуру, заменяющую тильду именем домашнего каталога пользователя; как сразу после запуска заставить программу освободить окно консоли, из которого она запущена; как перехватить выполняемые программой вызовы библиотечных функций. 

 

Шпаньков И. Архивное дело

    Шпаньков И. Архивное дело [Текст] / Илья Шпаньков  //  Linux Format. — 2007. — № 9 (96), сент.. — С. 6. — (Новости). 
    Аннотация
    Поставлена точка в иске SCO Group к Linux-сообществу вообще и к компаниям IBM и Novell в частности: в августе 2007 года федеральный окружной судья штата Юта Дейл Кимболл (Dale Kimball) постановил, что владельцем прав на исходные коды операционной системы UNIX является компания Novell, а не SCO Group Incorporation. Это решение значит, что претензии SCO Group к IBM, якобы незаконно использовавшему код UNIX в Linux-системах и тем самым поставившему пользователей Linux в положение обязанных платить SCO, не имеют под собой никаких оснований. Novell заявила, что не собираются каким-то образом использовать свою победу в дальнейших спорах по поводу кода UNIX: компания давно вышла из бизнеса, связанного с UNIX, поэтому нет смысла затевать какие-то судебные разбирательства и тратить на них время и деньги. 

 

Minix 3

Minix 3 [Текст] : [Материалы] // Linux Format. — 2008. — № 10 (110), окт. — С. 48-51. — Веблиогр. "Литература": с. 51 (6 назв). — Содерж.: Unix с мордочкой енота : [Операционная система Minix 3 (24 октября 2005 года) — история, особенности, установка — пошаговое руководство, первые шаги, отличительные особенности системы, перспективы] / Роман Ярыженко ; Инструментарий : [Краткий список дополнительного ПО, включенного в состав дистрибутива Minix 3]. — С. 49 ; Minix 3.1.3 – что внутри? : [Основные нововведения нестабильной версии Minix 3.1.3, увидевший свет 13 апреля 2007 года]. — С. 50 ; Слово разработчикам : [официальный разработчик ОС Minix 3, автор сайта русскоязычного сообщества разработчиков и пользователей системы (www.minix3.ru) беседует с журналистом Linux Format / вел Роман Ярыженко]. — С. 50-51.
      Аннотация
      Minix был создан в 1987 году в качестве учебного пособия к книге Эндрью Таненбаума "Операционные системы: реализация и построение" (Andrew Tanenbaum "Operating Systems: Design and Implementation") на основе исходного кода UNIX version 6. Потому, что начиная с седьмой версии UNIX стал коммерческим, и его исходные тексты перестали распространяться в университетской среде. В течение 10 лет до выхода книги Таненбаума в университетах использовался учебник Джона Лайонса (John Lions "Lion’s Commentary on UNIX 6th Edition, with Source Code"), который из-за закрытия исходных текстов UNIX оказался почти что вне закона.
      Minix 3 был анонсирован 24 октября 2005 года на симпозиуме ACM.
      Minix 3 (www.minix3.org) разрабатывается для встраиваемых систем, таких как видеокамеры, DVD и другие мультимедийные или мобильные устройства.
     Важно, что в основе микроядра Minix 3 лежит компактное микроядро ОС Minix 2, в котором за 10 лет (1997-2007 годы) не было найдено ни одной ошибки! А в ядрах монолитных систем, таких как Linux (2,5 млн. строк исполняемого кода) или Windows (5 млн. строк), содержится не менее 15000 ошибок. Поэтому Minix 3 может найти свое применение в приложениях, требующих высокой надежности, или тех задач, для которых лицензия GPL является слишком ограничивающей.
      Minix 3 привлекателен для простого пользователя тем, что это наилучшая учебная операционная система. Ее код прекрасно документирован. Из-под крыла этой замечательной ОС вышло уже не одно поколение пользователей и программистов, например, Линус Торвальдс – создатель Linux. Сейчас под Minix 3 портировано большое количество программ и библиотек, таких как MPlayer, Emacs, Vim, gv и других. Также, по сравнению с предыдущими версиями, появился графический интерфейс и менеджеры окон, такие как JWM и EDE. Теперь начинающему пользователю будет легче и удобнее работать в новой системе. Начав с Minix 3, ему будет проще продолжать знакомство с другими Unix-подобными ОС.