Benutzt hier einer XP?

Hmm, ich vermute mal fast, das wird etwas "noch nie dagewesenes", insbesondere was Syntax angeht :-/

Die Frage ist: wenn sowas neu erfunden wird, wie lange merzt man Kinderkrankheiten aus?

Nun, wenn man Software dazu installiert, die die Schnittstelle nervt (Drucker-Software, die nach Tinte fragt o.ä.), kann das Betriebssystem da auch nicht viel für. Schön wäre es mit Sicherheit, sowas wie lsof an Bord zu haben, aber auch hier kann man sich aus bekannten Quellen wie Sysinternals bedienen. Mit Google findet man das dann auch, wenn man es denn tatsächlich braucht und dementsprechend sucht.

Ich kenne leider aus der NT Linie nur 2000 und XP, aber gegenüber dem "Kinderwindows" (gemeint sind die DOS-Erweiterungen der 9x-Linie) hat es auf alle Fälle aus Sicht des Progammierers den schönen Vorteil: viele Geräte sind "Dateien". Ich kann, wie es andere Systeme bekanntermaßen schon immer tun, beispielsweise eine serielle Schnittstelle mit CreateFile() bzw. OpenFile() öffnen, mit ReadFile() und WriteFile() drauf zugreifen, und entsprechende IOCTLs absetzen. Für jemanden, der unter Linux das Programmieren gelernt hat, fühlt sich das sehr wohlig an. Selbst Festplatten kann man endlich "raw" aufmachen, wenn man z.B. Partitionsdaten lesen möchte (und die passenden Zugriffsrechte hat). Das ging in der DOS/9x Linie meines Wissens nach auch nicht, oder zumindest deutlich anders.

Daß man weniger Kontrolle über die Schnittstellen hat, mag in der Tat so sein. Aber ich kann mir nicht vorstellen, daß Windows da absichtlich dummes Zeug auf einen Druckerport schwatzt. Das ist viel wahrscheinlicher eine normale Anwendung, die das Gerät ordnungsgemäß geöffnet hat, und damit tut, was es für richtig hält.

Sobald einer hier sagt: mit Windows XP funktioniert das bei mir, ist eigentlich klar, daß es sich um amoklaufende Userland-Software beim Problemhaber handeln muß. Ich habe hier inzwischen ein wenig den Faden verloren, aber ich meine doch entsprechende Wortmeldungen gelesen zu haben.

Gruß, Felix

Reply to
Felix Opatz
Loading thread data ...

Schlimmer als die 'erweiterte Syntax' des FOR - Befehles?

SCNR, Holger

Reply to
Holger Petersen

Wie kommst du auf "Wrapper"? CygWin bringt halt eine eigene (gegenüber der von Windows extrem erweiterte) libc mit. Ohne diese Erweiterungen muß man vermutlich einige Unixtools entweder abspecken oder umstricken.

Mir gefällt der CygWin-Ansatz (wir machen das nur einmal und richtig) irgendwie besser. Tragfähiger. Ob ich zu den zig-hundert MB Windows noch 5MB unxtools oder 100MB CygWin installiere, macht das Kraut auch nicht fett. Es ist halt nur ärgerlich, daß man Tools aus der Computer- steinzeit (find, grep oder auch ein nicht-GUI-Editor) nachinstallieren muß, weil M$ die für überflüssig erachtet.

Komisch nur, daß das bei dem Krempel aus der Windows-Steinzeit klappt. Solitaire, Zwischenablage, extra Mauszeiger, alles ist auch bei Server

2003 noch dabei und läßt sich bei der Installation hypsch auswählen.

Das war ja auch nur ein (besonders leicht begreifbares) Beispiel für die Macken von Windows. Andererseits wird ein Vergleich verschiedener Betriebssysteme sinnlos, wenn man erst das eine so lange umrüstet, bis es wie das andere aussieht.

XL

Reply to
Axel Schwenke

Die UnxUtils sind 'self-contained'. Wer mal eben 'tail' braucht, installiert sich 'tail.exe' mit 35k. Die Version von Cygwin ist interessanterweise größer und braucht noch eine > 1 MB DLL, ein paar Registry-Keys und vermutlich noch nen Satz Dateien in /etc und /lib. Logischerweise ist Cygwin dadurch auch nicht schneller.

Außerdem sind die UnxUtils geringfügig besser in Windows-Konventionen integriert, man vergleiche einfach mal das Verhalten bei Pfadnamen, die mit "/" beginnen.

Die meisten der klassischen Unix-Helferlein lassen sich in 99% ANSI-C (was logischerweise auch unter Windows läuft) implementieren. Deswegen muss man sich Cygwin nicht an die Backe binden.

Cygwin ist ja nicht nur "eine erweiterte libc". Schon dafür, dass sie 'fork()' und 'signal()' eingebaut haben, die man beide für find, grep und cat nicht braucht, gehen eine Menge MIPS drauf, weil das aufwändig emuliert werden muss.

Stefan (hat momentan beides installiert)

Reply to
Stefan Reuther

Sie selbst nennen sich "[...A DLL (cygwin1.dll) which acts as] Linux API emulation layer providing substantial Linux API functionality", aber das kommt meiner Auffasung eines Wrappers verdächtig nahe.

fork ruft irgendwann CreateProcess, pipe ruft CreateNamedPipe, und Threads verwenden CreateThread etc., nur mit reichlich Drumherum.

Natürlich, anders geht es nicht, ich will das ja auch nicht schlechtreden, aber meiner Auffasung nach ist das ein Wrapper, und wenn ich nativen Code haben kann, der das gleiche tut, ohne daß da noch ein "emulation layer" dazwischen hängt, dann ziehe ich diesen vor.

Den "wir machen das nur einmal und richtig" Ansatz habe ich bei der glibc gesehen. Also wer 150 MB #ifdef-Hölle mag, der kann das ja machen, so Dinge wie die dietlibc zu lesen macht hingegen wirklich Spaß, und wenn's teilweise die Kommentare sind ;-))

Aber eine Schicht draufzusetzen, nur um vorhandenen Code behalten zu können, ist für mich keine angenehme Lösung. Vielleicht eine Notlösung.

Ist doch meistens so, daß Dinge, die drin sind (oder mal drin waren) schwerer zu verbannen sind, als neue Dinge reinzubringen. Verfilzte und alteingesessene Strukturen, oder so. Wenn da einer meint, daß es eine tolle Idee wäre $TOOL reinzupacken, dann muß er sich noch durch ein paar Schichten Vorgesetzte arbeiten, und ganz oben sitzt wieder eine Schicht Marketing und Schlipsträger, die um das Firmen-Image Angst haben, und aus die Maus mit der Innovation.

Dem stimme ich zu. Aber von "einfach nur scheiße" oder "unbenutzbar" kann man eben nicht reden. Es fehlt mindestens ein Grund "wofür", und das Kernproblem, um das es hier ging, dürfte sich mit der nötigen Konfiguration ebenfalls in Wohlgefallen auflösen.

Gruß, Felix

Reply to
Felix Opatz

Dein erstes Betriebssystem? BTW, im englischen steht BS als inoffizielle Abk. für....

--
mfg Rolf Bombach
Reply to
Rolf_B

Nein, auf PCs das 4. So gut kann ich nicht Englisch, vmtl. ist es ganz gut daß ich da nicht er Einzige bin...

Reply to
Klaus Selver

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.