Главная » Статьи для тега "только"

Команда zap: уничтожение процесса по имени

Добавлено Дата: 25 September, 2012 категория: Программирование для UNIX

Команда kill уничтожает только процессы, для которых указан иден тификатор. Поэтому  когда  требуется уничтожить конкретный фоновый  процесс, обычно  приходится сначала запустить ps, чтобы  опреде лить  идентификатор процесса, а потом ввести его без ошибок как аргумент для kill. Но глупо  иметь одну программу, выводящую число, которое  сразу  же  приходится  вручную вводить в  другую  программу. Почему бы не написать программу, скажем, zap, чтобы  автоматизировать эту работу?

Читать »

Снова о файлах: каталоги

Добавлено Дата: 21 September, 2012 категория: Программирование для UNIX

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

Читать »

Язык сканирования и обработки шаблонов awk

Добавлено Дата: 18 September, 2012 категория: Программирование для UNIX

Некоторые ограничения sed устранены в программе awk. В ее основу положена та же идея, что и в sed, но реализация ближе к языку Си, чем к текстовому редактору. Формат вызова программы аналогичен sed:

$ awk  ’program’  имена5файлов …

но аргумент program имеет  другое значение:

Читать »

Потоковый редактор sed

Добавлено Дата: 16 September, 2012 категория: Программирование для UNIX

Теперь рассмотрим программу sed. Это будет не очень  сложно сделать, так  как она  является  прямым потомком редактора ed,  знакомство  с ним облегает задачу.

Основная идея  sed очень проста:

$ sed  ‘список команд ed’ имена5файлов

Читать »

СРЕДСТВА ЯЗЫКА SQL

Добавлено Дата: 11 September, 2012 категория: SQL, Базы данных

Явная поддержка наследования в языке SQL ограничивается (только) одинарным наследованием (только) для структурированных типов; в этом языке отсутствует явная поддержка наследования для сгенерированных типов, нет  явной поддержки для множественного наследования и вообще не поддерживается наследование для встроенных типов ИЛИ ТИПОВ DISTINCT14.

Читать »

Файловая система Основы

Добавлено Дата: 9 September, 2012 категория: Программирование для UNIX

Все,  что ни есть  в системе UNIX, – это файл. И это не такое уж  чрез мерное  упрощение, как может показаться на  первый взгляд. Когда  разрабатывалась первая версия системы, еще до того, как она получила название, было решено сконцентрировать усилия на создании простой  и удобной  в использовании структуры файловой системы. И своему  успеху и удобству применения  UNIX  в  большой степени обязан именно  файловой  системе. Она  представляет  собой один  из  лучших примеров воплощения философии «простоты», показывая, какой мощи  можно достичь  аккуратной реализацией небольшого  количества хорошо продуманных идей.

Читать »

СТАТИСТИЧЕСКИЕ БАЗЫ ДАННЫХ

Добавлено Дата: 8 September, 2012 категория: SQL, Базы данных

Статистической (в приведенном здесь контексте) называется база данных, в которой допускаются запросы с агрегированием данных (суммированием, вычислением среднего значения и т.д.), но не допускаются запросы по  отношению к элементарным данным. Например, в статистической базе данных  разрешается выдача запроса "Какова средняя зарплата служащих?", тогда как  выдача запроса "Какова зарплата служащего Мэри?" запрещена.

Читать »

Дальнейшая нормализация: нормальные формы более высокого порядка

Добавлено Дата: 8 September, 2012 категория: SQL, Базы данных

МНОГОЗНАЧНЫЕ ЗАВИСИМОСТИ И ЧЕТВЕРТАЯ НОРМАЛЬНАЯ ФОРМА

Пусть дана переменная отношения нстх (где н сокращенно обозначает "иерархический" — hierarchic), содержащая информацию о курсах обучения, преподавателях и учебниках. В этой переменной отношения атрибуты, описывающие преподавателей и учебники, принимают в качестве значений отношения (пример значения НСТХ приведен на рис. 13.1). Каждый кортеж переменной отношения НСТХ состоит из атрибута с названиями курсов (COURSE), a также атрибута-отношения с именами преподавателей (TEACHERS) и атрибута-отношения с названиями учебников (TEXTS) (на рис. 13.1 показаны два таких кортежа). Смысл каждого кортежа состоит в том, что соответствующий курс может читать любой из указанных преподавателей с использованием всех указанных учебников. Предположим, что для заданного курса с  может быть определено произвольное количество соответствующих преподавателей  m  и учебников п (m > 0n п  > 0). Более того, допустим, хотя этой не совсем реально, что преподаватели и рекомендуемые учебники совершенно не связаны друг с другом. Это означает, что независимо от того, кто преподает данный курс, всегда используется один и тот же набор учебников. Наконец, допустим, что определенный преподаватель или определенный учебник может быть связан с любым количеством курсов.

Читать »

Повседневная работа: файлы и основные команды

Добавлено Дата: 6 September, 2012 категория: Программирование для UNIX

Информация в  системе UNIX   хранится  в  файлах,  которые по  сути  своей  очень  похожи  на  обычные офисные папки  для документов. У каждого файла есть  имя, содержимое, место для хранения и некоторая  административная информация о его владельце и размере. Файл

Читать »

Пример: zap

Добавлено Дата: 3 September, 2012 категория: Программирование для UNIX

Программа  zap,  выборочно  уничтожающая   процессы, также  была  представлена в главе 5 в виде  командного файла. Основным недостатком той версии является скорость: программа создает так  много  процессов, что выполнение становится очень медленным, что нежелательно, особенно  для  программы, убивающей ошибочные процессы. Пере писанная на Си, zap будет работать быстрее. Не будем делать всю работу:  по-прежнему используем ps для  поиска информации о процессе. Это гораздо легче, чем получать информацию из ядра, к тому же такое решение переносимо. Программа  zap открывает канал, в котором со стороны ввода находится ps, и считывает данные оттуда, а не из файла. Функция popen(3) аналогична fopen, только первым аргументом является  не имя файла, а команда. Существует и функция pclose, которая не используется в данном примере.

Читать »

КАТАЛОГ SQL

Добавлено Дата: 31 August, 2012 категория: SQL, Базы данных

Стандарт SQL включает спецификации стандартного каталога, именуемого в нем информационной схемой. Знакомые нам термины каталог и схема действительно используются в языке SQL, но с особым смыслом, характерным только для языка SQL. Вообще говоря, каталог в языке SQL состоит из дескрипторов (метаданных) для отдельной базы данных3, а схема состоит из дескрипторов той части базы данных, которая принадлежит отдельному пользователю. Другими словами, в системе может быть любое число каталогов (по одному для каждой базы данных), каждый из которых делится на произвольное число схем. Однако каждый каталог должен содержать одну и только одну  схему  с именем INFORMATION_SCHEMA (информационная схема), которая с точки зрения пользователя и

Читать »

Доступ к файлам: vis, версия 3

Добавлено Дата: 30 August, 2012 категория: Программирование для UNIX

Две первые версии программы vis  читали только стандартный ввод и записывали выходные данные только в стандартный вывод, при  этом и ввод  и вывод  были  унаследованы от  оболочки. Пришло время сделать  следующий шаг – изменить vis так, чтобы она могла обратиться к файлу по его имени, тогда

Читать »

Отслеживание изменений файла: get и put

Добавлено Дата: 30 August, 2012 категория: Программирование для UNIX

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

Программа развивается по мере исправления ошибок и добавления новых  возможностей. Бывает удобно  отслеживать эти  версии, особенно если с ними работают на других машинах. Пользователи вполне могут  спросить: «Что  изменилось с тех  пор, как мы получили эту версию?» или: «Как исправлена такая-то ошибка?» К тому  же  при  наличии резервной копии применение новых идей  будет  более безопасным: если  что-то  не заработает, можно безболезненно вернуться к исходной программе.

Читать »

Введение в реляционные  базы данных

Добавлено Дата: 29 August, 2012 категория: SQL, Базы данных

Как уже  неоднократно  отмечалось,  реляционные  системы  базируются  на формальных  основах,  или  теории,  которая  называется  реляционной  моделью данных.   Интуитивно   ясно,   что,   кроме   всего   прочего,   в   такой   системе выполняются как минимум три условия.

Читать »

ДРУГИЕ НОРМАЛЬНЫЕ ФОРМЫ

Добавлено Дата: 26 August, 2012 категория: SQL, Базы данных

В этом разделе мы снова возвращаемся к теме нормализации. Прежде чем завершить обсуждение вопросов нормализации, следует напомнить сделанное в главе 12 замечание о том, что, помимо уже описанных, существуют и другие нормальные формы. Дело в том, что теория нормализации и связанные с ней  вопросы (в настоящее время эту область обычно называют теорией зависимостей) развились в широкую самостоятельную область знаний. Исследования в данной  области продолжаются и в настоящее время, причем довольно успешно (хотя в последнее время наблюдается некоторое снижение интереса к этой теме). Но более подробный обзор этих исследований выходит за рамки данной главы. Заинтересованный читатель найдет достаточно полный обзор полученных в этой области результатов в [13.18] (по состоянию на середину 1980-х годов), а более свежие обзоры можно найти в [11.1] и [11.3]. Ниже кратко описаны лишь некоторые из них.

Читать »