Click Here
home features news forums classifieds faqs links search
6071 members 
Amiga Q&A /  Free for All /  Emulation /  Gaming / (Latest Posts)
Login

Nickname

Password

Lost Password?

Don't have an account yet?
Register now!

Support Amigaworld.net
Your support is needed and is appreciated as Amigaworld.net is primarily dependent upon the support of its users.
Donate

Menu
Main sections
» Home
» Features
» News
» Forums
» Classifieds
» Links
» Downloads
Extras
» OS4 Zone
» IRC Network
» AmigaWorld Radio
» Newsfeed
» Top Members
» Amiga Dealers
Information
» About Us
» FAQs
» Advertise
» Polls
» Terms of Service
» Search

IRC Channel
Server: irc.amigaworld.net
Ports: 1024,5555, 6665-6669
SSL port: 6697
Channel: #Amigaworld
Channel Policy and Guidelines

Who's Online
15 crawler(s) on-line.
 80 guest(s) on-line.
 1 member(s) on-line.


 OneTimer1

You are an anonymous user.
Register Now!
 OneTimer1:  2 mins ago
 AMIGASYSTEM:  7 mins ago
 zipper:  21 mins ago
 amigakit:  1 hr 23 mins ago
 retrofaza:  1 hr 27 mins ago
 Rob:  1 hr 42 mins ago
 matthey:  1 hr 45 mins ago
 BigD:  2 hrs 3 mins ago
 VooDoo:  3 hrs 3 mins ago
 outlawal2:  3 hrs 3 mins ago

/  Forum Index
   /  AROS Software
      /  ARPi - AROS on Raspberry Pi
Register To Post

PosterThread
matthey 
Re: ARPi - AROS on Raspberry Pi
Posted on 28-Aug-2018 3:21:17
#1 ]
Elite Member
Joined: 14-Mar-2007
Posts: 2018
From: Kansas

Quote:

megol wrote:
Let's see... The Page fault handler sends IPI (Inter-Processor Interrupts) to all cores in the system, each IPI handler atomically increases a counter and then goes into a spinloop. The Page fault handler waits until every core have started spinning and then returns to the program making the memory access. Add a permit() path that unlocks all spinning cores and it could perhaps work.


It's missing many details, including turning off preemptive multitasking for the process calling Forbid(), but the main idea is right. It may be better to put the other cores in a low power stopped mode that listens for interrupts (many processors have instructions for this like the 68060 LPSTOP instruction) than the spinlocks if the Permit() IPIs can wake them up. It may be good to preemptively interrupt the Forbid() if it lasts too long, wake up the other core processes and suspend the miss-behaving process.

Quote:

But what about handling disabling/enabling of interrupts? Sure, one could run all code in user mode and trap attempts to manipulate the bit doing something similar as the above...


That is tricky as communicating with the other cores requires interrupts. To be completely safe, the IPI interrupts would have to be the highest priority available. Everything else would be similar to Forbid() except all but the highest level interrupt for the IPI would be disabled on the other cores and all interrupts could be disabled on the current core.

Quote:

I think there will be huge overheads. May be acceptable, haven't programmed modern ARM cores so don't know.


Yes, I agree the overhead would be large if it is even possible. A custom CPU could make it fast, easy and safe. The original Forbid()/Permit() and Disable()/Enable() were huge performance savers as they didn't even require the costly trip to supervisor land.

Let's look at how much difference in responsiveness porting the AmigaOS to other hardware and adding modern feature might make for lower performance hardware (old study with PII@400MHz but it doesn't matter).

https://www.lisha.ufsc.br/wso/wso2009/papers/st04_03.pdf

OS | Response time | Latency | Latency Jitter
Windows XP 200 848 700
uC/OS-II 1.92 3.2 2.32

Windows XP takes 104 times as long to respond, has 265 times the latency and has 301 times as much latency jitter as a RTOS without using the MMU on the same hardware. This is why the AmigaOS was used for the Toaster and even the Toaster for other systems included an Amiga with Toaster. The AmigaOS is probably more marketable in its current form as a RTOS where fast response and low resources are more important than modern security features. Of course that leaves out current AmigaOS users who have learned to love the responsiveness but want more security using current hardware made for virtual address spaces and monolithic kernels. Is it possible for the AmigaOS to add much improved security, add SMP, add 64 bit support, keep 68k compatibility, have responsiveness closer to a RTOS without MMU and maintain a small footprint similar to the original 68k? Not without custom hardware and not without investment.

P.S. The paper includes results of QNX Neutrino with a microkernel and didn't perform too bad despite the reputation for early microkernels having poor performance. Ironically, microkernels are known for having better security than monolithic kernels. The paper states the following.

Quote:

One of the advantages of the microkernel over other types of kernels is that even when a critical error happens, such as in the filesystem for example, all the remaining parts of the system are not influenced. This means that the microkernel architecture offers a more robust environment than the ones used in other operating systems, although its problem is the overhead caused by the memory protection [Timmerman 2001] which have to be used very frequently, as all the parts of the system are isolated.


I did have ideas how to avoid much of that overhead but it falls on deaf ears around here.

 Status: Offline
Profile     Report this post  
 Top | Parent

Replies
SubjectPosterDate
      Re: ARPi - AROS on Raspberry Pimichalsc28-Aug-2018 7:55:09
          Re: ARPi - AROS on Raspberry Piwawa28-Aug-2018 13:35:05
          Re: ARPi - AROS on Raspberry Piwawa28-Aug-2018 14:01:26
              Re: ARPi - AROS on Raspberry Piferrels28-Aug-2018 20:34:34
                  Re: ARPi - AROS on Raspberry Piterminills28-Aug-2018 21:04:17
                  Re: ARPi - AROS on Raspberry Pihth31328-Aug-2018 21:12:54
                      Re: ARPi - AROS on Raspberry Piferrels28-Aug-2018 21:21:06
              Re: ARPi - AROS on Raspberry Pimichalsc5-Sep-2018 9:48:36
                  Re: ARPi - AROS on Raspberry Piwawa5-Sep-2018 17:46:32
                      Re: ARPi - AROS on Raspberry Pinikosidis5-Sep-2018 18:19:29
                          Re: ARPi - AROS on Raspberry Piwawa5-Sep-2018 21:11:14
                              Re: ARPi - AROS on Raspberry Piwawa5-Sep-2018 21:17:56
                              Re: ARPi - AROS on Raspberry Pimichalsc5-Sep-2018 21:19:59
          Re: ARPi - AROS on Raspberry Pibison28-Aug-2018 18:31:05
              Re: ARPi - AROS on Raspberry Pimichalsc28-Aug-2018 21:59:52
                  Re: ARPi - AROS on Raspberry Pinikosidis29-Aug-2018 12:32:08
                  Re: ARPi - AROS on Raspberry Pigregthecanuck29-Aug-2018 13:27:37
                      Re: ARPi - AROS on Raspberry Piterminills29-Aug-2018 16:25:50
                      Re: ARPi - AROS on Raspberry Pimichalsc5-Sep-2018 10:02:13
                  Re: ARPi - AROS on Raspberry Pihth31330-Aug-2018 2:26:59
                      Re: ARPi - AROS on Raspberry Pimichalsc30-Aug-2018 6:01:23
                      Re: ARPi - AROS on Raspberry Piwawa30-Aug-2018 9:33:45
                          Re: ARPi - AROS on Raspberry Pinikosidis30-Aug-2018 12:21:59
                          Re: ARPi - AROS on Raspberry Pihth31330-Aug-2018 17:07:25
                              Re: ARPi - AROS on Raspberry PiWumpus30-Aug-2018 17:42:02
                              Re: ARPi - AROS on Raspberry Piwawa30-Aug-2018 20:12:44
                                  Re: ARPi - AROS on Raspberry Pihth31330-Aug-2018 23:17:11
          Re: ARPi - AROS on Raspberry Pimatthey29-Aug-2018 17:46:01
              Re: ARPi - AROS on Raspberry Pimichalsc29-Aug-2018 18:25:32
                  Re: ARPi - AROS on Raspberry Pimatthey30-Aug-2018 5:25:14
                      Re: ARPi - AROS on Raspberry Pimegol30-Aug-2018 13:14:19
                          Re: ARPi - AROS on Raspberry Pinikosidis30-Aug-2018 16:11:23
                          Re: ARPi - AROS on Raspberry Pimatthey30-Aug-2018 19:25:40
                              Re: ARPi - AROS on Raspberry PiWumpus30-Aug-2018 20:13:04
                                  Re: ARPi - AROS on Raspberry Pimichalsc5-Sep-2018 9:41:20
                                      Re: ARPi - AROS on Raspberry PiWumpus5-Sep-2018 16:17:59
                                          Re: ARPi - AROS on Raspberry Pinikosidis5-Sep-2018 16:22:31
                                          Re: ARPi - AROS on Raspberry Pimichalsc5-Sep-2018 17:06:12
                                              Re: ARPi - AROS on Raspberry PiWumpus5-Sep-2018 20:42:56
                                                  Re: ARPi - AROS on Raspberry Pimichalsc5-Sep-2018 20:54:43
                                                      Re: ARPi - AROS on Raspberry Pihth3136-Sep-2018 7:10:13
                                                          Re: ARPi - AROS on Raspberry Pimichalsc6-Sep-2018 7:47:05
                                                      Re: ARPi - AROS on Raspberry PiOlafS256-Sep-2018 10:32:59
                                                          Re: ARPi - AROS on Raspberry Piwawa6-Sep-2018 17:52:44
                                                              Re: ARPi - AROS on Raspberry Piterminills18-Sep-2018 12:55:02
                                                                  Re: ARPi - AROS on Raspberry Piwawa18-Sep-2018 14:25:11
                                                                      Re: ARPi - AROS on Raspberry Pinikosidis18-Sep-2018 15:21:21
                                                                  Re: ARPi - AROS on Raspberry Piterminills19-Oct-2018 12:56:49
                                                                      Re: ARPi - AROS on Raspberry Pinumber619-Oct-2018 14:50:03
                                                                          Re: ARPi - AROS on Raspberry Piwawa19-Oct-2018 16:58:30
                                                                      Re: ARPi - AROS on Raspberry PiOlafS2519-Oct-2018 17:00:10
                                                                      Re: ARPi - AROS on Raspberry Piterminills9-Nov-2018 11:00:45
                                      Re: ARPi - AROS on Raspberry Pimatthey5-Sep-2018 20:22:59
                                          Re: ARPi - AROS on Raspberry Pimichalsc5-Sep-2018 20:38:30
                                              Re: ARPi - AROS on Raspberry Pibison5-Sep-2018 21:03:09
                                              Re: ARPi - AROS on Raspberry Pimatthey5-Sep-2018 21:28:52
                                                  Re: ARPi - AROS on Raspberry Pimichalsc5-Sep-2018 21:40:24



[ home ][ about us ][ privacy ] [ forums ][ classifieds ] [ links ][ news archive ] [ link to us ][ user account ]
Copyright (C) 2000 - 2019 Amigaworld.net.
Amigaworld.net was originally founded by David Doyle