| Multitasking | |||||
|
Ein multitaskingfähiges Betriebssystem (wie Windows) ist in der Lage, mehrere Aufgaben (Tasks, Prozesse) gleichzeitig zu bearbeiten. So können Wartezeiten für ein bestimmtes Programm dazu genutzt werden um andere Prozesse zu bearbeiten. Es handelt sich dabei nicht um echte Parallelverarbeitung, da eine CPU bisher nur einen Befehl auf einmal abarbeiten kann. Die Prozesse werden jedoch effizienter (in sog. Zeitscheiben) durch die Bearbeitung geschleust. Die Reihenfolge der Bearbeitung wird durch den Scheduler festgelegt, der den Prozessen Prioritäten zuordnet. Dabei unterscheidet man die kooperative und die präemptive Methode: Kooperatives Multitasking und Präemptives Multitasking. Vorläufer des Multitasking war die Multiprogrammierung, bei der Kontextwechsel der Anwendungen bei Peripheriezugriffen stattfanden um die dabei entstehenden Wartezeiten zu nutzen. Durch den Einsatz der Interruptsteuerung wurde TSR-Programmierung (Terminate and Stay Resident) möglich. Der allgemeine Ablauf zeichnet sich dadurch aus, dass ein Prozess, der für einen anderen Prozess in die Warteposition versetzt wird, keine Informationen über diesen oder andere Prozesse benötigt. Dadurch kann diesem Prozess, wenn die Ausführung fortgesetzt wird, ein definierter Prozesskontext zur Verfügung gestellt werden, unabhängig davon, ob sich dieser in der Zwischenzeit für andere Prozesse verändert hat. Dazu wird der gesamte Prozesszustand vor der Unterbrechung auf einem Stack gespeichert. Bei Fortsetzung der Ausführung wird dieser gespeicherte Prozesszustand wieder geladen - dieser Vorgang wird Taskwechsel genannt. Kooperatives Multitasking Das kooperative Multitasking funktioniert ähnlich wie der Aufruf von Prozeduren bei der prozeduralen Programmierung. Es handelt sich um eine weiterentwickelte Form der TSR-Programmierung nach dem Konzept der synchronen Interrupts. Das Multitasking wird im Betriebssystemkernel als zentrale Prozessverwaltung gesteuert. Das Betriebssystem weist jeder Anwendung eine Priorität zu, jedoch bestimmen die Prozesse selber, wann sie die Kontrolle an den Kern zurückgeben. Die Anwendung mit der höchsten Priorität kann für sich die gesamte Rechenleistung bestimmen. Präemptives Multitasking Auch beim präemptiven Multitasking werden vom Betriebssystem Prioritäten für die Programme vergeben, jedoch teilen sich die Prozesse die Rechenleistung, gegliedert nach Priorität. Ein einzelner Prozess kann somit nicht die gesamte Rechenleistung beanspruchen. Das Betriebssystem steuert die Abarbeitungsfolge der Prozesse und weist ihnen Zeitscheiben (oder Zeitschlitze) zu. Ist die zugewiesene Zeit vergangen, so wird ein Prozess angehalten um einen anderen zu starten. Die angehaltenen Prozesse werden inaktiv und dann wieder gestartet, sobald sich ein neuer Zeitschlitz für sie öffnet. Beim Scheduling der Prozesse können verschiedene Strategien angewendet werden. Eine populäre Strategie ist die Anwendung von Vorrangwarteschlangen in Kombination mit der Round-Robin-Scheduling-Strategie. Die Auslastung des Systems ist besser verteilt und damit effektiver. Multitaskingfähige Betriebssysteme Multitaskingfähige Betriebssysteme sind Windows, Unix, Linux, OS/2 oder Mac OS X und alle auf UNIX basierenden Betriebssysteme wie Solaris oder HP-UX. |
|||||
| Siehe auch: Task Thread Multithreading Multiuser windows linux Kernel Mac-OS-X Solaris | |||||
| Windows | |||||
|
Windows ist die Bezeichnung für eine Betriebssystemreihe von Microsoft. Die Oberfläche arbeitet mit der Fenster-Technik (Window). Windows 3.1 war nur eine Ausbaustufe von DOS, während Windows 95, 98 und NT eigenständige Systeme sind. Der Datenaustausch erfolgt mit Hilfe der Techniken DDE und OLE. Windows ist multi-taskingfähig und unterstützt Plug & Play. Eine automatische Geräteerkennung und eine Treiberdatenbank sind ebenfalls an Bord. Integriert sind der Internet Explorer und der Windows Mediaplayer (WMP), was auch gerichtliche Streitereien zwischen Microsoft und den Kartellbehörden (in einigen US-Bundesstaaten und der EU) nach sich zog. Streitpunkt war die Ausnutzung der Quasi-Monopolstellung, um den Netscape Navigator oder andere Konkurrenzprodukte in die Knie zu zwingen. Windows 1.0 bis Windows for Workgroups 3.11 Windows 1.0 (1985) war die erste GUI für DOS und sehr stark DOS-orientiert, ebenso wie Windows 2.0 (1987). Windows 3.0 kam 1992 in die Läden und ist ebenfalls eine grafische DOS-Erweiterung, enthält jedoch schon soviele Elemente eines Betriebssystems, dass es als eigenständiges Betriebssystem auf DOS-Basis angesehen werden kann. Windows 3.0 verfügt über einen Real Mode (Kompatibilitätsmodus für Windows 2.0 Anwendungen bzw. für eine 8086-Architektur), einen Standard Mode (für die Intel 80826 Architektur) und einen Extended Mode (für die Intel 80386 Architektur: kooperatives Multitasking, Adressierung grösserer Speicherbereiche). Windows 3.0 mit Multimedia Extensions (1991) bot Media Erweiterungen für digitalen Sound, CD-Player, Bildschirmschoner und eine erweiterte Uhr. Windows 3.1 (1992) war kommerziell sehr erfolgreich und beinhaltete eine 32-Bit Farbpalette, Sound-Unterstützung, TrueType Typos und eine OLE-Schnittstelle welche Drag & Drop unterstützte. Windows for Workgroups 3.1 (1992) und 3.11 (1993) stellten Netzwerkschnittstellen und Netzwerksoftware zur Verfügung: ein Peer-to-Peer Windows-Netzwerk über ein Microsoft-proprietäres NetBEUI-Protokoll sowie ab 3.11 auch TCP/IP, Windows Sockets (Winsocks) für den Internetzugang via Standardmodem mit AT-Befehlssatz von Hayes Communications. Windows NT Mit Windows NT (Versionen 3.1 (1993), 3.5 (1994), 3.51 (1995) und 4.0 (1996)) wurde ein neuer Kernel eingeführt (NT-Kernel) und zukünftige Windows Versionen basieren auf dem NT-Kernel und nicht mehr auf MS-DOS: Windows 2000 (NT 5.0, 1999: Professional, Server, Advanced Server, Datacenter Server), Windows Server 2003 (NT 5.2: Standard Edition, x64 Standard Edition (2005), Enterprise Edition, x64 Enterprise Edition, Datacenter Edition, x64 Datacenter Edition, Web Edition), Windows XP (Codename: Whistler: NT 5.1, 2001: Starter Center Edition, Home Edition, Home Edition N (ohne Windows Media Player) Professional, Professional N, Media Center Edition, PE (Preinstallation Environment/XP-Kernel), XP-x64 Edition (2005), WinFLP (Microsoft Windows Fundamentals for Legacy PCs (2006): Thin-Client Versionen von XP, Codename: Mönch, Eiger), XP Embedded) und Vista (NT 6.0, 2007)). Auch bei so genannten Embedded PC-Lösungen kommt Windows zum Einsatz. Hierfür gibt es die speziell angepassten Versionen der Reihe Windows Embedded. Die Funktionsweise unterscheidet sich nicht sonderlich vom normalen Betriebssystem, lässt sich aber ohne die standardisierte Tastatur, die Maus oder den Bildschirm bedienen. Zum Einsatz kommen diese Systeme zum Beispiel in Kassen, in Bankautomaten, in Autos oder auch Digitalkameras. Meist wird der Kunde gar nicht mitbekommen, dass er mit dem Betriebssystem Windows arbeitet, da sich die Benutzeroberfläche so sehr vom heimischen Computer unterscheidet. Die Architektur von Windows NT 4.0 besteht nach Angaben von Microsoft aus einem modifizierten Mikrokernel. Dieser stelle eine Kombination aus einer Mikrokernel-Architektur mit einem mehrschichtigen Betriebssystem dar. Windows 9x, Neuerungen bei NT, Windows 2000 und Windows XP Microsoft verfolgte eine Weile noch neben der NT-Linie weiterhin die DOS-basierten Windows-Versionen (Windows 9x, ME) aus Gründen der Kompatibilität und wegen der besseren Eignung für Spiele. Windows 95 ist weitestgehend ein 32-Bit Betriebsystem und beruht auf MS-DOS. Technische Eigenschaften sind präemptives Multitasking bei 32-Bit Anwendungen. Obwohl Windows 95 mit GDI (Graphics Device Interface) über eine Grafik-Programmierschnittstelle verfügt gilt die GUI eher als grafische Erweiterung von MS-DOS. Die Dateisystemerweiterung VFAT erlaubt längere Dateinamen (255 Zeichen inklusive Speicherpfad). Vor allem die GUI und das Startmenü inklusive Taskleiste wurden zum Vorgänger erweitert. Ein erweiterter Windows-Explorer wurde eingeführt und ab Windows 95B gibt es auch eine FAT32-Unterstützung. Windows 98 untertützt ebenso präemptives Multitasking und ist auch wie Windows 95 ein 32 Bit-Betriebssystem, dass aber auch 16-Bit Anwendungen unterstützt. Windows 98 hat als Grundlage MS-DOS 7.1 (16-Bit) und führte die WDM-Treiberarchitektur (Windows Driver Model) ein, bessere USB- und AGP-Unterstützung sowie Advanced Configuration and Power Management Interface (ACPI) zur Unterstützung mehrerer Monitore und die Möglichkeit zur Partitionierung von Festplatten mit Partitionen > 2 GB durch FAT32. Weitere Neuerungen sind der Active Desktop, eine neuer Windows Explorer (Uniform Naming Convention, besseres Networking via Explorer-Adresszeile, Integration des Internet Explorers). Windows 98 SE (Second Edition) enthielt weitere Verbesserungen wie eine bessere USB-Unterstützung und ein besseres Netzwerkmanagement (Internetverbindungsfreigabe (Internet Connection Sharing (ICS). Mit Windows XP (eXPerience) wurden die zwei Linien (NT, MS-DOS) zusammengeführt. Neuerungen bei NT (New Technology) waren das Filesystem NTFS oder die Portabilität auf andere Systeme. NT-Nachfolger Windows 2000 führte ADS (Active Directory Service), Kerberos, EFS (Encrypting File System), L2TP (Layer 2 Tunneling Protocol), IPSEC, ACPI (Advanced Configuration and Power Interface), SmartCard-Unterstützung und eine erweiterte Treiberdatenbank ein. Windows 2000 und Windows 98 benutzen das gleiche Treibermodell (WDM, Windows Driver Model). Windows XP bietet eine neue Benutzeroberfläche (GUI) "Luna", eine überarbeitete Systemsteuerung, ein Werkzeug zur Systemwiederherstellung, ein erweitertes Startmenü, die Möglichkeit zur Fernwartung über Terminal Services (Remote Desktop Protocol (RDP)), NTFS 3.1, neue Funktionen zur Multimediadatenbearbeitung und -verwaltung uvam. Weitere Windows Version sind Windows Vista (ehemals Codename Longhorn) und Windows 7 sowie Windows 8 (2012). |
|||||
| Siehe auch: Windows-Vista Windows-7 Windows-8 FAT NTFS MS-DOS Win-ini-und-System-ini-Datei Mikrokernel Active-Directory-Service ReactOS | |||||