Введение в ОС LINUX презентация

Содержание

Введение в ОС LINUX Linus Torvalds

Слайд 1Введение в ОС LINUX
© Варфоломеев В.А., МИИТ, кафедра АСУ


Слайд 2Введение в ОС LINUX
Linus Torvalds


Слайд 3Введение в ОС LINUX
Мир ОС Unix
AIX (IBM)
HP-UX (HP)
IRIX (SGI)
Solaris (Sun)
SunOS

(Sun)

SCO UNIX (Microsoft)

Linux

Free BSD

Стандарты POSIX → x Open (XPG):
Унификация требований к интерфейсу пользователя shell
Унификация системных вызовов (язык С/C++)

Клоны: System V (Sun), OSF1 (IBM, HP), BSD


Слайд 4Введение в ОС LINUX
Мир ОС Linux
Ubuntu
openSUSE
Red Hat
Mandriva
Slackware
Debian)
Fedora
ALTLinux, ASPLinux, Runto, Linux

XP, …

GNU General Public License (Универсальная общественная лицензия GNU) — лицензия на свободное программное обеспечение
Предоставляет пользователю права копировать, модифицировать и распространять (в том числе на коммерческой основе) программы, а также гарантировать, что и пользователи всех производных программ получат вышеперечисленные права.


Слайд 5Введение в ОС LINUX
Организация файловой системы
Файловая система ОС LINUX имеет иерархическую

(древовидную)
структуру.

корневой каталог(/)

каталог4

каталог1

каталог2

каталог3

каталог5

каталог6

файл1

файл3

файл4

файл2

файл7

файл5

файл6


Слайд 6Введение в ОС LINUX
Физическая файловая система
Имя Индекс
file1

1234
file2 2345
dir1 0256

Каталог

Атрибуты файла Указатели блоков памяти


= = = = = = = = = A1 A2 ... A12 A13 A14 A15

Таблица индексных дескрипторов

Д

Д

Д

У

У

У

У

...

Д

...

...

Д

Д

...

Д

Д

...

Д


Слайд 7Введение в ОС LINUX
Типы файлов LINUX
Обычный файл (-)
Каталог (d)

Файл – устройство
Символьное (c)
Блочное (b)
Именованный канал FIFO (p)
Сокет (s)
Ссылка (l)

Слайд 8Введение в ОС LINUX
Системные каталоги LINUX
/
bin
dev
etc
lib
mnt
sbin
tmp
usr
boot
- корневой каталог
- команды и утилиты

LINUX

- специальные файлы, представляющие устройства ввода-вывода

- утилиты администратора системы и конфигурационные файлы

- важнейшие библиотеки программ

- подключаемые (или монтируемые) файловые системы

важные системные программы, используемые для
администрирования

- временные файлы

- файлы загрузки операционной системы

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

home

домашние каталоги зарегистрированных пользователей


Слайд 9Введение в ОС LINUX
Имена файлов LINUX
В качестве имени файла может

использоваться последовательность
из букв, цифр, знака подчеркивания и точки (POSIX).
Длина имени файла колеблется от 14 до 256 символ в зависимости
от системы.
В ОС LINUX прописные и строчные символы в именах файлов
воспринимаются как различные, поэтому file, File, FILE – это три
различных файла.
Файлы, начинающиеся с символа “.” считаются скрытыми и
зачастую не отображаются при просмотре каталога без особой
команды.
Для указания группы файлов могут быть использованы символы шаблона.

Слайд 10Введение в ОС LINUX
Абсолютные и относительные имена файлов
Абсолютное имя файла

(до 1023 символов):
/u/u01/doc/pismo
Относительное имя файла:
pismo ($PWD=/u/u01/doc/)
doc/pismo ($PWD=/u/u01/)
../u01/doc/pismo ($PWD=/u/u02/)
~/doc/pismo

/ – корневой каталог
. – текущий (рабочий) каталог (PWD)
.. – родительский каталог
~ – домашний каталог (HOME)


