Различия между версиями 3 и 4
Версия 3 от 2020-03-26 20:38:44
Размер: 3027
Редактор: Lecture_Uploads
Комментарий:
Версия 4 от 2020-06-08 23:45:07
Размер: 3056
Редактор: Lecture_Uploads
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 1: Строка 1:
= 11.0 (Russian conspect) =

11.0 (Russian conspect)

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

В файловой системе помимо файлов могут храниться:

  • Символьные ссылки
  • Устройства (есть имя, можно открывать, вместо размера указывается идентификатор устройства)

Можно посмотреть идентификатор процесса используя команду pidof. Зная идентификатор можно управлять процессом и смотреть информацию о нём.

Каналы

Канал создаётся при помощи команды mkfifo. Он имеет особый тип "P".

Pipe - это "отверстие", через которое де программы могут в одну с торону друг с другом разговаривать (одна пишет, другая читает).

В C для проботы с Pipe есть функция pipefd.

Процессы

Процесс - это изолированное адресное пространство, которое управляется планировщиком заданий операционной системы.

Команда ps покажет все процессы, связанные с данным терминалом. ps -ef покажет вообще все процесссы, запущенные на операционной системе.

Также в ps можно увидеть какой процесс кого "породил".

  • Если у процесса умер отец, то его усыновляет процесс 1.
  • Если процесс думает, что он умер, но приэтом присутствует в списке процессов называется "зомби"

В C функции execvp запускает программу, передавая в неё указа нные аргументы. Также есть функция execvl в которую аргументы подаются поштучно.

Запущенный процесс наследует от запускающего все файлы и все переменные окружения. При создании нового процесса через exec другой процесс умирает.

Функция fork создаёт полностью новый процесс, который является копией породившего. Все переменные окружения копируются.

Системный вызов wait спит до тех пор, пока что-либо не случится с одним из дочерних процессов. Потом возвращает что случилось и с каким процессом.

Функция DUP удваевает дискриптор и возвращает второй.

HSE/ProgrammingOS/11_Processes/Conspect (последним исправлял пользователь Lecture_Uploads 2020-06-08 23:45:07)