| Line 4: |
Line 4: |
| | | | |
| | {{:DMTCP}} | | {{:DMTCP}} |
| | + | |
| | + | == [http://criu.org CRIU], [http://dmtcp.sourceforge.net DMTCP], [https://ftg.lbl.gov/projects/CheckpointRestart BLCR] == |
| | + | |
| | + | “looks\seems like yes/no” - i found only unproved message(s) saying “yes”/“no” |
| | + | |
| | + | “not yet” - it is officially planned or i found no reasons, why it can’t be done. |
| | + | |
| | + | |
| | + | {| style="border-spacing:0;" |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| CRIU |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| DMTCP |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| BLCR |
| | + | |
| | + | |- |
| | + | | style="background-color:#dc2300;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| | + | | style="background-color:#dc2300;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| | + | | style="background-color:#dc2300;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| | + | | style="background-color:#dc2300;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| arch |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| x86_64, ARM |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| x86, x86_64, ARM |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| x86,x86_64,PPC/PPC64,ARM |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| OS |
| | + | | colspan="3" style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| <center>Linux</center> |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| modified kernel |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes, but only for some extra features. |
| | + | |
| | + | All unnecessary features are already in new kernel versions |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no, module can be simply modprobed |
| | + | |
| | + | |
| | + | problems with installation on new kernels |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| special libs |
| | + | |
| | + | |
| | + | |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| root privileges |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes, otherwise it would be unsafe,because,for example, of parasite code |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| need to modify programs |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | |
| | + | there are some difficulties with statically linked applications, and with LinuxThreads (cuz it does not support them at all) |
| | + | |
| | + | |
| | + | |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| need to prepare tasks |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | |
| | + | It preloadsthe DMTCP library. That library runs before the routinemain(). It creates a second thread. Thecheckpoint thread then creates a socket to the DMTCP coordinator andregisters itself. The checkpoint thread also creates a signal handler. |
| | + | |
| | + | |
| | + | |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | |
| | + | CR shall notify processes when a checkpoint is to occur (before the kernel takes a checkpoint) to |
| | + | |
| | + | allow the processes to prepare itself accordingly. |
| | + | |
| | + | |
| | + | |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| Does it change behavior of the c/r-ed programs? |
| | + | |
| | + | |
| | + | |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | |
| | + | because of wrappers on system calls |
| | + | |
| | + | |
| | + | |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | |
| | + | because of wrappers on system calls |
| | + | |
| | + | |- |
| | + | | style="background-color:#008000;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| | + | | style="background-color:#008000;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| | + | | style="background-color:#008000;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| | + | | style="background-color:#008000;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| | + | |
| | + | |- |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| migration |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| | + | |
| | + | even if kernel ,libs, etc are newer |
| | + | |
| | + | |
| | + | Can use Memory Changes Tracking to decrease time for dumping |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| | + | |
| | + | if both kernels are recent |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| | + | |
| | + | but if all is the same! |
| | + | |
| | + | |
| | + | if even prelinked addresses are different,it will not restore |
| | + | |
| | + | |
| | + | But it can save the whole used libs and localization files to restore program on the different machine |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| Containers |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | |
| | + | LXC and OpenVZ containers |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| looks like no |
| | + | |
| | + | It doesn't support namespaces, so it probably can’t dump containers |
| | + | |
| | + | |
| | + | |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| looks like no |
| | + | |
| | + | |- |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| parallel/distributed computations |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| no |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| | + | |
| | + | OpenMPI, MPICH2, OpenMP, Cilk are alredy supported and Infiniband is in progress. |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| | + | |
| | + | Cray MPI, Intel MPI, LAM/MPI, MPICH-V, MPICH2, MVAPICH, Open MPI, SGI MPT |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| c\r gdb with debugging app |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no, because they are using the same interface |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| X-Windows graphics programs (KDE, GNOME, etc) |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes, by using vnc |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes, by using vnc |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| seems like no |
| | + | |
| | + | |
| | + | |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| Solutions for invocation in the custom software |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| not yet |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | |
| | + | Plugins and API |
| | + | |
| | + | |
| | + | |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| not yet |
| | + | |
| | + | |- |
| | + | | colspan="4" style="background-color:#800080;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| unix sockets |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes,all kinds |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| udp sockets |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes, both ipv4 and ipv6 |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| not yet |
| | + | |
| | + | developers of dmtcp had no request for this |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| not yet |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| tcp sockets |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| not yet |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| remote tcp connection |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| not yet |
| | + | |
| | + | but you can write a simple DMTCP plugin that tells DMTCP how you want to reconnect on restart |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| Infiniband |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| not yet |
| | + | |
| | + | developing is on the half-way |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| | + | |
| | + | |- |
| | + | | style="background-color:#008080;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| | + | | style="background-color:#008080;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| | + | | style="background-color:#008080;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| | + | | style="background-color:#008080;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| |
| | + | |
| | + | |- |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| multithread support |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| | + | |
| | + | |- |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| multiprocess |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| process groups |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| not yet |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| zombies |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| | + | |
| | + | |- |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| namespaces |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| no |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| no |
| | + | |
| | + | |- |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| sessions |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| not yet |
| | + | |
| | + | |- |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| Ptraced programs |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| no |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| no |
| | + | |
| | + | |- |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| System V IPC |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| no |
| | + | |
| | + | |- |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| memory mappings |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| yes, all kinds |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| yes, partially |
| | + | |
| | + | |- |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| protected memory |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| | + | |
| | + | |- |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| pipes |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border:1pt solid #000000;padding:0.176cm;"| not yet |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| terminals |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | |
| | + | only Unix98 PTYs |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | |
| | + | |
| | + | |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| non-posix files (inotify, signalfd, eventfd, etc) |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | |
| | + | inotify, epoll, etc. |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| Yes |
| | + | |
| | + | epoll, eventfd, signalfd are already supported and |
| | + | |
| | + | inotify will be supported in future |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| looks like no |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| timers |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| | + | |
| | + | Any counter or timer active since the beginning of a process will consider the restarted process to be a new process. |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| Shared resources (files, mm, etc.) |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | |
| | + | files, memory, etc. |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | |
| | + | System V shared memory(shmget, etc.), mmap-based shared memory, shared sockets, pipes, file descriptors. |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| | + | |
| | + | but it is planned to suppord shared mmap regions |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| block devices |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| looks like yes |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| looks like yes |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| no |
| | + | |
| | + | |
| | + | |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| character devices |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| mostly no |
| | + | |
| | + | but /dev/null, /dev/zero, etc. are supported |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| mostly no |
| | + | |
| | + | looks like null and zero are supported |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| mostly no |
| | + | |
| | + | but /dev/null and |
| | + | |
| | + | /dev/zero are supported |
| | + | |
| | + | |- |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| capture the contents of all open files |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| yes |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| looks like no |
| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;"| not yet |
| | + | |
| | + | |} |
| | + | |
| | + | |
| | | | |
| | == External links == | | == External links == |