www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik OS: während Bootvorgang ausschalten -> keine Fehler?


Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hat jmd von euch schon mal mit Windows Xp Embedded gearbeitet? Möchte 
gern eine Kiosk-Anwendung schreiben für ein Gerät, welches zu jedem 
Zeitpunkt (also auch während des Bootens) vom User (irrtümlicherweise 
oder auch nicht) augeschaltet (Stromkabel gezogen) werden kann.

Bis jetzt ist es so, dass dadurch häufig Fehler im OS passieren, die 
sogar soweit führen können, dass sich dieses nicht mehr Neustarten 
lässt. Das Image ist auf einer CF-Card gespeichert.

Gibt`s da irgendwelche Tricks/Tipps, dass diese Fehler nicht auftreten? 
Hab mir mal ein ähnliches Gerät von Innen angeschaut - keine Battiere 
etc. finden können und auch sonst nichts auffälliges - allerdings lief 
dieses mit Linux. Aber da sollte nicht so viel Unterschied sein, oder?

Will heißen, wenn ihr mit Linux / Windows ähnliches Problem gelöst habt, 
wäre es cool eure Tipps hier zu erhalten.

Gruß
Johannes

Autor: fh bncvx (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du von eine Knoppix-CD bootest, kannst Du ausschalten wann Du 
willst, der CD passiert nichts.

Also sollte nicht auf das Medium geschrieben werden koennen.

Gast

Autor: Sauger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

Wenn es Windows sein muss dann schau dir lieber Windows CE an.

Sehr viele HMI Anwendungen (Bedienterminals) die in der Industrie für 
Maschinen/Anlagensteuerungen eingesetzt werden laufen mit CE, Abschüsse 
nach einem Stromausfall sind mir nicht bekannt.

MfG

Autor: Andreas Schweigstill (Firma: Schweigstill IT) (schweigstill) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johannes schrieb:
> Aber da sollte nicht so viel Unterschied sein, oder?

Ähh, doch.

Die unter Windows üblichen Dateisysteme FAT16/32 und NTFS erlauben schon 
während des Bootvorganges Schreibzugriffe, was Windows auch sehr stark 
nutzt. NTFS ist zwar ein sog. Journaling-Dateisystem, was theoretisch 
Inkonsistenzen bei Abstürzen verhindern soll, aber trotzdem können 
Probleme auf Applikationsebene auftreten.

Bei normalen Desktop-Linux-Distributionen sieht es ähnlich aus.

Um nun jedoch einen zuverlässigen, jederzeit unterbrechbaren Bootvorgang 
zu ermöglichen, ist es wichtig, unveränderliche bzw. selten 
veränderliche Dateisystembestandteile von den veränderlichen sauber zu 
trennen. Hierfür genügt es nicht, sie in unterschiedliche Verzeichnisse 
zu packen, sondern es sollten wirklich unterschiedliche Dateisysteme und 
ggf. auch Typen sein.

Bei Linux-/UNIX-Systemen ist es kein Problem, solch eine Aufgliederung 
vorzunehmen, d.h. im einfachsten Fall für /, /boot, /bin, /usr, usw. ein 
oder mehrere DAteisysteme gleich mit der Read-Only-Option zu montieren 
(Eintrag "ro" in /etc/fstab) und /var, /tmp, usw. mit Schreibzugriff zu 
versehen.

Man sollte jedoch unbedingt für den Fehlerfall die Möglichkeit vorsehen, 
einen Dateisystemcheck OHNE Benutzereingriff durchführen zu können, 
z.B. durch geeignete fsck-Optionen. Und noch besser ist es, im Falle 
einer gescheiterten Dateisystemrekonstruktion auf eine zur Laufzeit 
frisch erzeugte Version zurückgreifen zu können. Die Vorlage hierfür 
sollte dann schon in dem/n unveränderlichen Dateisystem(en) bereitliegen 
oder per Shellskript erzeugt werden können.

Aber egal, wie man vorgeht: Um ein zuverlässiges System zu erhalten, 
muss man sich genau verdeutlichen, welche Komponente welche Dateien 
verändern oder temporär/dauerhaft erzeugen kann. Und da ist ein 
Linux-System wesentlich besser zu durchschauen als ein Windows-System. 
Letztere sind schon deswegen problematisch, weil ständig schreibend auf 
die Registry zugegriffen wird.

Autor: Der da oben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei XP Embdedd kann man den Schreibzugriff ausschalten. Danach ist ein 
Ausschalten des PC's möglich.

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der da oben schrieb:
> Bei XP Embdedd kann man den Schreibzugriff ausschalten. Danach ist ein
>
> Ausschalten des PC's möglich.

kannst du mir hierzu noch ein paar mehr Infos liefern? Du meinst den 
Schreibzugriff auf die CF-Karte?

Andreas Schweigstill schrieb:
> Ähh, doch.

danke für deine Ausführungen!

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Der da oben" wird sich auf den FBWF (file based write filter) bezogen 
haben. Das ist eine XPe-Funktionalität, die gerade beim Einsatz auf 
Flash-Medien äußerst praktisch ist.

Damit kann das gesamte Medium schreibgeschützt werden, das OS kann dann 
in keiner Phase des Bootvorganges irgendwelche Schreibzugriffe 
ausführen.

Im Gegensatz zum etwas älteren allgemeinen Schreibfilter erlaubt der 
FBWF Ausnahmen, hier können einzelne Dateien oder Verzeichnisse von 
diesem Schreibschutz ausgenommen werden, was sinnvoll ist, wenn die mit 
XPe genutzte Anwendung irgendwelche veränderlichen Daten speichern soll.

Schreibzugriffe auf geschützte Bereiche des Dateisystems sind zulässig, 
sie werden im RAM gespeichert, so daß bei Lesezugriffen diese Änderungen 
auch wieder gelesen werden.
Beim nächsten Bootvorgang aber sind diese Daten verloren und werden 
durch den Ausgangszustand ersetzt.

Das ist äußerst praktisch.

Es kursieren auch Anleitungen, wie man den FBWF in ein "normales" XP 
integrieren kann, um ein normales XP ebenso wie ein XPe von Flashmedien 
oder CDs booten zu können.

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rufus t. Firefly schrieb:
> FBWF (file based write filter)

vielen Dank für diesen Hinweise, werd mich da mal einlesen!

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
eine kleine Zusatzfrage: gibt es Unterschiede in der Ausfall-Sicherheit 
von FBWF im Zusammenspiel mit FAT32 oder NTFS?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Keine Ahnung. Ich habe es mit NTFS verwendet, da es da einfacher ist, 
bootfähige CF-Karten zu erstellen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.