true, embedded systems (and in theory server s/w) are different in a number of respects to your typical desktop-level s/w.
Embedded systems typically are not 'manned', they have to handle all issues themselves and continue providing service. Note that this does not mean "no resets".
Resets should be designed for because they will happen.
All effort should be made to make errors deterministic as (like you say) they will become a real time-suck.
IMO, servers should also be considered embedded systems and designed like this, but unfortunately the culture around server software is for very dynamic, very resource heavy and very inefficient, non-deterministic s/w.
Embedded systems typically are not 'manned', they have to handle all issues themselves and continue providing service. Note that this does not mean "no resets".
Resets should be designed for because they will happen.
All effort should be made to make errors deterministic as (like you say) they will become a real time-suck.
IMO, servers should also be considered embedded systems and designed like this, but unfortunately the culture around server software is for very dynamic, very resource heavy and very inefficient, non-deterministic s/w.