М. В. Ломоносова Факультет вычислительной математики и кибернетики Н. В. Вдовикина, А. В. Казунин, И. В. Машечкин, А. Н. Терехин Системное программное обеспечение: взаимодействие процессов учебно-методическое пособие
Вид материала | Учебно-методическое пособие |
Содержание8Алфавитный указатель упоминаемых библиотечных функций и системных вызовов. 9Список литературы |
- М. В. Ломоносова Факультет вычислительной математики и кибернетики Кафедра математической, 6.81kb.
- Учебно методическое пособие Рекомендовано методической комиссией факультета вычислительной, 269.62kb.
- И. И. Мечникова Институт математики, экономики и механики Кафедра математического обеспечения, 900.66kb.
- Московский Государственный Университет им. М. В. Ломоносова. Факультет Вычислительной, 104.35kb.
- М. В. Ломоносова Факультет Вычислительной Математики и Кибернетики Реферат, 170.54kb.
- М. В. Ломоносова Факультет вычислительной математики и кибернетики В. Г. Баула Введение, 4107.66kb.
- М. В. Ломоносова Факультет вычислительной математики и кибернетики Руденко Т. В. Сборник, 1411.4kb.
- Н. И. Лобачевского Факультет Вычислительной математики и кибернетики Кафедра Математического, 169.45kb.
- И кибернетики факультет вычислительной математики и кибернетики, 138.38kb.
- М. В. Ломоносова факультет Вычислительной Математики и Кибернетики Диплом, 49.56kb.
8Алфавитный указатель упоминаемых библиотечных функций и системных вызовов.
accept() 132
alarm() 42
bind() 130
connect() 131
creat() 69
exec(), семейство 46
exit(), функция 51
fcntl() 45, 80
fork() 41
ftok(), функция 100
getpid() 44
getppid() 44
kill() 66
listen() 132
longjmp() 91
mkfifo() 88
mknod() 88
MPI_Abort() 154
MPI_Allgather() 175
MPI_Allreduce() 178
MPI_Alltoall() 176
MPI_Barrier() 154
MPI_Bcast() 173
MPI_Bsend() 160
MPI_Comm_rank() 153
MPI_Comm_size() 153
MPI_Finalise() 154
MPI_Gather() 174
MPI_Get_count() 162
MPI_Ibsend() 166
MPI_Init() 153
MPI_Irecv() 165
MPI_Irsend() 166
MPI_Isend() 165
MPI_Issend() 166
MPI_Probe() 163
MPI_Recv() 161
MPI_Reduce_scatter() 178
MPI_Reduce() 177
MPI_Rsend() 160
MPI_Scan() 178
MPI_Scatter() 174
MPI_Send() 159
MPI_Ssend() 160
MPI_Test() 167
MPI_Testall() 168
MPI_Testany() 168
MPI_Testsome() 168
MPI_Wait() 167
MPI_Waitall() 168
MPI_Waitany() 167
MPI_Waitsome() 168
msgctl() 106
msgget() 104
msgrcv() 105
msgsnd() 104
nice() 59
pipe() 79
ptrace() 93
recv() 133
recvfrom() 135
semctl() 120
semget() 117
semop() 118
send() 133
sendto() 134
setjmp() 91
shmat() 114
shmctl() 115
shmdt() 114
shmget() 113
shutdown() 135
sigaction() 77
sigaddset() 75
sigdelset() 75
sigemptyset() 75
sigfillset() 75
sigismember() 75
signal() 67
sigpending() 75
sigprocmask() 74
socket() 128
unlink() 70
wait() 51
_exit() 50
9Список литературы
- Д.Цикритзис, Ф.Бернстайн. Операционные системы. Москва, Мир, 1977.
- Э.С.Таненбаум. Современные операционные системы, 2-е издание. Санкт-Петербург, Издательский дом Питер, 2002.
- П.Кейлингер. Элементы операционных систем. Москва, Мир, 1985.
- Ч.Хоар. Взаимодействующие последовательные процессы. Москва , Мир, 1989.
- Pate S.D. UNIX Internals. A Practical Approach. Addison-Wesley Longman, 1997.
- К.Кристиан. Введение в операционную систему UNIX. Москва, Финансы и статистика. 1985.
- Б.К.Керниган, Р.Пайк. UNIX – универсальная среда программирования. Москва, Финансы и статистика, 1992.
- М.Дансмур, Г.Дейвис. Операционная система UNIX и программирование на языке Си. Москва, Радио и связь, 1989.
- Т.Чан. Системное программирование на С++ для UNIX. Киев, Издательская группа BHV, 1997.
- М.Устюгов. Введение в TCP/IP. Москва, .МГУ, 1997.
- Б.Керниган, Д.Ритчи. Язык программирования Си. Издание 3-е, исправленное. Санкт-Петербург, Невский Диалект, 2001.
- И.В.Машечкин, М.И.Петровский, П.Д.Скулачев, А.Н.Терехин. Системное Программное Обеспечение: файловые системы ОС Unix и Windows NT. Москва, Диалог-МГУ,1997.
- А.Робачевский Операционная система UNIX. Санкт-Петербург, BHV-Санкт-Петербург, 1998
- К.Хэвиленд, Д.Грей, Б.Салама. Системное программирование в UNIX. Москва, ДМК, 2000.
- Н.Д.Васюкова, И.В.Машечкин, В.В.Тюляева, Е.М.Шляховая. Краткий конспект семинарских занятий по языку Си. Москва, МГУ, 1999.
- В.Столлингс. Операционные системы. 4-ое издание. Москва, Издательский дом Вильямс, 2002.
1 Отметим, что детальное рассмотрение многих конкретных алгоритмов планирования выходит за рамки данного пособия.
2 Оригинальные обозначения P и V, данные Дейкстрой и получившие широкое распространение в литературе, являются сокращениями голландских слов proberen – проверить и verhogen – увеличить
3 Под сегментом здесь мы понимаем область памяти, которой система управляет как единым целым
4 Существуют и исключения из этого правила. Далее в этом пособии, рассказывая о системных вызовах, мы будем оговаривать такие исключения особо.
5 Эти процессы создаются во время начальной загрузки системы, механизм которой будет подробно рассмотрен ниже
6 Существует шесть различных системных вызовов exec(), отличающихся параметрами, которые будут описаны ниже.
7 при условии, разумеется, что у данного процесса имеются достаточные права для доступа к конкретному ресурсу, через который осуществляется взаимодействие
8 Следует заметить, что в разных версиях UNIX имена сигналов могут различаться.
9 Несмотря на это, как уже говорилось, сами сигналы, ожидающие своей обработки родительским процессом на момент порождения потомка, в том числе и блокированные, не наследуются потомком
10 это правило не является обязательным, но для корректной организации двустороннего обмена через один канал требуется дополнительная синхронизация
11 аббревиатура IPC – это сокращение от английского interprocess communication
12 Заметим, что данный аргумент может принимать не только указанные два значения, например, тип сокета SOCK_SEQPACKET обозначает соединение с установлением виртуального канала со всеми вытекающими отсюда свойствами, но при этом сохраняются границы сообщений; однако данный тип сокетов не поддерживается ни в домене AF_UNIX, ни в домене AF_INET, поэтому мы его здесь рассматривать не будем
13 Отметим, что, как уже говорилось, при использовании сокетов с установлением виртуального соединения границы сообщений не сохраняются, поэтому приложение, принимающее сообщения, может принимать данные совсем не теми же порциями, какими они были посланы. Вся работа по интерпретации сообщений возлагается на приложение.
14 MPI – сокращение от Message Passing Interface, т.е. «Механизм (или интерфейс) передачи сообщений»
15 Аббревиатура MPP представляет собой сокращение от «Massive Parallel Processing»
16 Аббревиатура SMP является сокращением фразы «Symmetric Multi Processing»
17 Аббревиатура NUMA расшифровывается как «Non-Unified Memory Access», что в буквальном переводе и означает «неоднородный доступ к памяти». Часто используется также обозначение «ccNUMA», что означает «cache-coherent NUMA», или система с неоднородным доступом к памяти с поддержкой когерентности (т.е. согласованности) кэшей
18 Заметим, что в версии стандарта MPI-2 описывается возможность динамического порождения ветвей, однако на момент написания данного пособия нам неизвестно ни об одной реализации MPI, в которой поддерживалось бы динамическое порождение ветвей, поэтому далее мы будем рассматривать только модель со статическим порождением ветвей в момент запуска приложения.