22 ms·
Phantom OS
- deleted 5y ago[deleted]
- brendi 5y agoIgnoring the actual OS - the website uses some Google and Yandex services, and doesn't work without JavaScript enabled....
- mikewarot 5y agoThis is an interesting idea, much like KeyKOS in the past, which had a heartbeat that saved the entire system state every N seconds, tagging blocks of memory as it went so it didn't have to be instantaneous. It was demonstrated by simply powering the system off, then back on, without letting the OS know it was about to happen. After about a minute, everything was back up and running, like nothing had happened. (Or so I've read) Supporting Capabilities is the one thing I'm looking for in a new daily driver. I don't care how rough it is to use, as long as I can compile and fix things, I can tollerate quite a bit. I lived through MS-DOS and everything since.
- monocasa 5y agoInterestingly, KeyKOS's successors ended up removing the transparent checkpointing out of the kernel. As I understand it the reasoning was two fold. 1) virtual memory page outs can be implemented cleanly by a user space process, so pushing it out there makes the kernel have a smaller surface area. 2) checkpointing in distributed envs requires some idea of the checkpoint event being propagated to user space since there's all sorts of state that could be on other systems. Rolling back is going to get TCP, etc out of sync. The earlier user space knows it's been rolled back to a checkpoint, the quicker it can recover practically.
- blenderdt 5y agoI believe this is related to the Blender file format (.blend). It is just a dump of the program state. That's why saving and loading is extremely fast.
- throwaway684936 5y agoI'm glad to see real OS research hasn't stalled. This feels very Plan 9-esque in its boldness and commitment to its ideas. We need to let go of Unixisms.
- GekkePrutser 5y agoThis has a POSIX layer so it's not free of 'unixisms' by design. I agree it's a always great idea to explore new ideas from zero without any conceptual baggage. I'm sure that unix-like OSes will still have a lot to offer for some usecases though.
- agumonkey 5y agoI too would like to see less unixy OSes more often. I'm happy to see this on HN
- brink 5y ago> We need to let go of Unixisms. Why?
- convolvatron 5y agowell for starters some of the machinery is useless and requires constant stepping over. some design decisions (fork, signals) have really shown themselves to be mistakes as time goes on for what it does on a server system for example (manage processes), there is a lot of useless genuflecting and papering over problems. remote manageability being a big one so no, no one is going to die. but we could do a lot better.
- kayson 5y agoWhat would you propose instead of forks/signals/process management? There needs to be some way of managing different tasks whether that's threads or otherwise
- convolvatron 5y ago
- productceo 5y agoCool idea!
- mabbo 5y agoWithout any intent to take away from how cool this is (seriously, it's awesome) I do wonder what kinds of applications need this sort of capability. Surviving a reboot is a very specific capability. With no hyperbole intended, who needs it?
- Asmod4n 5y agomacOS does something kinda like it. For when your battery dies you just have to boot the machine and all running apps will sort of start in their previous state.
- paxys 5y agoThat really depends on how well the app manages its own state and specifically handles restarts. No mainstream OS can restart without running apps even knowing it.
- jonhohle 5y agoIt’s possible with virtualization and containers. In those cases, to be fair, there applications are running in an environment that may not be aware it was restarted.
- FredPret 5y agoWhat if we're a simulation unknowingly getting a restart every time Johhny the alien closes and opens his laptop?
- zozbot234 5y agoA planned restart is just hibernation to disk, which is implemented in many OS's.
- Asmod4n 5y agoIf you got a Mac without a battery you can try to write something in pages and just yoink the power cable. Upon the next boot pages should open with your document and not lost anything.
- dgb23 5y agoThis is really cool, I felt deeply relaxed and curious at the same time just thinking of the implications. There’s got to be tons of stuff to dig out and rediscover from early CS R&D. Some of these are more advanced than what we have today, but we seem to be obsessed with patching over existing solutions.
- antattack 5y ago
- runjake 5y agoPerhaps a good thought exercise on compassion. Substitute American for your people. “Would it make sense not to promote American projects until Americans are out of (Iraq/Afghanistan/Africa/etc)? On the other hand, the war is American government's doing and isolating American population only pushes them away into Biden’s/Trump’s hands.” How would the above, targeted toward your people, make you feel?
- antattack 5y agoI feel bad for Ukrainians who have to starve and fight for their country who are prevented by Russian government to exchange ideas and present their projects, research, collaborate. Ukrainians who are defending their country and are called Nazis by Russians, Ukrainians who's country is being turned into ruin by Russian army.
- briantakita 5y agoThese people are not the Russian government as a person living in American or Ukraine is not the government.
- PyWoody 5y agoGitHub looks pretty slow/dying: https://github.com/dzavalishin/phantomuserland https://github.com/dzavalishin/phantomuserland
- Sirened 5y agoI'm pretty sure it's just one dude working on the project. I remember this popping on the hobbyist OS dev form a while back.
- deleted 5y ago[deleted]
- simne 5y ago
- nhumrich 5y agoMy first thought is that this computer will be impossible to use. Why? How many bugs exist in computer software, where the solution is to turn your computer off and on again. If power loss doesn't effect state of running programs, then once something is weird, your only option is to reformat the machine. The IT crowd will be out of a job.
- deleted 5y ago[deleted]
- themodelplumber 5y agoThere will be more IT Coaches. They can show you the path to successful OS use. But only you can walk it. Mistakes must be accepted, contextualized, and built upon as a path forward... :-)
- ThalesX 5y agoAs an IT OS Coach, it just irks me when people don't understand how to use their OS properly and blame the 'system'; people forget how the before-times were, when you had an OS thrown on your hands and had to waste precious time learning to use it.
- wyldfire 5y agoDon't Android and iOS apps use a persistent database to store much of their data? So in that case the recovery procedure is to do something like "Clear storage"/"Clear cache". And most of your work laptops probably have a network-mounted user home directory. Swap a laptop and you still get your home dir. You can always selectively purge part or all of your home dir. Persistence doesn't make these issues unrecoverable, it just makes the process for recovery different. Although admittedly it's less simple than it was in previous generations.
- johnisgood 5y agoWe will be out of a job because we will not be able to say "have you tried turning it off and on again?". On a serious note, there are already loads of IT jobs that do not actually have to exist... Soon we will have a job specifically for coming up with the tech stack, picking frameworks and so on. :)
- kfrzcode 5y agoThis feels like a security nightmare, though, from someone who has no working OS-level knowledge
- nextaccountic 5y agoWhat's the license? Is it open source?
- brantonb 5y agoLGPL-3.0 https://github.com/dzavalishin/phantomuserland/blob/master/LICENSE https://github.com/dzavalishin/phantomuserland/blob/master/L...
- skybrian 5y agoTransactions (something like fsync) and code upgrades (something like database migrations or hot-reload in a debugger) seem like the tricky parts and I don't see a discussion of how they'll handle it. Let's assume you get a stream of security patches from somewhere. How do you apply them without a reboot? What if a data structure needs to be migrated? During early development, it's easy to just throw away all your data and start over after a redesign, but as with production databases or filesystem implementations, once you're storing real user data, you're not allowed to do that anymore. It's helpful architecturally to have a distinction between on-disk structures (which you're careful about either not changing or migrating) and in-memory structures (which don't) rather than trying to freeze or migrate everything.
- deleted 5y ago[deleted]
- zozbot234 5y agoTransactions can be done "easily" by reusing virtual memory support to trap accesses to memory (read/write/execute) and basically running coherence protocols in software. This is also how distributed transactions can be implemented, which enable you to deploy a bunch of threads running in a single address space across separate nodes in a cluster. It's not all that much harder to implement than checkpoint or restore, which they seem to have already.
- bitcharmer 5y agoIf I understand this idea correctly, it would have a huge performance impact if every load and store had to be trapped. Or am I missing something here?
- zozbot234 5y agoNot every access, but those that have to be trapped in order to maintain coherence. The cost of a trap might simply be in the same ballpark as other kinds of synchronization.
- 5y ago
- unixhero 5y agoAnd they got Quale built and running. Well played PhantomOS.
- dang 5y agoRecent and related: Phantom OS: Persistent Operating System - https://news.ycombinator.com/item?id=30283864 https://news.ycombinator.com/item?id=30283864 - Feb 2022 (68 comments) Also: Phantom OS, a Russian OS where “everything is an object” - https://news.ycombinator.com/item?id=19672610 https://news.ycombinator.com/item?id=19672610 - April 2019 (23 comments)
- legalcorrection 5y agoThe reason why "turn it off and on again" solves most computer issues is that the issues are caused by the system entering unexpected states that weren't properly accounted for at design/coding time. The longer a system runs, the more likely it will end up in such a broken state. So basically, this system is designed to monotonically drift toward being completely broken. How is this an improvement?
- denton-scratch 5y agoI suppose there's a procedure of some kind for rebooting from zero, rather than restoring previous state. I guess I'd like to be able to specify at startup which processes are to be de-hibernated, which are to be restarted from scratch, and which are to remain dead.
- Cloudef 5y agoYeah I stay clear from anything java inspired
- UltraViolence 5y ago
- emqutete 5y ago
- Aleksdev 5y agoVery cool project! Refreshing to see some cool non Unix systems.
- secondcoming 5y ago> On the application code (VM bytecode) level OS shutdown (either manual or caused by failure) is not even 'seen' - applications and their data are 'never die', they continue their work after the next OS boot up as if no shutdown ever happened. How does this work with timers?
- omneity 5y agoCould PhantomOS’s architecture be a great match to XPoint (3d memory like Optane) or eventual memristor memory, potentially achieving instant booting times?
- eternityforest 5y agoThis is really cool, but at odds with SSDs. They don't like all the write cycling, and at the same time, they can boot fast enough to not need persistence, and are low power enough that people just leave them on all day. Lack of persistence could almost be seen as a benefit, because as we all know, most problems are solved by a reboot. But I'm sure somewhere out there is a super niche application for this.
- bobuk 5y agoThe author of the concept is a pro-government-minded Russian dude who actively supports Russia in this war against Ukraine, Dmitry Zavalishin. It is sounds not so important, but I think there's no way to build something new for the whole world (like new OS) with a founder who supports Putin.
- CPAhem 5y agoA review of Phantos OS from 2009 https://www.theregister.com/2009/02/03/phantom_russian_os/ https://www.theregister.com/2009/02/03/phantom_russian_os/