Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы по ОС.doc
Скачиваний:
50
Добавлен:
24.09.2019
Размер:
202.24 Кб
Скачать

6)Жесткая и символическая ссылки.

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

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

hard soft

не создает i-nodes создает i-nodes

на каталоги может ссылать root может ссылаться на каталоги

нельзя ссылаться на файлы в других ОС можно

7)Схема переходов процесса из состояния в состояние

1) Процесс выполняется в режиме задач(польз. режим)

2) в режиме ядра

3) Процесс не выполняется,но готов к запуску(в оп.памяти)

4) Процесс приостановлен(в оп.памяти)

5) процесс готов к запуску(на диске)

6) процесс приостановлен( на диске)

7) Процесс зарезервирован

8) Процесс вновь создан

9) Процесс вызывает exit

8)Системные вызовы getpid, getppid

pid_t getpid(void)

pid_t getppid(void)

Возвращают идентификаторы текущего(PID) и родительского(PPID) процессов соответственно

9)Системный вызов times. Ядерная и пользовательские фазы процессов.

Каждый процесс может пребывать в двух фазах: системной(ядерной)(внутри тела системного вызоава-его выполняет для нас ядро ОС) и пользовательской(внутри кода самой программы). Время, затраченное процессом в каждой фазе, может быть измерено системным вызовом times().Системный вызов times заполняет структуру:

struct tms{

clock_t tms_utime; //время процесса

clock_t tms_stime; //ядерное время процесса

clock_t tms_сutime; //время детей

clock_t tms_сstime; //ядерное время детей

};

10)Программные каналы. Fifo-файлы.

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

Аббревиатура FIFO расшифровывается как «first in, first out» — «первым вошел, первым вышел», то есть эти каналы работают как очереди. Именованные каналы в Unix функционируют подобно неименованным — они позволяют передавать данные только в одну сторону. Однако в отличие от программных каналов каждому каналу FIFO сопоставляется полное имя в файловой системе, что позволяет двум неродственным процессам обратиться к одному и тому же FIFO.

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

При записи в программный канал или канал FIFO вызовом write данные всегда добавляются к уже имеющимся, а вызов read считывает данные, помещенные в программный канал или FIFO первыми.

mknode(nameFile, S_IFIFO | 0666, 0) – создает именованный программный канал.