ТОП 10:

Основные принципы функционирования ОС LINUX, файловая система и функции по обработке и управления данными



Учебно-методическое пособие к выполнению лабораторного практикума

по курсу

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

для студентов специальности 230102

 

 

 
 

 


Таганрог 2009
УДК 681.3.060(075.8)

 

Ю.М. Бородянский, В.Б. Лебедев, Самойлов А.Н., Скрынников М.Д.: Основные принципы функционирования ОС LINUX, файловая система и функции по обработке и управления данными. – Таганрог: Изд-во ТТИ ЮФУ, 2009. – 67 с.

 

 

Учебно-методическое пособие предназначено в качестве лабораторного руководства по курсу «Операционные системы» для студентов второго курса специальности 230102 «Автоматизированные системы обработки информации и управления».

Ил. 12., Табл. 8., Библиогр.: 5 назв.

 

 

Рецензент:

Ю.О. Чернышев, заслуженный деятель науки РФ, зав. каф. прикладной математики РГАСХМ, д.т.н., профессор.

В.Б. Тарасов, к.т.н., доцент Московского государственного технического университета им. М.Э. Баумана.

 

 


Содержание:

Введение.......................................................................................................... 5

1.Лабораторная работа №1............................................................................ 6

1.1.Цель работы........................................................................................... 6

1.2.Теоретические основы............................................................................ 6

1.3.Выполнение простых команд................................................................ 8

1.4.Работа с текстовым редактором Vim.................................................. 11

1.4.1.Перемещение по тексту в редакторе vi............................................ 13

1.5.Программирование на SHELL. Использование командных файлов. 14

1.6.Группирование команд........................................................................ 20

1.7.Примеры............................................................................................... 21

1.8.Файловая структура системы LINUX................................................. 22

1.9.Примеры............................................................................................... 24

1.10.Порядок выполнения лабораторной работы................................... 27

1.11.Индивидуальные задания.................................................................. 28

1.12.Контрольные вопросы....................................................................... 30

2.Лабораторная работа №2.......................................................................... 31

2.1.Цель работы......................................................................................... 31

2.2.Теоритические основы......................................................................... 31

2.2.1.Клиент-серверная модель и сетевая прозрачность.......................... 31

2.2.2.Интерфейсы пользователя................................................................ 32

2.2.3.Реализации......................................................................................... 33

2.2.4.X-терминалы..................................................................................... 34

2.2.5.Расширения....................................................................................... 34

2.2.6.Функции интерфейса пользователя.................................................. 35

2.3.Настройка Х Window........................................................................... 36

2.3.1.Запуск Х Window.............................................................................. 37

2.4.Менеджеры окон.................................................................................. 39

2.4.1.Настройка конфигурации менеджера окон fvwm............................ 40

2.4.2.Запуск AfterStep............................................................................... 44

2.4.3.Запуск менеджера окон twm............................................................. 45

2.5.Базовые операции Х11......................................................................... 45

2.6.Использование геометрических параметров клиента Х11................. 46

2.7.Установка цвета переднего плана и фона для клиентов Х11............. 46

2.8.Задание ресурсов клиентов Х11 цвета переднего плана и фона........ 47

2.9.Изменение режимов работы мыши и курсора для Х11..................... 49

2.10.Операции копирования и вставки в Х11........................................... 50

2.11.Захват и запись содержимого окон Х11........................................... 52

2.12.Настройка базового окна Х11 и использование экранных заставок. 53

2.13.Некоторые клиенты Х window.......................................................... 57

2.13.1.Программы поддержки терминалов Х11...................................... 57

2.13.2.Терминал xterm............................................................................... 58

2.13.3.Терминал rxvt.................................................................................. 59

2.14.Вывод перечня шрифтов Х11 с помощью xlsfonts.......................... 59

2.15.Получение информации об окне с помощью клиента xwininfo....... 60

2.15.Создание календаря с напоминаниями с помощью клиента xmessage. 61

2.16.Часы в Х11.......................................................................................... 61

2.17. Порядок выполнения лабораторной работы.................................. 63

2.18. Контрольные вопросы...................................................................... 64

Библиографический список.......................................................................... 66

 



Введение

Данное методическое пособие предназначено для студентов, обучающихся на кафедре Системного анализа и телекоммуникаций ТТИ ЮФУ.

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

В результате выполнения первой лабораторной работы студент научится работать с файловой системой, командами создания, удаления, модификации файлов и каталогов, функциями манипулирования данными, командным интерпретатором shell.

В результате выполнения второй лабораторной работы студент получит практические навыки работы с системой X-window, а именно научится конфигурировать систему.

 

 


Лабораторная работа №1.

Основные принципы функционирования ОС LINUX, файловая система и функции по обработке и управления данными.

