S
S
Semyon Prikhodko2018-01-05 15:02:18
Operating Systems
Semyon Prikhodko, 2018-01-05 15:02:18

How efficient is a hypothetical OS in a single address space?

Suppose we want to implement an operating system in a single address space to reduce the overhead associated with system calls. Those. system calls will not differ from calling ordinary (virtual) functions. However, preemptive scheduling context switches, and the cache invalidations they generate, are here to stay. Question: how much will it be possible to gain in performance compared to the conventional approach?

Answer the question

In order to leave comments, you need to log in

2 answer(s)
A
Alexey Cheremisin, 2018-01-05
@leahch

Yes, they will be effective, but there is no escape without saving the context and restoring. The application code will be reentrant, but protection will still be through the MMU. And without protection - any application or error will put the entire system.
Moreover, such OS is. For example OS-9 https://ru.m.wikipedia.org/wiki/OS-9
What will we lose? It will be much more difficult to swap, since we will not have a memory translator, and it will not be possible to save the process dump and load the dump of another process into this place.

J
jcmvbkbc, 2018-01-05
@jcmvbkbc

However, preemptive scheduling context switches, and the cache invalidations they generate, are here to stay.

But the VIPT / PIPT cache does not need to be invalidated when switching the context, and VIVT, it seems to me, has not been done for a long time.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question