Do spisu tresci tematu 7

Podprogram obslugi terminali





Spis tresci


Wprowadzenie

Urzadzenia terminalowe (dalej bedziemy je nazywac terminalami) sa szczegolnym przypadkiem urzadzen znakowych, przeznaczonymi do "kontaktu" systemu z ludzmi. Ich osobliwosc polega glownie na tym, ze jako urzadzenia przeznaczone do komunikacji z czlowiekiem maja nieco zmieniana semantyke funkcji systemowej read. Dlaczego ? Otoz jesli wywolujemy read(..) z zadaniem wczytania pewnej ilosci bajtow, to oczekujemy ze jej wykonanie zakonczy sie dopiero wtedy gdy te bajty zostana wczytane lub zostanie osiagniety koniec pliku (To jest nie do konca prawdza w przypadku laczy i temu podobnych). W przypadku terminali takie podejscie jest nieprzydatne, gdyz ludzie, gdy np.wprowadzaja polecenia, to oczekuja reakcji programu po nacisnieciu klawisza ENTER, a nie gdy wprowadza np. 10 (lub 100) znakow. Oczywiscie ktos moglby powiedziec, ze program moglby za kazdym razem zadac odczytu tylko jednego bajtu i nastepnie sobie skladac cale polecenie po kolei. To podejscie jednak ma powazne wady: Jeszcze jednym powodem specjalnego znaczenia terminali jest pojecie sesji. Po prostu gdy uzytkownik zasiadzie przy klawiaturze, wejdzie do systemu i, za pomoca polecen systemowych zacznie tworzyc procesy, to beda one (powinny byc) w pewien sposob zwiazane z tym urzadzeniem, po to, aby w momencie zakonczenia pracy mogly zostac powiadomione o tym fakcie(a nawet zakonczone.)

Terminale: pojecia,struktury,algorytmy itp.