microkernel


Is micro kernel possible without MMU?


In the following link;
https://www.openhub.net/p/f9-kernel
F9 Microkernel runs on Cortex M, but Cortex M series doesn't have MMU. My knowledge on MMU and Virtual Memory are limited hence the following quesitons.
How the visibility of entire physical memory is prevented for each process without MMU?
Is it possible to achieve isolation with some static memory settings without MMU. (with enough on chip RAM to run my application and kernel then, just different hard coded memory regions for my limited processes). But still I don't will this prevent the access?
ARM Cortex-M processors lack of MMU, and there is optional memory protection unit (MPU) in some implementations such as STMicroelectronics' STM32F series.
Unlike other L4 kernels, F9 microkernel is designed for MPU-only environments, optimized for Cortex M3/M4, where ARMv7 Protected Memory System Architecture (PMSAv7) model is supported. The system address space of a PMSAv7 compliant system is protected by a MPU. Also, the available RAM is typically small (about 256 Kbytes), but a larger Physical address space (up to 32-bit) can be used with the aid of bit-banding.
MPU-protected memory is divided up into a set of regions, with the number of regions supported IMPLEMENTATION DEFINED. For example, STM32F429, provides 8 separate memory regions. In PMSAv7, the minimum protect region size is 32 bytes, and maximum is up to 4 GB. MPU provides full access over:
Protection region
Overlapping protection region
Access permissions
Exporting memory attributes to the system
MPU mismatches and permission violations invoke the programmable priority MemManage fault handler.
Memory management in F9 microkernel, can split into three conceptions:
memory pool, which represents the area of PAS with specific attributes (hardcoded in mem map table).
address space - sorted list of fpages bound to particular thread(s).
flexible page - unlike traditional pages in L4, fpage represent in MPU region instead.

Related Links

Is micro kernel possible without MMU?
Is there any application of L4 (microkernel)? [closed]

Categories

HOME
rust
matrix
yii
command-prompt
openflow
hyperledger
cdi
cqrs
amazon-emr
clish
stimulsoft
webstore
pygobject
renderscript
rxjs5
substring
high-availability
crud
background-color
list-comprehension
code-climate
django-import-export
sfml
credit-card
locks
location-services
epplus
caesar-cipher
ms-media-foundation
adminer
android-canvas
orchardcms-1.8
nsuserdefaults
stat
imgur
swfupload
python-jira
dagger
optionaldataexception
common-table-expression
music21
head.js
android-webservice
test-data
mechanicalturk
word-2016
email-injection
bigdecimal
s-function
tablespace
android-sdcard
highlighting
verisign
gridbaglayout
jsr363
android-expansion-files
wepay
blank-line
mixins
jnlp
apple
hmisc
compositetype
unidata
shoes
shell-extensions
nssortdescriptor
mxe
signed
mutators
uno
adhoc-polymorphism
configurable-product
smacss
full-text-indexing
accessory
csslint
prism.js
zend-search-lucene
ivalueconverter
accountmanager
pre
mod-perl
apache-shindig
non-ascii-characters
iirf
sql-view
statechart
chefspec
wndproc
struts2-s2hibernate
autosize
sql-parametrized-query
mediacontroller
directshow.net
suphp
resharper-5.1
accumulator
twitter-feed
remote-working

Resources

Database Users
RDBMS discuss
Database Dev&Adm
javascript
java
csharp
php
android
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App