Hello.
I found very interesting project PhantomOShttp://dz.ru/en/solutions/phantom/. It's not smalltalk related. But they try build pure object operating system with "absolute persistence option". It object model very similar to Smalltalk, it has virtual machine as "OS core". But difference between smalltalks and PhantomOS is how "image saves". In smalltalk we doing it manually. But PhantomOS always has persisted image state. So any object change will be restored after system restart without any special action.
What do you think about this? Was there smalltalk implementations (any research projects) with such feature? Maybe first smalltalk computer works same way?
Best regards, Denis
Hi Denis:
On 15 Feb 2014, at 08:37, Denis Kudriashov dionisiydk@gmail.com wrote:
I found very interesting project PhantomOS. It's not smalltalk related. But they try build pure object operating system with "absolute persistence option". It object model very similar to Smalltalk, it has virtual machine as "OS core". But difference between smalltalks and PhantomOS is how "image saves". In smalltalk we doing it manually. But PhantomOS always has persisted image state. So any object change will be restored after system restart without any special action.
Not from the smalltalk world, but perhaps also interesting for you:
https://github.com/supergillis/v8-ken
"""This project adds orthogonal persistence to the V8 engine. In v8ken, all objects, arrays, functions, ... are automatically persisted at the end of every "turn" of the event loop. In effect, events become little transactions that update v8ken's persistent heap. This allows us to write persistent, fault-tolerant JavaScript applications without relying on an external data store."""
Best regards Stefan
In this context, it reminds me of LOOM for sure...
https://archive.org/stream/byte-magazine-1981-08/1981_08_BYTE_06-08_Smalltal...
It was a "virtual memory system" but it can be considered as a object persistent mechanism where you can go back to a good state of the system even when the hardware crashes...
On Fri, Feb 14, 2014 at 11:37 PM, Denis Kudriashov dionisiydk@gmail.com wrote:
Hello.
I found very interesting project PhantomOS. It's not smalltalk related. But they try build pure object operating system with "absolute persistence option". It object model very similar to Smalltalk, it has virtual machine as "OS core". But difference between smalltalks and PhantomOS is how "image saves". In smalltalk we doing it manually. But PhantomOS always has persisted image state. So any object change will be restored after system restart without any special action.
What do you think about this? Was there smalltalk implementations (any research projects) with such feature? Maybe first smalltalk computer works same way?
Best regards, Denis
On 15.02.2014, at 08:37, Denis Kudriashov dionisiydk@gmail.com wrote:
Hello.
I found very interesting project PhantomOS. It's not smalltalk related. But they try build pure object operating system with "absolute persistence option". It object model very similar to Smalltalk, it has virtual machine as "OS core". But difference between smalltalks and PhantomOS is how "image saves". In smalltalk we doing it manually. But PhantomOS always has persisted image state. So any object change will be restored after system restart without any special action.
What do you think about this? Was there smalltalk implementations (any research projects) with such feature? Maybe first smalltalk computer works same way?
Gemstone/S.
- Bert -
On Sun, Feb 16, 2014 at 9:45 AM, Bert Freudenberg bert@freudenbergs.dewrote:
On 15.02.2014, at 08:37, Denis Kudriashov dionisiydk@gmail.com wrote:
So any object change will be restored after system restart without any special action.
What do you think about this? Was there smalltalk implementations (any research projects) with such
feature? Maybe first smalltalk computer works same way?
Gemstone/S.
Eh, not really. Gemstone allows multiple virtual machines to operate on the same object memory simultaneously. As a consequence, changes are not persisted automatically; the application has to explicitly commit a transaction to in order to persist changes. That's quite a different model from automatic, transparent persistence as Denis describes.
Colin
2014-02-16 18:45 GMT+04:00 Bert Freudenberg bert@freudenbergs.de:
On 15.02.2014, at 08:37, Denis Kudriashov dionisiydk@gmail.com wrote:
Hello.
I found very interesting project PhantomOS. It's not smalltalk related.
But they try build pure object operating system with "absolute persistence option".
It object model very similar to Smalltalk, it has virtual machine as "OS
core". But difference between smalltalks and PhantomOS is how "image saves". In smalltalk we doing it manually. But PhantomOS always has persisted image state. So any object change will be restored after system restart without any special action.
What do you think about this? Was there smalltalk implementations (any research projects) with such
feature? Maybe first smalltalk computer works same way?
Gemstone/S.
In Gemstone you also should save changes manually by commit transaction message. But PhantomOS idea is persisting any change automatically. They implement special virtual memory to achieve this. Maybe it is very similar to LOOM as Yoshiki said. I don't know.
Is first smalltalk machine has "save image button"?
Hi!
On 02/16/2014 09:03 PM, Denis Kudriashov wrote:
2014-02-16 18:45 GMT+04:00 Bert Freudenberg <bert@freudenbergs.de mailto:bert@freudenbergs.de>:
On 15.02.2014, at 08:37, Denis Kudriashov <dionisiydk@gmail.com <mailto:dionisiydk@gmail.com>> wrote: > Hello. > > I found very interesting project PhantomOS. It's not smalltalk related. But they try build pure object operating system with "absolute persistence option". > It object model very similar to Smalltalk, it has virtual machine as "OS core". But difference between smalltalks and PhantomOS is how "image saves". In smalltalk we doing it manually. But PhantomOS always has persisted image state. So any object change will be restored after system restart without any special action. > > What do you think about this? > Was there smalltalk implementations (any research projects) with such feature? Maybe first smalltalk computer works same way? Gemstone/S.
In Gemstone you also should save changes manually by commit transaction message. But PhantomOS idea is persisting any change automatically. They implement special virtual memory to achieve this. Maybe it is very similar to LOOM as Yoshiki said. I don't know.
Mmmm, I wonder. Only 3 min of googling, but FAQ on Phantom says "All the userland memory is mapped to disk and is frequently snapped."
Now, "*frequently* snapped" sounds to me that a crash could leave the system in a non consistent state. Or at least in a "oops, lost that"-state. Depending on what the mean.
I mean "always persisted state" is a bit hard, unless you snap to disk on *every* state change, every little ivar assignment etc. Every little at:put: in an array :)
Thus enters the transaction concept that GemStone (and most OODBs) have. Its not only for concurrency - it is also needed to define the consistent checkpoints of state where you are sure "stuff is persisted".
regards, Göran
PS. I have waited many years for new memory tech that would give us this ability - a memory tech that has both features of secondary (big, cheap, no electricity needed to keep state) and primary memory (fast as hell). Then that arrives we can have a true PhantomOS. :)
On 16-02-2014, at 12:03 PM, Denis Kudriashov dionisiydk@gmail.com wrote:
Is first smalltalk machine has "save image button"?
IIRC the early Alto systems saved snapshots on a somewhat regular basis, automatically. Thus if you got into a nasty state you would rush to hit the reboot Big Red Button before the next auto-save pickled your mistake.
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Strange OpCodes: SHP: Solve Halting Problem
vm-dev@lists.squeakfoundation.org