Учебное пособие по ос Linux


Учебное пособие по работе в ОС Linux.

Отличный краткий учебник для новичков РІ Linux. Охватывает практически РІСЃРµ аспекты пользовательской работы РІ системе. Рзложение материала краткое Рё СЏСЃРЅРѕРµ.


СОДЕРЖАНРР•


Введение

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

Основные принципы функционирования операционной

системы LINUX

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

Рзучение файловой системы Рё функций РїРѕ обработке

и управления данными

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

Создание и выполнение командных файлов в

пользовательской среде ОС LINUX

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

Формирование гибкого системного диска ОС LINUX

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

Рзучение графической оболочки KDE

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

Файловый менеджер Konqueror Web Browser


Список литературы

Приложение 





Министерство образования Российской Федерации

РЈР¤РРњРЎРљРР™ ГОСУДАРСТВЕННЫЙ РђР’РРђР¦РОННЫЙ

ТЕХНРЧЕСКРР™ РЈРќРВЕРСРТЕТ



РАБОТА ПОЛЬЗОВАТЕЛЯ Р’ ОПЕРАЦРРћРќРќРћР™ РЎРСТЕМЕ

LINUX



МЕТОДРЧЕСКРР• РЈРљРђР—РђРќРРЇ


к лабораторному практикуму по курсу

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

для студентов специальностей 220200 –

Автоматизированные системы обработки

информации и управления и 351400 –

Прикладная информатика в экономике


Уфа 2005


Составители: Рћ.Р”. Лянцев, Р .Р . Еникеев, Рђ.Рђ. Колесников, Рџ.Р. Тарарако


УДК 681.3


Работа пользователя РІ операционной системе LINUX: Методические указания Рє лабораторному практикуму РїРѕ РєСѓСЂСЃСѓ "Операционные системы" для студентов специальностей 220200 – Автоматизированные системы обработки информации Рё управления Рё 351400 – Прикладная информатика РІ СЌРєРѕРЅРѕРјРёРєРµ /Уфимск. РіРѕСЃ. авиац. техн. СѓРЅ-С‚; РЎРѕСЃС‚.: Рћ.Р”. Лянцев, Р .Р . Еникеев, Рђ.Рђ. Колесников, Рџ.Р. Тарарако - Уфа, 2005. - 56 СЃ.



Приведены основные сведения Рѕ принципах организации Рё функционирования многопользовательской операционной системы LINUX. Рассматриваются структура файловой системы, функции РїРѕ обработке Рё управлению данными, создание Рё выполнение командных файлов. Рзучаются принципы взаимодействия LINUX СЃ внешними устройствами Рё формирование системных Рё инсталляционных РґРёСЃРєРѕРІ. Рзучаются многозадачный режим выполнения процессов, Р° также пользовательский Рё программный интерфейсы операционной системы. Практическое изучение функциональных особенностей системы иллюстрируется примерами формирования простых Рё сложных команд РїРѕ обработке данных. Приводится методика Рё РїРѕСЂСЏРґРѕРє выполнения лабораторных работ, РІ приложении содержатся вспомогательные материалы.



Библиогр.: 7 назв.

Рецензенты: Ю.Б. Головкин, Р.В. Насыров



Введение

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

UNIX-сеpвеpы предназначены для хранения и обработки больших объемов информации. Особенно эффективно использование UNIX-серверов при распределенной обработке данных. Для этого разработаны системы распределенных вычислений в соответствии со стандартом CORBA. К таким системам относятся системы управления базами данных (СУБД типа Oracle, Informix), файл-серверы, FTP-серверы, WWW-серверы и др., которые поддерживаются ОС Linux. В распределенных системах информация может находиться на различных рабочих станциях, различных дисках, программные модули могут функционировать на различных компьютерах, но система работает таким образом, что это составляет единое целое. При обработке больших объемов информации используется технология клиент - сервер, при которой пользователь работает только с той информацией, которая ему необходима. Развитием технологии клиент - сервер является технология интеллектуальных агентов.

ОС Linux является сетевой операционной системой для 32-х или 64-х разрядных платформ. Она обеспечивает маштабируемость в диапазоне от игровых приставок (Sony Play Station) до кластерных серверов Internet.

РћРЎ Linux РЅРµ связана СЃ конкретной моделью компьютеров. Её СЏРґСЂРѕ реализовано РЅР° языке высокого СѓСЂРѕРІРЅСЏ (языке РЎР), что позволяет достаточно легко переносить эту систему СЃ РѕРґРЅРѕР№ платформы РЅР° РґСЂСѓРіСѓСЋ. Система распространяется РїРѕ лицензии GNU либо подобным свободным лицензиям, обеспечивается как коммерческое, так Рё СЃРІРѕР±РѕРґРЅРѕРµ сопровождение через Internet. Поставка исходных модулей системы обеспечивает возможность адаптации прикладных программ РІ случае перехода РЅР° РґСЂСѓРіСѓСЋ платформу Рё дает возможность контроля РєРѕРґРѕРІ, реализующих несанкционированный доступ. Р’ разработке системы приняло участие большое количество специалистов, зарегистрировавших СЃРІРѕРё авторские права, что дает гарантии ее немонополизации.

Подключение персональных компьютеров (ПК) в вычислительную сеть с UNIX - серверами может осуществляться по протоколу TCP/IP, при этом пользователи получают следующие возможности:

1) использование UNIX-сервера, как файл - сервера;

2) эмуляция на ПК удаленного терминала (режим TELNET);

3) организация системы клиент - сервер (рабочая станция формирует SQL - запросы, сервер их обрабатывает);

4) непосредственный обмен файлами между ПК по протоколу FTP;

5) организация распределенных вычислений по стандарту CORBA.

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

ЛАБОРАТОРНАЯ РАБОТА № 1


ОСНОВНЫЕ РџР РРќР¦РРџР« ФУНКЦРРћРќРР РћР’РђРќРРЇ ОПЕРАЦРРћРќРќРћР™ РЎРСТЕМЫ LINUX


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

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


2. Теоретическая часть

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

РЇРґСЂРѕ. Выполняет функции управления памятью, процессорами. Осуществляет диспетчеризацию выполнения всех программ Рё обслуживание внешних устройств. Р’СЃРµ действия, связанные СЃ РІРІРѕРґРѕРј/выводом Рё выполнением системных операций, выполняются СЃ помощью системных вызовов. Системные вызовы реализуют программный интерфейс между программами Рё СЏРґСЂРѕРј. Рмеется возможность динамического конфигурирования СЏРґСЂР°.

Диспетчер процессов 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.


2.1. Регистрация пользователя в системе

Для входа пользователя с терминала в многопользовательскую операционную систему LINUX необходимо зарегистрироваться в качестве пользователя. Для этого нужно после сообщения

Login:

ввести системное имя пользователя, например, "student". Если имя задано верно, выводится запрос на ввод пароля:

Password:

Наберите пароль "student" и нажмите клавишу Enter.

Если имя или пароль указаны неверно, сообщение login повторяется. Значение пароля проверяется в системном файле password, где приводятся и другие сведения о пользователях. После правильного ответа появляется приветствие LINUX и приглашение:

[email protected]linux:>

Вы получили доступ к ресурсам ОС LINUX.


2.2. Выход из системы

Exit - окончание сеанса пользователя.

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

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

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

РРјСЏ команды может содержать любое допустимое РёРјСЏ файла; аргументы - РѕРґРЅР° или несколько Р±СѓРєРІ СЃРѕ знаком РјРёРЅСѓСЃ (-); параметры - передаваемые значения для обработки; метасимволы интерпретируются как специальные операции. Р’ квадратных скобках указываются необязательные части команд.

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

Echo good morning

Рё нажмите клавишу Enter. РќР° экране появится приветствие "good morning" – аргумент команды echo. Командный интерпретатор shell вызвал команду echo, реализованную РІ РІРёРґРµ программы РЅР° языке РЎР, Рё передал ей аргументы. После этого интерпретатор команд вывел знак-приглашение. Синтаксис команды echo:

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

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

Who [am i] - получение информации о работающих пользователях.

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

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

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

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

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

Date - вывод на экран текущей даты и текущего времени.

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

Man - вызов электронного справочника об указанной команде. Выход из справочника - нажатие клавиши Q.

Команда man man сообщает информацию о том, как пользоваться справочником.

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

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

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

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

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

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

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

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

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

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

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

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

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


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

Группы команд или сложные команды могут формироваться с помощью специальных символов (метасимволов):

& - процесс выполняется в фоновом режиме, не дожидаясь окончания предыдущих процессов;

? - шаблон, распространяется только на один символ;

* - шаблон, распространяется на все оставшиеся символы;

| - программный канал - стандартный вывод РѕРґРЅРѕРіРѕ процеЃР° является стандартным РІРІРѕРґРѕРј РґСЂСѓРіРѕРіРѕ;

> - переадресация вывода в файл;

; - если в списке команд команды отделяются друг от друга точкой с запятой, то они выполняются друг за другом;

&& - эта конструкция между командами означает, что последующая команда выполняется только при нормальном завершении предыдущей команды ( код возврата 0 );

|| - последующая команда выполняется только, если не выполнилась предыдущая команда ( код возврата 1 );

() - группирование команд в скобки;

{ } - группирование команд с объединенным выводом;

[] - указание диапазона или явное перечисление ( без запятых);

>> - добавление содержимого файла в конец другого файла.


Примеры.

Who | wc - подсчет количества работающих пользователей командой wс (word count - счет слов);

Cat text.1 > text.2 - содержимое файла text.1 пересылается в файл text.2;

Mail student

Cat text.1,text.2 - просматриваются файлы text.1 и text.2;

Cat text.1 >> text.2 - добавление файла text.1 в конец файла text.2;

Cc primer.c & - трансляция РЎР - программы РІ фоновом режиме. РРјСЏ выполняемой программы РїРѕ умолчанию a.out.

Cc -o primer.o primer.c - трансляция РЎР-программы СЃ образованием файла выполняемой программы СЃ именем primer.o;

Rm text.* - удаление всех файлов с именем text;

{cat text.1; cat text.2} | lpr - пpосмотp файлов text.1 и text.2 и вывод их на печать;

Ps [al] [number] - команда для вывода информации о процессах:

-a - вывод информации обо всех активных процессах, запущенных с вашего терминала;

-l - полная информация о процессах;

Number - номер процесса.

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


F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD


1 S 200 210 7 0 2 20 80 30 703a 03 0:07 cc

1 R 12 419 7 11 5 20 56 20 03 0:12 ps


F - флаг процесса (1 - в оперативной памяти, 2 - системный процесс, 4 - заблокирован в ОЗУ, 20 - находится под управлением другого процесса, 10 - подвергнут свопингу);

S - состояние процесса (O - выполняется процессором , S - задержан, R - готов к выполнению, I - создается);

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

PID - идентификатор процесса;

PPID - номер родительского процесса;

C - степень загруженности процессора;

PRI - приоритет процесса, вычисляется по значению переменной NICE и чем больше число, тем меньше его приоритет;

NI - значение переменной NICE для вычисления динамического приоритета, принимает величины от 0 до 39;

ADDR - адрес процесса в памяти;

SZ - объем ОЗУ, занимаемый процессом;

WCHAN - имя события, до которого процесс задержан, для активного процесса - пробел;

TTY - номер управляющего терминала для процесса;

TIME - время выполнения процесса;

CMD - команда, которая породила процесс.

Nice [-приращение приоритета] команда[аргументы] - команда изменения приоритета. Каждое запущенное задание (процесс) имеет номер приоритета в диапазоне от 0 до 39, на основе которого ядро вычисляет фактический приоритет, используемый для планирования процесса. Значение 0 представляет наивысший приоритет, а 39 - самый низший. Увеличение номера приоритета приводит к понижению приоритета, присвоенного процессу. Команда nice -10 ls -l увеличивает номер приоритета, присвоенный процессу ls -l на 10.

Renice 5 1836 - команда устанавливает значение номера приоритета процесса с идентификатором 1836 равным 5. Увеличить приоритет процесса может только администратор системы.

Kill [-sig] - прекращение процесса до его программного завершения. sig - номер сигнала. Sig = -15 означает программное (нормальное) завершение процесса, номер сигнала = -9 - уничтожение процесса. По умолчанию sig= -9. Вывести себя из системы можно командой kill -9 0. Пользователь с низким приоритетом может прервать процессы, связанные только с его терминалом.

mc - вызов файлового менеджера (программы - оболочки) Midnight Commander, аналогичного Norton Commander.

sort [-dr] - сортировка входных файлов и вывод результата на экран.

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

1. Ознакомиться с теоретической частью к лабораторной работе.

2. Зарегистрироваться в системе LINUX.

3. Определить день недели, в который Вы родились.

4. Получить подробную информацию обо всех активных процессах.

5. Рспользуя редактор VI (СЃРј. приложение), создать РґРІР° текстовых файла (СЃ расширением TXT) Рё командой РЎРђРў просмотреть РёС… РЅР° экране.

6. Получить информацию о работающих пользователях, подсчитать их количество и запомнить в файле.

7. Объединить текстовые файлы в единый файл и посмотреть его на экране.

8. Посмотреть приоритет своего процесса и уменьшить скорость его выполнение за счет повышения номера приоритета.

9. Рспользуя редактор VI, написать программу РЅР° языке РЎР Рё запустить ее РЅР° трансляцию РІ фоновом режиме.

10. Показать преподавателю исходный текст программы РЅР° языке РЎР, текстовый файл, файл СЃ сохранением количества пользователей.

11. Продемонстрировать выполнение СР- программы.

12. Удалить свои файлы и выйти из системы.


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

1. Перечислите основные функции и назначение многопользовательской многозадачной операционной системы LINUX и ее отличительные особенности от однопрограммной системы DOS.

2. Какое назначение имеет ядро системы и интерпретатор команд?

3. В чем заключается понятие "процесс" и какие операции можно выполнить над процессами?

4. Как задаются и выполняются простые и сложные команды?

5. Какие функции выполняет командный интерпретатор Shell?




статистика