Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » UNIX » Списки дескрипторов процессов

Модерирует : ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2

Открыть новую тему     Написать ответ в эту тему

pavel1978

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ДВС!
 
Родные, как вы считаете, сколько и каких списков дескрипторов задач может быть в системе?  От чего должно зависеть это число?
 
Перечитал много лекций в инете, выданных гуглами-яндексами, а вот нифига! У кого какое мнение по этому поводу?

Всего записей: 149 | Зарегистр. 13-03-2008 | Отправлено: 07:58 10-06-2012
doktorpilulkin

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
http://www.thevista.ru/page11931-preodolevaya_granitsy_windows_deskriptory
 
плохо искал. конечное число. зависит от разрядности. мнений тут никаких не может быть
 
 
сорри не увидел что про UNIX
 
Добавлено:
ну так же посмотри разрядность переменной. вот столько и может быть

Всего записей: 2341 | Зарегистр. 30-08-2010 | Отправлено: 08:02 10-06-2012 | Исправлено: doktorpilulkin, 08:03 10-06-2012
pavel1978

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Статья полезная, добавил в избранное. Но хотелось бы ФОРМУЛУ для рассчета макс. количества дескрипторов. Есть такая?
П.С. в статье приведено в скобках 16*1024*1024 - почему именно такие?
 
Добавлено:
Каково макс число дескрипторов для системы в зависимости от ее разрядности, хотелось узнать...

Всего записей: 149 | Зарегистр. 13-03-2008 | Отправлено: 10:34 10-06-2012
doktorpilulkin

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну патамуша так сделали. микрософты винду.
 
в упор не помню с чего мне интересоваться этим в голову взбрело, но совершенно не помню в чем там суть. точно - трудно достичь предела. даже с учетом тредов

Всего записей: 2341 | Зарегистр. 30-08-2010 | Отправлено: 12:01 10-06-2012
pavel1978

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предел там 16 милл с лишним, достичь трудно. А вот что значат 1024*1024?

Всего записей: 149 | Зарегистр. 13-03-2008 | Отправлено: 13:06 10-06-2012
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
pavel1978
> как вы считаете, сколько и каких списков дескрипторов задач может быть в системе?
Что такое «дескрипторы задач»? PID-ы? Т. е. узнать надо максимальное общее кол-во процессов? Тогда вы для начала бы указали, какое ядро используете. Если Linux™, то спросите его так:
$ /sbin/sysctl kernel.pid_max
Он вам скорее всего ответит так:
kernel.pid_max = 32768
 
> От чего должно зависеть это число?
В первую очередь — от вашего желания. Оно устанавливается в /etc/sysctl.conf.

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 14:57 10-06-2012 | Исправлено: ASE_DAG, 14:59 10-06-2012
pavel1978

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
да в общем случае, напр., в винде. Смотрел утилитой тестлимит - результат чуть другой, чем в учебнике - порядка десятков расхождение. Но! Оно при этом не критичное (в учебнике 16 744 434, а у меня 16 744 393) Вот как оно образуется, сие число?
 
Добавлено:

Цитата:
как вы считаете, сколько и каких списков дескрипторов задач может быть в системе?  От чего должно зависеть это число?  

 вот такой вопросище в конце статьи. И этот же вопрос мне попался в варианте контрольной работы, блин...
 
Добавлено:
тут упор именно нат слово "списков", по-моему.

Всего записей: 149 | Зарегистр. 13-03-2008 | Отправлено: 16:27 10-06-2012
doktorpilulkin

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а оно случаем не образуется из 4 гигабайта, минус память необходимая для работы ядра и устройств, поделить на память необходимая для запуска пустого процесса?
 
Добавлено:
http://www.thevista.ru/page10539-preodolevaya_granitsy_windows_virtualnaya_pamyat&print=1
 
 
pavel1978
если узнаешь все таки в чем дело. не могу нагуглить статью которую читал и вспомнить не могу. вопрос встал когда прогу писал и разбирался что такое тред - вот это вспомнил. напиши в чем же дело в двух словах

Всего записей: 2341 | Зарегистр. 30-08-2010 | Отправлено: 16:40 10-06-2012
pavel1978

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот очень тепло, по-ходу!! Читал эту "Преодолевая границы виндовс"! А почему именно 4 ГБ?

Всего записей: 149 | Зарегистр. 13-03-2008 | Отправлено: 17:30 10-06-2012
doktorpilulkin

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
для чистых 32 битных систем, не использующих 64 битных инструкций.
в хп кажется адресное пространство для пользовательских процессов 2 гига тупо. системных не так много которые в остальные 2 гига влазят
 
Добавлено:
сервер 2003 хоть и 32 битный, но для расширенной адресации до 32 гиг стандарт и до 64 ентерпрайз он все равно использует помимо возможно и 32 битного декриптора наверно 36 битный линейный адреск, то есть все ранво использует 64 битные инструкции. врядли принцип окна используется, наверно корректируется адрес системой. не читал никогда как за 32 бит вылезли. у меня все равно процессор их не поддерживает
 
Добавлено:
восемь страниц какбы по 4 гига. так что ли. один процесс интересно может за пределы этой "страницы " выйти
 
