SYSCTL Version 1.2.2 1. Was ist SYSCTL? 2. Leistungsmerkmale 3. Bedienung 4. Hinweise und Tips 5. History 6. Disclaimer 1. Was ist SYSCTL? Mit dem Erscheinen von ATARI's MultiTOS gibt es in dieser Multitasking-Um- gebung das Bedrfnis, Programme (Prozesse) bezglich ihres Laufverhaltens zu manipulieren. Gemeint sind hier ihre Priorit„t im Gesamtsystem, sowie ihren Status. SYSCTL stellt hier eine komfortable Oberfl„che zur Steuerung eben dieser Prosesse zur Verfgung. Da ATARI dem ausgelieferten Betriebssystem keine M”glichkeit der Systemsteuerung beifgt hat, muá mal wieder ein Sharewareprodukt herhalten. Zur Zeit existieren drei Produkte, die diesen Bereich abzudecken versuchen. 1. TOP Ein Commandline-Utility (Unsch”n) 2. PS-CONTROL Ein GEM-Programm (Beschr„nkt auf 16 Prozesse) 3. PS EIN CPX (Unbersichtlich und umst„ndlich zu bedienen) Mit dem heutigen Tag steht nun auch SYSCTL dem systemsteuernden Benutzer zur Verfgung. 2. Leistungsmerkmale. SYSCTL verbindet die Vorteile (soweit vorhanden) der eben genannten Programme in einem Programm. Als Vorteile w„ren hier aufzuz„hlen: - Bis zu 200 Prozesse - Komfortable Prozessselektion - M”glichkeit der schnellen Bedienung - šbersichtlich - Alle wichtigen Daten in der Anzeige - Ben”tigt nur ca. 0-20% der Gesamtrechenleistung - L„uft komplett in Fenstern - Ist Shareware und kostet nur 10 Deutschmark 3. Bedienung. Diese Bedienungsanleitung beschreibt die Release 1.0.1 von SYSCTL. Haben Sie eine neuere Release, so schauen Sie bitte unter History (Punkt 4) nach, was sich seither getan hat. Nach dem Start von SYSCTL erscheint das Prozessfenster, vorausgesetzt der Multi- taskingkernel MiNT ist aktiv. Sollte MiNT nicht aktiv sein, so erscheint ein Hinweis und SYSCTL beendet sich nach der Best„tigung. In der Infozeile des Fensters stehen der Reihenfolge nach die Spaltenberschriften... PPID Die Parent-Process-Id PID Die Process-ID des Prozesses (Der Schlssel zum Prozess) Process Der Name des Prozesses Pri Die voreingestellte Priorit„t des Prozesses Cur Die aktuelle Priorit„t (mit Adaption) Stats Der zur Darstellungszeit aktuelle Status Tsys Der verbrauchten Systemzeit in Sekunden Tusr Der verbrauchten Benutzerzeit in Sekunden Size Der aktuelle Hauptspeicherbedarf des Prozesses Hierunter schliessen sich 10 Zeilen aktuelle Prozessinformationen an. Dieses ist der Selektionsbereich. Der einfachste Weg einen Prozess zu selektieren ist, ihn anzuclicken. Deselektiert wird er durch erneutes anclicken. Der Fensterinhalt wird grunds„tzlich jede Sekunde aktualisiert. Am unteren Rand stehen Ihnen derzeit 6 Steuericons zur Beeinflussung der Prozesse und der Anzeige zur Verfgung. SELECT Hierber erfolgt die Mengenselektion. Nach der Anwahl erscheint ein Popup-Men. Die Anwahl des SELECT-Ikons kennt zwei Modi. Modi 1 ist Click-Select-Click, also Anclicken, Maustaste loslassen, in Ruhe ausw„hlen, ausgew„hlten Eintrag anklicken. Modi 2 ist Click-Select, also Anclicken, Maustaste gedrckt halten, Eintrag selektieren und Maustaste loslassen. Dieser Menpunkt ist auch ber die Funktionstaste 1 erreichbar, wobei das Popup an der aktuellen Mausposition erscheint. Das Popup hat folgende Auswahlpunkte: All Alle Prozesse werden als selektiert gekennzeichnet None Alle Prozesse werden als deselektiert gekennzeichnet From Cursor up Ist schon ein Eintrag selektiert, so wird vom ersten bis zu dem schon selektierten Eintrag alles gew„hlt. Wurde noch kein Eintrag selektiert, so verh„lt sich die Selektion wie bei All. down Ist schon ein Eintrag selektiert, so wird vom selektiertenen bis zum letzten Eintrag alles gew„hlt. Wurde vorher kein Eintrag selektiert, so erfolgt keine Selektion. Zu beachten ist, daá die folgenden Operationen nur auf selektierte Prozesse wirken. SIGNAL Hierber k”nnen dem selektierten Prozess Steuersignale gesendet werden, auf die er dann, soweit im Prozess implementiert und vom Betriebssystem (BS) zugelassen, geeignet reagieren kann. Dieser Menpunkt ist auch ber die Funktionstaste 2 erreichbar, wobei das Popup an der aktuellen Mausposition erscheint. Das Popup hat folgende Auswahlpunkte: SIGKILL Der Prozess hat keine Chance. Er wird vom BS terminiert. SIGTERM Der Prozess kann noch Abschlussarbeiten vornehmen. SIGSTOP Der Prozess wird gestoppt. SIGTSTP Verz”gerter Stop. SIGCONT Gestoppte Prozesse laufen weiter. PRIORITY Hierber kann der selektierte Prozess bezglich seiner Priorit„t beeinfluát werden. Dieser Menpunkt ist auch ber die Funktionstaste 3 erreichbar, wobei das Popup an der aktuellen Mausposition erscheint. Das Popup hat folgende Auswahlpunkte: MAX Der Prozess bekommt die h”chstm”gliche Priorit„t von 20. +1 Die voreingestellte Priorit„t wird um 1 erh”ht. 0 Die voreingestellte Priorit„t wird auf den Standardwert gesetzt. -1 Die voreingestelte Priorit„t wird um 1 vermindert. MIN Der Prozess bekommt die niedrigstm”gliche Priorit„t von -20. DOWN Hierber ist ein scrollen zum Ende des gesamten Prozessbestandes m”glich. Dieser Menpunkt ist auch ber die Funktionstaste 7 erreichbar. Ein Popup erscheint daraufhin nicht. UP Hierber ist ein scrollen zum Anfang des gesamten Prozessbestandes m”glich. Dieser Menpunkt ist auch ber die Funktionstaste 8 erreichbar. Ein Popup erscheint daraufhin nicht. INFO Eine Infofenster erscheint. Hierin ist das aktuelle Release, sowie meine Post- sowie E-Mailadresse bezglich des Sharewarebeitrags ersichtlich. Dieser Menpunkt ist auch ber die Funktionstaste 9 erreichbar. Ein Popup erscheint daraufhin nicht. Der Rest ist Geschichte. Prozesse selektieren, Signal senden oder Priorit„t ver„ndern, das war's. 4. Hinweise und Tips. Alle Manipulationen wirken sofort ohne irgendwelche Sicherheitsabfragen, also im Zweifelsfall Vorsicht walten lassen. Man sollte vermeiden, das Betriebssystem (Prozessname MiNT) zu terminieren sowie den Prozess SYSCTL zu stoppen. Daraus kann Datenverlust entstehen. Seit MultiTOS sind ACC's eigentlich berflssig. Ich empfehle fr SYSCTL die Verwendung als PRG. Auf eine Funktionstaste gelegt, hat man sogar schnelleren Zugriff darauf, als zu einem ACC und es verwendet Resourcen nur auf Anforderung. -----==========########## *************************** ##########==========----- Liebesbriefe, Einladungen zum Fischst„bchenessen, Bombendrohungen, Zusendung von Sexartikeln (Begleitet von einem Liebesbrief), Rcksendungen dieses Sch... Programms, etc, pp; Alles an die im Programminfo genannte Adresse. -----==========########## *************************** ##########==========----- 4. History 1.0.0 Erste nicht”ffentliche Version. Hatten alle Prozesse Priorit„t MIN, so sah der Fensterinhalt doch etwas merkrdig aus. 1.0.1 Erste ”ffentliche Version. 1.0.2 Auf vielfachen Wunsch wurde ein Icon (UPDATE) implementiert, welches bei einer Anwahl ein Popup erscheinen l„át, in dem sich die Frequenz des Fenster updates im Bereich von 1 - 9 Sekunden, einstellen l„át. Hiermit kann der Rechenzeitverbrauch zwichen 0 und ca. 10% variiert werden. Die Anwahl geschieht entweder durch Mausclick oder durch Druck der Funktionstaste 4. Desweiteren ist es nun m”glich, SYSCTL im Hintergrund zu bedienen. D.h., SYSCTL muá nun nicht mehr das oberste Fenster besitzen, um bedienbar zu sein. Da Tastendrcke immer an das Top-Fenster gehen, werden diese also nicht erkannt. Die entsprechenden Flags im Programmheader sind nun von Haus aus richtig gesetzt. 1.0.3 Hu, SYSCTL hatte im Accessory-Mode einen deftigen Bug, so daá es in diesem Mode nicht zu gebrauchen war, da nach einmaligen schliessen des Fensters, dieses nicht mehr zu ”ffnen war. 1.0.4 Durch die Konzentration auf das ACC-Problem, blieb leider die Terminierung im PRG-Modus auf der Strecke, d.h., SYSCTL schloá zwar sein Fenster, doch im Meneintrag war es noch vorhanden. Die Spalten waren verrutscht. Die Angabe 'Size' war seit jeher nicht korrekt, da die letzte Stelle der Gr”áenangabe verschluckt wurde. Nun stimmt die Gr”áe. SYSCTL feedbackt (watn Wort) nun den Benutzer. Will heiáen, ist kein Eintrag selektiert, so ist das SIGNAL-, sowie PRIORITY-Icon nicht anw„hlbar. Ebenso verh„lt es sich mit den Scroll-Icons; Kein weiterer, durch scrollen erreichbarer Eintrag, das Icon wird deselektiert. 1.0.5 SYSCTL hat nun auch eine Menleiste (im Fenster) bekommen. Menpunkt Datei->Beenden hat dieselbe Funktion wie das Schliessen des Fensters, dieses kann alternativ jetzt auch GEM-konform ber Control-Q geschlossen werden. Im Menpunkt Optionen->einstellen sind nun in einem kleinen Fenster Folgende Konfigurationsflags einstellbar: Grow-/Shrinkboxen ----------------- Ist dieser Checkbutton gew„hlt, so zeichnet das System beim ™ffnen von Fenstern sich ausdehnende Rechteche. Pulldown-Men ------------- Ist dieser Checkbutton gew„hlt, so muá das Fenstermen erst angeklickt werden, bevor es herunterklappt. Lade GDOS-Fonts --------------- Ist dieser Checkbutton gew„hlt, so soll - in einer sp„teren Version - die Auswahl eines anderen als dem Systemfont m”glich sein. Optimiertes Redraw ------------------ Ist dieser Checkbutton gew„hlt, so werden intelligente Redraws wie z.B. in KAOS-TOS untersttzt. Position speichern ------------------ Ist dieser Checkbutton gew„hlt, so werden *ALLE* Fensterpositionen beim Verlassen des Hauptfensters gespeichert. Die Fenster stehen also beim n„chsten Aufruf an genau den Stellen, wo man sie verlassen hat. Speichern --------- Schreibt die Einstellungen fest. Abbruch ------- Stellt den Ursprungszustand wieder her. Setzen ------ Ver„ndert die Konfiguration nur tempor„r. Desweiteren wird nun verhindert (Hallo Gerd), daá bei jedem Klick auf das Info-Icon ein Fenster erscheint. 1.0.6 Pfui. Wurde SYSCTL im ACC- und im PRG-Modus gestartet, so kam es durch die Benutzung gemeinsamen Speichers teilweise zu Verwirrungen. Dem aufmerksamen Beobachter wird aufgefallen sein, daá sich im Steuerpanel ein neues Icon, sowie im Optionendialog ein neuer Eintrag tummeln. Gemeint ist LIST. Sinn und Zweck dieser Option soll es sein, selektierte Prozesse mit der aktuellen Priorit„t zu speichern. Beim n„chsten Aufruf und der Pr„sentz eines solchen gesicherten Prozesses, wird dann automatisch die Prozesspriorit„t auf den zuvor eingestellten Wert gesetzt. Der Eintrag im Optionendialog sorgt dann automatisch beim Schliessen des Hauptfensters dafr, daá die Liste gesichert wird. Achtung!!! Diese Funktion tut im Moment gar nichts. Sollten sich genug Benutzer melden, welche diese Funktion als wertvoll erachten, so werde ich sie implementieren, ansonsten ist das Icon un der Eintrag in der n„chsten Release wieder verschwunden. 1.0.7 SYSCTL verbraucht nun *wesentlich* weniger CPU-Zeit. Durch einen neuen Algoritmus und die Tatsache, daá die Systemuhr nur alle 2 Sekunden aktualisiert wird, sind im Update-Dialog nur noch die Werte 2, 4, 6 und 8 Sekunden zugelassen. Die voreingestellte Update-Zeit wird nun mitgesichert. Beim n„chsten Start ist dann diese Zeit wieder aktuell. Da sich zu dem Punkt LIST niemand „uáerte, flog dieser wieder aus dem Hauptdialog raus. An dieser Stelle stelle ich die Frage, ob der SYSCTL-Hauptdialog mit allen Fensterattributen wie Fuller, Sizer und Slidern ausgestattet werden soll. Ich pers”nlich habe einen TT mit 8MB Fast-RAM und einen 19"-Bildschirm. Ich habe aber schon von Benutzern geh”rt, welche MultiTos auf einem Mega-STE mit Farbbildschirm fahren. Mich t„t nur mal die Performance interessieren und eben der Platz- bedarf des SYSCTL-Hauptdialoges. 1.0.8 Wird auf die Scrollpfeile nun ein Doppelklick ausgefhrt, so bl„ttert der Dialog um eine ganze Seite vor oder zurck. Damit sollte man sich eigentlich schneller zum gewnschten Eintrag bewegen k”nnen. Ein Einfachklick scrollt, wie gehabt, nur eine Zeile. Im Info-Dialog wurde meine Adresse auf die Bedrfnisse der P*st umgestellt, und auch die Anzahl meiner E-Mail-Adressen ist gestiegen. Nun sollte ich auch fr Nicht-D-Boxer erreichbar sein. 1.0.9 SYSCTL besitzt nun eine eigene grafische Prozessor-Auslastungs- anzeige (Kurz: LOAD). Der Nullpunkt liegt im Anzeigebereich unten rechts. Hohe Pegel = hohe Auslastung. (Hi, Keiner) Daneben stehen noch zwei numerische Informationen. Die erste beschreibt die Auslastung als Zahl, die zweite gibt die Anzahl der im Speicher gefundenen Prozesse wieder. (Hi, Keiner) Desweiteren wurden die Updateroutinen berarbeitet. Ab jetzt gilt Folgendes. Ist ein Prozess der einzige auf einer Seite, so wird bei dessen Ableben programmtechnisch an den Anfang der vorherigen Seite gebl„ttert. Das passiert solange, bis nur noch auf Eintrag 1 positioniert werden kann. (Hi, Thomas) Genau der Fehler, der einen schwarzen Balken hinterlies, wenn ein Prozess selektiert war und dann terminierte, ist behoben. (Hi, J”rg) 1.1.0 LOAD zeigt nun nicht mehr die CPU-Auslastung, die SYSCTL verbrauchte, sondern die systemweit verbrauchte Rechenleistung. Im Allgemeinen ist die ganze Geschichte auch genauer geworden. Die Updatezeit l„át sich wieder im Bereich 1 - 9 Sekunden beeinflussen. Die LOAD-Anzeige wird allerdings alle 2 Sekunden aufgefrischt. Auch bei dem PRIORITY-Icon hat sich was getan. Die Priorit„t l„át sich nun in Folgender Schrittweite einstellen: Max +10 +5 0 -5 -10 Min. Das Info-Icon ist nun zu einem Menpunkt geworden. Aufmerksamen Benutzern wird aufgefallen sein, daá das LIST-Icon wieder da ist. Dieses ist allerdings nicht anw„hlbar. In einer ruhigen Minute... 1.1.1 Die Tastaturbedienbarkeit wurde erweitert. Shift-F7 und Shift-F8 bl„ttert nun wie ein Doppelclick auf die entspechenden Icons. (Hi, Joachim) Ein Doppelclick auf einen Prozeá bringt nun direkt das PRIORITY- Popup zur Anzeige, w„hrend Shift-Doppelclick das SIGNAL-Popup zur Anzeige bringt. Wichtig ist, daá diese Selektion lokal ist, d.h. das Setzen einer neuen Priorit„t, tangiert andere selektierte Prozesse nicht. Eine Selektion wird nur bei einem erneuten Click oder nach einer durchgefhrten Aktion deselektiert. (Hi, Ich) Die Funktionstasten wurden in die, durch die Funktionstaste aktivierbaren, Icons eingezeichnet. (Hi, Edgar) Die Spaltenberschrift wurde auf weiáe Schrift auf schwarzem Grund ge„ndert. Wer versucht, diese Zeile zu deselektieren, ist selber Schuld. Die Statusbezeichner READY wurden auf die passenderen Bezeichner RUN ge„ndert. Hinter der Anzahl der im System befindlichen Prozesse wurde noch die Menge der Prozesse, welche den Status RUN haben, hinzugefgt. 1.1.2 In dieser Version wurden haupts„chlich Code-Optimierungen vorgenommen, so daá das Programm selbst weniger Rechenzeit verbraucht und Benutzeraktionen schneller ausgefhrt werden. Folgende Punkte wurden bercksichtigt: - Leere Eintr„ge werden bei einem Click nicht mehr kurzzeitig invertiert. (Hi, Jan) - Das Auffrischen der PRIORITY- und SIGNAL-Icons erfolgt ab jetzt nur noch nach Bedarf. (Hi, Jan) - Statuswechsel, welche ein Auffrischen der Anzeige zur Folge haben, werden schneller erkannt und behandelt. - Mit Shift-F4 oder Shift-Click auf das UPDATE-Icon kann nun auch der Zeitraum 2, 4, 6 und 8 Sekunden fr das Auffrischen der LOAD- Anzeige eingestellt werden. - SYSCTL reagiert jetzt nicht mehr so empfindlich auf Popup-Mens, in denen der Mauszeiger sich beim Click nicht im Popup befand. 1.2.0 Die wichtigste Neuerung ist, daá die LIST-Funktion eingebaut wurde. Mit dieser Funktion ist es nun m”glich, einen selektierten Prozeá bezglich seines Namens und seiner Priorit„t in der Liste zu hinterlegen. Also, Prozeá SCREEN selektieren, Priorit„t auf MAX. setzen, Prozeá selektieren, Klick auf LIST-Icon, 'Add to List' w„hlen. Die Liste wird beim Schlieáen des Fensters automatisch gesichert. Nach einen Reset des Rechners und Aufruf von SYSCTL sollte der Prozeá SCREEN die Priorit„t 20 (MAX) besitzen. Entfernt wird dieser Eintrag durch Selektion, Klick auf LIST-Icon, 'Delete from List' w„hlen, das wars. Soll die komplette Liste bereinigt werden, so ist der Menpunkt 'Liste l”schen' zu w„hlen. Die Liste kann bis zu 200 Eintr„ge aufnehmen. Prozesse, welche ber die Liste gefunden werden, werden mit einem  im ersten Zeichen der Reihe symbolisiert. Prozesse, welche zwar in der Liste stehen, aber schon einmal manuell, bezglich ihrer Priorit„t, ge„ndert wurden, stehen mit einem  in der Liste. Dieser Pfeil symbolisiert, daá dieser Prozeá durch den Listeneintrag nicht mehr ver„ndert wird. Wird SYSCTL ein zweites Mal gestartet, so werden die Priorit„ten natrlich ver„ndert. Ein Ausweg aus diesem Dilemma w„re shared Memory. Kommt Zeit, kommt Rat. Im Optionen-Dialog ist ein Konfigurationsflag 'Hauptfenster hat Fuller' hinzugekommen. Ist dieses Feld angekreuzt, so besitzt das Fenster alle GEM-Bedienelemente, kann also 'gefullt', 'gesized' und 'geslidert' werden. Leider sind die Sliderelemente im AES 4.x gr”áer geworden (Nur ATARI weis warum), d.h., die erste Darstellung ist im Moment noch etwas unsauber. Dieses Flag wirkt sich erst beim n„chsten Programmstart aus. Im Info-Dialog ist noch ein Button 'Mehr' hinzugekommen, nach dessen Anwahl ein Scan des Autors (Ja, das bin ICH) erscheint. Halte ich fr ganz interessant, die Leute mal pers”nlich kennenzulernen, die solchen Schrott verzapfen, auch bl„ht es das Programm sch”n auf;-) Desweiteren habe ich mich dazu entschlossen, die unregistrierten Versionen nach einem bestimmten Zeitraum einzuschr„nken und nach einem weiteren Zeitraum unbrauchbar zu machen. Desweiteren verbrauchen die registrierten Versionen erheblich weniger CPU-Zeit. Dies nur fr die wenigen Leute, welche anst„ndigerweise Ihren Sharewarebeitrag geleistet haben und eine Version besaáen, die sich nicht von einer unregistrierten Version unterschied. *** Weiterhin ist dies die letzte ”ffentliche Version. Weitere Updates sind den registrierten Benutzern vorenthalten.*** Diese bitte ich auch, mir auf der zugesandten Diskette, von ihnen entworfene Steuericons mitzugeben. Diese sollten einfach S/W sein, nur ein wenig sch”ner. 1.2.1 Im Optionen-Dialog sind mir leider die Indizes durcheinander- gekommen. D.h., nicht jeder Checkbutton bewirkt das, was er eigentlich bewirken sollte. 1.2.2 Ist ein Eintrag selektiert und es erfolgt ein Doppelklick, so wurde ein Popup zu einem deselektierten Eintrag gebracht. SYSCTL zeigt nun im Fensternamen auch den durch die Prozesse verbrauchten Speicherplatz in KBytes an. Optimierung des Timerintervalls. Mausklicks und andere Tiere sollten nun besser verarbeitet werden, und die LOAD-Anzeige genauer sein. Ich habe mal die Adressangaben im Info-Dialog ge„ndert. Anstatt HsNr. 6, 20251 steht da nun Siemssenstr. 6, 20251. Die 20251 sollte eigentlich eindeutig sein, so daž nur noch die Angabe der Hausnummer n”tig w„re. Aber anscheinend steigt die P*st selbst nicht durch ihr Chaos durch. Das erneuern des Fensternamens wurde jeden Zyklus durchgefhrt. Dies flackerte doch erheblich, also, update nur noch bei Bedarf. 5. Disclaimer Der Autor haftet weder fr Sch„den am Programm selbst, noch fr eventuell durch die Benutzung desselben entstehende Sch„den - egal welcher Art - an Soft- oder Hardware. Stephan Kolb, Hamburg, den 29.06.1993