|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Kostik Belousov 2:5020/400 16 Nov 2005 17:19:37 To : Valentin Nechayev Subject : Re: Что посоветуете ставить ?? -------------------------------------------------------------------------------- Valentin Nechayev <netch@segfault.kiev.ua> writes: > >>> Kostik Belousov wrote: > > > >>>> Kostik Belousov wrote: > > KB>> 2. Переделали сегменты на i386. У стандартных пользовательских сегментов > > KB>> теперь лимит 4Gb. TLS использует дескриптор в gs. > >> А как теперь работают всякие fubyte, subyte - через отдельный > >> сегментный регистр или ещё как-то? > KB> Hет, все как и раньше - ядерные сегменты ЕМHИП всегда были 4Gb с базой в 0x0. > KB> xxbyte и copyin/out прямо читают из пользовательской памяти, устанавливая > KB> временный обработчик pagefault'а в pcb. > KB> Кстати, непонятно, как одно связано с другим. > > Связано очень просто:) - когда пользовательские сегменты были 2G, ну > максимум 3.5G если поднажать - в этих самых нижних 2-3.5G была > пользовательская область текущего процесса, а в верхних - > виртуальное пространство ядра, отмапленное и в userland, но > недоступное процессу согласно его правам доступа. Поэтому > copyin/copyout/fubyte/... заключались просто в грамотной обработке > pagefault'ов - подгрузить страницу, если её в данный момент нет в > оперативке. Сейчас точно так же. > > Если же в пользовательском пространстве доступно до 4G, то > разместить ядерное пространство в верхней части постоянным образом Hет, карта памяти та же: 3Gb - 4Mb - user, все, что выше - ядро. Защита kernel'а от user mode теперь реализуется только страницами, без сегментации. > не получится, и для чтения/записи потребуется какое-то переключение. > Hапример, выделить в виртуальном пространстве ядра окно и > читать/писать его. Или загнать пользовательские страницы в другой > сегмент (впрочем, на i386, кажется, не получится?) Какая-то > обработка в любом случае тут нужна. > Это было только в RedHat'овском патче к ядру Linux'а, называлось 4G/4G split. И user и kernel получали по 4Gb - пара десятков мегабайт адресного пространства, которым могли целиком воспользоваться. Выходило почти как на sparc4u. Hо, в отличии от sparcов, при каждом переключении режима процессора переключалась таблица страниц и сбрасывался TLB. Патч уже отменили, он был актуален во времена ~ FC3. --- ifmail v.2.15dev5.3 * Origin: The excellent-installed InterNetNews site (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/287567f50ba8f.html, оценка из 5, голосов 10
|