BOINC nun auch auf OpenWrt

Kaufempfehlungen, Hardwaretips, Softwareprobleme, Overclocking, Technikfragen ohne Bezug zu DC.
Nachricht
Autor
smoe
Prozessor-Polier
Prozessor-Polier
Beiträge: 120
Registriert: 12.01.2018 19:12

Re: BOINC nun auch auf OpenWrt

#13 Ungelesener Beitrag von smoe » 15.03.2021 15:16

Bei der elektronischen Schaltung sehe ich kein Problem, insbesondere für Rechenkraft nicht. Wenn das Projekt gut ist, so finden wir bestimmt auch Leute, die 50 Euro für die Platine ausgeben. Und dann können wir die uns auch fertigen lassen.

smoe
Prozessor-Polier
Prozessor-Polier
Beiträge: 120
Registriert: 12.01.2018 19:12

Re: BOINC nun auch auf OpenWrt

#14 Ungelesener Beitrag von smoe » 15.03.2021 15:29

Die TN-GRID challenge knapp verpasst, hier http://gene.disi.unitn.it/test/show_hos ... stid=67155 ist ein solcher OpenWrt Router aktiv (ein Linksys WRT3200ACM - nicht kaufen, die hardware ist anders als versprochen nicht wirklich OpenSource). Ich konnte BOINC+TN-GRID mit mit dem developer snapshot problemlos einrichten, d.h. ohne irgendetwas selber kompilieren zu müssen.

Benutzeravatar
Michael H.W. Weber
Vereinsvorstand
Vereinsvorstand
Beiträge: 21148
Registriert: 07.01.2002 01:00
Wohnort: Marpurk
Kontaktdaten:

Re: BOINC nun auch auf OpenWrt

#15 Ungelesener Beitrag von Michael H.W. Weber » 16.03.2021 09:29

Was wir bräuchten, wäre die Marburger OpenWRT-Freifunkfirmware mit laufendem BOINC vorinstalliert, wo man bei der (GUI-/Webformular-basierten) Einrichtung dann BOINC optional aktivieren und direkt mit dem eigenen Projektaccount verknüpfen kann.

Michael.
Fördern, kooperieren und konstruieren statt fordern, konkurrieren und konsumieren.

http://signature.statseb.fr I: Kaputte Seite A
http://signature.statseb.fr II: Kaputte Seite B

Bild Bild Bild

smoe
Prozessor-Polier
Prozessor-Polier
Beiträge: 120
Registriert: 12.01.2018 19:12

Re: BOINC nun auch auf OpenWrt

#16 Ungelesener Beitrag von smoe » 19.03.2021 16:02

Das image könnten wir machen, aber man gewinnt nicht wirklich dadurch, da man den USB stick weiterhin mounten muss. Wer das kann, der kann auch die fehlenden Paket in LuCI (so heißt das web interface) auswählen. Ich bin die Schritte gerade nochmal gegangen:

# sich auf dem Router einlooger
ssh root@192.168.1.1
# update auf den aktuellen Entwicklungs-Snapshot - anzupassen an den eigenen Router
cd /tmp/
wget https://downloads.openwrt.org/snapshots ... pgrade.bin
sysupgrade openwrt-mvebu-cortexa9-linksys_wrt3200acm-squashfs-sysupgrade.bin
# installation von LuCI
opkg update
opkg install luci-ssl kmod-usb-storage-extras mount-utils usbutils
# nun habe ich ewig lange nach der LuCI Erweiterung für das Mounten von Dateisystemen gesucht aber nicht mehr gefunden [Update: Hätte https://192.168.1.1 neu aufrufen müssen, die Web-Konfiguration für das Mounten des USB sticks geschieht im Menü System unter "Mount Points"]
mkdir /opt
mkdir /opt/boinc
mount /dev/sda1 /opt/boinc
# Installation von BOINC
opkg install boinc
# konfigurieren
cd /opt/boinc
# den project soft key besorgen von http://gene.disi.unitn.it/test/weak_auth.php
boinccmd --project_attach http://gene.disi.unitn.it/test/ 272_4d5duseyourown5bb152ff

Staunen auf top

Code: Alles auswählen

Mem: 443920K used, 65480K free, 1128K shrd, 68848K buff, 71224K cached
CPU:   0% usr   0% sys  50% nic  49% idle   0% io   0% irq   0% sirq
Load average: 1.00 1.00 0.86 2/98 5634
  PID  PPID USER     STAT   VSZ %VSZ %CPU COMMAND
 5592  5587 root     RN    159m  32%  50% ../../projects/www.worldcommunitygrid.org/wcgrid_opn1_autodock_7.17_arm-unknown-linux-gnueabihf -jobs OPN1_0038078_03686.job -input OPN1_0038078_03686
    1     0 root     S     1396   0%   0% /sbin/procd
 5587  3391 root     S     8064   2%   0% boinc_client --check_all_logins --redirectio --dir /opt/boinc/
 2024     1 root     S     3244   1%   0% /usr/sbin/hostapd -s -g /var/run/hostapd/global
 2025     1 root     S     3244   1%   0% /usr/sbin/wpa_supplicant -n -s -g /var/run/wpa_supplicant/global
Bitte um Nachsicht für den da gerade zur obigen Anleitung nicht passenden WCG job. WCG geht auch, wenn bislang auch nicht mit der default Einstellung - habe die als "reguläre ARM Architektur" gebuffert und rechne+submitte die nun als OpenWrt "musl"-basierter Rechner. Bin gespannt, ob die dann akzeptiert werden und welche Architektur dann angezeigt wird. Hier noch ein Blick auf stdout:

Code: Alles auswählen

19-Mar-2021 14:30:02 [---] Starting BOINC client version 7.16.16 for arm-openwrt-linux-muslgnueabi
19-Mar-2021 14:30:02 [---] log flags: file_xfer, sched_ops, task
19-Mar-2021 14:30:02 [---] Libraries: libcurl/7.75.0 wolfSSL/4.7.0
19-Mar-2021 14:30:02 [---] Data directory: /opt/boinc
19-Mar-2021 14:30:02 [---] No usable GPUs found
19-Mar-2021 14:30:02 [---] Host name: OpenWrt
19-Mar-2021 14:30:02 [---] Processor: 2 ARM ARMv7 Processor rev 1 (v7l) [Impl 0x41 Arch 7 Variant 0x4 Part 0xc09 Rev 1]
19-Mar-2021 14:30:02 [---] Processor features: half thumb fastmult vfp edsp neon vfpv3 tls vfpd32
19-Mar-2021 14:30:02 [---] OS: Linux OpenWrt: OpenWrt SNAPSHOT [5.4.105]
19-Mar-2021 14:30:02 [---] Memory: 497.46 MB physical, 0 bytes virtual
19-Mar-2021 14:30:02 [---] Disk: 28.66 GB total, 18.19 GB free
19-Mar-2021 14:30:02 [---] Local time is UTC +0 hours
19-Mar-2021 14:30:02 [---] Config: GUI RPCs allowed from:
19-Mar-2021 14:30:02 [---] Config: alternate platform: arm-unknown-linux-gnueabihf
19-Mar-2021 14:30:07 [---] General prefs: from https://boinc.bakerlab.org/rosetta/ (last modified 24-Oct-2020 00:34:13)
19-Mar-2021 14:30:07 [---] Host location: none
19-Mar-2021 14:30:07 [---] General prefs: using your defaults
19-Mar-2021 14:30:07 [---] Reading preferences override file
19-Mar-2021 14:30:07 [---] Preferences:
19-Mar-2021 14:30:07 [---]    max memory usage when active: 397.97 MB
19-Mar-2021 14:30:07 [---]    max memory usage when idle: 397.97 MB
19-Mar-2021 14:30:07 [---]    max disk usage: 19.22 GB
19-Mar-2021 14:30:07 [---]    max CPUs used: 1
19-Mar-2021 14:30:07 [---]    suspend work if non-BOINC CPU load exceeds 100%
19-Mar-2021 14:30:07 [---]    (to change preferences, visit a project web site or select Preferences in the Manager)
19-Mar-2021 14:30:07 [---] Setting up project and slot directories
19-Mar-2021 14:30:07 [---] Checking active tasks
19-Mar-2021 14:30:07 [TN-Grid Platform] URL http://gene.disi.unitn.it/test/; Computer ID 67155; resource share 100
19-Mar-2021 14:30:07 [World Community Grid] URL https://www.worldcommunitygrid.org/; Computer ID 7745777; resource share 300
19-Mar-2021 14:30:07 [---] Setting up GUI RPC socket
19-Mar-2021 14:30:07 [---] Checking presence of 72 project files
19-Mar-2021 14:30:07 Initialization completed
19-Mar-2021 14:32:15 [---] Received signal 15
19-Mar-2021 14:32:16 [---] Exiting
19-Mar-2021 14:32:58 [---] cc_config.xml not found - using defaults
19-Mar-2021 14:32:58 [---] Starting BOINC client version 7.16.16 for arm-openwrt-linux-muslgnueabi
19-Mar-2021 14:32:58 [---] log flags: file_xfer, sched_ops, task
19-Mar-2021 14:32:58 [---] Libraries: libcurl/7.75.0 wolfSSL/4.7.0
19-Mar-2021 14:32:58 [---] Data directory: /opt/boinc
19-Mar-2021 14:32:58 [---] No usable GPUs found
19-Mar-2021 14:32:58 [World Community Grid] App version has unsupported platform arm-unknown-linux-gnueabihf; changing to arm-openwrt-linux-muslgnueabi
19-Mar-2021 14:32:58 [---] Host name: OpenWrt
19-Mar-2021 14:32:58 [---] Processor: 2 ARM ARMv7 Processor rev 1 (v7l) [Impl 0x41 Arch 7 Variant 0x4 Part 0xc09 Rev 1]
19-Mar-2021 14:32:58 [---] Processor features: half thumb fastmult vfp edsp neon vfpv3 tls vfpd32
19-Mar-2021 14:32:58 [---] OS: Linux OpenWrt: OpenWrt SNAPSHOT [5.4.105]
19-Mar-2021 14:32:58 [---] Memory: 497.46 MB physical, 0 bytes virtual
19-Mar-2021 14:32:58 [---] Disk: 28.66 GB total, 18.19 GB free
19-Mar-2021 14:32:58 [---] Local time is UTC +0 hours
19-Mar-2021 14:32:58 [---] Config: GUI RPCs allowed from:
19-Mar-2021 14:32:58 [---] General prefs: from https://boinc.bakerlab.org/rosetta/ (last modified 24-Oct-2020 00:34:13)
19-Mar-2021 14:32:58 [---] Host location: none
19-Mar-2021 14:32:58 [---] General prefs: using your defaults
19-Mar-2021 14:32:58 [---] Reading preferences override file
19-Mar-2021 14:32:58 [---] Preferences:
19-Mar-2021 14:32:58 [---]    max memory usage when active: 397.97 MB
19-Mar-2021 14:32:58 [---]    max memory usage when idle: 397.97 MB
19-Mar-2021 14:32:58 [---]    max disk usage: 19.22 GB
19-Mar-2021 14:32:58 [---]    max CPUs used: 1
19-Mar-2021 14:32:58 [---]    suspend work if non-BOINC CPU load exceeds 100%
19-Mar-2021 14:32:58 [---]    (to change preferences, visit a project web site or select Preferences in the Manager)
19-Mar-2021 14:32:58 [---] Setting up project and slot directories
19-Mar-2021 14:32:58 [---] Checking active tasks
19-Mar-2021 14:32:58 [TN-Grid Platform] URL http://gene.disi.unitn.it/test/; Computer ID 67155; resource share 100
19-Mar-2021 14:32:58 [World Community Grid] URL https://www.worldcommunitygrid.org/; Computer ID 7745777; resource share 300
19-Mar-2021 14:32:58 [---] Setting up GUI RPC socket
19-Mar-2021 14:32:58 [---] Checking presence of 72 project files
19-Mar-2021 14:32:58 Initialization completed
19-Mar-2021 15:01:21 [World Community Grid] work fetch suspended by user
Ich würde mich selbstredend freuen, wenn jemand von Euch darauf Laune hat. Wenn sich jemand eh gerade einen enuen Router kaufen möchte, so empfehle ich den https://openwrt.org/toh/netgear/r7800 mit einer guten CPU, genügend Speicher und einer guten Unterstützung durch OpenWrt und den Freifunk. Bessere Vorschläge lasst bitte hören.

Benutzeravatar
Michael H.W. Weber
Vereinsvorstand
Vereinsvorstand
Beiträge: 21148
Registriert: 07.01.2002 01:00
Wohnort: Marpurk
Kontaktdaten:

Re: BOINC nun auch auf OpenWrt

#17 Ungelesener Beitrag von Michael H.W. Weber » 20.03.2021 10:17

Kann man nicht BOINC direkt auf den Router schnallen, in das Firmware-Image integrieren - also den USB-Stock verhindern?

Michael.
Fördern, kooperieren und konstruieren statt fordern, konkurrieren und konsumieren.

http://signature.statseb.fr I: Kaputte Seite A
http://signature.statseb.fr II: Kaputte Seite B

Bild Bild Bild

Benutzeravatar
Rs232
Team-Joker
Team-Joker
Beiträge: 374
Registriert: 06.01.2017 18:37
Wohnort: Harz

Re: BOINC nun auch auf OpenWrt

#18 Ungelesener Beitrag von Rs232 » 20.03.2021 10:47

Michael H.W. Weber hat geschrieben:
20.03.2021 10:17
Kann man nicht BOINC direkt auf den Router schnallen, in das Firmware-Image integrieren - also den USB-Stock verhindern?
Das Problem ist das einfach nicht genug Speicher zur Verfügung steht....
z.B.
Bei meinen Mesh Fritz!Boxen (4040) die haben nur 32Mb da geht Boinc mit Arbeitspacketen einfach nicht mit drauf
Die Hardware ist ansonsten recht gut 4Kerne mit knapp 700MHz und dazu 256Mb RAM

Allerdings sollte es mit einem Script und automount einfach möglich sein.

Im OpenWRT müsste ein Script hinterlegt werden der durch ein Mount-Event gestartet wird so das geschaut wird ob auf dem Datenträger ein weiteres Script vorhanden ist.
In diesem könnte man dann einen Installer und eine Pre Config hinterlegen.

So das am Ende das einstecken eines Vorbereiteten USB Stick ausreicht, der mit einem Image geflasht wird was man zum Download bereit stellen kann.

So meine Idee dazu

Edit:
Oder es wird in OpenWRT das gesamte Script hinterlegt was ja kaum Speicher belegt.
Und auf dem Datenträger nur eine Datei mit vorgegebenem Namen die durch das Script geprüft wird.
Was um einiges sicherer als die erste genannte Variante sein sollte.
Das Mounten ließe sich z.B über "usbmount" realisieren.
Das Prüfen auf die vorgegebene Datei dann mit einem Cron Job der nur bei einem Neustart ausgeführt wird.
Und anschließend beim auffinden das Script zur Installation ausführt.
Wobei die Datei zur Erkennung gelöscht wird nach Erfolg damit nicht jedes mal sinnlos Installiert wird beim Neustart.
What do we want? Time travel! When do we want it? It´s Irrelevant!
Bild

smoe
Prozessor-Polier
Prozessor-Polier
Beiträge: 120
Registriert: 12.01.2018 19:12

Re: BOINC nun auch auf OpenWrt

#19 Ungelesener Beitrag von smoe » 20.03.2021 17:13

Rs232 hat geschrieben:
20.03.2021 10:47
Michael H.W. Weber hat geschrieben:
20.03.2021 10:17
Kann man nicht BOINC direkt auf den Router schnallen, in das Firmware-Image integrieren - also den USB-Stock verhindern?
Das Problem ist das einfach nicht genug Speicher zur Verfügung steht....
z.B.
Bei meinen Mesh Fritz!Boxen (4040) die haben nur 32Mb da geht Boinc mit Arbeitspacketen einfach nicht mit drauf
Die Hardware ist ansonsten recht gut 4Kerne mit knapp 700MHz und dazu 256Mb RAM
Dies und dass man den flash Speicher nur "selten" (wenige 100tausende Male) beschreiben möchte. Wenn dann BOINC wiederholt seine checkpoints in eine Datei schreibt, so ruiniert man sich ggf lieber den USB stick als den Speicher des Routers. Dass BOINC wegen "zu wenig Plattenplatz" also einfach nur schläft, ist für diesen Hardware-Schutz sozusagen ein wichtiges feature.

Die 256 MB RAM sollten für wenigstens einen job auch bei TN-GRID genügen. Habe es aber noch nicht ausprobiert. Etwas unsicher bin ich darüber, ob denn das BOINC Paket sich bei 32MB installieren lässt. Kann ich echt nicht sagen. Yoyo@Home geht noch nicht, sollten wir aber mit etwas mehr Bastelarbeit dann auch hinkriegen.
Rs232 hat geschrieben:
20.03.2021 10:47
Allerdings sollte es mit einem Script und automount einfach möglich sein.
Es wird der USB Stick (so ich das richtig in Erinnerung habe auch schon aus der LuCI Oberflächer heraus) in die fstab eingetragen und sollte bei einem Neustart auch wieder gemountet werden bevor BOINC loslegt.

Wir sollten m.E. möglichst wenig "custom" anbieten, also das Gute, das wir tun, nicht von uns abhängig machen. Deswegen würde ich ein Rechenkraft-BOINC-OpenWrt image gerne vermeiden. Wenn etwas zu mühsam ist, so wird es jemanden geben, der dies dann als Motivation sieht, dies für alle zu vereinfachen - aber ich behaupte mal - das ist nicht so schlimm, wenigstens für Rechenkraft.net Mitglieder nicht. An der Fritz!Box kann man ja (technisch äußerst ähnlich) auch eine SSD anschließen und kaum jemand findet das irgendwie komisch. Das BOINC LuCI interface fehlt noch. Habe gerade nachgefragt - es klemmt noch hier und da. Aber sobald es das gibt, steht m.E. einer frohen Kunde nichts mehr im Weg.

Benutzeravatar
Michael H.W. Weber
Vereinsvorstand
Vereinsvorstand
Beiträge: 21148
Registriert: 07.01.2002 01:00
Wohnort: Marpurk
Kontaktdaten:

Re: BOINC nun auch auf OpenWrt

#20 Ungelesener Beitrag von Michael H.W. Weber » 21.03.2021 09:13

Die Idee war, dass wir die von Rechenkraft.net zur kostenfreien Nutzung angebotenen Freifuk-Marburg-Router mit BOINC bestücken könnten.
Das funktioniert aber nur, wenn da nach Durcharbeiten des Konfiguratsionsdialoges alles automatisch installiert wird und BOINC dann ohne USB-Stick läuft.
Die Flash-Rödelei (Checkpoint-Schreibzeitintervall) könnte man ja auf quasi unendlich stellen?
Aber ich sehe schon, ist vermutlich komplett nicht praktikabel...

Michael.
Fördern, kooperieren und konstruieren statt fordern, konkurrieren und konsumieren.

http://signature.statseb.fr I: Kaputte Seite A
http://signature.statseb.fr II: Kaputte Seite B

Bild Bild Bild

smoe
Prozessor-Polier
Prozessor-Polier
Beiträge: 120
Registriert: 12.01.2018 19:12

Re: BOINC nun auch auf OpenWrt

#21 Ungelesener Beitrag von smoe » 21.03.2021 13:06

Michael H.W. Weber hat geschrieben:
21.03.2021 09:13
Die Idee war, dass wir die von Rechenkraft.net zur kostenfreien Nutzung angebotenen Freifuk-Marburg-Router mit BOINC bestücken könnten.
Ja, der Freifunk war für mich einst auch der Auslöser. Mir fiel dann nur irgendwann auf, dass sobald der Router läuft, man keinen Zugriff mehr auf eine Web-Oberfläche hat, um die Konfiguration zu ändern - es gibt zur Laufzeit ja nur die status page. Habe hier https://github.com/freifunk-gluon/gluon/issues/2187 vor ein paar Tagen auch einmal deswegen nachgefragt.
Michael H.W. Weber hat geschrieben:
21.03.2021 09:13
Das funktioniert aber nur, wenn da nach Durcharbeiten des Konfiguratsionsdialoges alles automatisch installiert wird und BOINC dann ohne USB-Stick läuft.
Die Flash-Rödelei (Checkpoint-Schreibzeitintervall) könnte man ja auf quasi unendlich stellen?
Aber ich sehe schon, ist vermutlich komplett nicht praktikabel...
Die nächste Gluon Version wird meinem Verständnis nach auf 19.07 basieren - das ist die weiterhin stabile Version, die das BOINC Paket noch nicht hat. Ich hätte das auch irgendwie backporten können, aber war seinerzeit nicht hinreichend motiviert, dem nachzugehen, muss das schließlich auch alles testen, was ich gerade für die aktuelle Version getestet hatte und dazu Router umflashen .. wollte nicht. Und bin dafür aktuell auch zu beschäftigt. Das würde vielleicht noch immer gehen - irgendein Freiwilliger?

Beim WorldCommunityGrid (OpenPandemics) klappt das mit dem OpenWrt Router ganz gut - der eine core macht so vier WUs am Tag.
https://www.worldcommunitygrid.org/ms/d ... viceType=B

smoe
Prozessor-Polier
Prozessor-Polier
Beiträge: 120
Registriert: 12.01.2018 19:12

Re: BOINC nun auch auf OpenWrt

#22 Ungelesener Beitrag von smoe » 21.03.2021 13:41

Habe gerade noch ein wenig weiter darüber nachgedacht - der Funktionsnachweis sollte auch über die x86 Plattform möglich sein, dann virtualisiert. Der Router-Test ließe sich dann wohl umgehen. Doch wie gesagt - ich würde sehr gerne jemand anderen für den backport finden.

smoe
Prozessor-Polier
Prozessor-Polier
Beiträge: 120
Registriert: 12.01.2018 19:12

Re: BOINC nun auch auf OpenWrt

#23 Ungelesener Beitrag von smoe » 07.04.2021 13:38

Auf https://github.com/VolunteerComputingHe ... -app-boinc liegen nun ein paar Screenshots vom Web-basierten BOINC-management von OpenWrt. Das wird dann hoffentlich auch bald den Weg in das offizielle OpenWrt repository finden.

smoe
Prozessor-Polier
Prozessor-Polier
Beiträge: 120
Registriert: 12.01.2018 19:12

Re: BOINC nun auch auf OpenWrt

#24 Ungelesener Beitrag von smoe » 11.04.2021 15:38

Habe mich nun nochmal etwas dahintergeklemmt und meinem Freifunk Router (mit Gluon 2020.2.2, OpenWrt 19.07 basiert) ein gebackportetes BOINC 7.16.16 verpasst. Der pull request für das OpenWrt packages repository ist https://github.com/openwrt/packages/pull/15384. Der 19.07er Router ist http://gene.disi.unitn.it/test/results.php?hostid=67564, der 21.0er Router http://gene.disi.unitn.it/test/results.php?hostid=67155. Beide Router schaffen etwa 1 WU am Tag (70-77000s), das ist etwa 1/7th von dem was mein schnellerst core erreicht und 2/5tel von dem, was ein 2.6GHz 10 Jahre alter Intel core bringt.

Also - wir haben nun sowohl für OpenWrt stable als auch für den OpenWrt snapshot funktionierende BOINC Pakete, wenn für stable auch nicht über die offiziellen Vertriebskanäle sondern zum Selberbauen. Ich schicke die gerne auch per eMail an die early adopters unter Euch, bis das Paket für stable angenommen wurde. Netgear Nighthawk r7800 (19.07) und Linksys WRT3200acm (dev snapshot) sind die Geräte, die bei mir derzeit laufen. Es sollten aber alle ARM Geräte funktionieren, die 512MB Hauptspeicher haben und einen USB port. Für andere Platformen müsste man sich den client selber kompilieren - wenigstens für TN-GRID wäre das möglich. Wenn sich jemand für OpenWrt interessiert und vielleicht gar einen passenden Router dafür besorgen möchte, der werfe bitte einen Blick auf die "Table of Hardware" https://openwrt.org/toh/views/toh_available_16128 .

Meine nächste Aufgabe wird nun wohl sein, die untere Grenze an Hauptspeicher für die Nutzung von BOINC mit TN-GRID zu finden. Auf meinem Schreibtisch liegt ein Ubiquiti EdgeX switch https://openwrt.org/toh/ubiquiti/ubiqui ... _x_er-x_ka mit 256MB RAM, aber ohne USB port. Aber via NFS sollte möglich sein, zusätzlichen Plattenplatz zu beschaffen. Mal sehen, wie schnell ich dazu komme. Sobald BOINC auch für die stable release von OpenWrt herunterladbar ist, melde ich mich wieder. Falls jemand "boinctui" für OpenWrt aufbereiten wollte, so würde das von mir sehr begrüßt und ich würde mich als Mentor hierzu anbieten.

Antworten

Zurück zu „Hardware, Software, Technik, Betriebssysteme“