Was ist Forschung wie? Was ist qualitative Forschung? Arten der quantitativen Forschung

Was ist Unix (für Anfänger)


Dmitry Y. Karpov


Wovon rede ich?


Dieses Werk erhebt keinen Anspruch auf eine vollständige Beschreibung. Darüber hinaus wurde der Einfachheit halber bewusst auf einige Details verzichtet. Ursprünglich war der Zyklus als FAQ (FAQ – häufig gestellte Fragen) gedacht, aber offenbar wird es sich um einen „Young Soldier Course“ oder eine „Sergeant School“ handeln.

Ich habe versucht zu geben vergleichende Beschreibung verschiedene Betriebssysteme – das fehlt meiner Meinung nach in den meisten Lehrbüchern und technischen Handbüchern.

Ohne darauf zu warten, dass mir erfahrene Unix-Kenner davon erzählen, gebe ich ein freiwilliges Geständnis ab: Ich kann nicht behaupten, ein großer Unix-Experte zu sein, und mein Wissen dreht sich hauptsächlich um FreeBSD. Ich hoffe, dass das nicht stört.

Diese Datei bleibt für lange Zeit im Status „In Bearbeitung“. :-)

Was ist Unix?


Unix ist ein vollwertiges, natives Multi-User-, Multi-Tasking- und Multi-Terminal-Betriebssystem. Genauer gesagt handelt es sich um eine ganze Familie von Systemen, die auf Quellcodeebene nahezu vollständig miteinander kompatibel sind.

Welche Arten von Unixen gibt es und auf welchen Rechnern laufen sie?


Diese Liste erhebt keinen Anspruch auf Vollständigkeit, denn zusätzlich zu den aufgeführten gibt es viele weniger verbreitete Unixe und Unix-ähnliche Systeme, ganz zu schweigen von alten Unixen für veraltete Maschinen.

Herkömmlicherweise können wir die Familien System V und Berkeley unterscheiden. System V (sprich „System Five“) hat mehrere Varianten, die neueste ist meines Wissens System V Release 4. Die Berkeley University ist nicht nur für die Entwicklung von BSD, sondern auch für die meisten Internetprotokolle berühmt. Viele Unixe kombinieren jedoch die Eigenschaften beider Systeme.

Wo bekomme ich kostenloses Unix?


  • BSD-Familie: FreeBSD, NetBSD, OpenBSD.
  • Linux-Familie: RedHat, SlackWare, Debian, Caldera,
  • SCO und Solaris stehen für die nichtkommerzielle Nutzung (hauptsächlich für) kostenlos zur Verfügung Bildungsinstitutionen).

    Was sind die Hauptunterschiede zwischen Unix und anderen Betriebssystemen?


    Unix besteht aus einem Kernel mit enthaltenen Treibern und Dienstprogrammen (Programme außerhalb des Kernels). Wenn Sie die Konfiguration ändern müssen (ein Gerät hinzufügen, einen Port ändern oder unterbrechen), wird der Kernel aus Objektmodulen oder (z. B. in FreeBSD) aus Quellen neu erstellt (verknüpft). /* Das ist nicht ganz richtig. Einige Parameter können ohne Neuaufbau korrigiert werden. Es gibt auch ladbare Kernelmodule. */

    Im Gegensatz zu Unix verknüpfen Windows (wenn nicht angegeben ist, welches, dann meinen wir 3.11, 95 und NT) und OS/2 tatsächlich Treiber im laufenden Betrieb beim Laden. Gleichzeitig wird die Kompaktheit des zusammengestellten Kernels und die Wiederverwendung gewährleistet gemeinsamer Code eine Größenordnung niedriger als Unix. Wenn die Systemkonfiguration unverändert bleibt, kann der Unix-Kernel außerdem ohne Änderungen in den ROM geschrieben werden (Sie müssen nur den Startteil des BIOS ändern) und ohne Laden in den RAM ausgeführt werden. Die Kompaktheit des Codes ist besonders wichtig, weil... Der Kernel und die Treiber verlassen niemals den physischen RAM und werden nicht auf die Festplatte übertragen.

    Unix ist das plattformübergreifendste Betriebssystem. WindowsNT versucht es zu imitieren, aber bisher war es nicht erfolgreich – nach der Aufgabe von MIPS und POWER-PC blieb W“NT nur noch auf zwei Plattformen – dem traditionellen i*86 und DEC Alpha. Natürlich ist die Portabilität von Programme von einer Unix-Version zur anderen sind nur begrenzt ungenau. Ein Programm, das die Unterschiede in Unix-Implementierungen nicht berücksichtigt und unangemessene Annahmen wie „eine Ganzzahlvariable muss vier Bytes belegen“ macht, kann eine ernsthafte Überarbeitung erfordern um Größenordnungen einfacher als beispielsweise der Umstieg von OS/2 auf NT.

    Warum Unix?


    Unix wird sowohl als Server als auch als Workstation verwendet. In der Serverkategorie konkurriert es mit MS WindowsNT, Novell Netware, IBM OS/2 Warp Connect, DEC VMS und Mainframe-Betriebssystemen. Jedes System hat seinen eigenen Anwendungsbereich, in dem es besser ist als andere.

  • WindowsNT – für Administratoren, die eine vertraute Oberfläche dem sparsamen Umgang mit Ressourcen und hoher Leistung vorziehen.
  • Netware – für Netzwerke, in denen leistungsstarke Datei- und Druckerdienste benötigt werden und andere Dienste nicht so wichtig sind. Hauptnachteil- Es ist schwierig, Anwendungen auf einem Netware-Server auszuführen.
  • OS/2 ist gut geeignet, wenn Sie einen „leichten“ Anwendungsserver benötigen. Es benötigt weniger Ressourcen als NT, ist flexibler in der Verwaltung (obwohl die Konfiguration schwieriger sein kann) und das Multitasking ist sehr gut. Autorisierung und Differenzierung von Zugriffsrechten sind nicht auf Betriebssystemebene implementiert, was durch die Implementierung auf Serveranwendungsebene mehr als ausgeglichen wird. (Andere Betriebssysteme machen jedoch oft dasselbe). Viele FIDOnet-Stationen und BBSs basieren auf OS/2.
  • VMS ist ein leistungsstarker Anwendungsserver, der Unix in nichts nachsteht (und ihm in vielerlei Hinsicht überlegen ist), jedoch nur für die VAX- und Alpha-Plattformen von DEC.
  • Mainframes – zur Bedienung einer sehr großen Anzahl von Benutzern (in der Größenordnung von mehreren Tausend). Die Arbeit dieser Benutzer wird jedoch normalerweise nicht in Form einer Client-Server-Interaktion, sondern in Form einer Host-Terminal-Interaktion organisiert. Das Terminal in diesem Paar ist eher kein Client, sondern ein Server (Internet World, N3, 1996). Zu den Vorteilen von Mainframes zählen die höhere Sicherheit und Ausfallsicherheit, zu den Nachteilen der diesen Eigenschaften entsprechende Preis.

    Unix ist gut für einen qualifizierten (oder bereit, einer zu werden) Administrator, weil... erfordert Kenntnisse über die Funktionsprinzipien der darin ablaufenden Prozesse. Echtes Multitasking und strikte Speicherfreigabe sorgen für eine hohe Zuverlässigkeit des Systems, obwohl die Datei- und Druckdienste von Unix Netware in der Leistung der Datei- und Druckdienste unterlegen sind.

    Der Mangel an Flexibilität bei der Gewährung von Benutzerzugriffsrechten auf Dateien im Vergleich zu WindowsNT macht es schwierig, den Gruppenzugriff auf Daten (genauer gesagt auf Dateien) im_Dateisystem zu organisieren, was meiner Meinung nach durch die einfache Implementierung, die eine geringere Hardware bedeutet, ausgeglichen wird Anforderungen. Allerdings lösen Anwendungen wie SQL Server das Problem des Gruppendatenzugriffs selbst, sodass die in Unix fehlende Möglichkeit, einem bestimmten Benutzer den Zugriff auf eine _Datei_ zu verweigern, meiner Meinung nach eindeutig überflüssig ist.

    Fast alle Protokolle, auf denen das Internet basiert, wurden unter Unix entwickelt, insbesondere der TCP/IP-Protokollstack wurde an der Berkeley University erfunden.

    Die Sicherheit von Unix steht bei ordnungsgemäßer Verwaltung (und wann nicht?) der von Novell oder WindowsNT in nichts nach.

    Eine wichtige Eigenschaft von Unix, die es den Mainframes näher bringt, ist seine Multi-Terminal-Natur; viele Benutzer können gleichzeitig Programme auf einem Unix-Rechner ausführen. Wenn Sie keine Grafiken verwenden müssen, können Sie mit billigen Textterminals (spezialisiert oder basierend auf billigen PCs) auskommen, die über langsame Leitungen angeschlossen sind. Hier konkurriert nur VMS mit ihm. Sie können grafische X-Terminals auch verwenden, wenn derselbe Bildschirm Fenster von Prozessen enthält, die auf verschiedenen Computern ausgeführt werden.

    In der Workstation-Kategorie konkurrieren MS Windows*, IBM OS/2, Macintosh und Acorn RISC-OS mit Unix.

  • Windows – für diejenigen, denen Kompatibilität wichtiger ist als Effizienz; für diejenigen, die bereit sind zu kaufen große Menge Speicher, Speicherplatz und Megahertz; für diejenigen, die gerne auf die Schaltflächen im Fenster klicken, ohne sich mit dem Wesentlichen zu befassen. Früher oder später müssen Sie zwar noch die Funktionsprinzipien des Systems und der Protokolle studieren, aber dann ist es zu spät – die Wahl ist getroffen. Ein wichtiger Vorteil von Windows ist die Möglichkeit, eine Menge Software zu stehlen.
  • OS/2 – für OS/2-Liebhaber. :-) Obwohl einigen Informationen zufolge OS/2 besser mit IBM-Mainframes und -Netzwerken interagiert als andere.
  • Macintosh – für Grafik, Veröffentlichung und Musikalische Werke, sowie für diejenigen, die eine klare, schöne Benutzeroberfläche lieben und die Details der Funktionsweise des Systems nicht verstehen wollen (können).
  • Mit RISC-OS, das ins ROM geflasht wird, können Sie Zeitverschwendung bei der Installation des Betriebssystems und der Wiederherstellung nach Fehlern vermeiden. Darüber hinaus gehen fast alle darunter stehenden Programme sehr ressourcenschonend mit Ressourcen um, weshalb sie nicht ausgetauscht werden müssen und sehr schnell arbeiten.

    Unix läuft sowohl auf PCs als auch auf leistungsstarken Workstations mit RISC-Prozessoren; Geografisches Informationssystem. Aufgrund seiner Multiplattform-Natur ist Unix um eine Größenordnung skalierbarer als jedes andere mir bekannte Betriebssystem.

    Unix-Konzepte


    Unix basiert auf zwei Grundkonzepten: „Prozess“ und „Datei“. Prozesse stellen die dynamische Seite des Systems dar, sie sind Subjekte; und Dateien sind statisch, sie sind Objekte von Prozessaktionen. Fast die gesamte Schnittstelle der Prozesse, die mit dem Kernel und untereinander interagieren, ähnelt dem Schreiben/Lesen von Dateien. /* Obwohl wir Dinge wie Signale, gemeinsam genutzten Speicher und Semaphoren hinzufügen müssen. */

    Prozesse sollten nicht mit Programmen verwechselt werden – ein Programm (normalerweise mit unterschiedlichen Daten) kann in ausgeführt werden verschiedene Prozesse. Prozesse können grob in zwei Typen unterteilt werden: Tasks und Daemons. Eine Aufgabe ist ein Prozess, der seine Arbeit ausführt und versucht, sie schnell zu erledigen und abzuschließen. Der Daemon wartet auf die Verarbeitung von Ereignissen, verarbeitet die aufgetretenen Ereignisse und wartet erneut. Normalerweise wird es auf Befehl eines anderen Prozesses beendet. Meistens wird es vom Benutzer durch den Befehl „kill_process_number“ beendet. /* In diesem Sinne stellt sich heraus, dass eine interaktive Aufgabe, die Benutzereingaben verarbeitet, eher einem Daemon als einer Aufgabe ähnelt. :-) */

    Dateisystem


    In alten Unixen wurden 14 Buchstaben pro Name vergeben, in neuen wurde diese Einschränkung aufgehoben. Zusätzlich zum Dateinamen enthält das Verzeichnis seine Inode-Kennung – eine Ganzzahl, die die Nummer des Blocks bestimmt, in dem sich die Attribute der Datei befinden Darunter sind: die Benutzernummer – die Anzahl der Links zur Datei (siehe unten), Datum und Uhrzeit der Erstellung, letzte Änderung und letzte Zugriffsattribute der Datei Typ (siehe unten), Attribute zum Ändern der Rechte beim Start (siehe unten) und Rechte zum Lesen, Schreiben und Ausführen der Datei. Das Recht zum Löschen der Datei wird durch das Recht zum Schreiben bestimmt das darüber liegende Verzeichnis.

    Jede Datei (aber kein Verzeichnis) kann unter mehreren Namen bekannt sein, sie müssen sich jedoch auf derselben Partition befinden. Alle Links zur Datei sind gleich; Die Datei wird gelöscht, wenn der letzte Link zur Datei gelöscht wird. Wenn die Datei geöffnet ist (zum Lesen und/oder Schreiben), erhöht sich die Anzahl der Links zu ihr um eins; Daher löschen viele Programme, die eine temporäre Datei öffnen, diese sofort, sodass sie beim Schließen des Betriebssystems abstürzt nach Prozess öffnen Dateien, diese temporäre Datei wurde vom Betriebssystem gelöscht.

    Da ist noch einer interessante Funktion Dateisystem: Wenn nach dem Erstellen einer Datei nicht in Folge, sondern mit geschrieben wurde große Abstände, dann wird für diese Intervalle kein Speicherplatz zugewiesen. Daher kann das Gesamtvolumen der Dateien in einer Partition größer sein als das Volumen der Partition. Wenn eine solche Datei gelöscht wird, wird sie freigegeben wenig Platz als seine Größe.

    Es gibt folgende Dateitypen:

    • reguläre Direktzugriffsdatei;
    • Verzeichnis (eine Datei, die die Namen und Kennungen anderer Dateien enthält);
    • symbolischer Link (eine Zeichenfolge mit dem Namen einer anderen Datei);
    • Blockgerät (Platte oder Magnetband);
    • serielles Gerät (Terminals, serielle und parallele Schnittstellen; auch Disketten und Magnetbänder verfügen über eine serielle Geräteschnittstelle)
    • benannter Kanal.

    Spezielle Dateien für die Arbeit mit Geräten befinden sich normalerweise im Verzeichnis „/dev“. Hier sind einige davon (in der FreeBSD-Kategorie):

    • tty* – Terminals, einschließlich:
      • ttyv – virtuelle Konsole;
      • ttyd – DialIn-Terminal (normalerweise ein serieller Port);
      • cuaa – DialOut-Leitung
      • ttyp – Netzwerk-Pseudoterminal;
      • tty – Terminal, mit dem die Aufgabe verknüpft ist;
    • wd* – Festplatten und ihre Unterpartitionen, einschließlich:
      • wd – Festplatte;
      • wds – Partition dieser Festplatte (hier als „Slice“ bezeichnet);
      • wds – Partitionsabschnitt;
    • fd – Diskette;
    • rwd*, rfd* – das gleiche wie wd* und fd*, aber mit sequentiellem Zugriff;

    Manchmal ist es erforderlich, dass ein von einem Benutzer gestartetes Programm nicht über die Rechte des Benutzers verfügt, der es gestartet hat, sondern über die Rechte anderer. In diesem Fall wird das Attribut der Rechteänderung auf die Rechte des Benutzers – des Eigentümers des Programms – gesetzt. (Als Beispiel nenne ich ein Programm, das eine Datei mit Fragen und Antworten liest und basierend auf dem, was es liest, den Schüler testet, der dieses Programm gestartet hat. Das Programm muss das Recht haben, die Datei mit Antworten zu lesen, aber der Schüler Wer es gestartet hat, weiß es nicht.) So funktioniert beispielsweise das Programm passwd, mit dem der Benutzer sein Passwort ändern kann. Der Benutzer kann das Programm passwd ausführen, es kann Änderungen an der Systemdatenbank vornehmen – der Benutzer jedoch nicht.

    Im Gegensatz zu DOS, bei dem der vollständige Dateiname wie „Laufwerk:\Pfad\Name“ aussieht, und RISC-OS, wo er wie „-filesystem-Laufwerk:$.Pfad.Name“ aussieht (was im Allgemeinen seine Vorteile hat) ,Unix verwendet eine transparente Notation in der Form „/Pfad/Name“. Der Stamm wird von der Partition aus gemessen, von der der Unix-Kernel geladen wurde. Wenn wir eine andere Partition verwenden wollen (und die Boot-Partition normalerweise nur das Nötigste zum Booten enthält), wird der Befehl „mount /dev/partition_file-Verzeichnis“ verwendet. In diesem Fall sind Dateien und Unterverzeichnisse, die sich zuvor in diesem Verzeichnis befanden, nicht mehr zugänglich, bis die Partition ausgehängt wird (natürlich alle). normale Leute Verwenden Sie leere Verzeichnisse zum Mounten von Partitionen. Nur der Vorgesetzte hat das Recht zum Auf- und Absteigen.

    Beim Start kann jeder Prozess davon ausgehen, dass bereits drei Dateien für ihn geöffnet sind, die er als Standardeingabe stdin am Deskriptor 0 kennt; Standard-Standardausgabe für Deskriptor 1; und Standardausgabe stderr auf Deskriptor 2. Wenn der Benutzer beim Anmelden am System einen Namen und ein Passwort eingibt und die Shell für ihn gestartet wird, werden alle drei an /dev/tty weitergeleitet; Später kann jeder von ihnen in eine beliebige Datei umgeleitet werden.

    Befehlsinterpreter


    Unix enthält fast immer zwei Befehlsinterpreter – sh (Shell) und csh (C-ähnliche Shell). Darüber hinaus gibt es auch Bash (Bourne), Ksh (Korn) und andere. Ohne auf Details einzugehen, werde ich allgemeine Grundsätze nennen:

    Alle Befehle außer dem Ändern des aktuellen Verzeichnisses, dem Setzen von Umgebungsvariablen und strukturierten Programmieranweisungen sind externe Programme. Diese Programme befinden sich normalerweise in den Verzeichnissen /bin und /usr/bin. Systemverwaltungsprogramme befinden sich in den Verzeichnissen /sbin und /usr/sbin.

    Der Befehl besteht aus dem Namen des zu startenden Programms und Argumenten. Argumente werden vom Befehlsnamen und voneinander durch Leerzeichen und Tabulatoren getrennt. Einige Sonderzeichen werden von der Shell selbst interpretiert.

    Sie können mehrere Befehle in einer Befehlszeile ausführen. Teams können aufgeteilt werden; (sequentielle Ausführung von Befehlen), & (asynchrone gleichzeitige Ausführung von Befehlen), | (synchrone Ausführung, stdout des ersten Befehls wird an stdin des zweiten übergeben).

    Sie können auch Standardeingaben aus einer Datei übernehmen, indem Sie „<файл" (без кавычек); можно направить стандартный вывод в файл, используя ">file“ (die Datei wird auf Null gesetzt) ​​oder „>>file“ (das Schreiben erfolgt an das Ende der Datei). Das Programm selbst erhält dieses Argument nicht; um zu wissen, dass die Ein- oder Ausgabe neu zugewiesen wurde, muss die Das Programm selbst muss einige sehr nicht triviale Gesten ausführen.

    Handbücher - Mann


    Wenn Sie Informationen zu einem Befehl benötigen, geben Sie den Befehl „man command_name“ ein. Dies wird über das Programm „more“ auf dem Bildschirm angezeigt – erfahren Sie, wie Sie es auf Ihrem Unix mit dem Befehl „man more“ verwalten.

    Zusätzliche Dokumentation

  • ), dritte (GNU/Linux) und viele weitere Orte.

    UNIX-Systeme haben eine große historische Bedeutung, denn dank ihnen haben sich einige der heute beliebten Konzepte und Ansätze im Bereich Betriebssystem und Software verbreitet. Bei der Entwicklung von Unix-Systemen entstand auch die Sprache C.

    Beispiele für bekannte UNIX-ähnliche Betriebssysteme sind: BSD, Solaris, Linux, Android, MeeGo, NeXTSTEP, Mac OS X, Apple iOS.

    Geschichte

    Vorgänger

    Die ersten Versionen von UNIX waren in Assemblersprache geschrieben und hatten keinen integrierten Hochsprachen-Compiler. Um 1969 entwickelte und implementierte Ken Thompson mit Unterstützung von Dennis Ritchie die Sprache Bi (B), eine vereinfachte Version (zur Implementierung auf Minicomputern) der in der Sprache entwickelten BCPL-Sprache. Bi war wie BCPL eine interpretierte Sprache. 1972 wurde die zweite Ausgabe von UNIX veröffentlicht, neu geschrieben in der Bi-Sprache. In den Jahren 1969-1973 wurde eine auf Bi basierende kompilierte Sprache namens C (C) entwickelt.

    Teilt

    Ein wichtiger Grund für die UNIX-Spaltung war die Implementierung des TCP/IP-Protokollstapels im Jahr 1980. Zuvor steckte die Maschine-zu-Maschine-Kommunikation unter UNIX noch in den Kinderschuhen – die wichtigste Kommunikationsmethode war UUCP (ein Mittel zum Kopieren von Dateien von einem UNIX-System auf ein anderes, das ursprünglich darauf lief). Telefonnetze unter Verwendung von Modems).

    Es wurden zwei Netzwerkanwvorgeschlagen: Berkley-Sockets und die TLI-Transportschichtschnittstelle. Transportschichtschnittstelle).

    Die Berkley-Sockets-Schnittstelle wurde an der Universität Berkeley entwickelt und nutzte den dort entwickelten TCP/IP-Protokollstapel. TLI wurde von AT&T gemäß der Transportschichtdefinition des OSI-Modells erstellt und erschien erstmals in System V Version 3. Obwohl diese Version TLI und Streams enthielt, verfügte sie zunächst nicht über eine Implementierung von TCP/IP oder anderen Netzwerkprotokollen, sondern über solche Implementierungen wurden von Dritten bereitgestellt.

    Die Implementierung von TCP/IP wurde offiziell und endgültig in die Basisverteilung von System V Version 4 aufgenommen. Dies führte zusammen mit anderen Überlegungen (meist marktbezogenen) zur endgültigen Abgrenzung zwischen den beiden Zweigen von UNIX – BSD (Berkeley University) und System V (kommerzielle Version von AT&T). Anschließend entwickelten viele Unternehmen, die System V von AT&T lizenziert hatten, ihre eigenen kommerziellen UNIX-Varianten, wie AIX, CLIX, HP-UX, IRIX, Solaris.

    Moderne Implementierungen UNIXe sind im Allgemeinen keine reinen V- oder BSD-Systeme. Sie implementieren Funktionen von System V und BSD.

    Kostenlose UNIX-ähnliche Betriebssysteme

    IN momentan GNU/Linux und Mitglieder der BSD-Familie erobern schnell den Markt von kommerziellen UNIX-Systemen und dringen gleichzeitig sowohl in Endbenutzer-Desktop-Computer als auch in mobile und eingebettete Systeme ein.

    Proprietäre Systeme

    Der Einfluss von UNIX auf die Entwicklung von Betriebssystemen

    Die Ideen hinter UNIX hatten großen Einfluss auf die Entwicklung von Computer-Betriebssystemen. Derzeit gelten UNIX-Systeme als eines der historisch bedeutendsten Betriebssysteme.

    Die in der Systemprogrammierung weit verbreitete C-Sprache, die ursprünglich für die Entwicklung von UNIX entwickelt wurde, hat UNIX an Popularität übertroffen. Die Sprache C war die erste „tolerante“ Sprache, die nicht versuchte, dem Programmierer den einen oder anderen Programmierstil aufzuzwingen. C war die erste Hochsprache, die Zugriff auf alle Prozessorfunktionen wie Referenzen, Tabellen, Bitverschiebungen, Inkremente usw. ermöglichte. Andererseits führte die Freiheit der C-Sprache zu Pufferüberlauffehlern in C-Standardbibliotheksfunktionen wie gets und scanf. Das Ergebnis waren viele berüchtigte Schwachstellen, wie zum Beispiel die, die vom berühmten Morris-Wurm ausgenutzt wurde.

    Die frühen Entwickler von UNIX trugen dazu bei, die Prinzipien der modularen Programmierung und Wiederverwendung in die technische Praxis einzuführen.

    UNIX ermöglichte die Verwendung von TCP/IP-Protokollen auf relativ kostengünstigen Computern, was zu einem schnellen Wachstum des Internets führte. Dies wiederum trug zur schnellen Entdeckung mehrerer schwerwiegender Schwachstellen in der Sicherheit, Architektur und den Systemdienstprogrammen von UNIX bei.

    Im Laufe der Zeit entwickelten sich führende UNIX-Entwickler Kulturelle Normen Softwareentwicklung, die genauso wichtig wurde wie UNIX selbst. ( )

    Soziale Rolle in der Gemeinschaft der IT-Experten und historische Rolle

    Die ursprünglichen UNIX-Versionen liefen auf großen Mehrbenutzercomputern, die auch proprietäre Betriebssysteme des Hardwareherstellers anboten, wie etwa RSX-11 und sein Nachkomme VMS. Trotz der Tatsache, dass das damalige UNIX nach einer Reihe von Meinungen Nachteile gegenüber dem Betriebssystem Data hatte (z. B. das Fehlen seriöser Datenbank-Engines), war es a) billiger und für akademische Einrichtungen manchmal kostenlos, b) von portierbar von Gerät zu Gerät und wurde in der portablen C-Sprache entwickelt, wodurch die Programmentwicklung von spezifischer Hardware „entkoppelt“ wurde. Darüber hinaus stellte sich heraus, dass das Benutzererlebnis von der Hardware und dem Hersteller „entkoppelt“ war – eine Person, die mit UNIX auf VAX arbeitete, konnte problemlos damit auf 68xxx usw. arbeiten.

    Hardwarehersteller hatten damals oft eine kühle Haltung gegenüber UNIX, betrachteten es als Spielzeug und boten ihr proprietäres Betriebssystem für ernsthafte Arbeiten an – vor allem DBMS und darauf basierende Geschäftsanwendungen in kommerziellen Strukturen. Es ist bekannt, dass DEC zu diesem Problem in Bezug auf sein VMS Stellung genommen hat. Unternehmen hörten darauf, nicht jedoch das akademische Umfeld, das alles, was es brauchte, in UNIX hatte, oft keine offizielle Unterstützung des Herstellers benötigte, sich selbst verwaltete und die niedrigen Kosten und die Portabilität von UNIX schätzte.

    Somit war UNIX möglicherweise das erste Betriebssystem, das auf andere Hardware portierbar war.

    Der zweite große Aufstieg von UNIX war die Einführung von RISC-Prozessoren um 1989. Schon davor gab es sogenannte. Workstations sind leistungsstarke persönliche Einzelplatzcomputer, die über ausreichend Speicher, eine Festplatte und ein ausreichend entwickeltes Betriebssystem (Multitasking, Speicherschutz) verfügen, um mit ernsthaften Anwendungen wie CAD zu arbeiten. Unter den Herstellern solcher Maschinen ragte Sun Microsystems heraus und machte sich damit einen Namen.

    Vor dem Aufkommen der RISC-Prozessoren verwendeten diese Stationen typischerweise einen Motorola 68xxx-Prozessor, genau wie in Apple-Computern (allerdings mit einem fortschrittlicheren Betriebssystem als das von Apple).

    Um 1989 erschienen kommerzielle Implementierungen von Prozessoren mit RISC-Architektur auf dem Markt. Die logische Entscheidung einiger Unternehmen (Sun und andere) war, UNIX auf diese Architekturen zu portieren, was sofort die Übertragung des gesamten UNIX-Software-Ökosystems zur Folge hatte.

    Proprietäre seriöse Betriebssysteme wie VMS begannen genau von diesem Moment an ihren Niedergang (selbst wenn es möglich war, das Betriebssystem selbst auf RISC zu übertragen, war alles mit Anwendungen dafür, die in diesen Ökosystemen oft in Assembler oder entwickelt wurden, viel komplizierter in proprietären Sprachen wie BLISS) und UNIX wurde zum Betriebssystem für die leistungsstärksten Computer der Welt.

    Zu diesem Zeitpunkt begann jedoch die Umstellung des PC-Ökosystems auf eine grafische Benutzeroberfläche in Form von Windows 3.0. Die enormen Vorteile der GUI sowie beispielsweise die einheitliche Unterstützung aller Druckertypen wurden sowohl von Entwicklern als auch von Anwendern geschätzt. Dies untergrub die Marktposition von UNIX erheblich – Implementierungen wie SCO und Interactive UNIX waren nicht in der Lage, Windows-Anwendungen zu unterstützen. Was die GUI für UNIX mit dem Namen X11 betrifft (es gab andere Implementierungen, die viel weniger beliebt waren), konnte sie aufgrund des Speicherbedarfs nicht vollständig auf einem normalen Benutzer-PC funktionieren – z normale Operation X11 benötigte 16 MB, während Windows 3.1 sowohl Word als auch Excel gleichzeitig in 8 MB (was damals zur Standard-PC-Speichergröße wurde) mit ausreichender Leistung ausführte. Bei hohe Preise in der Erinnerung war dies der limitierende Faktor.

    Der Erfolg von Windows hat Impulse gegeben internes Projekt Microsoft nannte Windows NT, das API-kompatibel mit Windows war, aber gleichzeitig über die gleichen architektonischen Merkmale eines seriösen Betriebssystems wie UNIX verfügte – Multitasking, vollständiger Speicherschutz, Unterstützung für Multiprozessormaschinen, Zugriffsrechte auf Dateien und Verzeichnisse, Systemprotokollierung . Windows NT führte auch das NTFS-Journaldateisystem ein, das zu dieser Zeit alle standardmäßig mit UNIX gelieferten Dateisysteme in seinen Fähigkeiten übertraf – Analoga für UNIX waren nur separate kommerzielle Produkte von Veritas und anderen.

    Obwohl Windows NT anfangs aufgrund von nicht beliebt war hohe Anforderungen Auf den Speicher (die gleichen 16 MB) ermöglichte es Microsoft, in den Markt für Serverlösungen, beispielsweise DBMS, einzusteigen. Viele glaubten damals nicht, dass Microsoft, traditionell ein Desktop-Softwareunternehmen, ein Akteur auf dem Markt für Unternehmenssoftware sein könnte, auf dem es bereits große Namen wie Oracle und Sun gab. Zu diesen Zweifeln kam noch die Tatsache hinzu, dass das Microsoft DBMS – SQL Server – als vereinfachte Version von Sybase SQL Server begann, von Sybase lizenziert wurde und in allen Aspekten der Arbeit damit zu 99 % kompatibel war.

    In der zweiten Hälfte der 1990er Jahre begann Microsoft, UNIX auf dem Markt für Unternehmensserver zu verdrängen.

    Gesamtheit die oben genannten Faktoren sowie ein enormer Preisverfall bei 3D-Videoprozessoren, der von professionellen Geräten auf Heimgeräte überging, machten das Konzept einer Workstation zu Beginn der 2000er Jahre praktisch zunichte.

    Darüber hinaus sind Microsoft-Systeme insbesondere in häufigen Anwendungsfällen einfacher zu verwalten.

    Doch UNIX hat nun seinen dritten dramatischen Aufstieg begonnen.

    Darüber hinaus entwickelten Stallman und seine Kameraden im vollen Bewusstsein, dass nicht-proprietäre Entwicklungstools für den Erfolg von Nicht-Unternehmenssoftware notwendig sind, eine Reihe von Compilern für verschiedene Programmiersprachen (gcc), die zusammen mit dem zuvor entwickelten GNU Utilities (die Standard-UNIX-Dienstprogramme ersetzen) hat ein notwendiges und recht leistungsfähiges Softwarepaket für einen Entwickler zusammengestellt.

    Um ein völlig freies UNIX zu schaffen, fehlte im Wesentlichen nur der Betriebssystemkernel. Und es wurde vom finnischen Studenten Linus Torvalds entwickelt. Der Kernel wurde von Grund auf neu entwickelt und ist aus Sicht des Quellcodes weder von BSD noch von System V abgeleitet (obwohl Konzepte entlehnt wurden, Linux hatte beispielsweise die Funktionen namei und bread), jedoch in einer Reihe von Nuancen (Systemaufrufe, reichhaltiges /proc, Fehlen von sysctk) – tendiert eher zu Letzterem.

    • POSIX 1003.2-1992, das das Verhalten von Dienstprogrammen, einschließlich des Befehlsinterpreters, definiert;
    • POSIX 1003.1b-1993, das POSIX 1003.1-1988 ergänzt, spezifiziert die Unterstützung für Echtzeitsysteme;
    • POSIX 1003.1c-1995, das POSIX 1003.1-1988 ergänzt, definiert Threads, auch Pthreads genannt.

    Alle POSIX-Standards sind in IEEE 1003 kompiliert.

    Aus Kompatibilitätsgründen haben mehrere UNIX-Systementwickler vorgeschlagen, das ELF-Format des SVR4-Systems für Binär- und Objektdateien zu verwenden. Ein einziges Format gewährleistet die vollständige Kompatibilität zwischen Binärdateien innerhalb derselben Computerarchitektur.

    Die Verzeichnisstruktur einiger Systeme, insbesondere GNU/Linux, ist im Filesystem Hierarchy Standard definiert. Diese Art von Standard ist jedoch in vielerlei Hinsicht umstritten und selbst innerhalb der GNU/Linux-Community alles andere als universell.

    Standard-UNIX-Befehle

    • Erstellen und Navigieren in Dateien und Verzeichnissen: Berühren Sie , , , , , , pwd , , mkdir , rmdir , find , ;
    • Dateien anzeigen und bearbeiten: more , less , , ex, , emacs ;
    • Textverarbeitung: echo, cat, grep, sort, uniq, sed, awk, tee, head, tail, cut, split, printf;
    • Dateivergleich: Comm, CMP, Diff, Patch;
    • Verschiedene Shell-Dienstprogramme: Yes, Test, Xargs, Expr;
    • Systemverwaltung: chmod , chown , , , , who , , mount , umount ;
    • Kommunikation: Mail, Telnet, FTP, Finger, RSH, SSH;
    • Befehlsshells: bash, csh, ksh, tcsh, zsh;
    • Arbeiten mit Quellcode und Objektcode: cc, gcc, ld, , yacc, bison, lex, flex, ar, ranlib, make;
    • Komprimierung und Archivierung: komprimieren, dekomprimieren, gzip, gunzip, tar
    • Arbeiten mit Binärdateien: , Zeichenfolgen

    Nachfolgend finden Sie eine Liste der 60 Befehle aus Abschnitt 1 der ersten Version von UNIX:

    • b, bas, bcd, booten
    • chdir, chmod, chown, cmp, katze, überprüfen,
    • Datum, db, dbppt, , , dsw, dtf,
    • mail, mesg, mkdir, mkfs, mount,
    • rew, rkd, rkf, rkl, , rmdir, roff

    Anmerkungen

    siehe auch

    Erste Die Bedeutung des Begriffs beruht auf der Betrachtung der Strukturen, in denen Dateien auf Speichermedien organisiert werden können. Es gibt verschiedene Arten solcher Strukturen: lineare, Baum-, Objekt- und andere, aber derzeit werden häufig nur Baumstrukturen verwendet.

    Jede Datei in Baumstruktur befindet sich in einem bestimmten Dateispeicher – Katalog, jedes Verzeichnis wiederum befindet sich auch in einem bestimmten Verzeichnis. Somit entsteht nach dem Prinzip der Verschachtelung von Dateisystemelementen (Dateien und Verzeichnissen) ineinander ein Baum, dessen Scheitelpunkte nicht leere Verzeichnisse und dessen Blätter Dateien oder leere Verzeichnisse sind. Die Wurzel eines solchen Baumes heißt Wurzelverzeichnis und wird durch ein Sonderzeichen oder eine Zeichengruppe angezeigt (z. B. „C:“ im Windows-Betriebssystem). Jede Datei entspricht einigen Name und definiert seinen Speicherort im Dateisystembaum. Der vollständige Dateiname besteht aus den Namen aller Eckpunkte des Dateisystembaums, durch die man vom Stammverzeichnis zu einer bestimmten Datei (Verzeichnis) gelangen kann, indem man sie von links nach rechts schreibt und durch spezielle Trennzeichen trennt.

    Derzeit gibt es eine große Anzahl von Dateisystemen, von denen jedes verwendet wird bestimmten Zweck: für schnellen Zugriff auf Daten, zur Gewährleistung der Datenintegrität bei Systemausfällen, zur einfachen Implementierung, zur kompakten Datenspeicherung usw. Unter der ganzen Vielfalt an Dateisystemen können wir jedoch diejenigen unterscheiden, die eine Reihe ähnlicher Merkmale aufweisen, nämlich:

    Dateien und Verzeichnisse werden nicht durch Namen identifiziert, sondern durch Indexknoten (i-node) – Indizes im allgemeinen Dateiarray für ein bestimmtes Dateisystem. Dieses Array speichert Informationen über die verwendeten Datenblöcke auf den Medien sowie die Dateilänge, den Dateieigentümer, Zugriffsrechte und andere Dienstinformationen unter dem allgemeinen Namen „ Metadaten zur Datei" Logische Verbindungen wie „name–i-node“ sind nichts anderes als der Inhalt von Verzeichnissen.

    Somit ist jede Datei durch einen i-Node gekennzeichnet, kann aber mit mehreren Namen verknüpft sein – in UNIX heißt dieser harte Links (Siehe Abbildung 1.22, „Beispiel für einen Hardlink“). In diesem Fall wird eine Datei gelöscht, wenn der letzte Hardlink zu dieser Datei gelöscht wird.

    Ein wichtiges Merkmal solcher Dateisysteme besteht darin, dass bei Dateinamen die Groß-/Kleinschreibung beachtet wird. Mit anderen Worten: Die Dateien test.txt und TEST.txt sind unterschiedlich (d. h. es handelt sich um unterschiedliche Zeilen in der Verzeichnisdatei).

    In bestimmten (für ein bestimmtes Dateisystem festgelegten) Blöcken des physischen Speichermediums befindet sich das sogenannte. Superblock. Der Superblock ist der kritischste Bereich des Dateisystems und enthält Informationen für den Betrieb des Dateisystems als Ganzes sowie für seine Identifizierung. Der Superblock enthält „ magische Zahl„ – eine Dateisystemkennung, die es von anderen Dateisystemen unterscheidet, eine Liste freier Blöcke, eine Liste freier I-Nodes und einige andere Dienstinformationen.

  • Außerdem Kataloge Und reguläre Dateien zum Speichern von Informationen, die der FS enthalten kann die folgenden Typen Dateien:

    Besonders Gerätedatei

    Bietet Zugriff auf ein physisches Gerät. Beim Erstellen eines solchen Geräts wird der Gerätetyp (Block oder Zeichen) angegeben. Seniorennummer – Treiberindex in der Treibertabelle des Betriebssystems und Junior-Nummer – ein Parameter, der an einen Treiber übergeben wird, der mehrere Geräte unterstützt, um zu verdeutlichen, um welches „Untergerät“ es sich handelt (z. B. um welches von mehreren IDE-Geräten oder COM-Ports).

    Benannte Pfeife Symbolischer Link

    Ein besonderer Dateityp, dessen Inhalt keine Daten, sondern der Name einer anderen Datei ist (siehe Abbildung 1.23, „Beispiel für einen symbolischen Link“. Für den Benutzer ist eine solche Datei nicht von der Datei zu unterscheiden, auf die sie verweist.

    Ein symbolischer Link hat gegenüber einem harten Link eine Reihe von Vorteilen: Er kann zum Verknüpfen von Dateien in verschiedenen Dateisystemen verwendet werden (schließlich sind Inode-Nummern nur innerhalb eines Dateisystems eindeutig), und das Löschen von Dateien ist auch transparenter – der Link kann völlig unabhängig von der Hauptdatei gelöscht werden.

    Steckdose
  • Solche Dateisysteme erben die Funktionen des ursprünglichen UNIX. Dazu gehören beispielsweise: s5 (wird in Versionen von UNIX System V verwendet), ufs (BSD UNIX), ext2, ext3, reiserfs (Linux), qnxfs (QNX). Alle diese Dateisysteme unterscheiden sich in den Formaten innere Strukturen, sind aber hinsichtlich der Grundkonzepte kompatibel.

    Verzeichnisbaum

    Rücksichtnahme zweite Die Bedeutung des Begriffs FS führt uns zu den zuvor definierten Prozeduren, die auf Dateien auf verschiedenen Medien zugreifen. Ein Merkmal der UNIX-Betriebssystemfamilie ist die Existenz eines einzigen Dateisystembaums für beliebig viele Speichermedien mit demselben oder verschiedene Typen Dateisysteme darauf. Dies wird erreicht durch Montage – vorübergehender Ersatz eines Verzeichnisses eines Dateisystems durch einen Baum eines anderen Dateisystems, wodurch das System nicht über mehrere Bäume verfügt, die in keiner Weise miteinander verbunden sind, sondern über einen großen verzweigten Baum mit einem einzigen Stammverzeichnis .

    Das Dateisubsystem des UNIX-Betriebssystems verfügt über einzigartiges System Bearbeitung von Dateianfragen – Dateisystemschalter oder virtuelles Dateisystem (VFS). VFS stellt dem Benutzer einen Standardsatz an Funktionen (Schnittstelle) für die Arbeit mit Dateien zur Verfügung, unabhängig von deren Speicherort und Zugehörigkeit zu verschiedenen Dateisystemen.

    In der Welt der UNIX-Standards ist festgelegt, dass das Stammverzeichnis eines einzelnen Dateisystembaums den Namen / tragen muss, ebenso wie das Trennzeichen bei der Bildung eines vollständig qualifizierten Dateinamens. Dann könnte der vollständige Dateiname beispielsweise /usr/share/doc/bzip2/README lauten. Die Mission von VFS ist es vollständiger Name Datei, finden Sie ihren Speicherort im Dateisystembaum, bestimmen Sie ihren Typ an dieser Stelle im Baum und „wechseln“, d. h. Übertragen Sie die Datei zur weiteren Verarbeitung an den Treiber eines bestimmten Dateisystems. Mit diesem Ansatz können Sie eine nahezu unbegrenzte Anzahl verschiedener Dateisysteme auf einem Computer mit einem Betriebssystem verwenden, ohne dass der Benutzer weiß, dass sich die Dateien physisch auf verschiedenen Speichermedien befinden.

    Die Verwendung gebräuchlicher Namen der Hauptdateien und der Verzeichnisstruktur erleichtert die Arbeit im Betriebssystem, seine Verwaltung und Portabilität erheblich. Einige dieser Strukturen werden beim Systemstart verwendet, einige werden verwendet, während das System läuft, aber alle haben dies getan sehr wichtig für das Betriebssystem als Ganzes, und eine Verletzung dieser Struktur kann zur Funktionsunfähigkeit des Systems oder seiner einzelnen Komponenten führen.

    Abbildung 1.24. Standardverzeichnisse im UNIX-Dateisystem

    Hier finden Sie eine kurze Beschreibung der Hauptverzeichnisse des Systems, die formal durch einen speziellen Standard für beschrieben werden Dateisystemhierarchie (Dateisystemhierarchiestandard). Alle Verzeichnisse können in zwei Gruppen unterteilt werden: für statische (sich selten ändernde) Informationen – /bin, /usr und dynamische (sich häufig ändernde) Informationen – /var, /tmp. Auf dieser Grundlage können Administratoren jedes dieser Verzeichnisse mit den entsprechenden Eigenschaften auf ihren eigenen Medien platzieren.

    Wurzelverzeichnis

    Das Stammverzeichnis / ist die Basis jedes UNIX-Dateisystems. Alle anderen Verzeichnisse und Dateien befinden sich unabhängig von ihrem physischen Standort innerhalb der vom Stammverzeichnis generierten Struktur (Baumstruktur).

    /Behälter

    Dieses Verzeichnis enthält häufig verwendete Befehle und Dienstprogramme des öffentlichen Systems. Dazu gehören alle grundlegenden Befehle, die auch dann verfügbar sind, wenn nur das Root-Dateisystem gemountet wurde. Beispiele für solche Befehle sind: ls , vgl , Sch usw..

    /Stiefel

    Das Verzeichnis enthält alles, was für den Bootvorgang des Betriebssystems erforderlich ist: Bootloader-Programm, Betriebssystem-Kernel-Image usw.

    /dev

    Das Verzeichnis enthält spezielle Gerätedateien, die als Zugriffsschnittstelle zu Peripheriegeräten dienen. Ein solches Verzeichnis bedeutet nicht, dass spezielle Gerätedateien nicht anderswo erstellt werden können, sondern nur, dass es praktisch ist, ein Verzeichnis für alle Dateien dieses Typs zu haben.

    /usw

    Dieses Verzeichnis enthält Systemkonfigurationsdateien. Beispiele hierfür sind die Dateien /etc/fstab, die eine Liste der einzuhängenden Dateisysteme enthalten, und /etc/resolv.conf, die Regeln für die Erstellung lokaler DNS-Abfragen angibt. Zu den wichtigsten Dateien gehören Systeminitialisierungs- und Deinitialisierungsskripte. In Systemen, die die Funktionen von UNIX System V erben, werden ihnen Verzeichnisse von /etc/rc0.d bis /etc/rc6.d und eine allen gemeinsame Beschreibungsdatei – /etc/inittab – zugewiesen.

    /home (optional)

    Das Verzeichnis enthält die Home-Verzeichnisse der Benutzer. Seine Existenz im Stammverzeichnis ist nicht erforderlich und sein Inhalt hängt von den Eigenschaften eines bestimmten UNIX-ähnlichen Betriebssystems ab.

    /lib

    Verzeichnis für statische und dynamische Bibliotheken, die zum Ausführen von Programmen benötigt werden, die sich in den Verzeichnissen /bin und /sbin befinden.

    /mnt

    Ein Standardverzeichnis zum temporären Mounten von Dateisystemen wie Disketten, Flash-Disks, CD-ROMs usw.

    /root (optional)

    Das Verzeichnis enthält das Home-Verzeichnis des Superusers. Seine Existenz im Stammverzeichnis ist nicht erforderlich.

    /sbin

    Dieses Verzeichnis enthält Befehle und Dienstprogramme für den Systemadministrator. Beispiele für solche Befehle sind: Route , Halt , drin usw. Die Verzeichnisse /usr/sbin und /usr/local/sbin werden für ähnliche Zwecke verwendet.

    /usr

    Dieses Verzeichnis folgt der Struktur des Stammverzeichnisses – es enthält die Verzeichnisse /usr/bin, /usr/lib, /usr/sbin, die ähnlichen Zwecken dienen.

    Das Verzeichnis /usr/include enthält C-Header-Dateien für verschiedene Bibliotheken, die sich auf dem System befinden.

    Das Verzeichnis /usr/local ist die nächste Wiederholungsebene des Stammverzeichnisses und wird zum Speichern von Programmen verwendet, die vom Administrator zusätzlich zur Standardverteilung des Betriebssystems installiert werden.

    Das Verzeichnis /usr/share speichert unveränderliche Daten für installierte Programme. Von besonderem Interesse ist das Verzeichnis /usr/share/doc, das die Dokumentation aller installierten Programme enthält.

    /var , /tmp

    Wird zum Speichern temporärer Daten von Prozessen verwendet – System bzw. Benutzer.

    Sandkasten

    neuer Spieler 19. März 2011 um 23:16 Uhr

    Wie unterscheidet sich Linux von UNIX und was ist ein UNIX-ähnliches Betriebssystem?

    • Abstellraum *
    UNIX
    UNIX (ist es nicht wert verwechselt mit der Definition eines „UNIX-ähnlichen Betriebssystems“) – einer Familie von Betriebssystemen (Mac OS X, GNU/Linux).
    Das erste System wurde 1969 in den Bell Laboratories, einem ehemaligen amerikanischen Unternehmen, entwickelt.

    Besonderheiten von UNIX:

    1. Einfache Systemkonfiguration mithilfe einfacher, meist Textdateien.
    2. Umfangreiche Nutzung der Kommandozeile.
    3. Einsatz von Förderbändern.
    Heutzutage wird UNIX hauptsächlich auf Servern und als System für Hardware verwendet.
    Man kann die enorme historische Bedeutung von UNIX-Systemen nicht übersehen. Sie gelten heute als eines der historisch bedeutendsten Betriebssysteme. Bei der Entwicklung von UNIX-Systemen entstand die Sprache C.

    UNIX-Varianten nach Jahr

    UNIX-ähnliches Betriebssystem
    UNIX-ähnliches Betriebssystem (Manchmal verwenden Sie die Abkürzung *nix) – ein System, das unter dem Einfluss von UNIX entstanden ist.

    Das Wort UNIX wird als Konformitätszeichen und als Marke verwendet.

    Das Open Group-Konsortium besitzt die Marke „UNIX“, ist jedoch vor allem als Zertifizierungsstelle für die Marke UNIX bekannt. Kürzlich beleuchtete die Open Group die Veröffentlichung der Single UNIX Specification, der Standards, die ein Betriebssystem erfüllen muss, um stolz Unix genannt zu werden.

    Sie können einen Blick auf den Stammbaum der UNIX-ähnlichen Betriebssysteme werfen.

    Linux
    Linux - gemeinsamen Namen UNIX-basierte Betriebssysteme, die im Rahmen des GNU-Projekts (Open-Source-Softwareentwicklungsprojekt) entwickelt wurden. Linux läuft weiter eine riesige Vielfalt Prozessorarchitekturen, von ARM bis Intel x86.

    Die bekanntesten und am weitesten verbreiteten Distributionen sind Arch Linux, CentOS, Debian. Es gibt auch viele „inländische“, russische Distributionen – ALT Linux, ASPLinux und andere.

    Es gibt einige Kontroversen über die Benennung von GNU/Linux.
    Befürworter von „Open Source“ verwenden den Begriff „Linux“, Befürworter „freier Software“ verwenden „GNU/Linux“. Ich bevorzuge die erste Option. Zur Vereinfachung der Darstellung des Begriffs GNU/Linux werden manchmal die Schreibweisen „GNU+Linux“, „GNU-Linux“, „GNU Linux“ verwendet.

    Im Gegensatz zu kommerziellen Systemen (MS Windows, Mac OS X) ist dies bei Linux nicht der Fall geographischer Mittelpunkt Entwicklung und bestimmte Organisation, dem das System gehören würde. Das System selbst und die Programme dafür sind das Ergebnis der Arbeit riesiger Communities und Tausender Projekte. Jeder kann dem Projekt beitreten oder ein eigenes Projekt erstellen!

    Abschluss
    So haben wir die Kette gelernt: UNIX -> UNIX-ähnliches Betriebssystem -> Linux.

    Zusammenfassend kann ich sagen, dass die Unterschiede zwischen Linux und UNIX offensichtlich sind. UNIX ist viel mehr breites Konzept, die Grundlage für den Aufbau und die Zertifizierung aller UNIX-ähnlichen Systeme und Linux – besonderer Fall UNIX.

    Stichworte: Unix, Linux, Nix, Linux, Unix

    Dieser Artikel Es kann nicht kommentiert werden, da der Autor noch nicht bekannt ist