Нужно определиться в терминах. Суть в том, что нет такой единой сущности как "защищённая память". Есть физические страницы памяти, которые временно принадлежат каким-то процессам или ядру. И чтобы пресечь попытки одного процесса (из-за ошибки программиста или его злого умысла) подглядывать или что-то записывать в память другого процесса, ядро операционной системы "защищает" память каждого процесса от подобных действий. Придумано это было для разделения ресурсов (процессорных тактов, пространства оперативной памяти, доступа к переферицным устройствам).
Иначе, если отказаться от принципа разделения и защиты областей памяти каждого процесса друг от друга и, следуя вашему предложению, но довести его до логического конца, нужно будет строить некоторую аппаратную реализацию компьютера, в котором есть условно бесконечное количество процессоров, у каждого из которых есть своя собственная оперативная память и некий способ коммуникации между такими доменами. (Чем-то напоминает локальную сеть). Тогда каждый процесс получает свой выделенный процессор и всю оперативную память этого процессора, живёт в физическом адресном пространстве и ему никто не может помешать, как и он, собственно. А коммуникация с переферийными устройствами будет проходить через некоторый коммутатор-посредник, к которому имеет доступ каждый такой домен.
Т.е. уже сейчас это можно реализовать в примитивном виде на каких-нибудь одноплатниках, но тогда у вас дома будет столько маленьких компьютеров в локальной сети, сколько процессов вы захотите запустить. И при этом, т.к. ресурсы одноплатников ограниченны, если у процесса закончилась оперативная память, то увы и ах, вам нужно его запустить заново на другом таком одноплатнике, но с большим количеством оперативной памяти. Т.е. идея начинает выглядеть абсурдно, т.к. каждая новая вкладка в браузере будет требовать своего микрокомпьютера с достаточным количеством ресурсов. А чтобы управлять всей этой сворой железа будет нужен какой-нибудь отдельный компьютер-супервайзер-мастер-майнд, который будет распоряжаться доступными одноплатниками и руководить функциями загрузки и запуска процессов, а также диспетчеризацией обмена данными и убийством процессов.
Дальше перефразируя по М.М. Жванецкого: "Чем ядро сейчас и занято, но без этих хлопот". Т.е. виртуализируя адресное пространство оперативной памяти и работая супервайзером.
Тогда закрываем дискуссию. На текущий момент я не могу представить другого способа корректировки орбиты, кроме как расчётом времени и длительности импульса.
Ни разу не специалист и даже в KSP не играл, но в порядке бреда. Может быть сообщество стран, желающих изучать Луну, могло бы:
- предварительно сформировать опорную сеть маячков на поверхности луны (правда встаёт очень большая проблема с высокоточными часами на маячках, наверное порядка 1E-12). Такой GPS наоборот.
- "поболтаться" на круговых орбитах с гравиметром, чтобы получить опорные данные для моделирования гравитационного поля вокруг этого тела
А уже потом запихивать модель в память бортового компьютера, который смог бы на основе этой гравитационной модели, заранее известных данных о расположении маячков и времени прохождения сигнала построить первичную триангуляцию и периодическими замерами с поправками на гравитацию рассчитывать орбиту.
Правда, боюсь, что точность всё равно будет +/- километр
Нужно определиться в терминах. Суть в том, что нет такой единой сущности как "защищённая память". Есть физические страницы памяти, которые временно принадлежат каким-то процессам или ядру. И чтобы пресечь попытки одного процесса (из-за ошибки программиста или его злого умысла) подглядывать или что-то записывать в память другого процесса, ядро операционной системы "защищает" память каждого процесса от подобных действий. Придумано это было для разделения ресурсов (процессорных тактов, пространства оперативной памяти, доступа к переферицным устройствам).
Иначе, если отказаться от принципа разделения и защиты областей памяти каждого процесса друг от друга и, следуя вашему предложению, но довести его до логического конца, нужно будет строить некоторую аппаратную реализацию компьютера, в котором есть условно бесконечное количество процессоров, у каждого из которых есть своя собственная оперативная память и некий способ коммуникации между такими доменами. (Чем-то напоминает локальную сеть). Тогда каждый процесс получает свой выделенный процессор и всю оперативную память этого процессора, живёт в физическом адресном пространстве и ему никто не может помешать, как и он, собственно. А коммуникация с переферийными устройствами будет проходить через некоторый коммутатор-посредник, к которому имеет доступ каждый такой домен.
Т.е. уже сейчас это можно реализовать в примитивном виде на каких-нибудь одноплатниках, но тогда у вас дома будет столько маленьких компьютеров в локальной сети, сколько процессов вы захотите запустить. И при этом, т.к. ресурсы одноплатников ограниченны, если у процесса закончилась оперативная память, то увы и ах, вам нужно его запустить заново на другом таком одноплатнике, но с большим количеством оперативной памяти. Т.е. идея начинает выглядеть абсурдно, т.к. каждая новая вкладка в браузере будет требовать своего микрокомпьютера с достаточным количеством ресурсов. А чтобы управлять всей этой сворой железа будет нужен какой-нибудь отдельный компьютер-супервайзер-мастер-майнд, который будет распоряжаться доступными одноплатниками и руководить функциями загрузки и запуска процессов, а также диспетчеризацией обмена данными и убийством процессов.
Дальше перефразируя по М.М. Жванецкого: "Чем ядро сейчас и занято, но без этих хлопот". Т.е. виртуализируя адресное пространство оперативной памяти и работая супервайзером.
Тогда закрываем дискуссию. На текущий момент я не могу представить другого способа корректировки орбиты, кроме как расчётом времени и длительности импульса.
Ни разу не специалист и даже в KSP не играл, но в порядке бреда. Может быть сообщество стран, желающих изучать Луну, могло бы:
- предварительно сформировать опорную сеть маячков на поверхности луны (правда встаёт очень большая проблема с высокоточными часами на маячках, наверное порядка 1E-12). Такой GPS наоборот.
- "поболтаться" на круговых орбитах с гравиметром, чтобы получить опорные данные для моделирования гравитационного поля вокруг этого тела
А уже потом запихивать модель в память бортового компьютера, который смог бы на основе этой гравитационной модели, заранее известных данных о расположении маячков и времени прохождения сигнала построить первичную триангуляцию и периодическими замерами с поправками на гравитацию рассчитывать орбиту.
Правда, боюсь, что точность всё равно будет +/- километр