ZADANIE 07 (11)










Do spisu treści tematu Wejście-Wyjście



Zadanie 7



Opis

System operacyjny Linux komunikuje się z użytkownikiem przy
pomocy urządzeń zwanych terminalami. Terminal zajmuje się wstępnym przetwarzaniem
danych wejściowych i wejściowych, a w szczególności zajmuje się tym dyscyplina
linii (ang. line discipline). W systemie Linux standardową dyscypliną linii
jest dysyplina linii N_TTY, której funkcje są zdefiniowane w pliku n_tty.c.
Dzięki tej dyscyplinie linii pojawia się echo wprowadzanych znaków,
tak jak jesteśmy przyzwyczajeni są interpretowane znaki ścierające, a przesyłanie
odbywa się dopiero po wprowadzeniu znaku końca linii. Dyscyplina linii
N_TTY odpowiedzialna jest także za wysyłanie odpowiednich sygnałów do procesów
po naciśnięciu właściwej kombinacji klawiszy generujących ten sygnał. Niestety,
nie potrafi ona w żaden wygodny, łatwy sposób wygenerować polskich znaków.
W związku z tym proponuję następujące zadanie:

Zadanie

Zadaniem jest "nauczenie" systemu Linux języka polskiego.
Polegać to będzie na takiej modyfikacji dyscypliny linii N_TTY, by w trybie
kanonicznym interpretowała ona konkretną sekwencję znaków jako polską literą,
to znaczy, żeby po naciśnięciu na przyklad klawisza oznaczającego znak
'"', a potem 'a' dawała echo 'ą'. Ponieważ pliki dotyczące dyscypliny
linii znajdują się w jądrze niezbędna będzie rekompilacja jądra.

Uwagi


Nie polecam stosowania jako znaku poprzedzającego literę, która ma
być interpretowana jako polska znaków sterujących (typu Alt, czy Ctrl),
ponieważ one są już oryginalnie inaczej interpretowane i taka przeróbka
mogłaby się okazać bardzo pracochłonna i bardzo łatwo możnaby było "popsuć"
system.

Rozwiązanie tego zadania trzeba podzielić na dwie części: wprowadzenie
zmian w kodzie dyscypliny linii tak, by odpowiednie sekwencje znaków były
inaczej interpretowane oraz zdefiniowanie kodów polskich liter.

Można pokusić się o napisanie własnej dyscypliny linii (jej abstrakcyjny
opis znajduje się w strukturze danych tty_ldisc),
ale uprzedzam, że napisanie dobrze działającego fragmentu kodu może się
tutaj okazać bardzo trudne (aby się o tym przekonać wystarczy przejrzeć
plik n_tty.c ).

Przeprowadzenie eksperymentów po zrealizowaniu tego zadania nie powinno
nastręczać specjalnych trudności. Jedyne, co można sprawdzić to to, czy
rzeczywiscie pojawiają sie polskie znaki, czy właściwie są ścierane i czy
nic poza wprowadzeniem tych znaków się nie zmieniło.






Autorka : Maja Królikowska







Wyszukiwarka

Podobne podstrony:
ZADANIE (11)
zadaniegz 11
ZADANIE (11)
Analiza Zadania 11
ZADANIE (11)
ZADANIE (11)
ZADANIE (11)
ZADANIE (11)
ZADANIE (11)
ZADANIE (11)
ZADANIE (11)
ZADANIE (11)
ZADANIE (11)
zadanie 11
ZADANIE (11)
ZADANIE (11)
ZADANIE (11)

więcej podobnych podstron