|
|
|
Как можетядро располагаться в том же адресном пространстве,что и пользовательский процесс?
|
|||
|---|---|---|---|
|
#18+
В википедии пишут: Переключение контекста авторВо многих случаях ядро располагается в том же адресном пространстве, что и пользовательский процесс . При переключении контекста между user-space и kernel-space (и обратно), что, например, происходит при выполнении системных вызовов, ядро не трогает регистр CR3, тем самым сохраняя TLB Это как? А если у нас на системе несколько процессов, каждый с изолированным виртуальным адресным пространством, то как ядро может располагаться в каждом из них? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 01:53 |
|
||
|
Как можетядро располагаться в том же адресном пространстве,что и пользовательский процесс?
|
|||
|---|---|---|---|
|
#18+
в той статье слегка наоборот написано. Не ядро располагается в адресном пространстве процесса, а адресное пространство процесса принадлежит пространству ядра. В итоге процесс видит ядро, ядро видит все процессы, но процессы друг-друга не видят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 02:36 |
|
||
|
Как можетядро располагаться в том же адресном пространстве,что и пользовательский процесс?
|
|||
|---|---|---|---|
|
#18+
на мейнфреймах (z/OS) нет переключения контекста там внутри адрес спейса есть все - и ядро и приложения и шаред память ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 03:00 |
|
||
|
Как можетядро располагаться в том же адресном пространстве,что и пользовательский процесс?
|
|||
|---|---|---|---|
|
#18+
White Owlв той статье слегка наоборот написано. Не ядро располагается в адресном пространстве процесса, а адресное пространство процесса принадлежит пространству ядра. В итоге процесс видит ядро, ядро видит все процессы, но процессы друг-друга не видят. Хорошо, тогда если несколько процессов в адресном пространстве ядра, то как эти процессы не могут видеть друг друга если они все в одном адресном пространстве ядра? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 13:45 |
|
||
|
Как можетядро располагаться в том же адресном пространстве,что и пользовательский процесс?
|
|||
|---|---|---|---|
|
#18+
Новый Годна мейнфреймах (z/OS) нет переключения контекста там внутри адрес спейса есть все - и ядро и приложения и шаред память Т.е. там просто нет изоляции адресных пространств или вообще нет виртуальной памяти? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 13:45 |
|
||
|
Как можетядро располагаться в том же адресном пространстве,что и пользовательский процесс?
|
|||
|---|---|---|---|
|
#18+
ядро в адресном пространстве проНовый Годна мейнфреймах (z/OS) нет переключения контекста там внутри адрес спейса есть все - и ядро и приложения и шаред память Т.е. там просто нет изоляции адресных пространств или вообще нет виртуальной памяти? есть, некоторые диапазоны адресов просто не изолированы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 14:10 |
|
||
|
Как можетядро располагаться в том же адресном пространстве,что и пользовательский процесс?
|
|||
|---|---|---|---|
|
#18+
Новый Годядро в адресном пространстве пропропущено... Т.е. там просто нет изоляции адресных пространств или вообще нет виртуальной памяти? есть, некоторые диапазоны адресов просто не изолированы А имеете ввиду в эти "некоторые диапазоны адресов" входят адреса mutex/cond_var/events и шаред памяти для IPC? Ну переключение контекста все равно будет, просто реже - только при переключении потоков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 15:01 |
|
||
|
Как можетядро располагаться в том же адресном пространстве,что и пользовательский процесс?
|
|||
|---|---|---|---|
|
#18+
ядро в адресном пространстве проА если у нас на системе несколько процессов, каждый с изолированным виртуальным адресным пространством, то как ядро может располагаться в каждом из них? Ну для начала, никто не запрещает замапить сто "виртуальных адресных пространств" на один и тот же участок оперативной памяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 16:44 |
|
||
|
Как можетядро располагаться в том же адресном пространстве,что и пользовательский процесс?
|
|||
|---|---|---|---|
|
#18+
ядро в адресном пространстве проНовый Годпропущено... есть, некоторые диапазоны адресов просто не изолированы А имеете ввиду в эти "некоторые диапазоны адресов" входят адреса mutex/cond_var/events и шаред памяти для IPC? нет, память которая доступна вообще всем "процессам" в системе там терминология немножно другая mutex/cond_var/events -- слишком высокоуровневые вещи в данном контексте доступ к этой памяти обычно синхронизируется через CAS инструкцию ядро в адресном пространстве проНу переключение контекста все равно будет, просто реже - только при переключении потоков. "потоки" все в одном адресс спейсе переключение контекста будет только при переключении адрес спейсов а при системном вызове переключения контекста не будет ядро "мапится" на один и тот же участок памяти в каждом адрес спейсе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 17:53 |
|
||
|
Как можетядро располагаться в том же адресном пространстве,что и пользовательский процесс?
|
|||
|---|---|---|---|
|
#18+
softwarerядро в адресном пространстве проА если у нас на системе несколько процессов, каждый с изолированным виртуальным адресным пространством, то как ядро может располагаться в каждом из них? Ну для начала, никто не запрещает замапить сто "виртуальных адресных пространств" на один и тот же участок оперативной памяти. И тогда будет "ядро располагается в том же адресном пространстве, что и пользовательский процесс ... тем самым сохраняя TLB ", исходный вопрос читали? "сто "виртуальных адресных пространств"" - это сто раз обновить TLB. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 19:50 |
|
||
|
Как можетядро располагаться в том же адресном пространстве,что и пользовательский процесс?
|
|||
|---|---|---|---|
|
#18+
Новый Годядро в адресном пространстве пропропущено... А имеете ввиду в эти "некоторые диапазоны адресов" входят адреса mutex/cond_var/events и шаред памяти для IPC? нет, память которая доступна вообще всем "процессам" в системе там терминология немножно другая А что конкретно например содержится в этой памяти? Новый Годядро в адресном пространстве проНу переключение контекста все равно будет, просто реже - только при переключении потоков. "потоки" все в одном адресс спейсе переключение контекста будет только при переключении адрес спейсов а при системном вызове переключения контекста не будет ядро "мапится" на один и тот же участок памяти в каждом адрес спейсе А, т.е. не то, что в каждом виртуальном пространстве некая виртуальная область мапится на одну и ту же физическую область, а одна и та же виртуальная область мапится на одну и туже физическую область в разных процессах, т.е. одна и та же часть Page Table состоящая из ряда PTE используется сразу для нескольких виртуальных пространств? Вообще интересная затея, а почему же это для x86 не сделали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 19:59 |
|
||
|
Как можетядро располагаться в том же адресном пространстве,что и пользовательский процесс?
|
|||
|---|---|---|---|
|
#18+
ядро в адресном пространстве проА что конкретно например содержится в этой памяти? это так называемая CSA/ECSA http://pic.dhe.ibm.com/infocenter/zos/v1r11/index.jsp?topic=/com.ibm.zos.r11.ieae100/iea2e16012.htm данные приложений там хранятся какие-нибудь контрол блоки приложения эти обычно от вендора, типа субд затея это конечно интересная, только очень опасная например утечка памяти в CSA, или запись чего-нибудь по неверному адресу приведет к краху системы а под x86 вообще пишет кто угодно, нет никакого шанса что все будут писать программы корректно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 21:23 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38410470&tid=1341652]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 220ms |
| total: | 482ms |

| 0 / 0 |
