Главная » Просмотр файлов » Т.В. Руденко - Сборник задач и упражнений по языку Си

Т.В. Руденко - Сборник задач и упражнений по языку Си (1114664), страница 16

Файл №1114664 Т.В. Руденко - Сборник задач и упражнений по языку Си (Т.В. Руденко - Сборник задач и упражнений по языку Си) 16 страницаТ.В. Руденко - Сборник задач и упражнений по языку Си (1114664) страница 162019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 16)

Функция exit закрывает все файлы данного процесса иуведомляет родительский процесс о завершении процесса-потомка, если он находится в состоянии ожидания. Родительскому процессу передаются младшие 8 бит статуса завершения status. По соглашению нульозначает успешное завершение процесса, а отличное от нуля значение –аварийное.int getpid ( )int getppid ( )функция getpid возвращает номер обратившегося к ней процесса; чащевсего используется для формирования уникальных имен временных76файлов.

Функция getppid возвращает номер процесса-родителя обратившегося к ней процесса.int pipe ( int fd[2])системная функция pipe создает механизм ввода-вывода для процессовродственников, называемый транспортером (каналом). Через дескриптор fd[0] осуществляется чтение из канала, через fd[1] – запись в канал.Если канал пуст, то процесс, читающий из него, приостанавливается и будет ждать, пока в канал не будет записано какое-то количество литер.Если канал заполнен, а процесс пытается писать в него, то этотпроцесс будет приостановлен до тех пор, пока читающий процесс непрочитает некоторое количество литер из канала.

Передача данных через канал обеспечивается по методу FIFO – «первым пришел – первымушел».Предполагается, что взаимодействующие процессы передаютданные через канал с помощью функций read и write. Функция чтенияread возвращает признак конца файла, если канал пуст и в него некомуписать (все дескрипторы для записи в этот канал закрыты ).int dup ( int fd)int dup2 ( int fd1, int fd2)по заданному дескриптору файла fd системная функция dup возвращаетдругой дескриптор файла с наименьшим свободным номером, эквивалентный исходному. Если fd не является дескриптором открытого файла или превышено число открытых файлов (обычно 20), функция dupвозвращает –1.В результате выполнения системной функции dup2 дескрипторfd2 будет указывать на тот же файл, что и дескриптор fd1.

Если с дескриптором fd2 уже был связан открытый файл, то он предварительно закроется. Если значение fd2 больше 20 либо fd1 не является дескриптором открытого файла, то dup2 возвращает –1.Например, с помощью этих функций, стандартный ввод можетбыть перенаправлен в канал следующим образом:int p[2];pipe(p);…close(0);dup(p[0]);close(p[0]);либоint p[2];pipe(p);…dup2(p[0], 0);close(p[0]);void (*signal (int sig, void (*handler)(int)))(int)системная функция signal устанавливает, как будет обрабатываться последующий сигнал sig. Если параметр handler равен SIG_DFL, то используется «обработка по умолчанию», зависящая от реализации; еслизначение handler равно SIG_IGN, то сигнал игнорируется; в остальныхслучаях будет выполнено обращение к функции, на которую указывает77handler.

Функция signal возвращает предыдущее значение обработчикаэтого сигнала.Если после выполнения функции signal придет сигнал sig, тосначала восстанавливается способность к его обработке «по умолчанию», а затем вызывается функция, заданная в handler, т.е. выполняетсявызов (*handler)(sig). Если функция-обработчик вернет управление, товыполнение программы возобновится с того места, на котором программа была прервана пришедшим сигналом.Если требуется перехватывать сигнал при каждом его получении, то функция-обработчик должна обратиться к функции signal, определив способ обработки сигнала, иначе он будет обрабатываться «поумолчанию».Начальные значения обработчиков сигналов зависят от реализации.Некоторые системные функции могут завершиться преждевременно, не выполнив требуемых действий, если во время их работы былполучен перехватываемый сигнал (например, при выполнении функцийread или write для медленных устройств; при выполнении wait).

В такихслучаях при получении сигнала область состояния процесса модифицируется таким образом, что после выполнения функции-обработчика ивозврата из него в точку прерывания, будет имитироваться возврат изпрерванной системной функции с кодом ошибки. Программа пользователя, при желании, может повторить вызов этой системной функции.Имена некоторых сигналов, определенных в <signal.h>:SIGPIPESIGALRMSIGKILLSIGFPESIGINTSIGSEGVSIGBUSSIGTERMется поSIGTRAPSIGILLSIGABRTзапись в транспортер, из которого некому читать. Это происходит, если получатель завершает работу, оставляя пишущуюсторону с разорванным транспортером;сигнал от таймера;уничтожение процесса.

Этот сигнал не может быть ни перехвачен, ни проигнорирован;арифметическая ошибка: деление на 0 или переполнение привыполнении операций с плавающей точкой;прерывание от терминала; происходит при нажатии клавишdel или break;обращение за пределы сегмента;ошибка шины; этот сигнал обычно возбуждается из-за ошибкив косвенной адресации с использованием указателей в программе на С;сигнал программного прерывания; этот сигнал посылаумолчанию командой kill;трассировочное прерывание (используется отладчиком);попытка выполнить нелегальную машинную команду;аварийное завершение;int kill ( int pid, int sig)78системная функция kill посылает сигнал sig процессу, заданному номером процесса pid.

Если sig не является номером сигнала из <signal.h>или указанного процесса не существует, то функция kill возвращает -1.int alarm ( unsigned seconds)системная функция alarm вызывает возбуждение сигнала SIGALRM ввызвавшем ее процессе через seconds секунд реального времени. Запросы на возбуждение сигнала не накапливаются. Последующие запросына возбуждение сигнала (если они требуются) должны переустанавливаться в обработчике сигнала. Если значение параметра seconds равно 0,то ранее сделанный запрос на возбуждение сигнала игнорируется.Функция alarm возвращает интервал времени, оставшийся до возбуждения сигнала от предыдущей установки.11.

ЛИТЕРАТУРА1. Б. Керниган, Д. Ритчи. Язык программирования Си. М., «Финансы истатистика», 19922. American National Standard for Information Systems - ProgrammingLanguage C, X3.159-19893. Б. Керниган, Д. Ритчи, А. Фьюэр Язык программирования Си. Задачипо языку Си. М., «Финансы и статистика», 19854. Н. Джехани. Программирование на языке Си. М., «Радио и связь»,19885.

Б. Керниган, Р. Пайк. Универсальная среда программирования UNIX.М., «Финансы и статистика», 19926. С. Баурн. Операционная система UNIX.М., «Мир», 19867. С.А. Абрамов, Г.Г. Гнездилова и др. Задачи по программированию.М., «Наука», 19888. В.Н. Пильщиков. Сборник упражнений по языку Паскаль. М., «Наука», 19897912. СОДЕРЖАНИЕ1.2.3.ПРЕДИСЛОВИЕ............................................................................................................................. 3ТИПЫ, ОПЕРАЦИИ, ВЫРАЖЕНИЯ........................................................................................... 3УПРАВЛЕНИЕ ...............................................................................................................................

83.1Синтаксис и семантика операторов языка Си...................................................................... 83.2Обработка числовых данных............................................................................................... 113.3Обработка символьных данных .......................................................................................... 144. ФУНКЦИИ И СТРУКТУРА ПРОГРАММЫ ............................................................................. 165. УКАЗАТЕЛИ И МАССИВЫ....................................................................................................... 206.

СТРУКТУРЫ, ОБЪЕДИНЕНИЯ................................................................................................. 286.1Основные сведения............................................................................................................... 286.2Структуры и функции. Указатели на структуры. .............................................................. 306.3Структуры со сылками на себя............................................................................................ 347. ВВОД-ВЫВОД .............................................................................................................................

387.1Стандартный ввод-вывод..................................................................................................... 387.2Работа с файлами.................................................................................................................. 408. ИНТЕРФЕЙС С СИСТЕМОЙ UNIX .......................................................................................... 428.1Низкоуровневый ввод-вывод .............................................................................................. 428.2Процессы, сигналы ............................................................................................................... 448.2.1Конвейер, перенаправление ввода-вывода.................................................................

Характеристики

Тип файла
PDF-файл
Размер
942,54 Kb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6502
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее