M
mech_animal
Mitglied
Hallo,
wie schon am Thema abzulesen, will ich euch heute mit ein paar Grundfargen zum Unix-Kernel und Unix-Shells auf den Geist gehen.
Ich habe mich jetzt etwas intensiver in die Materie hineingelesen und grundlegend auch alles verstanden.
Nur beim Systematisieren stoße ich manchmal auf kleine Probleme, weil mir dazu einerseits wohl das grundlegende Informatikwissen fehlt und ich andererseits auch keine Spezialkenntnisse zu diesen Dingen vorweisen kann.
Als erstes zum Kernel:
Der ist ja für eine Reihe von Dingen zuständig, darunter auch Speichermanagement.
Wenn ich das richtig verstanden habe bedeutet Speichermanagement nichts weiter als die Verwaltung bzw. Zuweisung v. realem und virtuellem Speicher an Prozesse, richtig?
Und gehe ich richtig in der Annahme, dass sich virtueller Speicher und Speicherschutz nur auf den Arbeitsspeicher beziehen? (Tja, hier haben wir schonmal das Problem des Grundwissens...)
Ich hab mir zu diesen Dingen auch schon Texte durchgelesen, aber teilweise nur Bahnhof verstanden.
Ein weiterer Punkt ist beim Kernel das Prozessmanagement. Ich habe gelesen, dass der Kernel auch Mittel bereit hält, um das System zu starten (das wusste ich auch schon vorher...).
Es kommt mir nur komisch vor, dass das in dem Schriftstück extra betont wurde.
Im Endeffekt gehört der Systemstart doch auch zum Prozessmanagement, weil der Systembetrieb nichts weiter ist als das Durchlaufen von Prozessen, richtig?
Nun noch zu dem Punkt, der im Englischen immer als network management bezeichnet wird.
Man könnte das natürlich einfach als Netzwerkmanagement übersetzen und Schluss. Aber den Begriff finde ich irgendwie nicht sehr aussagekräftig.
Ich kann das aber auch nicht wirklich anders übersetzen, weil ich eben nicht genau weiß, was damit gemeint ist.
Fakt ist ja, dass moderne Kernel "die Netzwerkunterstützung stellen". Das seh ich ja im Kernel-Menü.
Aber wie kann man das mal schön und vor allem richtig zusammenfassen? Heißt: Was wird da alles gestellt oder kann gestellt werden?
Nun zur Shell:
Für mich sind bezüglich der Shell noch 2 grundsätzliche Fragen zu klären:
1. Wozu wird die Shell eingesetzt?
2. Welche Funktionen bietet die Shell?
Dazu möchte ich kurz noch etwas erläutern, weil man evtl. meinen könnte, dass die beiden Fragen auf die selben Antworten hinauslaufen.
Also bei 1. geht es mir eher um die abstraktere Ebene, bei der nicht so genau darauf eingegangen wird, was eigentlich passiert.
Bei 2. geht es dann mehr darum, welche Funktionen die Dinge, die in 1. benannt wurden, ermöglichen.
Mal ein lustiges Praxisbeispiel:
Wenn ich einen Orangensaft-Automat vor mir habe, würde ich bei 1. notieren, dass er dazu eingesetzt wird um auf Knopfdruck frisch gepressten Orangensaft bereitzustellen.
Bei 2. würde dann vielleicht stehen, dass der Automat die Orange zertielt oder ausquetscht und besonders schnell neue Becher bereitstellen kann. Ich kenn mich auf dem Gebiet leider nicht so genau aus.
Unter dem, wozu die Shell eingesetzt wird, findet sich bei mir folglich:
- Manipulation des Dateisystems
- Ein-/Ausgabeumleitung
- Job Control (nutzerseitige Prozessverwaltung)
- allgemein: Lösen komplexer Aufgaben durch Kombination von Kommandos (Shell-Scripting)
Man kann die Shell aber auch zur Textverarbeitung nutzen. Sollte ich das also mit erwähnen?
Wenn ja, gehört das zur Manipulation des Dateisystems?
An Funktionen, die die Shell mit sich bringt, habe ich aus den unterschiedlichen Quellen folgendes zusammengetragen:
- Ausführen von Kommandos
- Stoppen und Starten von Prozessen
- Starten von mehreren Prozessen (Verkettung über Pipes)
- Prozesse im Vorder- und Hintergrund starten
- Verschieben von Prozessen in Vorder-/Hintergrund
Ist das vollständig?
Dinge wie completion system, command line editing und command history habe ich in einer extra Rubrik unter dem Namen "Zustanfunktionen" eingegliedert, weil sie eigentlich nicht von absolut zentraler Bedeutung sind, sondern nur den Komfort erhöhen.
Darüber kann man sich jetzt natürlich auch streiten. Ich seh es erstmal so.
So, zum Abschluss noch eine Frage:
Welche Shell benutzt ihr und warum?
Ich finde ja die zsh ganz interessant. Da kann man den Prompt auf die rechte Seite setzen und solche Scherze.
Hat damit jemand Erfahrung?
Vielen Dank schonmal für eure Antworten!
Gebe mich auch mit Links zufrieden.
P.S.: Das ist kein Hausaufgaben-Thread! Ich interessiere mich einfach für Unix und brauche eben manchmal ein Echo zu dem, was ich mir als vermeintlich richtig erarbeitet habe. Ich hoffe auf euer Verständnis!
wie schon am Thema abzulesen, will ich euch heute mit ein paar Grundfargen zum Unix-Kernel und Unix-Shells auf den Geist gehen.
Ich habe mich jetzt etwas intensiver in die Materie hineingelesen und grundlegend auch alles verstanden.
Nur beim Systematisieren stoße ich manchmal auf kleine Probleme, weil mir dazu einerseits wohl das grundlegende Informatikwissen fehlt und ich andererseits auch keine Spezialkenntnisse zu diesen Dingen vorweisen kann.
Als erstes zum Kernel:
Der ist ja für eine Reihe von Dingen zuständig, darunter auch Speichermanagement.
Wenn ich das richtig verstanden habe bedeutet Speichermanagement nichts weiter als die Verwaltung bzw. Zuweisung v. realem und virtuellem Speicher an Prozesse, richtig?
Und gehe ich richtig in der Annahme, dass sich virtueller Speicher und Speicherschutz nur auf den Arbeitsspeicher beziehen? (Tja, hier haben wir schonmal das Problem des Grundwissens...)
Ich hab mir zu diesen Dingen auch schon Texte durchgelesen, aber teilweise nur Bahnhof verstanden.
Ein weiterer Punkt ist beim Kernel das Prozessmanagement. Ich habe gelesen, dass der Kernel auch Mittel bereit hält, um das System zu starten (das wusste ich auch schon vorher...).
Es kommt mir nur komisch vor, dass das in dem Schriftstück extra betont wurde.
Im Endeffekt gehört der Systemstart doch auch zum Prozessmanagement, weil der Systembetrieb nichts weiter ist als das Durchlaufen von Prozessen, richtig?
Nun noch zu dem Punkt, der im Englischen immer als network management bezeichnet wird.
Man könnte das natürlich einfach als Netzwerkmanagement übersetzen und Schluss. Aber den Begriff finde ich irgendwie nicht sehr aussagekräftig.
Ich kann das aber auch nicht wirklich anders übersetzen, weil ich eben nicht genau weiß, was damit gemeint ist.
Fakt ist ja, dass moderne Kernel "die Netzwerkunterstützung stellen". Das seh ich ja im Kernel-Menü.
Aber wie kann man das mal schön und vor allem richtig zusammenfassen? Heißt: Was wird da alles gestellt oder kann gestellt werden?
Nun zur Shell:
Für mich sind bezüglich der Shell noch 2 grundsätzliche Fragen zu klären:
1. Wozu wird die Shell eingesetzt?
2. Welche Funktionen bietet die Shell?
Dazu möchte ich kurz noch etwas erläutern, weil man evtl. meinen könnte, dass die beiden Fragen auf die selben Antworten hinauslaufen.
Also bei 1. geht es mir eher um die abstraktere Ebene, bei der nicht so genau darauf eingegangen wird, was eigentlich passiert.
Bei 2. geht es dann mehr darum, welche Funktionen die Dinge, die in 1. benannt wurden, ermöglichen.
Mal ein lustiges Praxisbeispiel:
Wenn ich einen Orangensaft-Automat vor mir habe, würde ich bei 1. notieren, dass er dazu eingesetzt wird um auf Knopfdruck frisch gepressten Orangensaft bereitzustellen.
Bei 2. würde dann vielleicht stehen, dass der Automat die Orange zertielt oder ausquetscht und besonders schnell neue Becher bereitstellen kann. Ich kenn mich auf dem Gebiet leider nicht so genau aus.
Unter dem, wozu die Shell eingesetzt wird, findet sich bei mir folglich:
- Manipulation des Dateisystems
- Ein-/Ausgabeumleitung
- Job Control (nutzerseitige Prozessverwaltung)
- allgemein: Lösen komplexer Aufgaben durch Kombination von Kommandos (Shell-Scripting)
Man kann die Shell aber auch zur Textverarbeitung nutzen. Sollte ich das also mit erwähnen?
Wenn ja, gehört das zur Manipulation des Dateisystems?
An Funktionen, die die Shell mit sich bringt, habe ich aus den unterschiedlichen Quellen folgendes zusammengetragen:
- Ausführen von Kommandos
- Stoppen und Starten von Prozessen
- Starten von mehreren Prozessen (Verkettung über Pipes)
- Prozesse im Vorder- und Hintergrund starten
- Verschieben von Prozessen in Vorder-/Hintergrund
Ist das vollständig?
Dinge wie completion system, command line editing und command history habe ich in einer extra Rubrik unter dem Namen "Zustanfunktionen" eingegliedert, weil sie eigentlich nicht von absolut zentraler Bedeutung sind, sondern nur den Komfort erhöhen.
Darüber kann man sich jetzt natürlich auch streiten. Ich seh es erstmal so.
So, zum Abschluss noch eine Frage:
Welche Shell benutzt ihr und warum?
Ich finde ja die zsh ganz interessant. Da kann man den Prompt auf die rechte Seite setzen und solche Scherze.
Hat damit jemand Erfahrung?
Vielen Dank schonmal für eure Antworten!
Gebe mich auch mit Links zufrieden.
P.S.: Das ist kein Hausaufgaben-Thread! Ich interessiere mich einfach für Unix und brauche eben manchmal ein Echo zu dem, was ich mir als vermeintlich richtig erarbeitet habe. Ich hoffe auf euer Verständnis!
Zuletzt bearbeitet: