Редактирование: FreeBSD, 04 лекция (от 23 октября)

Материал из eSyr's wiki.

Перейти к: навигация, поиск

Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.

Текущая версия Ваш текст
Строка 96: Строка 96:
Делаются локальные оптимизации.
Делаются локальные оптимизации.
-
Сам по себе маллок, который в файле kern_malloc.c, он очень простой и очень тонкий, всю работу за него выполняет другой слой. См блоксхему.
+
Сам по себе маллок, который в файле ker_malloc.c, он очень простой и очень тонкий, всю работу за него выполняет другой слой. См блоксхему.
Сначала смотрим, защищена ли память мемгардами, если используем, то уходим в cпециальный модуль. Аналогично в конце можем уйти в редзон.
Сначала смотрим, защищена ли память мемгардами, если используем, то уходим в cпециальный модуль. Аналогично в конце можем уйти в редзон.
Строка 121: Строка 121:
вероятностью уже в процессорном кэше.
вероятностью уже в процессорном кэше.
-
Кэш представляет собой очень простую структуру -- два ведра -- пустое и полное. Как только одно из них заполняется или доходит до нуля, мы их меняем местами.
+
Кег представляет собой очень простуй структуру -- два ведра -- пустое и полное. Как только одно из них заполняется или доходит до нуля, мы их меняем местами.
Ведро из себя представляет: сколько максимум записей, сколько текущее количество, и вектор из указателей в глубину слаба, и обеспечивают быструю аллокацию.
Ведро из себя представляет: сколько максимум записей, сколько текущее количество, и вектор из указателей в глубину слаба, и обеспечивают быструю аллокацию.
Строка 130: Строка 130:
следующий цвет после того цвета, которые он брал последним, а если такого нет, то случайный. Если пропустили один цвет, то тоже какая-то оптимизация может получиться. (Обсуждение про то, что в современных процессорах это неактуально. См. ссылку на книжку в конце.)
следующий цвет после того цвета, которые он брал последним, а если такого нет, то случайный. Если пропустили один цвет, то тоже какая-то оптимизация может получиться. (Обсуждение про то, что в современных процессорах это неактуально. См. ссылку на книжку в конце.)
-
Есть еще аллокатор из NetBSD vmem(9)
+
Есть еще аллокатор из NetBSD vmcm(9)
Универсальный аллокатор. Ему дается ресурс, он с ним может работать. В ядре FreeBSD он используется для vm map самого ядра. Потому что у ядра линейный список entry уже неудобен.
Универсальный аллокатор. Ему дается ресурс, он с ним может работать. В ядре FreeBSD он используется для vm map самого ядра. Потому что у ядра линейный список entry уже неудобен.
Строка 136: Строка 136:
Процессы делают mmap доволно редко. Поэтому линейный список из vmmap entry вполне удовлетворителен.
Процессы делают mmap доволно редко. Поэтому линейный список из vmmap entry вполне удовлетворителен.
-
Curt Schimmel UNIX systems for modern architectures
+
Curt Schimel systems for modern architectures
{{FreeBSD}}
{{FreeBSD}}
{{Lecture-stub}}
{{Lecture-stub}}

Пожалуйста, обратите внимание, что все ваши добавления могут быть отредактированы или удалены другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. eSyr's_wiki:Авторское право).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

Шаблоны, использованные на этой странице:

Личные инструменты
Разделы