дампинг нескольких процессов

Все о программировании под *nix
Anonymous

дампинг нескольких процессов

Сообщение Anonymous »

Когда процесс получает сигналы определённого типа и не обрабатывает их, ядро дампирует образ процесса в том виде, который был у него в момент получения сигнала. Ядро создаёт в текущем каталоге процесса файл с именем "core" и копирует в него пространство процесса, области команд, данных и стека. Впоследствии пользователь может тщательно изучить дамп образа процесса с помощью стандартных средств отладки. Опишите алгоритм, которому на ваш взгляд должно следовать ядро в процессе создания файла "core". Что нужно предпринять в том случае, если в текущем каталоге файл с таким именем уже существует? Как должно вести себя ядро, когда в одном и том же каталоге дампируют свои образы сразу несколько процессов?

Anonymous

Сообщение Anonymous »

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

Аватара пользователя
fa3a
Неотъемлемая часть форума
Сообщения: 619
Зарегистрирован: 25 июл 2003, 17:22
Откуда: Minsk

Сообщение fa3a »

cyberex писал(а):Опишите алгоритм, которому на ваш взгляд должно следовать ядро в процессе создания файла "core". Что нужно предпринять в том случае, если в текущем каталоге файл с таким именем уже существует? Как должно вести себя ядро, когда в одном и том же каталоге дампируют свои образы сразу несколько процессов?
насколько я знаю, на Линухе (RedHat, SuSE) ета проблемма уже решена.. файл core сохраняется в виде например core.12354, где 12354 -- номер дампнутого процесса.. На AIX и Солярис core файл будет переписан.
Never touch the running program!!!

Аватара пользователя
fa3a
Неотъемлемая часть форума
Сообщения: 619
Зарегистрирован: 25 июл 2003, 17:22
Откуда: Minsk

Сообщение fa3a »

cyberex писал(а):Пусть предполагается, что каждый процесс в фиксированный момент времени может находиться только в одной очереди. 1. Можно ли реализовать такую схему, в которой процесс мог бы одновременно ожидать несколько событий? Приведите пример. 2. Каким образом следует модифицировать структуру очередей, чтобы в рей поддерживалась указанная возможность?
а здесь следует применить многопоточное программирование. Каждому thread-у свою задачу.
Never touch the running program!!!

dimm_coder
Интересующийся
Сообщения: 65
Зарегистрирован: 19 авг 2003, 10:56
Откуда: Anwerpen, Belgium / Belarus
Контактная информация:

Сообщение dimm_coder »

Это похоже на вопросы из какой-либо книги (обычно размещаются в конце главы), либо вопросы к курсу изучения операционных систем.

Может mend0za дает их своим студентам? -)

В любом случае они заданы в "академической" форме. Не похоже, что здесь есть какие-либо авторские слова (или я не прав?). Обычно на форумах в таких случаях просят автора привести собственные размышления по данному вопросу, делание домашнего задания/"разжевывание" вопросов без какого-либо первоначального усилия со стороны автора - не является стоящей практикой.

[quote="cyberex"]
а здесь следует применить многопоточное программирование. Каждому thread-у свою задачу.
/quote]

Здесь не совсем понятно, что подразумевается под очередью. Если применение очередей для реализации объектов блокировки (события, мьютексы и т.п.) на уровне ядра, то многопоточное программирование на пользовательском уровне тут ни при чем. В вопросе, похоже, подразумевается знание организации и структуры очереди из ранее прочитанного/изученного материала (если уж просится модифицировать что-то), что никак не отражено в вопросе здесь.
Так что из контекста не очень понятно.

Какая именно очередь сдесь

Аватара пользователя
mend0za
Неотъемлемая часть форума
Сообщения: 2332
Зарегистрирован: 30 авг 2002, 12:33
Откуда: Minsk

Сообщение mend0za »

да, поясните, коллега, контекст задачи
И увидел я зверя, выходящего из тундры. И число его было 3.14159265358979324...

Ответить