Prozess (Computerwissenschaft)

In der Computerwissenschaft ist ein Prozess ein Beispiel eines Computerprogramms, das durchgeführt wird. Es enthält den Programm-Code und seine aktuelle Tätigkeit. Abhängig vom Betriebssystem (OS) kann ein Prozess aus vielfachen Fäden der Ausführung zusammengesetzt werden, die Instruktionen gleichzeitig durchführen.

Ein Computerprogramm ist eine passive Sammlung von Instruktionen; ein Prozess ist die wirkliche Ausführung jener Instruktionen. Mehrere Prozesse können mit demselben Programm vereinigt werden; zum Beispiel bedeutet das Öffnen mehrerer Beispiele desselben Programms häufig, dass mehr als ein Prozess durchgeführt wird.

Das Mehrbeschäftigen ist eine Methode, vielfachen Prozessen zu erlauben, Verarbeiter (Zentraleinheiten) und andere Systemmittel zu teilen. Jede Zentraleinheit führt eine einzelne Aufgabe auf einmal durch. Jedoch erlaubt das Mehrbeschäftigen jedem Verarbeiter, zwischen Aufgaben umzuschalten, die durchgeführt werden, ohne auf jede Aufgabe warten zu müssen, fertig zu sein. Abhängig von der Betriebssystemdurchführung konnten Schalter durchgeführt werden, wenn Aufgaben Operationen des Eingangs/Produktion durchführen, wenn eine Aufgabe anzeigt, dass es, oder auf Hardware-Unterbrechungen geschaltet werden kann.

Eine Standardform des Mehrbeschäftigens ist Time-Sharing. Time-Sharing ist eine Methode, schnelle Antwort für interaktive Benutzeranwendungen zu erlauben. In Time-Sharing-Systemen werden Zusammenhang-Schalter schnell durchgeführt. Das lässt es scheinen, dass vielfache Prozesse gleichzeitig auf demselben Verarbeiter durchgeführt werden. Die Ausführung von vielfachen Prozessen wird anscheinend gleichzeitig Parallelität genannt.

Für die Sicherheit und Zuverlässigkeitsgründe verhindern die meisten modernen Betriebssysteme direkte Kommunikation zwischen unabhängigen Prozessen, ausschließlich zur Verfügung zu stellen, hat vermittelt und hat Zwischenprozess-Nachrichtenfunktionalität kontrolliert.

Darstellung

Im Allgemeinen besteht ein Computersystemprozess aus (oder wird gesagt 'sich zu bekennen') die folgenden Mittel:

  • Ein Image des rechtskräftigen Maschinencodes hat mit einem Programm verkehrt.
  • Gedächtnis (normalerweise ein Gebiet des virtuellen Gedächtnisses); der den rechtskräftigen Code, mit dem Prozess spezifische Daten (Eingang und Produktion), ein Anruf-Stapel einschließt (um aktive Unterprogramme und/oder andere Ereignisse nachzugehen), und ein Haufen, um Zwischenberechnungsdaten erzeugt während der Durchlaufzeit zu halten.
  • Betriebssystemdeskriptoren von Mitteln, die dem Prozess, wie Dateideskriptoren (Fachsprache von Unix) oder Griffe (Windows), und Datenquellen und Becken zugeteilt werden.
  • Sicherheitsattribute, wie der Prozess-Eigentümer und der Satz des Prozesses der Erlaubnis (zulässige Operationen).
  • Verarbeiter-Staat (Zusammenhang), wie der Inhalt von Registern, dem physischen Speicherwenden, usw. Der Staat wird normalerweise in Computerregistern versorgt, wenn der Prozess, und im Gedächtnis sonst durchführt.

Das Betriebssystem hält den grössten Teil dieser Information über aktive Prozesse in Datenstrukturen genannt Prozesssteuerungsblöcke.

Jede Teilmenge der Quelle, aber normalerweise mindestens der Verarbeiter-Staat, kann mit jedem der Fäden des Prozesses in Betriebssystemen vereinigt werden, die Fäden oder 'Tochter'-Prozesse unterstützen.

Das Betriebssystem hält seine Prozesse getrennt und teilt die Mittel zu, die sie brauchen, so dass sie mit geringerer Wahrscheinlichkeit einander stören und Systemausfälle (z.B, toter Punkt verursachen werden oder verdreschend). Das Betriebssystem kann auch Mechanismen für die Zwischenprozess-Kommunikation zur Verfügung stellen, um Prozessen zu ermöglichen, auf sichere und voraussagbare Weisen aufeinander zu wirken.

Prozesssteuerung im Mehrbeschäftigen von Betriebssystemen

Betriebssystem eines multitasking* kann gerade zwischen Prozessen umschalten, um das Äußere von vielen Prozessen zu geben, die gleichzeitig oder gleichzeitig durchführen, obwohl tatsächlich nur ein Prozess zu irgendeiner Zeit auf einer Einleiterzentraleinheit (wenn mit der Nebenläufigkeit oder anderen ähnlichen Technologie) durchführen kann.

Es ist üblich, einen einzelnen Prozess mit einem Hauptprogramm und 'Tochter' ('Kind') Prozesse mit jedem Nebenprodukt, parallele Prozesse zu vereinigen, die sich wie asynchrone Unterprogramme benehmen. Wie man sagt, besitzt ein Prozess Mittel, von denen ein Image seines Programms (im Gedächtnis) eine solche Quelle ist. (Bemerken Sie jedoch, dass in in einer Prozession mehrgehenden Systemen viele Prozesse, oder Anteil, dasselbe einspringende Programm an derselben Position im Gedächtnis ablaufen können — aber, wie man sagt, besitzt jeder Prozess sein eigenes Image des Programms.)

Prozesse werden häufig Aufgaben in eingebetteten Betriebssystemen genannt. Der Sinn 'des Prozesses' (oder Aufgabe) ist 'etwas, was Zeit aufnimmt, ', im Vergleich mit 'dem Gedächtnis', das 'etwas ist, was Raum aufnimmt'. (Historisch wurden die Begriffe 'Aufgabe' und 'Prozess' austauschbar gebraucht, aber der Begriff 'Aufgabe' scheint, vom Computerlexikon zu fallen.)

Die obengenannte Beschreibung gilt sowohl für Prozesse, die durch ein Betriebssystem geführt sind, als auch geht wie definiert, durch Prozess-Rechnungen in einer Prozession.

Wenn ein Prozess um etwas bittet, auf das er warten muss, wird er blockiert. Wenn der Prozess im Blockierten Staat ist, ist es dafür berechtigt, zur Platte zu tauschen, aber das ist in einem virtuellen Speichersystem durchsichtig, wo Blöcke von Speicherwerten wirklich auf der Platte und nicht im Hauptgedächtnis jederzeit sein können. Bemerken Sie, dass sogar unbenutzte Teile von aktiven Prozessen/Aufgaben (Programme durchführend), dafür berechtigt sind, zur Platte zu tauschen. Alle Teile eines Durchführungsprogramms und seiner Daten müssen nicht im physischen Gedächtnis für den verbundenen Prozess sein, um aktiv zu sein.

__________________________

*Tasks und Prozesse beziehen sich im Wesentlichen auf dieselbe Entität. Und obwohl sie etwas verschiedene terminologische Geschichten haben, sind sie gekommen, um als Synonyme verwendet zu werden. Heute wird der Begriff Prozess allgemein über die Aufgabe bevorzugt, außer, wenn, sich auf 'das Mehrbeschäftigen' da beziehend, der alternative Begriff, 'Mehrverarbeitung', zu leicht ist, um mit dem Mehrverarbeiter zu verwechseln (der ein Computer mit zwei oder mehr Zentraleinheiten ist).

Prozess-Staaten

Ein Betriebssystemkern, der erlaubt, Bedürfnis-Prozesse stark mehrzubeanspruchen, um bestimmte Staaten zu haben. Namen für diese Staaten werden nicht standardisiert, aber sie haben ähnliche Funktionalität.

  • Erstens wird der Prozess "geschaffen" - er wird von einem sekundären Speichergerät (Festplatte oder CD-ROM...) ins Hauptgedächtnis geladen. Danach teilt der Prozess-Planer es das Zustand"Warten" zu.
  • Während der Prozess "wartet", wartet er auf den Planer, um einen so genannten Zusammenhang-Schalter zu tun und den Prozess in den Verarbeiter zu laden. Der Prozess-Staat wird dann "das Laufen", und der Verarbeiter führt die Prozess-Instruktionen durch.
  • Wenn ein Prozess auf eine Quelle warten muss (warten Sie auf den Benutzereingang oder die Datei, um sich... zu öffnen), es wird der "blockierte" Staat zugeteilt. Der Prozess-Staat wird zurück zum "Warten" geändert, wenn der Prozess nicht mehr warten muss.
  • Sobald der Prozess Ausführung beendet, oder durch das Betriebssystem begrenzt wird, ist es nicht mehr erforderlich. Der Prozess wird sofort entfernt oder wird zum "begrenzten" Staat bewegt. Wenn entfernt, wartet es gerade, um vom Hauptgedächtnis entfernt zu werden.

Zwischenprozess-Kommunikation

Wenn Prozesse mit einander kommunizieren, wird es "Zwischenprozess-Kommunikation" (IPC) genannt.

Prozesse müssen oft zum Beispiel in einer Schale-Rohrleitung kommunizieren, die Produktion des ersten Prozesses muss zum zweiten und so weiter zum anderen Prozess gehen. Es wird auf eine gut strukturierte Weise bevorzugt, Unterbrechungen nicht verwendend.

Es ist sogar für die zwei Prozesse möglich, auf verschiedenen Maschinen zu laufen. Das Betriebssystem (OS) kann sich von einem Prozess bis den anderen unterscheiden, deshalb ist ein Vermittler (genannt Protokolle) erforderlich.

Geschichte

Bis zum Anfang der Computerkontrollsoftware der 1960er Jahre hatte von der Monitor-Kontrollsoftware, z.B, IBSYS zur Exekutivkontrollsoftware entwickelt. Computer sind "schneller" geworden, und Computerzeit war weder "preiswert" noch völlig verwendet still. Es hat Mehrprogrammierung möglich und notwendig gemacht.

Die Mehrprogrammierung der Mittel dass mehrere Programme geführt "zur gleichen Zeit" (gleichzeitig, einschließlich der Parallele und Nichtparallele). Zuerst sind sie auf einem einzelnen Verarbeiter (d. h., uniprocessor) gelaufen und haben knappe Mittel geteilt. Mehrprogrammierung ist auch grundlegende Form der Mehrverarbeitung, eines viel breiteren Begriffes.

Programme bestehen aus der Folge der Instruktion für den Verarbeiter. Ein einzelner Verarbeiter kann nur eine Instruktion auf einmal führen. Deshalb ist es unmöglich, mehr Programme zur gleichen Zeit zu führen. Ein Programm könnte eine Quelle brauchen (Eingang...), der eine "große" Verzögerung hat. Ein Programm könnte auch etwas langsame Operation (Produktion dem Drucker...) anfangen. Das führt alles zu Verarbeiter, der (unbenutzt) "müßig" ist. Um Verarbeiter in der ganzen Zeit zu verwenden, wurde die Ausführung solchen Programms gehalten. An diesem Punkt eine Sekunde (oder n) wurde Programm angefangen oder wiederangefangen. Benutzer hat wahrgenommen, dass Programme "zur gleichen Zeit" (folglich der Begriff, gleichzeitig) laufen.

Kurz danach wurde der Begriff eines 'Programms' zum Begriff eines 'Durchführungsprogramms und seines Zusammenhangs' ausgebreitet. Das Konzept eines Prozesses ist geboren gewesen.

Das ist notwendig mit der Erfindung des einspringenden Codes geworden.

Fäden sind etwas später gekommen. Jedoch, mit dem Advent des Time-Sharings; Computernetze; vielfache Zentraleinheit, geteilte Speichercomputer; usw. hat die alte "Mehrprogrammierung" zum wahren Mehrbeschäftigen nachgegeben, in einer Prozession mehrgehend und, später, Nebenläufigkeit.

Siehe auch

  • Prozess-Rechnung
  • Kinderprozess
  • Ausgang
  • Gabel
  • Waisenprozess
  • Elternteilprozess
  • Prozess-Gruppe
  • Prozess setzt fest
  • Aufgabe
  • Faden
  • Warten Sie
auf

Referenzen

Links


Negativer binomischer Vertrieb / Clara Schumann
Impressum & Datenschutz