Not logged in. · Lost password · Register

AndreasN
Member since Dec 2013
9 posts
Subject: BS-Hausaufgabe 1, CGA_Screen Hardware-Cursor
Hallo zusammen,

bei der Hausaufgabe 1 zur Vorlesung Betriebssysteme sollen wir ja unter anderem die Klasse CGA_Screen implementieren, welche wahlweise entweder den Hardware-Cursor des CGA-Adapters oder einen selbst implementierten Software-Cursor zur Ausgabe (z.B. in der Funktion CGA_Screen::print()) verwendet.

Bei der Implementierung sollen ja mehrere CGA-Screens auf disjunkten Teilen des Bildschirms parallel (aber zunächst noch nicht thread-safe) arbeiten können.
Müssen wir auch den Fall berücksichtigen, dass mehrere CGA-Screens den Hardware-Cursor gleichzeitig verwenden wollen, oder darf das immer nur ein CGA-Screen? Theoretisch könnte der Benutzer ja auch mehrere CGA-Screens mit useCursor=true erzeugen.
(Falls es alle können sollten müssten wir ja den Zustand des Hardware-Cursors trotzdem nochmal intern sichern, da dieser dann zwischen 2 print()-Aufrufen von einem anderen CGA-Screen verschoben werden kann. Mehrere CGA-Screens kommen sich auf jeden Fall ordentlich in die Quere, wenn sie alle versuchen, den Hardware-Cursor zu benutzen)

Darf also immer nur ein CGA-Screen den Hardware-Cursor benutzen (Konstruktorparameter useCursor=true) oder müssen wir davon ausgehen, dass mehrere CGA-Screens das gleichzeitig versuchen und sich dabei natürlich ordentlich in die Quere kommen?

Vielen Dank im Voraus für die Antworten.

Mit freundlichen Grüßen,
AndreasN
/dev/null
Member since Mar 2013
83 posts
Ich glaube mich zu erinnern, dass das mit dem Cursor nicht die Schwierigkeit der Aufgabe darstellen sollte und sich über die Nebenläufigkeit keine großen Gedanken gemacht werden muss. Ich hab das damals nicht threadsicher programmiert aber nie verwendet und es wurde auch nicht in der Abnahme geprüft.

Im einfachsten Fall stellst du einfach händisch sicher, dass nur ein Screen den Hardwarecursor verwendet.
johnLate
Member since Jul 2014
251 posts
Du hast den wichtigsten Teil der Aufgabe erfüllt: Du hast das Problem erkannt und darüber nachgedacht. ;-)
Allen ist das Denken erlaubt, vielen bleibt es erspart.
Klausurumfragen: GRa, RK, IDB, BFS, Mathe4, Mathe3, KompAlg, AlgoKS
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Go to forum
Datenschutz | Kontakt
Powered by the Unclassified NewsBoard software, 20150713-dev, © 2003-2011 by Yves Goergen