Software Engineering Aufbau der Zentraleinheit: CPU – Zentraleinheit Rechenwerk Leitwerk ALU Decoder Register Register PC Arithmetical Logical Unit Verarbeitet arithmetische und logische Befehle, berechnet Ergebnisse Register Register Liest Bytes aus dem Speicher (z. B. Bios) PC – Programm Counter = Programmzähler RAM ROM Datenbus Adressbus I/O Ein / Ausgabe Baustein Außenwelt C:\hermann\kuchta\swe.doc Seite 1 von 4 Dat 02.07.2003 Software Engineering Architektur eines Betriebsystems: von Neumann – Architektur Vor der Entwicklung dieses Rechnertyps gab es diverse Rechner, die nur jeweils eine Aufgabe konnten (Statikrechnung, kaufmännische Berechnung, Ver – Entschlüsselung von Informationen) Von – Neumann – Rechner haben keine genaue Aufgaben, erst die aufgespielte Software entscheidet über die Funktion. Programme und die von den Programmen verwendeten Daten werden im gleichen Speicher (RAM) abgelegt. Daten und Programme können nicht 100%ig vor fehlerhaften Zugriffen und Zerstörung geschützt werden. Speicherzellen sind durchnummeriert und werden mit „Adressen“ angesprochen. Daten werden über den Datenbus transportiert, Er ist im Gegensatz zum Adressbus grundsätzlich bidirektional. Ein / Ausgabebausteine bilden die Schnittstelle zur Außenwelt (zum Beispiel Tastatur, Maus, USB, Festplatte …) C:\hermann\kuchta\swe.doc Seite 2 von 4 Dat 02.07.2003 Software Engineering Übersetzungssoftware für Programmiersprachen. Compiler – Übersetzt Quelltexte in Maschinencode (üblicherweise so genante „Objektdateien“) Interpreter – Übersetzt das Programm zeilenweise zum Zeitpunkt des Programmstarts und führt den Maschinencode sofort aus. Programmiersprachen: Cobal kaufm. Pascal Lehrsprache C Fortran technisch Naturwissensch. Delphi Pascal aktuelle C++C+ Objektorientierung Visual Basic MS System Windows Programmierung Algol Technisch Naturwissensch. Kylix C# C sharp VB Script Windows Automatisierung Internet PL/1 kaufm. Java Aus C++ entwickelt VB .Net VB Objektorientiert für MS „Framework“ Pascal aktuelle für Betriebsyst. Basic Beginner’s All Purpose Symbolic Instruction Code Anfängersprache PHP Java Script Internet PERL Objective C C mit Objektorientierung BATCH programme Shell scripts Compilersprachen Interpretersprachen + hohe Ausführungsgeswindigkeit, Da bereits Übersetzt + in der Regel kostenfrei + Entwicklungssystem nicht unbedingt erforderlich + Know how wird geschützt (Quellcode ist nicht mehr zu sehen) + in der Regel Plattformunabhänig - Übersetzung für verschiedene Plattformen nötig + Änderung können sofort getestet werden + meist einfacher im Aufbau, leichter zu lernen + Modularisierung einfacher umsetzbar C:\hermann\kuchta\swe.doc Seite 3 von 4 Dat 02.07.2003 Software Engineering Software – Schichtenmodell: Anwendungssoftware API – Applikation Programming Interface API OS Betriebsystem (Windows, Linux, Unix) Bios Basic Input / Output System Firmware HD Hardware USB Java Software: Java - Anwendung JVM OS Betriebsystem (Windows, Linux, Unix) Bios Hardware Basic Input / Output System Firmware HD USB Java läuft auf fast allen Betriebssystemen: Die JVM übersetzt die Anwendung für die jeweiligen Prozessoren bzw. Betriebsysteme. C:\hermann\kuchta\swe.doc Seite 4 von 4 Dat 02.07.2003