Слайд 11Введение в ОС LINUX
Шаблоны имен файлов
Символы шаблона:
* - заменяет любое количество

произвольных символов, в том числе и отсутствие символов:
b* → b, bob, b805, b.txt
*/*.c → prg/hello.c,prg/calc.c, lib/win.c
? – заменяет один любой символ:
b? → b1, bb, bx, b#
???/.* → usr/.sh_history, etc/.profile
[…] – определяет множество символов, из которых может быть выбран только один:
a[cChH] → ac или aC или ah или aH
[a-z]file → afile, bfile, … , zfile
[!0-9]* → afile3, rc, .file но не 4ac, 999, 7sht

Слайд 12Введение в ОС LINUX
Пользователи системы LINUX
Все пользователи должны быть зарегистрированы в

системе и для
них установлены определенные права. Каждый пользователь
имеет:

уникальное регистрационное имя (login name)
идентификатор пользователя (UID)
пароль (password)
домашний каталог (user directory)
командный интерпретатор для поддержки сеанса работы (shell)

Все пользователи объединяются в группы. Каждая группа имеет:

уникальное имя (group name)
идентификатор группы (GID)

/etc/passwd - сведения обо всех зарегистрированных пользователях
/etc/group - сведения обо всех зарегистрированных группах

Слайд 13Введение в ОС LINUX
Пользовательский интерфейс LINUX
LINUX поддерживает два типа пользовательских интерфейсов.
Базовый

тип командный интерпретатор shell, использующий текстовый алфавитно-цифровой терминал. Тип интерфейса – командная строка.
sh – Bourne shell
csh – C-shell
ksh – Korn-shell
bash – Bourne Again shell

Графический интерфейс – x Window.
Типы графических оболочек: Gnome, KDE.

Слайд 14Введение в ОС LINUX
Пользовательская среда shell
В рамках любого из интерпретаторов можно:

использовать набор команд (встроенные и внешние)
создавать и исполнять командные процедуры – скрипты
запускать на выполнение любые программы
осуществлять настройку терминала и параметров среды
(окружения) пользователя

Каждый раз, когда открывается пользовательский сеанс,
автоматически запускаются два файла:
profile
bashes

Слайд 15Введение в ОС LINUX
Обобщенный формат команд shell
имя_команды – ключевое слово, определяющее

действие команды: cd, cat, find, set
ключ (опция) – символ, задающий режим или способ выполнения команды (предваряется знаком “-”):
-l, -E, -alEgF
аргументы – список параметров, указывающих на обрабатываемые объекты или задающих исходные данные

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

man – команда вывода страниц руководства по командам shell

имя_команды [-ключи] [аргументы…]


Слайд 16Введение в ОС LINUX
Работа с каталогами
Показать текущий каталог (pwd)
pwd

Изменить

текущий каталог (cd)
cd [имя_каталога]

$ cd
$ pwd
/u/u01
$ cd pic
$ pwd
/u/u01/pic

$ cd ..
$ pwd
/u/u01
$ cd /etc
$ pwd
/etc


Слайд 17Введение в ОС LINUX
Создание каталога
mkdir имя_каталога1 [имя_каталога2 …]

$ mkdir dir -

создание каталога, с именем dir в текущем каталоге
$ mkdir –m 750 dir - создание каталога с установленными правами
доступа (код 750)
$ mkdir dir1 dir2 dir3 - создание нескольких каталогов
$ mkdir /home/stud/tst - создание каталога с абсолютным именем

Слайд 18Введение в ОС LINUX
Просмотр содержимого каталога
Список файлов текущего каталога
$ ls
file1

file2 dir1

Список файлов указанного каталога /u/user01
$ ls -F /u/user01
file1 file2* dir1/

* - программы (исполнимые файлы)
/ - каталоги
@, & - ссылки на другие файлы
| - FIFO файл
пробел - простой файл

ls [-ключи] [имя_каталога]


Слайд 19Введение в ОС LINUX
Просмотр содержимого каталога
Расширенный вывод каталога /home/stud
$ ls

–l /home/stud
-rwxr-xr-x 1 user01 is 512 Apr 16 10:46 file1
-rw-r--r-x 1 user01 is 1320 Apr 11 17:02 file2
drw-r--r-x 1 user01 is 8096 Apr 11 17:02 dir1

Тип
файла

Число
ссылок

Имя
группы

Дата и
время

Права
доступа

Имя
пользователя

Размер

Имя
файла




Слайд 20Введение в ОС LINUX
Удаление каталога
rmdir [-p] каталог
Удаляет пустые каталоги или деревья

(-p)
$ rmdir /abc
$ rmdir –p /int/mom/tmp

rm [-irv] каталог
Удаляет файлы из указанных каталогов и сами каталоги
-i – вывод запроса на удаление файлов
-r – удаление всех подкаталогов (рекурсивное удаление)
-v – вывод списка удаленных файлов
$ rm -r /temp

Слайд 21Введение в ОС LINUX
Создание и редактирование файлов
ed [файл] – встроенный текстовый

редактор shell
vi [файл] – встроенный текстовый редактор shell
сat > файл – ввод с консоли (Ctrl-D – завершить ввод)

Слайд 22Введение в ОС LINUX
Вывод текстовых файлов
сat файл [файл …] - для

просмотра файлов из нескольких строк
Управляющие действия:
Ctrl-s – приостановка, Ctrl-q - возобновление вывода

more файл - постраничный просмотр больших файлов
Управляющие действия:
Пробел - переход на следующую страницу
Enter - сдвиг вперед на одну строку
b - возврат на предыдущую страницу
h - обращение за подсказкой
q или Ctrl-c - выход в режим командной строки

Слайд 23Введение в ОС LINUX
Удаление файла
rm [-iv] файл [файл…]
-i – вывод запроса

на удаление файлов
-v – вывод списка удаленных файлов

$ rm file1 file2 file3
$ rm –i file?
$ rm –i ~/*.o


Слайд 24Введение в ОС LINUX
Копирование файлов и каталогов
Копирование файлов в текущем каталоге
cp

[-ключи] файл1 файл2
$ cp file1 file2

Копирование файлов в другой каталог
cp [-ключи] файл [файл…] каталог
$ cp file1 file2 ~/dir
$ cp –i file1 /dir
overwrite dir/file1? n

Копирование каталога в другой каталог
cp [-ключи] каталог1 каталог2
$ cp –r ~/dir /tmp

Слайд 25Введение в ОС LINUX
Перемещение и переименование файлов и каталогов
Переименование файла
mv [-ключи]

файл1 файл2
$ mv file1 file3

Перемещение файла в другой каталог
mv [-ключи] файл [файл…] каталог
$ mv file3 dir

Переименование каталога
mv [-ключи] каталог1 каталог2
$ mv dir katalog

Перемещение каталога в другой каталог
mv [-ключи] каталог1 каталог2
$ mv –r dir katalog

Слайд 26Введение в ОС LINUX
Жесткие ссылки (hard link)

ln /u/user1/filec /u/user2/filec
link /u/user1/filec /u/user2/filec
u
user1
user2
file1
Inode=0333
filec
Inode=1077
file1
Inode=1451


Слайд 27Введение в ОС LINUX
Символические ссылки (symbolic link)

ln –s /home/user1/filec /home/user2/filec
home
user1
user2
file1
Inode=0333
filec
Inode=1077
file1
Inode=1451
filec
Inode=1946
/u/user1/filec


Слайд 28Введение в ОС LINUX
Выборка столбцов файла

сut –c список файл

$ cat tabl1
1

Ivan 578 mosсow
2 Peter 435 newyork
3 Sasha 734 orel

$ cut –c 1, 3, 4, 5, 16-22 tabl1
1Ivamoscow
2Petnewyork
3Sasorel

Слайд 29Введение в ОС LINUX
Поиск контекста в файле
grep [-ключи] шаблон [файл]
egrep [-ключи]

шаблон [файл]

-c - вывести количество найденных строк
-v - вывести строки, не удовлетворяющие условию
-i - игнорировать различие между прописными и строчными
символами

$ grep linux docs.txt
$ grep –ci ’Red Hat Linux’ docs.txt
$ grep ’get|put|print|write’ docs.txt

Слайд 30Введение в ОС LINUX
Поиск контекста в файле
Специальные символы шаблона:
. – любой

произвольный символ
* – предыдущий символ повторить любое число раз
.* – любая последовательность символов
^шаблон – привязка шаблона к началу строки
шаблон$ – привязка шаблона к концу строки
[символы] – взять ровно один символ из списка

$ grep ’^a.*z$’ docs.txt
$ grep ’^[aA]$’ docs.txt
$ grep ’\$1\.00’ price


Слайд 31Введение в ОС LINUX
Поиск файлов по запросу
find каталог ключи-условия [ключи-действия]

Ключи-условия:
-name шаблон

- шаблон имени файла
-type f - брать только обыкновенные файлы ( d - только каталоги)
-size +500 - файлы размером более 500*512 байт
-mtime –3 – файл изменен менее трех дней назад
-atime +3 – последний доступ к файлу более трех дней назад
-user имя - файлы, принадлежащие указанному пользователю
-group имя - файлы, принадлежащие пользователям указанной группы
-maxdepth 1 – ограничить глубину поиска по вложенным каталогам

Ключи-действия:
-exec команда {} \; - выполнить заданную команду над найденными файлами

$ find / -name ’*.c’
$ find /tmp –type f –atime+30 –exec rm {} \;

Слайд 32Введение в ОС LINUX
Стандартные потоки ввода-вывода
Стандартный входной поток stdin (дескриптор

0)
Стандартный выходной поток stdout (дескриптор 1)
Стандартный выходной поток ошибок stderr (дескриптор 2)

программа
(команда)

stdin(fd0)

stderr(fd2)

stdout(fd1)

экран

клавиатура


Слайд 33Введение в ОС LINUX
Перенаправление ввода-вывода
Перенаправление ввода-вывода – это изменение стандартных
входных

и выходных потоков и привязка к определенным устройствам
или файлам

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

Слайд 34Введение в ОС LINUX
Перенаправление ввода-вывода
Перенаправление вывода
$ ls > file – вывод

данных не на экран, а в файл
$ cat f1 f2 f3 > f4 – слияние нескольких файлов в один
$ cat > newfile – ввод данных с клавиатуры (Ctrl-D-завершить)
$ cat file1 >> file2 – к существующему файлу file2 добавить
информацию из файла file1
$ sort myfile > /dev/null – подавление вывода
$ find / -mtime +30 2> errfile – переназначение потока ошибок

Перенаправление ввода
$ mailx user02 < mymessage
$ cat >hello.c <

Слайд 35Введение в ОС LINUX
Конвейеры команд
программа1
stdin
stdout
программа2
stdin
stdout

команда1 | команда2 | команда3…
$ ls –l

| more – постраничный вывод текущего каталога
$ ls –l | cut –c1 | grep –c “^d” – поиск и вывод на экран информации
о количестве каталогов, входящих в
текущий каталог

Слайд 36Введение в ОС LINUX
Управление доступом к файлам
Владелец
Группа
Прочие
SetUID – разрешение выполнять файл

от имени владельца
SetGID – разрешение выполнять файл от имени группы владельца
Sticky – разрешение записи в каталог без возможности удаления и переименования файлов
r – разрешение на чтение
w– разрешение на запись
x – разрешение на выполнение

1 0 1 1 1 1 1 1 0 1 0 0 57648


Слайд 37Введение в ОС LINUX
Права доступа к файлу и каталогу
Отсутствие права x

для каталога означает запрет на выполнение любых операций с данным каталогом и входящими в него файлами, независимо от того, какие атрибуты имеют файлы каталога.
Право r для каталога (совместно с x) дает возможность выполнять команду просмотра содержимого каталога ls. Каталоги с отсутствующим атрибутом r называют "темными", так как нет никакого прямого способа узнать, какие файлы в нем размещены.

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

Слайд 38Введение в ОС LINUX
Просмотр текущих атрибутов доступа
$ ls -l
drw-r--r-t 1

user1 is 8132 Apr 11 17:02 dir1
-rwsr--r-x 1 user1 is 1320 Apr 01 16:35 file1
-rw-r-S--x 1 user1 is 5078 Apr 11 00:02 file2

s – установлен SetGID (SetUID) и право на выполнение
S – установлен SetGID (SetUID) без права на выполнение
t – установлен Sticky и право на выполнение
T – установлен Sticky без права на выполнение

Слайд 39Введение в ОС LINUX
Установка атрибутов доступа
сhmod атрибуты файл [файл…]

u -владелец, g

- группа, o - прочие, a - все

Предоставление права на запись в файл ~/file членам группы
(остальные атрибуты не меняются)
chmod g+w file
Лишение всех прав на доступ для каталога dir
chmod a-rwx dir
Избирательная установка указанных атрибутов со сбросом остальных
chmod u=rws,g=r,o=rt file1
chmod 5744 file2
chmod 750 file1 file3

Слайд 40Введение в ОС LINUX
Изменение владельца и группы
Изменить владельца
сhown имя файл

[файл…]
chown user01 file1 file2

Изменить группу владельца

сhgrp группа файл [файл…]
chgrp is file1 file2

Получить права другого пользователя

su


Слайд 41Введение в ОС LINUX
Информация о системе и пользователях
Вывод параметров идентификации пользователя:

id , whoami

Вывод информации о системе: uname -a

Вывод информации о подключенных пользователях: who –a

Вывод информации о файловых системах: df [-v]

Вывод текущей даты и времени: date

Слайд 42Введение в ОС LINUX
Командные процедуры (скрипты)
Скрипты содержат последовательность команд LINUX, которую


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

Файл myscript

#комментарий
Команда1
Команда2
. . .
КомандаN

./myscript – запуск скрипта на выполнение из текущего каталога

!!! Файл скрипта обязательно должен иметь
атрибут доступа x (т.е. исполнимый)


Слайд 43Введение в ОС LINUX
Переменные
Определены в
момент открытия
пользовательского
сеанса
Могут иметь

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

Переменные

Системные

Пользовательские

Все переменные Linux – строковые.


Слайд 44Введение в ОС LINUX
Системные переменные
HOME – имя домашнего каталога пользователя
PWD –

имя текущего каталога
PATH – пути поиска программных файлов
PS1 – формат приглашения в начале командной строки
LOGNAME – имя пользователя
MAIL – имя почтового ящика пользователя

Значения устанавливаются при инициализации сеанса (/etc/profile, /$HOME/. profile) и могут быть выведены с помощью команд echo, pritenv, env
echo $PATH
/bin:/usr/bin

Слайд 45Введение в ОС LINUX
Работа с переменными
Присваивание значения переменной
переменная=значение
переменная=’значение’ (если значение содержит

пробелы)
переменная=`команда` (присвоить вывод команды)
Взять значение переменной: $переменная
Создать глобальную переменную: export переменная

x=/u/user01; z=88; y=$z; u=z
p1=’pwd’; p2=`pwd`
echo $x x $z $y $u $p1 $p2 $p3
/u/user01 x 88 88 z pwd /u/user01


Слайд 46Введение в ОС LINUX
Настройка пользовательской среды
export PS1=’$LOGNAME’:’$PWD’:’>’
export PATH=$PATH:$HOME:.
export LANG=Ru_RU
export LC_ALL=Ru_RU
export TZ=EST1EDT
export

ENV=$HOME/.setup

/etc/rc

/etc/profile

$HOME/.profile

$ENV





$HOME/.profile

$HOME/$ENV

alias lsl=”ls -l”


Слайд 47Введение в ОС LINUX
Арифметические выражения
Присваивание значения переменной
let ” переменная=выражение”
переменная=$((выражение))
Арифметические операции: *,

/, %, +, -
(Только над целыми числами)

i=1
let ”j=$i+1”
echo $j
2

i=1
j=$i+1
echo $j
1+1

let ”i=1+2*3”
j=$(((1+2)*3))
echo $i $j
7 9


Слайд 48Введение в ОС LINUX
Условные выражения
Условия, связанные с файлами:
test

-s файл – размер файла больше нуля
test -r файл – есть ли доступ на чтение
test -w файл – есть ли доступ на запись
test -x файл – есть ли право на выполнение
test -f файл – является ли файл обычным
test -d файл – является ли файл каталогом
test -e файл – существует ли файл
test -O файл – принадлежит ли файл текущему пользователю

Условные выражения – true (0) или false (≠ 0) – формируются в результате выполнения команд (код завершения) или специальными логическими конструкциями test или [ ]


Слайд 49Введение в ОС LINUX
Условные выражения (продолжение)
Условия проверки строк:

test -z строка –

имеет ли строка нулевую длину
test -n строка – имеет ли строка ненулевую длину
test стр1 = стр2 – совпадают ли строки
test стр1 != стр2 – строки не совпадают

Условия сравнения чисел:

test A –eq B – A=B
test A –ne B – A≠B
test A –lt B – A test A –le B – A≤B
test A –gt B – A>B
test A –ge B – A≥B

Слайд 50Введение в ОС LINUX
Команда проверки условий
if условие
then

команда

команда
[else
команда

команда]
fi

Примеры:

if test -s $MAIL
then
echo ’Вам письмо’
fi


2. x=5
if test $x –lt 5
then
echo x меньше 5
else
echo x не меньше 5
fi


Слайд 51Введение в ОС LINUX
Циклы for
for переменная
in множество_значений

do
команда
. . .
команда
done

Переменная - играет роль параметра цикла, последовательно принимая значения из заданного множества_значений

множество_значений можно определить как:
список значений (переменных)
шаблон имен файлов
вывод команды Unix

Слайд 52Введение в ОС LINUX
Циклы for (продолжение)


break - досрочный выход из цикла
exit

– завершение выполнения текущей программы

1. for dir
in /tmp /user/tmp /home/tmp
do
find $dir ! –type d –exec rm { } /;
done

Примеры:

2. for file in *.bak
do
rm –i $file
done

3. for f
in `find . –name ”*.c” –print`
do
echo $f; c89 –c $f
done


Слайд 53Введение в ОС LINUX
Циклы: while
while условие
do
команда

команда
done

Цикл выполняется до тех пор, пока условие истинно
Можно обеспечить выход из цикла командой break

i=1
while test $i –lt 5
do
echo $i
let “i=$i+1”
done


Слайд 54Введение в ОС LINUX
Циклы: until
Формат:

until условие
do

команда

команда
done


Выполняется до тех пор, пока условие ложно.

Можно обеспечить выход из цикла командой break.


Слайд 55Введение в ОС LINUX
Передача параметров в выполняемый скрипт
Формальные параметры (аргументы) задаются

значками: $0 … $9
Фактические значения определяются в командной строке по позиции

myscript

echo это $0
echo $1
echo $3

$ myscript
это myscript

$ myscript aa bb ” cc dd”
это myscript
aa
cc dd

$0

$1

$2

$3


Слайд 56Введение в ОС LINUX
Встроенные переменные
Встроенные переменные:

$# - количество параметров в командной

строке
$* - строка, содержащая все параметры, переданные скрипту
c разделителем - запятой: ”$1,$2,$3…”
$@ - строка, содержащая все параметры, переданные скрипту
c разделителем – пробелом: ” $1 $2 $3…”
$? –код завершения последнего процесса, выполненного
перед запуском скрипта


Слайд 57Введение в ОС LINUX
Пример скрипта
if test -z $1
then
echo

Введите параметры:
echo ’$1’- имя каталога
exit
fi
if test -d $1
then
i=0
for file in `ls $1`
do
i=$(($i+1))
done
echo В каталоге $1 - $i файлов
else
echo Каталог не найден
fi

Пример: подсчитать количество файлов в заданном каталоге.


Слайд 58Введение в ОС LINUX
Процессы в LINUX
Типы процессов:
Режимы выполнения процессов:
Процессы
Системные
Пользовательские
Демоны
Режимы
Интерактивные
Фоновые (пакетные)


Слайд 59Введение в ОС LINUX
Атрибуты процессов
Собственный идентификатор (PID)
Идентификатор родительского процесса (PPID)
Относительный приоритет

процесса (Nice Number)
Терминал, связанный с данным процессом (TTY)
Идентификатор пользователя, запустившего процесс (RID)
Идентификатор группы пользователя (RGID)
Атрибуты состояния:
О – выполняется в данный момент
S – блокирован (спит)
R – готов к работе
I – создается
Z – зомби (завершил свое выполнение, потерял все ресурсы, но
сведения о нем остались в системном реестре)

Слайд 60Введение в ОС LINUX
Информация о процессах
ps [-Aelf]
-A – все запущенные процессы
-e

– все доступные пользователю процессы
-f – вывод расширенных атрибутов
$ ps
PID TTY TIME COMMAND
72098 ttyp0000 2:46 /bin/sh
6745 ttyp0000 0:37 ./myprog
19627 ttyp0000 1:51 /bin/ps

Завершить («снять») интерактивный процесс: Ctrl-C
Приостановить интерактивный процесс: Ctrl-Z

Слайд 61Введение в ОС LINUX
Группирование и особые режимы выполнения процессов
Простая последовательность команд

(группа процессов PGID)
команда1; команда2; команда3 …
$ cd mydir; ls -l

Условная последовательность процессов
команда1 && команда2 - выполнить 2, если 1 успешна
команда1 || команда2 - выполнить 2, если 1 ошибочна

Выполнение процесса в фоновом (background) режиме
команда &


Слайд 62Введение в ОС LINUX
Управление фоновыми процессами и группами процессов (заданиями)
Задание может

содержать несколько процессов
$ find / -type f –user u01 > file1 &
[3] 76453 jobID=3, PID=PGID=76453

Вывод информации о состоянии заданий
jobs [-l]
Снять задание Завершить процесс
kill –s KILL %3 kill 76453
Приостановить выполнение задания
kill –s STOP %3
Возобновить выполнение задания:
bg %3 или fg %3
Ожидать завершения выполнения задания:
wait %3; print “Задание %3 завершено!”

Слайд 63Введение в ОС LINUX
Создание процессов
Процессы создаются с помощью специального системного вызова:

fork()

В LINUX все процессы родственные. На вершине иерархии стоит процесс init. Дочерние процессы наследуют свойства родителей.
Родительский процесс контролирует завершение потомков через
cистемный вызов wait() или waited()




fork()

fork()

fork()


Слайд 64Введение в ОС LINUX
Пример создания дочернего процесса
shell
PID = 745
PPID = 1
shell
PID

= 882
PPID = 745

ls
PID = 882
PPID = 745

shell
PID = 745
PPID = 1

fork()

wait()

exit()

exec(/usr/bin/ls)


Слайд 65Введение в ОС LINUX
Пример создания дочернего процесса
#include
#include
main()
{
int

pid;
pid=fork();
if (pid==-1)
{
printf(“Ошибка \n”);
}
if (pid==0)
{
printf(“Потомок \n”)
}
else
{
printf(“Родитель \n”)
}
}

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

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


Для правообладателей

Яндекс.Метрика