КИТА unofficial

Ваши интересы => Викторины и конкурсы => Тема начата: vimmax от Февраль 23, 2007, 11:46:08



Название: "Системное программирование" (задача 1)
Отправлено: vimmax от Февраль 23, 2007, 11:46:08
Вопрос по системному программированию. Ответить необходимо четко и одним предложением.

Вопрос: "Основное различие процессов от нитей (process / thread)".

На этот вопрос по моему мнению существует два ответа. Оба правильные.


Название: Re: "Системное программирование" (задача 1)
Отправлено: Sochin от Февраль 23, 2007, 11:49:23
Одному процессу может соответствовать множество потоков, но не наоборот.


Название: Re: "Системное программирование" (задача 1)
Отправлено: vimmax от Февраль 23, 2007, 12:07:18
Sochin - Ответ #1 - правильный, зачитывается. Так сразу взяли и ответили (((. Но если уточнить, то процесс состоит из одного или более потоков, но не наоборот.

Но есть еще один ответ. Кто сможет что-то сказать дополнительно?


Название: Re: "Системное программирование" (задача 1)
Отправлено: Sochin от Февраль 23, 2007, 12:07:58
И второе отличие: процессы владеют ресурсами, выделяемыми ОС, в то время как все потоки одного процесса разделяют между собой ресурсы процесса, внутри которого исполняются эти потоки.


Название: Re: "Системное программирование" (задача 1)
Отправлено: vimmax от Февраль 23, 2007, 04:50:06
Sochin - Ответ#3 - Если точнее, то "Основные отличия процесса от нити заключаются в том, что, каждому процессу соответствует своя независимая от других область памяти, таблица открытых файлов, текущая директория и прочая информация уровня ядра"

Sochin +1.

Жаль, что никто больше не попытался ответить.

К ответу прилагаю ссылку на статью "Процессы и нити в ОС Linux" ( http://www.uinc.ru/articles/34/ (http://www.uinc.ru/articles/34/) ). В этой статье кратко описаны основные принципы работы процессов и нитей, а также методы управления и синхронизации. Статья написана очень простым языком студента физтеха)))))))))

Весь теоретический материал в статье подходит как для работы в Unix системах так  и для работы в Windows, но для Windows необходимо использовать соответствующий API.