
- •Основные понятия и концепции ос
- •Классификация ос
- •Управление процессами
- •Операции над процессом
- •13092012 Лекция 2
- •Алгоритмы планирования
- •Средства взаимодействия и синхронизации процессов
- •Синхронизация процессов
- •20092012 Лекция 3 Взаимоблокировки
- •Ликвидация взаимоблокировок
- •Неделимые транзакции
- •04102012 Лекция 4 Архитектура и управление процессами в ос семейства Windows
- •11102012 Лекция 5 Синхронизация потоков
- •Архитектура и процессы unix
- •Управление процессами
- •Создание новых процессов
- •18102012 Лекция 6 Межпроцессное взаимодействие
- •Файловая система
- •Структуризация файлов
- •25102012 Лекция 7 Адресация доступа к файлам
- •Операции над файлами
- •Обобщенная модель файловой системы
- •Отображаемые в память файлы
- •Современная архитектура файловых систем
- •Файловые системы Windows
- •01112012 Лекция 8 Файловая система fat
- •Файловая система ntfs
- •081112 Лекция 9
- •Файловые системы unix Традиционная фс s5
- •Виртуальная фс vfs (Virtual File System)
- •Монтирование файловых систем vfs
- •15112012 Лекция 10 Управление вводом/выводом
- •Драйверы устройств
- •Система ввода/вывода unix
- •29112012 Лекция 11 Подсистема ввода/вывода Windows
- •06122012 Лекция 12 Основные процедуры драйверов устройств
- •Процедуры обслуживания прерывания isr (interrupt Service Routine)
- •Дерево устройств
- •Диспетчер электропитания
- •13122012 Лекция 13 Основные требования ос
- •Множественные прикладные среды
- •Способы построения множественных прикладных сред
- •Реализация множества прикладных средств в Windows системах
Создание новых процессов
Происходит при помощи системного вызова fork() (или &).
Новый процесс, создаваемый fork(), является полной копией исходного и его контекстом, отличается только по PID. Дочерний процесс с помощью системного вызова exec запускает другую программу, заново инициализируя код и данные. Родительский процесс может синхронизировать своё исполнение с завершением дочернего с помощью системного вызова wait.
18102012 Лекция 6 Межпроцессное взаимодействие
Способы взаимодействия |
Тип связи |
Способ применения |
Системные вызовы |
разделяемая память |
Общий доступ |
Высококпроизводительный обмен данными |
Shmem mmap |
Переменные окружения |
Односторонняя (При запуске операционной системы) |
Задание режимов работы |
setenv |
сигналы |
Односторонняя |
Уведомления о наступлении события |
Signal |
Каналы |
Односторонняя |
Ввод/вывод |
Pipe |
Сокеты |
Двусторонняя |
Сетевой обмен |
socket |
Разделяемая память – механизм, с помощью которого 2 процесса средствами ОС могут обращаться к общему участку физической памяти каждый через свое адресное пространство. Взаимодействующие программы должны изначально содержать код с помощью специальных системных вызовов, обозначающие участки адресных пространств для обмена данными. Разделяемая память не содержит встроенных средств синхронизации.
Переменные окружения – каждый запускаемый процесс снабжается информационным пространством, которое он может изменять. В нем можно создавать именованные хранилища данных (переменные окружения), содержащие любую текстовую или числовую информацию. При создании процессов родительский может указать, каким из копируемых переменных окружений надо изменить значения.
Сигнал – при получении сигнала исполнение процесса приостанавливается и запускается подпрограмма обработчик. Она может быть стандартной, определенной в ОС, или явно определена в исходном тексте исполняемой программы. У сигнала есть единственная характеристика – его номер (целое число).
Канал – (Юникс) однонаправленные потоки данных (очереди между процессами). Могут быть неименованные (существуют только вместе с процессом), именованные представленные в файловой системе.
Сокет – интерфейс сокета явно разделяет во взаимодействии 2 процессов клиентскую и серверные части. Серверный процесс инициализирует сокет и ждет входящих соединений. Клиентский – устанавливает соединения.
Виды сокетов:
Потоковый – сервер и множество клиентов.
Датаграмный – позволяет отправлять сообщения короткой длины между привязанными к нему процессами.
Эта таблица есть в приложении методички.
Приоритет потока |
Класс потока |
Класс процесса |
|||||
IDCE |
Balow normal |
Normal |
About norm |
High |
Real Time |
||
1 |
IDLE |
IDLE |
IDLE |
IDLE |
IDLE |
IDLE |
|
2 |
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
5 |
Below normal |
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
7 |
Norm |
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
9 |
About norm |
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
11 |
High |
|
|
|
|
|
|
12 |
|
|
|
|
|
|
|
13 |
|
|
|
|
|
|
|
14 |
|
|
|
|
|
|
|
15 |
RT |
TC |
TC |
TC |
|
|
|
16 |
|
|
|
|
|
|
|
17 |
|
|
|
|
|
|
|
18 |
|
|
|
|
|
|
|
19 |
|
|
|
|
|
|
|
20 |
|
|
|
|
|
|
|
21 |
|
|
|
|
|
|
|
22 |
|
|
|
|
|
|
|
23 |
|
|
|
|
|
|
|
24 |
|
|
|
|
|
|
|
25 |
|
|
|
|
|
|
|
26 |
|
|
|
|
|
|
|
27 |
|
|
|
|
|
|
|
28 |
|
|
|
|
|
|
|
29 |
|
|
|
|
|
|
|
30 |
|
|
|
|
|
|
|
31 |
|
|
|
|
|
|
|
32 |
|
|
|
|
|
|
|