Цель работы.

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

Теоретические основы.

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

Система включает следующие основные компоненты:

Ядро. Выполняет функции управления памятью, процессорами. Осуществляет диспетчеризацию выполнения всех программ и обслуживание внешних устройств. Все действия, связанные с вводом/выводом и выполнением системных операций, выполняются с помощью системных вызовов. Системные вызовы реализуют программный интерфейс между программами и ядром. Имеется возможность динамического конфигурирования ядра.

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

Интерпретатор команд Shell. Анализирует команды, вводимые с терминала либо из командного файла, и передает их для выполнения в ядро системы. Команды обычно имеют аргументы и параметры, которые обеспечивают модернизацию выполняемых действий. Shell является также языком программирования, на котором можно создавать командные файлы (shell-файлы). При входе в ОС пользователь получает копию интерпретатора shell в качестве родительского процесса. Далее, после ввода команды пользователем создается порожденный процесс, называемый процессом-потомком. Т.е. после запуска ОС каждый новый процесс функционирует только как процесс - потомок уже существующего процесса. В ОС LINUX имеется возможность динамического порождения и управления процессами.

Shell - интерпретатор в соответствии с требованиями стандарта POSIX поддерживает графический экранный интерфейс, реализованный средствами языка программирования Tcl/Tk.

Обязательным в системе является интерпретатор Bash, полностью соответствующий стандарту POSIX. В качестве Shell может быть использована оболочка mc с интерфейсом, подобным Norton Commander.

Сетевой графический интерфейс X-сервер (X-Windows). Обеспечивает поддержку графических оболочек.

Графические оболочки KDE, Gnome. Отличительными свойствами KDE являются: минимальные требования к аппаратуре, высокая надежность, интернационализация. Базовые библиотеки KDE (qt, kde-libs) признаны одними из лучших продуктов по созданию графического интерфейса, обеспечивают простое написание программ с использованием передовых технологий. Gnome имеет развитые графические возможности, но более требователен к аппаратным средствам.

Сетевая поддержка NFS, SMB, TCP/IP. NFS - программный комплекс РС-NFS (Network File System) для выполнения сетевых функций. РС-NFS ориентирован для конкретной ОС персонального компьютера (PC) и включает драйверы для работы в сети и дополнительные утилиты. SMB - сетевая файловая система, совместимая с Windows NT. TCP/IP - протокол контроля передачи данных (Transfer Control Protocol/Internet Protocol). Сеть по протоколам TCP/IP является неотъемлемой частью ОС семейства UNIX. Поддерживаются любые сети, от локальных до Internet, с использованием только встроенных сетевых средств.

Инструментальные средства программирования. Основой средств программирования является компилятор GCC или его экспериментальные версии EGCS и PGCC для языков С и С++; модули поддержки других языков программирования (Obective C, Фортран, Паскаль, Modula-3, Ада, Java и др.); интегрированные среды и средства визуального проектирования: Kdevelop, Xwpe; средства адаптации привязки программ AUTOCONFIG, AUTOMAKE.

В операционной системе LINUX файлами считаются обычные файлы, каталоги, а также специальные файлы, соответствующие периферийным устройствам (каждое устройство представляется в виде файла). Доступ ко всем файлам однотипный, в том числе, и к файлам периферийных устройств. Такой подход обеспечивает независимость программы пользователя от особенностей ввода/вывода на конкретное внешнее устройство.

Файловая структура LINUX имеет иерархическую древовидную структуру. В корневом каталоге размещаются другие каталоги и файлы, включая 5 основных каталогов:

· bin - большинство выполняемых командных программ и shell - процедур;

· tmp - временные файлы;

· usr - каталоги пользователей (условное обозначение);

· etc - преимущественно административные утилиты и файлы;

· dev - специальные файлы, представляющие периферийные устройства; при добавлении периферийного устройства в каталог /dev должен быть добавлен соответствующий файл (черта / означает принадлежность корневому каталогу).

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

Полное имя файла может включать имена каталогов, включая корневой, разделенных косой чертой, например: /home/student/file.txt. Первая косая черта обозначает корневой каталог, и поиск файла будет начинаться с него, а затем в каталоге home, затем в каталоге student.

Один файл можно сделать принадлежащим нескольким каталогам. Для этого используется команда ln (link):

ln <имя файла 1> <имя файла 2>

Имя 1-го файла - это полное составное имя файла, с которым устанавливается связь; имя 2-го файла - это полное имя файла в новом каталоге, где будет использоваться эта связь. Новое имя может не отличаться от старого. Каждый файл может иметь несколько связей, т.е. он может использоваться в разных каталогах под разными именами. Команда ln с аргументом -s создает символическую связь:

ln -s <имя файла 1> <имя файла 2>

Здесь имя 2-го файла является именем символической связи. Символическая связь является особым видом файла, в котором хранится имя файла, на который символическая связь ссылается. LINUX работает с символической связью не так, как с обычным файлом - например, при выводе на экран содержимого символической связи появятся данные файла, на который эта символическая связь ссылается.

Выполнение простых команд

Формат команд в ОС LINUX следующий:

имя команды [аргументы] [параметры] [метасимволы]

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

Введите команду echo, которая выдает на экран свои аргументы:

echo good morning

и нажмите клавишу Enter. На экране появится приветствие "good morning" – аргумент команды echo. Командный интерпретатор shell вызвал команду echo, реализованную в виде программы на языке СИ, и передал ей аргументы. После этого интерпретатор команд вывел знак-приглашение. Синтаксис команды echo:

echo [-n] [arg1] [arg2] [arg3]...

Команда помещает в стандартный вывод свои аргументы, разделенные пробелами и завершаемые символом перевода строки. При наличии флага -n символ перевода строки исключается.

· who [am i] - получение информации о работающих пользователях. На рис.1 изображен результат ввода команды для получения информации о пользователях, подсчет их количества, и запись в файл.

 

Рис.1 Получение информации о пользователях

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

· идентификатор пользователя;

· идентификатор терминала;

· дата подключения;

· время подключения.

· date - вывод на экран текущей даты и текущего времени;

· cal [[месяц]год] - календарь; если календарь не помещается на одном экране, то используется команда cal год | more и клавишей пробела производится постраничный вывод информации;

· man <название команды> - вызов электронного справочника об указанной команде. Выход из справочника - нажатие клавиши Q. Команда man man сообщает информацию о том, как пользоваться справочником;

· tty - сообщение имени специального файла стандартного вывода, соответствующего терминалу пользователя;

· cat <имя файла> - вывод содержимого файла на экран. Команда cat>text.1 создает новый файл с именем text.1, который можно заполнить символьными строками, вводя их с клавиатуры. Нажатие клавиши Enter создает новую строку. Завершение ввода - нажатие Ctrl+d. На рис.2 изображено создание двух файлов, ввод в них информации и вывод полученных файлов на экран. Команда cat text.1 > text.2 пересылает содержимое файла text.1 в файл text.2. Слияние файлов осуществляется командой cat text.1 text.2 > text.3 (Рис.3);

Рис.2 Создание и просмотр файлов.

Рис.3 Объединение двух файлов в единый и вывод его на экран

· ls [-alrstu] [имя] - вывод содержимого каталога на экран. Если аргумент не указан, выдается содержимое текущего каталога;

Аргументы команды:

· -a - выводит список всех файлов и каталогов, в том числе и скрытых;

· -l - выводит список файлов в расширенном формате, показывая тип каждого элемента, полномочия, владельца, размер и дату последней модификации;

· -r - выводит список в порядке, обратном заданному;

· -s - выводит размеры каждого файла;

· -t - перечисляет файлы и каталоги в соответствии с датой их последней модификации;

· -u - перечисляет файлы и каталоги в порядке, обратном их последней модификации;

· tree – команда, использующаяся для получения более детальной картины, которая выводит полную структуру файловой системы, начиная от корневого каталога (он называется root и обозначается косой чертой - /). При этом вы увидите все имеющиеся подкаталоги (каталог /usr/src в Вашей системе может немного отличаться, все зависит от установленной версии Linux). Основные каталоги ОС Linux приведены в таблице 1.

Таблица 1. Основные каталоги ОС Linux

Имя Описание
/ Корневой каталог
/bin Наиболее важные команды и программы
/boot Все, что необходимо для загрузки операционной системы, ядро Linux
/dev Файлы устройств
/etc Системные конфигурационные файлы
/home Домашние каталоги пользователей
/lib Общие библиотеки, модули ядра
/mnt Это каталог для монтирования локальных и удаленных файловых систем
/opt Дополнительные программные пакеты
/proc Информация, касающаяся ядра; управление процессами
/root Домашний каталог пользователя root
/sbin Системные команды
/tftpboot Поддержка сетевой загрузки ОС
/tmp Временные файлы
/usr Иерархия вторичных программных файлов
/var Переменные данные (например, регистрационные журналы); файлы спула (например, принтера)

 

· rm <имя файла> - удаление файла (файлов). Команда rm text.1 text.2 text.3 удаляет файлы text.1, text.2, text.3. Другие варианты этой команды - rm text.[123] или rm text.[1-3];

· wc [имя файла] - вывод числа строк, слов и символов в файле;

· clear - очистка экрана.







Последнее изменение этой страницы: 2016-08-16; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.232.51.69 (0.013 с.)