X


[ Pobierz całość w formacie PDF ]
.Zamieszanie rodzi�o chaos.Programy otwiera�y pliki blokuj�cez ró�nych miejsc, a maj�ce kontrolowa� jedno urz�dzenie tty.Efekt by� taki, jakbypliki blokuj�ce w ogóle nie by�y u�ywane.Aby rozwi�za� ten problem, stworzono urz�dzenia cua.Zamiast polega� na plikachblokuj�cych, które mia�y zabezpiecza� przed kolidowaniem ze sob� programów ko-rzystaj�cych z urz�dze� szeregowych, zdecydowano, �e to j�dro b�dzie decydowa�,kto ma mie� dost�p do urz�dzenia.Je�eli urz�dzenie ttyS by�o ju� otwarte, próbaotwarcia cua ko�czy�a si� b��dem.Program móg� go zinterpretowa� jako informacj�,�e urz�dzenie jest u�ywane.Je�eli urz�dzenie cua by�o ju� otwarte i zosta�a podj�tapróba otwarcia urz�dzenia ttyS, ��danie by�o blokowane, to znaczy wstrzymywanedo czasu zamkni�cia urz�dzenia cua przez inny proces.Dzia�a�o do ca�kiem dobrze,je�eli mia�eS jeden modem skonfigurowany do odbierania po��cze� i co jakiS czaschcia�eS zadzwoni� za pomoc� tego samego urz�dzenia.K�opoty pojawi�y si� w Sro-dowiskach, gdzie wiele programów chcia�o dzwoni� z tego samego urz�dzenia.Je-dynym sposobem na rozwi�zanie tego problemu by�o zastosowanie plików blo-kuj�cych.Powrót do punktu wyjScia.Wystarczy wspomnie�, �e przyszed� tu z pomoc� standard systemu plików Linuksa.Teraz pliki blokuj�ce musz� znajdowa� si� w katalogu /var/lock i nazywa� zgodniez przyj�t� konwencj�, czyli plik blokuj�cy dla urz�dzenia ttyS1 nazywa si� naprzyk�ad LCK.ttyS1.Pliki blokuj�ce cua powinny tak�e znajdowa� si� w tym katalo-gu, ale u�ywanie urz�dze� cua nie jest zalecane.Przez jakiS czas urz�dzenia cua b�d� jeszcze funkcjonowa�y, by zapewni� kompatybil-noS� w okresie przejSciowym, ale stopniowo b�d� wycofywane.Je�eli zastanawiaszsi�, czego u�ywa�, trzymaj si� urz�dze� ttyS i upewnij si�, �e twój system jest zgodnyz FSSTND lub �e przynajmniej wszystkie programy korzystaj�ce z urz�dze� szere-gowych umieszczaj� pliki blokuj�ce w tym samym miejscu.Wi�kszoS� oprogramo- Dost�p do urz�dze� szeregowych 51wania pracuj�cego z urz�dzeniami szeregowymi tty posiada opcj� kompilacyjn� po-zwalaj�c� na wskazanie miejsca umieszczania plików blokuj�cych.Cz�sto wyst�pu-je ona w postaci zmiennej o nazwie typuLOCKDIRw pliku Makefile lub w nag�ów-kowym pliku konfiguracyjnym.Je�eli sam kompilujesz oprogramowanie, najlepiejjest ustawi� t� zmienn� tak, by zapewni� zgodnoS� z lokalizacj� okreSlon� przezFSSTND.Je�eli korzystasz ze skompilowanych plików binarnych i nie jesteS pewien,gdzie program zapisuje swoje pliki blokuj�ce, mo�esz u�y� poni�szego polecenia,by uzyska� wskazówk�:strings plikbinarny | grep lockJe�eli wskazana lokalizacja nie zgadza si� z pozosta�� cz�Sci� twojego systemu, sta-raj si� utworzy� dowi�zanie symboliczne z katalogu plików blokuj�cych, któregochce u�ywa� dany program, do katalogu /var/lock.Nie jest to zbyt eleganckie roz-wi�zanie, ale dzia�a.Pliki specjalne urz�dzenia szeregowegoNumery podrz�dne s� identyczne dla obu typów urz�dze� szeregowych.GdybySmia� swój modem na jednym z czterech standardowych portów COM:, jego numerpodrz�dny by�by numerem portu COM plus 63.GdybyS u�ywa� specjalnegourz�dzenia szeregowego, takiego jak szybki wieloportowy kontroler szeregowy,prawdopodobnie musia�byS tworzy� dla niego specjalne pliki urz�dze�.Zapewnekarta taka nie pos�ugiwa�aby si� standardowym sterownikiem urz�dzenia.Odpo-wiednie szczegó�y zapewne znajdziesz w dokumencie Serial-HOWTO.Za�ó�my, �e twój modem jest pod��czony do COM2:.Jego numer podrz�dny to 65,a nadrz�dny to 4 w przypadku normalnego zastosowania.Powinno istnie� urz�dze-nie ttyS1, które ma takie numery.Wylistuj urz�dzenia szeregowe tty w katalogu/dev/.Pi�ta i szósta kolumna pokazuj� odpowiednio numery podrz�dne i nad-rz�dne:$ ls -l /dev/ttyS*0 crw-rw---- 1 uucp dialout 4, 64 Oct 13 1997 /dev/ttyS00 crw-rw---- 1 uucp dialout 4, 65 Jan 26 21:55 /dev/ttyS10 crw-rw---- 1 uucp dialout 4, 66 Oct 13 1997 /dev/ttyS20 crw-rw---- 1 uucp dialout 4, 67 Oct 13 1997 /dev/ttyS3Gdyby nie by�o urz�dzenia o numerze nadrz�dnym 4 i podrz�dnym 65, musia�byS jestworzy�.W takiej sytuacji zaloguj si� jako u�ytkownik uprzywilejowany i napisz:# mknod -m 666 /dev/ttyS1 c 4 65# chown uucp.dialout /dev/ttyS1Dystrybucje Linuksa u�ywaj� ró�nych strategii do okreSlania, kto powinien by�w�aScicielem urz�dze� szeregowych.Czasem b�d� one w�asnoSci� u�ytkownika root,a innym razem b�d� nale�a�y na przyk�ad douucp, tak jak w naszym przyk�adzie.Wspó�czesne dystrybucje maj� specjaln� grup� dla urz�dze� s�u��cych do dzwonie-nia.Ka�dy u�ytkownik, który ma prawo ich u�ywa�, jest dodawany do tej grupy.Niektórzy sugeruj� stworzenie dowi�zania symbolicznego /dev/modem do urz�dze-nia modemu, tak by zwykli u�ytkownicy nie musieli zapami�tywa� czegoS takskomplikowanego jak ttyS1.Jednak nie mo�esz u�ywa� w jednym programie nazwy 52 Rozdzia� 4: Konfigurowanie urz�dze� szeregowychmodem, a w drugim rzeczywistej nazwy pliku urz�dzenia.Ich pliki blokuj�ce b�d�mia�y ró�ne nazwy i mechanizm blokowania nie zadzia�a.Urz�dzenia szeregoweRS-232 jest obecnie najbardziej znanym standardem komunikacji szeregowejw Swiecie PC.Wykorzystuje wiele uk�adów do transmisji pojedynczych bitów orazdo synchronizacji.Mo�na wprowadzi� dodatkowe linie do sygnalizacji obecnoScinoSnej (u�ywanej przez modemy) i do uzgadniania (ang.handshaking) [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • necian.htw.pl