Добавлено:
http://support.microsoft.com/kb/283037/ru
http://ru.wikipedia.org/wiki/%D0%A1%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%87%D0%BD%D0%B0%D1%8F_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D1%8C
 
 
походу используется дескрипторы указывающие на разные блоки 4 гигового размера, а смещение тупо остается 32 битной, то есть один процесс не может использовать больше 4 гиг.

Всего записей: 2341 | Зарегистр. 30-08-2010 | Отправлено: 17:54 10-06-2012 | Исправлено: doktorpilulkin, 18:04 10-06-2012
pavel1978

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
от чисел уже даже немного прёт, если честно. Вот сколько "весит" один дескриптор? Т.е. сколько выделяется памяти на 1 дескриптор?

Всего записей: 149 | Зарегистр. 13-03-2008 | Отправлено: 19:19 10-06-2012
doktorpilulkin

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
дескриптор процесса видимо имеется ввиду.
 
http://vsokovikov.narod.ru/New_MSDN_API/Process_thread/handle_identifiers_process.htm
 
в винде 32 битный, как в ядре так и в оболочке, но числа реально всегда в десятичном формате 4-ех значные. так что сколько битов не используется фиг его знает
 
Добавлено:
в диспетчере задача есть столбец количество потоков - даже с их учетом врядли у меня сейчас сотня потоков\процессов набереться. и есть еще какой то загадочный столбец счетчик дескрипторов, который аж 280 показывает например у µTorrent-а, эта походу когда процесс работает создает тред и даже заканчивает его то номер за собой забивает. хотя странно там есть функция освобождающая. экспериментировать надо
 
Добавлено:

Цитата:
Счетчик дескрипторов
 
Общее число дескрипторов, открытых в текущий момент, связанных с процессом. Это число равно сумме дескрипторов, открытых в текущий момент для каждого потока данного процесса.
 

 
походу в винде дескриптор или хендл объектов это одно и тоже множество. то есть хендл окна не может численно равняться дескриптору(хендлу) процесса, или треда.

Всего записей: 2341 | Зарегистр. 30-08-2010 | Отправлено: 19:28 10-06-2012
pavel1978

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Дескриптор, по-моему, в данный момент времени Т - уникальное число. По завершению процесса, потока, задачи он должен освобождаться, иначе будет т.н. утечка дескрипторов, с этим бороться надо (программистам-разработчикам).  
 
Добавлено:
1 дескриптор весит 8 байт
 
Добавлено:
в общем, упор был не на количество дескрипторов, как выяснилось, а на сколько СПИСКОВ
дескрипторов, и  каких.

Всего записей: 149 | Зарегистр. 13-03-2008 | Отправлено: 20:32 10-06-2012
doktorpilulkin

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
1 дескриптор весит 8 байт  

64 битная система что ли?

Всего записей: 2341 | Зарегистр. 30-08-2010 | Отправлено: 21:53 10-06-2012
pavel1978

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
нет, 32 разр пока рассматриваем.

Всего записей: 149 | Зарегистр. 13-03-2008 | Отправлено: 07:22 11-06-2012
doktorpilulkin

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
такта чета путаешь - 1 байт = 8 бит, 8х8=64
 
Добавлено:
спроси свой вопрос в теме Си, ассемблерная тема тут на форуме совсем дохлая, но тем не менее. погугли ассемблерный форум на русском

Всего записей: 2341 | Зарегистр. 30-08-2010 | Отправлено: 07:24 11-06-2012
pavel1978

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
одна страница - 4 КБ=4096 байт, в страницу влезает 512 дескрипторов => 4096/512=8  байт

Всего записей: 149 | Зарегистр. 13-03-2008 | Отправлено: 07:27 11-06-2012
doktorpilulkin

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
скорее всего так еще какие то данные о процессе
 
Добавлено:
одна страница это наверно минимальная память для создания процесса, а дескрипторы процессов храняться где то в ядре в винде под это дело память зарезервирована видимо динамически изменяющаяся

Всего записей: 2341 | Зарегистр. 30-08-2010 | Отправлено: 07:32 11-06-2012
pavel1978

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
а оно случаем не образуется из 4 гигабайта, минус память необходимая для работы ядра и устройств, поделить на память необходимая для запуска пустого процесса

 формулу - в студию! делим на память пустого процесса ВСЁ выражение или только "минус памятьдля ядра... и устройств"? Сколько "весит " пустой процесс и почему?

Всего записей: 149 | Зарегистр. 13-03-2008 | Отправлено: 07:47 11-06-2012
doktorpilulkin

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
не помню сколько, читать надо.
 
под пользовательские процессы виндовс хп отводит адресное пространство - первые 2 гига, последние два гига под устройства и ядро.
 
если минимальная память 1 страница, то максимальное число пользовательских процессов = 524288, похже на правду?
 
Добавлено:
http://www.thevista.ru/page11563-preodolevaya_granitsy_windows_protsessy_i_potoki
 
ниче кроме этого по виндене гуглится. а про линукс максимальное число потоков вроде пишут задается в настройках ядра

Всего записей: 2341 | Зарегистр. 30-08-2010 | Отправлено: 07:50 11-06-2012
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2

Компьютерный форум Ru.Board » Операционные системы » UNIX » Списки дескрипторов процессов


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru