Software, Programmierung und Systemadministration
Eingeordnet in Informatik
Geschrieben am in
Deutsch mit einer Größe von 19,67 KB
Software: Betriebssysteme und Anwendungen
Der Computer ist eine Maschine mit großem Speicher, die Daten mit hoher Genauigkeit und Geschwindigkeit verarbeitet. Er benötigt jedoch Anweisungen, um diese Prozesse durchzuführen. Software ist ein Satz von Anweisungen und Verfahren, die Informationen verarbeiten, die vom Computer empfangen werden, und sie in nützliche Informationen für den Benutzer umwandeln.
Arten von Software
1. Betriebssysteme (OS)
Das Betriebssystem ist die Basis-Software, ohne die der Computer nicht funktionieren kann. Es ist ein Satz von Programmen oder Anweisungen, die es Benutzern und anderen Programmen ermöglichen, mit dem Computer zu kommunizieren, wodurch die zugrunde liegende Hardware transparenter wird.
Das OS steuert die Hardware-Ressourcen der Maschine nach Bedarf, z. B. bei der Ausführung von Anwendungsprogrammen, der Speicherung von Daten, dem Druckvorgang oder dem Klick auf eine Maustaste.
Jedes Betriebssystem legt Regeln oder Standards fest, denen sich die übrigen Programme anpassen müssen: Ein Programm, das unter Windows läuft, funktioniert in der Regel nicht, wenn der Computer das Betriebssystem Linux verwendet.
Komponenten von Betriebssystemen
Betriebssysteme umfassen:
- Überwachungsprogramme:
- Speicherverwaltung (Memory Management)
- Verwaltung der E/A (Input/Output)
- Etc.
- Hilfsprogramme (Utilities):
- Formatierung
- Defragmentierung (Defrag)
- Etc.
2. Programmiersoftware
Die Programmiersoftware besteht aus einer Reihe von Programmen (Tools und Utilities), die zur Unterstützung der Programmierung und für den persönlichen Gebrauch dienen, wie zum Beispiel:
- Editoren
- Compiler
- Linker
- Etc.
Eine Programmiersprache besteht aus einer Reihe von Wörtern (Befehlen, die ihr Vokabular bilden), die entwickelt wurden, um in Übereinstimmung mit einer Reihe von Regeln verwendet zu werden, die in verschiedenen Programmen festgelegt sind. Ähnlich wie bei jeder natürlichen Sprache hat jede Programmiersprache ihre eigenen Regeln für Grammatik, Syntax usw.
Wenn der Computer bestimmte Berechnungen durchführen soll, muss ihm zunächst durch ein Programm mitgeteilt werden, welche Schritte zur Durchführung dieser Berechnungen erforderlich sind. Dies muss in einer „Sprache“ geschehen, die der Computer verstehen kann.
Ein Programm ist demnach eine Reihe von Anweisungen, die in einer Sequenz angeordnet sind und die Rechenoperationen festlegen, die zur Lösung eines bestimmten Problems durchgeführt werden sollen. Programme können die Computer-Hardware durch die Verwendung geeigneter Befehle nutzen.
Um ein Programm zu entwickeln, muss das zu lösende Problem analysiert und ein Algorithmus erstellt werden (ein System, das die Schritte festlegt, sei es durch ein Flussdiagramm oder Pseudocode).
Anschließend werden diese Schritte in einer Programmiersprache geschrieben, kompiliert (wodurch sie in Maschinensprache-Anweisungen umgewandelt werden, die der Computer verstehen kann) und mit einer zuvor definierten Sequenz verknüpft (gelinkt).
Klassifizierung von Programmiersprachen
Programmiersprachen werden basierend auf ihrer Nähe zur Computer-Hardware wie folgt eingeteilt:
- Niedrige Ebene (Low-Level): Sie bestehen aus 0en und 1en und werden direkt vom Computer verstanden. Dies wird als Maschinensprache bezeichnet.
- Mittlere Ebene (Intermediate-Level): Diese werden als Assembler-Sprachen bezeichnet. Sie ersetzen einige Bit-Strings jeder Anweisung durch Wörter, während der Rest binär bleibt. Jedes Programm muss vor der Ausführung in Maschinensprache übersetzt werden.
- Hohe Ebene (High-Level): Sie bestehen vollständig aus Wörtern und sind somit einfacher zu verwenden. Sie müssen ebenfalls in Maschinensprache übersetzt werden.
Programmiersprachen haben sich so entwickelt, dass sie der natürlichen Sprache (meist Englisch) näher kommen und immer weniger Fachwissen erfordern. Die ersten Sprachen waren niedriger und mittlerer Ebene (Maschinen- und Assembler-Sprachen). Später folgten anweisungsbasierte Hochsprachen.
Schließlich gibt es die objektorientierte Programmierung (OOP), bei der der Prozess nicht durch erweiterte Anweisungen definiert wird, sondern ein Objekt erstellt und dessen Eigenschaften und Beziehungen zu anderen Objekten definiert werden. Ein Beispiel ist C++. Im Rahmen dieser Programmierung stechen Programmiersprachen für grafische Umgebungen hervor, wie Visual Basic oder Delphi.
3. Anwendungssoftware (Applications)
Dies sind Software-Programme, die mithilfe der Programmiersoftware entwickelt wurden. Sie sind für den Endbenutzer konzipiert, sodass jeder sie nutzen kann.
Nach ihrer Funktion werden verschiedene Arten unterschieden:
Sektorale (oder vertikale) Anwendungsprogramme
Diese Software-Pakete sind auf eine bestimmte Klasse von Nutzern ausgerichtet. Sie lösen ein spezifisches Problem für eine bestimmte Art von Nutzer oder nur für einen einzelnen Benutzer. Wenn beispielsweise ein Transportunternehmen seine Verwaltung und Buchhaltung computerisieren muss, kann es ein bereits erstelltes Programm in einem Computergeschäft kaufen, es an seine Arbeitsweise anpassen und die definierten Daten eingeben. Es kann aber auch ein Software-Unternehmen beauftragen, ein spezielles Programm zu entwickeln, das genau seinen Bedürfnissen und seiner Arbeitsweise entspricht.
Funktionale (oder horizontale) Anwendungsprogramme
Dies sind Programme, die für eine Vielzahl von Benutzern entwickelt wurden und manchmal Anpassungen ermöglichen. Beispiele hierfür sind Software für die Lohnbuchhaltung, Rechnungsstellung usw., um die Form bestimmter Dokumente wie Rechnungen anzupassen.
Generische Programme oder Programme für allgemeine Zwecke
Sie sind umfassend und weit verbreitet. Sie dienen nicht nur einer einzigen Anwendung, sondern werden als Arbeitselemente für sehr unterschiedliche Zwecke genutzt. Die häufigsten sind:
- Textverarbeitungsprogramme: Für die Erstellung von Dokumenten. Bekannte Beispiele sind Writer, WordPerfect und Word.
- Datenbank-Manager: Zum Organisieren und Erleichtern des Zugriffs auf große Datenmengen. Sehr häufig sind Access, MySQL usw.
- Tabellenkalkulationen: Für mathematische Operationen mit numerischen Daten. Sie bieten die Möglichkeit, Ergebnisse grafisch darzustellen. Verbreitet sind Lotus 1-2-3 und Microsoft Excel.
- Präsentationsprogramme: Für die Erstellung von Präsentationen (Folien-Sets). Zum Beispiel: PowerPoint.
- Grafische Gestaltung und Desktop Publishing: Erstere dienen zur Bearbeitung von Bildern (Zeichnungen oder digitalisierten Fotos). Beispiele sind CorelDraw oder Photoshop. Desktop-Publishing-Programme werden verwendet, um Text und Bilder in Publikationen zu kombinieren. Zum Beispiel: PageMaker und Publisher.
- Integrierte Pakete und/oder Suiten: Integrierte Pakete vereinen die grundlegenden Funktionen von Textverarbeitung, Datenbanken, Tabellenkalkulationen und Präsentationen, oft mit zusätzlichen Funktionen für Desktop-Publishing und Malprogramme. Eines der am weitesten verbreiteten ist Microsoft Word. Suiten sind große Gruppen von Programmen desselben Software-Herstellers, wodurch der Grad der Integration zwischen den Anwendungen größer ist. Sehr verbreitet sind Lotus SmartSuite, Microsoft Office oder StarOffice und das kürzlich implementierte OpenOffice, das unter Linux läuft, aber auch eine Windows-Version besitzt.
Wichtige Eigenschaften von Software
Software muss sich durch folgende Merkmale auszeichnen:
- Multifunktionalität: Die Möglichkeit, verschiedene Aufgaben zu erfüllen und somit einen Großteil der täglichen Arbeit des Benutzers abzudecken.
- Produktivität: Ein daraus resultierender Vorteil für den Benutzer, d. h. die Erzielung gleicher oder besserer Ergebnisse in kürzerer Arbeitszeit.
- Skalierbarkeit: Die Fähigkeit, sich an künftige Entwicklungen der Hardware-Elemente und spätere Versionen des Betriebssystems, auf dem sie läuft, anzupassen.
- Benutzerfreundlichkeit und Lernbarkeit: Da Software Benutzern helfen soll, bessere Ergebnisse zu erzielen, sollte die Verwaltung keine Schwierigkeiten bereiten. Zudem sollte ein kurzes Tutorial das volle Potenzial des Programms zusammenfassen.
- Zuverlässigkeit und Robustheit: Die Software muss von guter Qualität sein, um während der optimalen Leistungsfähigkeit korrekte Ergebnisse zu liefern.
Übersetzung von Programmiersprachen
Jedes Betriebssystem stellt Programmierern eine Reihe von Programmen zur Verfügung, die sie bei der Implementierung und Entwicklung ihrer eigenen Programme unterstützen.
Diese Programme werden als Übersetzer (Translatoren) bezeichnet. Ihre Aufgabe ist es, Programme, die in maschinenfernen Sprachen entworfen wurden, so zu übersetzen, dass sie bei Bedarf in Maschinensprache umgewandelt und direkt von der Hardware ausgeführt werden können.
Der Übersetzungsprozess eines typischerweise in einer Hochsprache geschriebenen Programms, das als Quellprogramm (Source Program) bezeichnet wird, erzeugt ein äquivalentes Programm (das die gleiche Arbeit leistet) in Maschinensprache für den Prozessor. Dieses ausführbare Ergebnis wird als Objektprogramm (Object Program) bezeichnet, manchmal auch als ausführbares Programm. Der Linker (Link-Editor) fasst gegebenenfalls mehrere Objektprogramme zu einem einzigen ausführbaren Programm zusammen.
Ablauf der Übersetzung
Der grundlegende Übersetzungsablauf ist wie folgt:
QUELLPROGRAMM ====> ÜBERSETZER ====> OBJEKTPROGRAMM
Basierend auf der Sprache, in der das Quellprogramm codiert ist, lassen sich drei Arten von Übersetzern unterscheiden:
- Assembler
- Assembler sind Übersetzer, die Quellprogramme, die in einer symbolischen Sprache niedriger Ebene (Assembler-Sprachen) geschrieben sind, in äquivalente Objektprogramme in Maschinensprache umwandeln. Die Übersetzung erfolgt so, dass jede in Assembler geschriebene Anweisung zu einer einzigen Maschinensprache-Anweisung wird. Kurz gesagt: Assembler-Sprache ist eine vereinfachte, symbolische Maschinensprache, und der Assembler ist ihr Übersetzer.
- Compiler
- Compiler sind Übersetzer, die für die Umwandlung von Quellprogrammen in symbolischen Hochsprachen in Objektprogramme in Maschinensprache verantwortlich sind. Ein wesentliches Merkmal eines Compilers ist, dass eine vollständige Übersetzung abgeschlossen wird und, falls keine Fehler vorliegen, das Objektprogramm erstellt wird. Die Übersetzung erfolgt so, dass jede Anweisung des Quellprogramms in eine oder mehrere Anweisungen im Objektprogramm umgewandelt wird. Beispiele für Sprachen, die kompiliert werden: Cobol, C, C++, Pascal, Fortran, etc.
- Interpreter (Dolmetscher)
- Interpreter sind Programme, die Quellprogramme in Hochsprachen in Maschinensprache konvertieren. Der Interpreter führt jede Anweisung sofort aus, nachdem sie in Maschinensprache übersetzt wurde, sofern sie korrekt ist. Wenn die Anweisung ordnungsgemäß übersetzt und ausgeführt wurde, fährt der Interpreter mit der nächsten fort, bis das Programm beendet ist oder ein Fehler auftritt, der die Ausführung unterbricht.
Der vom Interpreter erzeugte Objektcode wird nicht zur späteren Verwendung gespeichert, sodass jede neue Ausführung des Programms eine erneute Übersetzung erfordert. Das beste Beispiel für eine interpretierte Sprache war lange Zeit Basic, aber heute ist JavaScript die bekannteste.
Rechtsvorschriften zur Softwarenutzung (Softwarepiraterie)
Softwarepiraterie ist die Vervielfältigung, Reproduktion, Herstellung oder Verwendung nicht autorisierter Softwareprodukte. Die Verwendung illegal kopierter Software gilt als Diebstahl und kann schwerwiegende Folgen wie Wirtschaftssanktionen und sogar Gefängnisstrafen für Unternehmen und Einzelpersonen nach sich ziehen.
Es gibt fünf grundlegende Formen der Softwarepiraterie:
- Kopie durch Endnutzer: Diese Form der Piraterie tritt auf, wenn zusätzliche Kopien eines Programms innerhalb einer Organisation zur Nutzung durch Mitarbeiter erstellt werden. Auch der Austausch von Datenträgern zwischen Freunden und Partnern außerhalb der Arbeitsumgebung fällt in diese Kategorie.
- Festplatteninstallation: Manche Verkäufer und Händler von Computern installieren unerlaubte Kopien von Software auf der Festplatte der zum Verkauf angebotenen Computer, um den Endanwender zum Kauf der Ausrüstung zu bewegen.
- Fälschung (Falsificación): Beinhaltet die illegale Vervielfältigung und den Verkauf von urheberrechtlich geschützter Software, die oft so gestaltet ist, dass sie wie ein legitimes Produkt erscheint. Gefälschte Software kann sehr anspruchsvoll sein und gefälschte Verpackungen, Logos und Schutzvorrichtungen wie Hologramme umfassen.
- Piraterie in elektronischer Form: Diese Form der Piraterie tritt auf, wenn Software Internetnutzern ohne die ausdrückliche Zustimmung des Inhabers des Urheberrechts zugänglich gemacht wird.
- Falsche Lizenznutzung: Diese Art der Piraterie tritt auf, wenn die Software außerhalb der legitimen Vertriebswege, für die das Produkt entwickelt wurde, vertrieben wird, oder wenn das Produkt in einer Weise verwendet wird, die in der Lizenzvereinbarung nicht gestattet ist.
Im Jahr 1988 schlossen sich führende Unternehmen der Softwareentwicklung und des Vertriebs zur Business Software Alliance (BSA) zusammen (www.bsa.org). Die BSA zielt darauf ab, den legalen Softwaremarkt zu stärken und die Einhaltung des Urheberrechts weltweit zu gewährleisten. Die BSA ist eine globale Organisation, die sich in über 65 Ländern für die Durchsetzung des Urheberrechts, Aufklärungskampagnen und Wohlfahrtsprogramme einsetzt.
In Bezug auf Daten kann auch der betrügerische Missbrauch gespeicherter Daten in Computersystemen als eine Form der Piraterie betrachtet werden, darunter:
- Datenbanken mit personenbezogenen Daten von natürlichen oder juristischen Personen (Kunden, Lieferanten, Kreditgeber, Informationen von Unternehmen, Institutionen usw.).
- Buchhaltungsdaten, kommerzielle Informationen oder Wissen, das über Jahre der Forschung erworben wurde. Die Kenntnis oder Weitergabe dieser Daten kann Wettbewerbern einen Vorteil verschaffen oder unabsehbare und/oder uneinbringliche Schäden verursachen.
- Jeder urheberrechtlich geschützte Inhalt in digitaler Form, sei es Text, Grafiken, Computerprogramme, Multimedia-Inhalte (Musik, Videos, Filme) usw., dessen rechtswidriger Erwerb den rechtmäßigen Eigentümern wirtschaftlichen Schaden zufügt.
In Spanien wurde 1992 das Organgesetz zur Regulierung der automatischen Datenverarbeitung (LORTAD) veröffentlicht, das mehr als vierzig Artikel über den Vertrieb, das Design und den Schutz von Software enthielt. Es wurde später durch das Gesetz 15/1999 vom 13. Dezember über den Schutz personenbezogener Daten aufgehoben.
Weitere Informationen zur LORTAD finden Sie unter: http://www.canaljuridico.com/consultaslegales.htm
Externe Speichermedien
Die externe Datenspeicherung erfolgt auf Informationsträgern. Diese Träger können Disketten, Festplatten, CD-ROMs, Kassetten, Bandlaufwerke usw. sein.
Informationsträger sind physische Medien, die zur Aufzeichnung von Informationen mittels magnetischer, optischer oder anderer Methoden geeignet sind.
Ein Diskettenlaufwerk ist ein Gerät zum Aufzeichnen oder Lesen von Daten auf dem Medium, der Diskette.
Die Speichermedien werden nach der Art des Zugriffs auf die Informationen klassifiziert:
- Sequenzieller Zugriff (Sequential)
- Der Zugriff auf die gewünschten Informationen erfolgt nacheinander, beginnend bei den vorhergehenden Daten. Beispiele sind DAT-Bänder und andere Bandgeräte. Sie werden häufig für Backups oder Sicherungen verwendet.
- Direkter Zugriff (Direct)
- Der Zugriff auf die Informationen erfolgt sofort, ohne Umweg über andere Daten. Beispiele sind Disketten, Festplatten, CD-ROMs usw.
Funktionen und Aufgaben des Systemadministrators
IT-Systeme ab einer bestimmten Größe stellen Hardware- und Software-Ressourcen für viele Benutzer bereit. Die Integrität der enthaltenen Informationen und die Arbeit der Benutzer müssen vor möglichen Störungen geschützt werden, wie z. B. Stromausfall, Überhitzung, Staub, negative Auswirkungen elektromagnetischer Felder oder Viren.
Der Systemadministrator ist die Person, die für die Durchführung aller Maßnahmen zur Installation, Wartung, Nutzung und Reparatur des Computersystems verantwortlich ist. Er ist zuständig für die Installation des Betriebssystems, die Konfiguration der von den Benutzern verwendeten Computer, den Transport der Ausrüstung, die Reinigung und Wartung usw.
Der Administrator gewährleistet die Integrität des Systems. Zu diesem Zweck berücksichtigt das Systemdesign die Auswirkungen störender Faktoren wie:
- Temperatur: Die Temperatur des physischen Raumes, in dem sich das IT-System befindet, muss konstant sein, um die Integrität sowohl der Geräte als auch der Speichermedien zu gewährleisten. Eine Raumtemperatur von etwa 21 Grad wird empfohlen.
- Staub: Der Administrator muss die Integrität der Hardware-Elemente sicherstellen, die durch Staub beeinträchtigt werden können, insbesondere Festplattenleser und Tastaturen. Zu diesem Zweck werden Abdeckungen oder Schutzvorrichtungen bereitgestellt, um einen unregelmäßigen Betrieb zu verhindern.
- Elektromagnetische Felder, Feuchtigkeit und Flüssigkeiten: Der Administrator muss regelmäßig die verschiedenen Geräte überprüfen, um deren Zustand festzustellen. Optimale Reinigungs- und Umgebungsbedingungen gewährleisten die Integrität des Systems und der Speichermedien.
- Installation und Transport von Ausrüstung: Die Installation und der Transport von Geräten sowie der Anschluss von Peripheriegeräten sind wichtige Aufgaben des Systemadministrators.
Weitere Pflichten des Administrators sind:
- Regelmäßige Backups der Informationen erstellen.
- Software pflegen, die es Computern ermöglicht, vernetzt zu sein.
- Die Integrität der Betriebssysteme regelmäßig überprüfen.
- Virenprävention und -entfernung durchführen.
- Installation, Wartung und Konfiguration von Netzwerkdruckern.
- Konfiguration und Wartung von Verbindungen zu anderen Netzwerken, sowohl lokalen als auch weitreichenden (WAN).
- Angemessenen Zugang zu den Ressourcen gewährleisten, die von Benutzern gemeinsam genutzt werden.
- Den Verbrauch von Ressourcen, insbesondere der Verarbeitungs- und Speicherkapazität des Systems, überwachen.
- Unbefugten Zugriff verhindern.