Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС лабы / ОС - Лабораторная работа 3.doc
Скачиваний:
58
Добавлен:
01.06.2015
Размер:
469.5 Кб
Скачать

41

МИНОБРНАУКИ РОССИИ

Федеральное государственное автономное образовательное учреждение высшего профессионального образования «ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»

Факультет автоматики и вычислительной техники

Кафедра математического обеспечения и применения ЭВМ

Руководство к лабораторной работе № 3

«Работа в ос unix/Linux и программирование на языке shell»

по курсу

«Операционные системы»

Составители: Болотов М.В., Дроздов С.Н.

Для студентов направлений/специальностей

231000 «Программная инженерия»

230100 «Программное обеспечение средств вычислительной техники и автоматизированных систем»

010500 «Математическое обеспечение и администрирование информационных систем»

090302 «Информационная безопасность телекоммуникационных систем»

090303 «Организация и технология защиты информации»

Таганрог   2013

для студентов ускоренного курса обучения спец.2204

  1. Цель работы

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

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

  1. Основные сведения

    1. Операционные системы UNIXиLinux

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

Существенными недостатками UNIXвсегда считались невысокая надежность и относительно низкая скорость работы.

В начале 90-х годов Линус Торвальдс заново написал основную часть операционной системы, соответствующей спецификациям UNIX. Новая система, ориентированная прежде всего на архитектуру процессоровIntel, получила названиеLinux. Хотя внутренняя организацияLinuxотличается от ранее известных версийUNIX, с точки зрения использования это практически одна и та же операционная система, но при этомLinuxотличается высокой надежностью и неплохой производительностью. Возобновление традиции свободного распространения исходных текстов привлекает кLinuxдополнительный интерес.

Далее, если не оговорено иное, под термином UNIXбудет пониматься также иLinux.

    1. Интерпретатор команд (shell)

В отличие от системы Windows, для которой оконный графический интерфейс является неотъемлемой частью, различные графические оболочки вUNIXявляются не более чем обычными прикладными программами, облегчающими выполнение некоторых стандартных задач, таких как запуск программ, поиск и копирование файлов и т.п. Во многих не столь стандартных случаях более мощным средством работы с системой оказываетсяинтерпретатор команд, по традиции носящий названиеshell. Далее для краткости будем называть его просто «шелл».

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

Возможности командного языка UNIXнастолько широки и гибки, что позволяют рассматривать этот язык не только как средство интерактивного общения пользователя с системой, но и как достаточно полноценный язык программирования. Разумеется, скорость выполнения шелл-скриптов во много раз меньше, чем скорость компилированной программы наCили на другом языке, однако шелл позволяет резко упростить решение многих практических задач, связанных с управлением операционной системой, обработкой текстовых файлов и т.п. Это достигается за счет того, что шелл-скрипты позволяют использовать «крупные блоки»: составлять новые программы путем изощренного комбинирования уже имеющихся программ-утилит, набор которых в любой современной версииUNIXвесьма обширен.

Существует несколько различных версий шелла, разработанных разными авторами: sh(шелл Боурна),ksh(шелл Корна),csh(Си-шелл),bash(новый шелл Боурна) и др. Все они одинаково обрабатывают большую часть команд, различаясь лишь некоторыми дополнительными возможностями. Как правило, в современныхUNIX-системах имеется несколько версий шелла, и хотя одна из них запускается при входе пользователя в систему, он может в любой момент воспользоваться другой версией, если она более удобна для решения конкретной задачи.

Дальнейшее изложение базируется на использовании ОС Linuxи наиболее характерного для нее шеллаbash, однако большая часть описанных команд и синтаксических конструкций будет правильно работать и в других версиях системы и шелла либо потребуют незначительных изменений.