Zbigniew S. Szewczak Systemy Operacyjne. Wykład 5 System we/wy. Wydruk i grafika.



Podobne dokumenty
Zbigniew S. Szewczak Systemy Operacyjne. Wykład 5 System we/wy. Wydruk i grafika.

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Zbigniew S. Szewczak Systemy Operacyjne. Wykład 5 System we/wy. Wydruk i grafika.

Zbigniew S. Szewczak Systemy Operacyjne. Wykład 5 System we/wy. Wydruk i grafika.

Serwer SAMBA UDOSTĘPNIANIE UDZIAŁÓW SIECIOWYCH PIOTR KANIA

Fiery Remote Scan. Uruchamianie programu Fiery Remote Scan. Skrzynki pocztowe

Dla klientów używających systemu Windows do połączeń sieciowych

Samsung Universal Print Driver Podręcznik użytkownika

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego

26.X.2004 VNC. Dawid Materna

Instrukcja konfiguracji funkcji skanowania

SIECIOWE. mgr inż. Adam Mencwal Katedra Informatyki Stosowanej.

Podstawy konfiguracji środowiska graficznego. Umieszczamy kursor na pustym obszarze na pulpicie i naciskamy prawy guzik:

Połączenia. Instalowanie drukarki lokalnie (Windows) Co to jest drukowanie lokalne?

ABA-X3 PXES v Podręczna instrukcja administratora. XDMCP Licencja FDL (bez prawa wprowadzania zmian) Tryb X terminala

Serwer druku w Windows Server

X11R5. .Xresources. Pliki konfiguracyjne X-Windows. Zasada działania X11. .xinitrc. X protocol X server. X client. X library

PAMIĘĆ OPERACYJNA...107

PC0060. ADAPTER Kabel Easy Copy PC-Link USB 2.0 Proste kopiowanie, bez instalacji. Instrukcja obsługi

Działanie systemu operacyjnego

Drukarka serii HP LaserJet P2015 Uwagi dotyczące instalacji systemu drukowania

Instrukcje dotyczące systemu Windows w przypadku drukarki podłączonej lokalnie

Drukarki termosublimacyjne

Instrukcja do oprogramowania ENAP DEC-1

Samba serwer plików i drukarek. Rafał Szcześniak <mimir@samba.org> The Samba Team. Prosze pytać w każdej chwili

Połączenia. Obsługiwane systemy operacyjne. Instalowanie drukarki przy użyciu dysku CD Oprogramowanie i dokumentacja

Instrukcja obsługi programu CMS Dla rejestratorów HANBANG

VComNet Podręcznik użytkownika. VComNet. Podręcznik użytkownika Wstęp

Fiery Remote Scan. Łączenie z serwerami Fiery servers. Łączenie z serwerem Fiery server przy pierwszym użyciu

INSTRUKCJA OBSŁUGI DLA SIECI

SYSTEMY WEJŚCIA-WYJŚCIA

OPIS PRZEDMIOTU ZAMÓWIENIA

INSTRUKCJA INSTALACJI DRUKARKI. (Dla Windows CP-D70DW/D707DW)

Aktualizacja sterownika Podobnie jak w przypadku instalacji, podczas wykonywania tej operacji należy zalogować się jako administrator.

Działanie systemu operacyjnego

Serwer plików i drukarek Samba

Graficzny terminal sieciowy ABA-X3. część druga. Podstawowa konfiguracja terminala

Dokonaj instalacji IIS opublikuj stronę internetową z pierwszych zajęć. Ukaże się kreator konfigurowania serwera i klikamy przycisk Dalej-->.

Dział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący

Działanie komputera i sieci komputerowej.

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Pracownia internetowa w szkole podstawowej (edycja jesień 2005)

Działanie systemu operacyjnego

1. Moduł Print Master

SKRó CONA INSTRUKCJA OBSŁUGI

Spis treści. Wstęp Rozdział 1. Zasady pracy z komputerem Rozdział 2. Budowa komputera... 20

Budowa systemów komputerowych

Pracownia internetowa w szkole ZASTOSOWANIA

USB 2.0 SERWER DRUKARKI ETHERNETU

Przewodnik szybkiej instalacji

Usługi sieciowe systemu Linux

Sieciowy serwer IP urządzeń USB z 4 portami USB 2.0

Możesz podłączyć drukarkę do routera wykorzystując port USB. Wszystkie komputery podłączone do routera będą mogły drukować poprzez router.

Zarządzanie rolami jakie może pełnić serwer System prosi o wybór roli jaklą ma spełniać serwer.

Urządzenia wejścia-wyjścia

Instrukcja instalacji i obsługi modemu ED77 pod systemem operacyjnym Windows 98 SE (wydanie drugie)

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Sposoby zdalnego sterowania pulpitem

System operacyjny Linux

Systemy operacyjne i sieci komputerowe. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Etapy uruchamiania systemu

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

USB 2.0 SERWER DRUKARKI ETHERNETU

System operacyjny Linux

System komputerowy. System komputerowy

Załącznik nr 1 do wzoru umowy, która stanowi załącznik nr 3 do SIWZ OBLIGATORYJNE WYMAGANIA TECHNICZNE. I. Drukarka laserowa typ szt.

Tomasz Greszata - Koszalin

Działanie systemu operacyjnego

10.2. Udostępnianie zasobów

Terminal ABA-X3 może być wykorzystywany jako terminal znakowy. Funkcja ta może być zrealizowana na kilka sposobów:

SERWER DRUKARKI USB 2.0

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

KONFIGURACJA KAMER FORTEC IP

Warstwy systemu Windows 2000

ASMAX ISDN-TA 128 internal Instalacja adaptera w środowisku Windows 98 / ME

Możesz podłączyć drukarkę do routera wykorzystując port USB. Wszystkie komputery podłączone do routera będą mogły drukować poprzez router.

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu ftp.

Tomasz Greszata - Koszalin

Oprogramowanie. DMS Lite. Podstawowa instrukcja obsługi

Program EDYTOR-AS-OUX

Instrukcja instalacji Control Expert 3.0

Podstawowa konfiguracja routerów. Interfejsy sieciowe routerów. Sprawdzanie komunikacji w sieci. Podstawy routingu statycznego

Definiowanie drukarek w programie ZAFIR

WIELODOSTĘPNE SYSTEMY OPERACYJNE 1 (SO1)

Windows W celu dostępu do i konfiguracji firewall idź do Panelu sterowania -> System i zabezpieczenia -> Zapora systemu Windows.

Mechanizmy pracy równoległej. Jarosław Kuchta

Zadanie1: Odszukaj w Wolnej Encyklopedii Wikipedii informacje na temat NAT (ang. Network Address Translation).

INSTALACJA LICENCJI SIECIOWEJ NET HASP Wersja 8.32

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Wymagania do zdalnej instalacji agentów firmy StorageCraft

Przykłady. Instalacja roli serwera wydruku

Wstęp 5 Rozdział 1. SUSE od ręki 13

Ważne: Przed rozpoczęciem instalowania serwera DP-G321 NALEŻY WYŁACZYĆ zasilanie drukarki.

T: Instalacja systemu Windows 2008 Serwer w maszynie wirtualnej VirtualBox.

Księgarnia PWN: Emmett Dulaney - Novell Certified Linux Professional (NCLP)

Win Admin Replikator Instrukcja Obsługi

Instrukcja instalacji sterowników USB dla urządzeń Posnet Polska S.A.

1 Implementowanie i konfigurowanie infrastruktury wdraŝania systemu Windows... 1

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.

Standard transmisji równoległej LPT Centronics

Transkrypt:

Zbigniew S. Szewczak Systemy Operacyjne Wykład 5 System we/wy. Wydruk i grafika. Toruń, 2006

O czym będzie? Podsystem we/wy Pojęcia związane z grafiką Struktura systemu wydruku Unixowy system wydruku - LPRng Drukowanie w sieciach Microsoft Systemy wydruku NetWare LPD w systemach MSW System wydruku CUPS X-Window System Serwer XDM Przykłady Egzamin 2007

Podsystem we/wy Komputer wykonuje dwa podstawowe zadania przetwarza informacje obsługuje działania na wejściu i wyjściu Zadaniem systemu operacyjnego w odniesieniu do urządzeń we/wy jest zarządzanie operacjami we/wy sprawowanie nadzoru nad operacjami we/wy dopilnowywanie działania urządzeń we/wy Zadania te są realizowane w jądrze przez podsystem we/wy (ang. I/O subsystem)

Podsystem we/wy (c.d) Trzy kategorie urządzeń we/wy: pamięć zewnętrzna, sieć, interfejs z ludźmi Postawowe elementy podsystemu we/wy sprzętowe porty, szyny, sterowniki urządzeń (ang. device controllers) programowe moduły we/wy, moduły sterujące (ang. device drivers) tworzące interfejs dostępu podsytemu we/wy do urządzeń we/wy obsługa we/wy w jądrze systemu wywołania systemowe we/wy

Struktura jądra systemu Unix warstwa użytkownika pułapka program użytkownika biblioteki warstwa jądra interfejs funkcji systemowych podsystem plików cache (bufory) znakowe blokowe moduły sterujące podsystem zarządzania procesami komunikacja międzyprocesowa planista przydziału procesora zarządzanie pamięcią warstwa jądra warstwa sprzętu interfejs sprzętu sprzęt

UNIX - punkty wejścia do podprogramów obsługi we/wy podsystem plików open close read write ioctl open mount close umount read write podręczna pamięć buforowa tablica rozdzielcza urządzeń znakowych tablica rozdzielcza urządzeń blokowych open close read write ioctl open close strategia podprogram obsługi urządzenia punkty wejścia podprogram obsługi urządzenia podprogram obsługi przerwania podprogram obsługi przerwania wektor przerwań wektor przerwań przerwania od urządzeń

Sprzęt we/wy Niezwykła różnorodność urządzeń zewnętrznych Wspólne pojęcia port - punkt łączący przez który urządzenie kontaktuje się z komputerem szyna - wspólna wiązka przewodów do której są podłączone urządzenia układ szeregowy (ang. daisy chain) : A podłączone do B podłączone do C i C podłączone do portu sterownik (ang. controller) - zespół układów elektronicznych, które mogą kierować pracą portu, szyny lub urządzenia niekiedy wykonywany w postaci oddzielnej płyty z układami elektronicznymi zwanej adapterem głównym (ang. host adapter) - procesor, mikrokod, pamięć (np. SCSI, IDE)

Sprzęt we/wy (c.d.) W jaki sposób procesor przekazuje polecenia sterownikowi? sterownik ma rejestry do pamiętania danych i sygnałów sterujących do których pisze i z których czyta procesor specjalne rozkazy we/wy określające przesłanie danych na adres portu operacje we/wy odwzorowywane w pamięci operacyjnej (ang. memory-mapped I/O)- rejestry są odwzorowywane w przestrzeni adresowej procesora Niektóre komputery stosują obie metody RS232C - rejestry we/wy, bufory PC: kontroler grafiki - odwzorowywanie ekranu w pamięci

Sprzęt we/wy (c.d.) Port we/wy składa się z 4 rejestrów (dł. 1B-4B) stan (ang. status) - zawiera bity czytane przez procesor zakończenie polecenia,dostępność danych w rejestrze dane wyjściowe, wykrycie błędu sterowanie (ang. control) - zapisywany przez procesor rozpoczęcie polecenia, zmiana trybu pracy urządzenia (komunikacja pełnodupleksowa, szybkość portu) dane wejściowe (ang. data-in) - czytany przez procesor pobranie informacji z urządzenia dane wyjściowe (ang. data-out) - dane zapisywane przez procesor Układy FIFO - rozszerzają pojemność rejestrów

Odpytywanie Protokół interakcji pomiędzy sterownikiem a procesorem Uzgadnianie (ang. handshaking) między procesorem i sterownikiem Dwa bity do koordynowania relacji producentkonsument procesor sygnalizuje swoje życzenie - bit gotowości polecenia (ang. command-ready bit) w rejestrze poleceń (ang. command register) sterownik zaznacza swój stan - bit zajęte=1 (ang. busy) w rejestrze stanu

Przykład - procesor pisze do portu procesor powtarza czytanie bitu zajęte dopóty, dopóki bit ten nie zostanie wyczyszczony (tzn. ustawiony na 0) aktywne czekanie (ang. busy-waiting), odpytywanie (ang.polling) trzy cykle rozkazowe procesora do odpytania: czytanie rejestru urządzenia, operacja koniunkcji (wydobycie bitu zajętości), skok przy wartości niezerowej procesor ustawia bit pisania (ang. write bit) w rejestrze poleceń i wpisuje bajt do rejestru danych wyjściowych procesor ustawia bit gotowości polecenia w rejestrze poleceń gdy sterownik zauważy, że bit gotowości polecenia jest ustawiony wówczas ustawia bit zajęte sterownik czyta rejestr poleceń rozpoznaje polecenie pisania, czyta bajt z rejestru danych wyjściowych i wykonuje operację we/wy na urządzeniu sterownik czyści bit gotowości polecenia w rejestrze poleceń procesora oraz bit błędu (ang. error bit) w rejestrze stanu, aby powiadomić, że operacja we/wy zakończyła się pomyślnie, po czym czyści bit zajęte w rejestrze stanu, sygnalizując, że zakończył działanie

UNIX - odpytywanie terminala #include <fcntl.h> main() { register int i, n; int dp; char bufor[256]; /* otworz terminal do czytania, z opcja bez opoznienia */ if ((dp = open("/dev/tty", O_RDONLY O_NDELAY)) == -1) exit(15); n = 1; for (;;) /* dla kazdego */ { for (i = 0; i < n; i++) ; } } if (read(dp, bufor, sizeof(bufor)) > 0 ) { printf("wczytano za %d-tym razem\n", n); n--; } else /* brak danych, powrot - opcja bez opoznienia */ n++;

Przerwania Odpytywanie staje się niewydajne w sytuacji rzadkich przypadków gotowości urządzenia Osprzęt procesora ma scieżkę zwaną linią zgłaszania przerwań (ang. interrupt request line), którą procesor bada w cyklu rozkazu Sterownik zgłasza (ang. raises) przerwanie, procesor przechwytuje (ang. catches) przerwanie Jeśli procesor wykryje przerwanie od sterownika to przechowa dane określające bieżący stan (PC) i wykona skok do procedury obsługi przerwania (ang. interrupthandler) wykrycie przyczyny przerwania wykonanie niezbędnych czynności rozkaz powrotu z przerwania (ang. return from interrupt)

Cykl we/wy obsługiwany przerwaniami CPU 1 sterownik we/wy moduł sterujący urządzenia rozpoczyna operację we/wy między rozkazami procesor sprawdza występownie przerwań 2 rozpoczęcie operacji we/wy 3 7 procesor przyjmuje przerwanie i przekazuje sterowanie procedurze obsługi przerwania 4 gotowość wejścia, zakończone wyjście lub błąd 5 wygenerowanie przerwania we/wy procedura obsługi przerwania przetwarza dane, wykonuje powrót po przerwaniu 6 procesor podejmuje wykonywanie przerwanego zadania

Przerwania (c.d.) Sprzęt sterownika przerwań (ang. interrupt controller) oraz jednostka centralna powininy zapewnić 1. opóźnianie obsługi przerwania podczas działań krytycznych 2. brak odpytywania urządzeń w celu wykrycia sprawcy 3. przerwania wielopoziomowe o różnym priorytecie ad1. Dwie linie żądania przerwań przerwania niemaskowalne np. nieusuwalne błędy pamięci przerwania maskowalne (ang. mascable) pozwalają wyłączyć zgłoszenia żądań ad2. Mechanizm przerwania dostarcza adres obsługi przerwania, który znajduje się w tablicy zwanej wektorem przerwań (ang. interrupt vector)

Przerwania (c.d.) ad3. System poziomów priorytetów przerwań (ang. interrupt priority levels) umożliwia opóźnianie przez procesor obsługi przerwań niskopriorytetowych bez maskowania wszystkich przerwań i pozwala wywłaszczać procesy ich obsługi Mechanizm przerwania stosuje się również do obsługi sytuacji wyjątkowych (ang. exceptions) dzielenie przez 0, rozkaz uprzywilejowany Specjalny rozkaz nazywany przerwaniem programowym (ang. software interrupt) lub pułapką (ang. trap) o niskim priorytecie, który identyfikuje wymagana usługę jądra wykorzystane w realizacji funkcji (wywołania) systemowego: przechowanie stanu programu, przejście w tryb systemu, wykonanie zamawianej usługi

Pojęcia związane z grafiką Grafika Wektorowa lub rastrowa (bitmapowa) Formaty plików graficznych Kompresja Stratna: JPEG, TIFF Bezstratna: PNG, GIF, brak kompresji: BMP, XFC Obróbka plików (np. konwersja) Bitmapowa: ACDSee, Adobe Photoshop, Corel Painter, GIMP, InfranView Wektorowa: AutoCAD, CorelDraw, Adobe Illustrator, Inkscape, Xfig

Graficzne formaty danych GIF - Graphics Interchange Format (1987) kompresja LZW (patent, 1995), 256 kolorów, 72dpi JPEG - Joint Photographic Engineering Group PNG - Portable Network Graphics nie używa LZW, strony WWW TIFF - Tag Image File Format (1986) ftp.adobe.com/pub/adobe/devrelations/devtechnotes/pdffiles/tiff6.pdf BMP (Microsoft), PCX (Paintbrush), XFC (GIMP) wektorowe: EPS, WMF (Office), CDR (Corel), DRW (Micrografx)

InfranView 3.98

System wydruku Drukowanie jest bardzo istotną częścią każdego systemu operacyjnego W systemie wielodostępnym użytkownicy mogą dzielić drukarkę dzięki systemowi wydruku (ang. print spooling system) System wydruku umożliwia jednoczesne wczytywanie i interpretowanie zadań wydruku szeregowanie zadań wydruku wykonanie zadań wydruku obsługę błędów, zbieranie informacji rozliczeniowych jednocześnie drukarka jest zasobem niepodzielnym

System wydruku (c.d.) W systemie sieciowym mamy wiele połączonych systemów operacyjnych realizujących zadania wydruku w oparciu o model klient-serwer Sieciowy system wydruku wykorzystuje protokół sieciowy: SMB, TCP/IP, IPX/SPX lub inny do transferu zadań wydruku Serwery wydruku (ang. print spoolers) współpracują ze sobą w celu realizacji zleconych (ang. submit) zadań wydruku

Print spooling: filozofia Dokument wejściowy Program klienta Serwer lokalny filtr Drukarka lokalna Config Dokument wyjściowy SPOOL lokalny Serwer zdalny filtr Drukarka zdalna SPOOL zdalny Config Dokument wyjściowy

Języki poleceń drukarek PostScript (Charles W. Geschke & John E. Warnock, 1982, Xerox, Adobe) level 1,2,3 i Extreme (Supra) PCL (Printer Command Language, HP) PCL 1,2,3,4,5(np. LJ 5L),5E,5C,6 PDF (Portable Document Format, Adobe) dokumenty elektroniczne plug-in y

Typy połączeń równoległe -LPT EPP/ECP (Enhanced Parallel Port/ Enhanced Capabilities Port) 50kbps (Centronics) do 2Mbps (ECP) Szeregowe - COM RS232C (115,2Kbps) USB 2.0-480Mbps IrDA - Infrared Data Association (1933) IrDA 1.0: 115,2Kbps do 1m; VFIR; 16Mbps - odchylenie 30 Fire Wire - IEEE 1394 (400Mbps, 63 urządzenia) BlueTooth (1998) - 2,4Ghz (802.11), 1Mbps Sieć - IPX/SPX, NetBEUI, TCP/IP, IPP Drukarka lokalna, standard TCP/IP port

System sieciowy Linuxa Jądro systemu Linux realizuje protokoły sieciowe m.in. protokoły TCP/IP, IPX/SPX, SMB System Linux ma zaimplementowane systemy sieciowe NFS (Network File System) SMB (Server Message Block) - samba NCP (Network Control Program) - mars Generacja jądra systemu Linux - dodajemy obsługę drukowania (port równoległy, szeregowy, USB, PCMCIA, IrDA, WLAN)

Składniki systemu wydruku Elementy programowe potrzebne do realizacji zadań wydruku program serwera (ang. spooler) program klienta pliki konfiguracyjne kolejki do drukarek filtry komendy administracyjne Elementy sprzętowe : drukarki, papier, toner...

Oprogramowanie wydruku Dostępność oprogramowania Unix - dostępny w wersji źródłowej (lpd, LPRng,CUPS) ftp.lprng.com/pub/lprng - LPRng,filtry, LPRngTool ftp.enst.fr/pub/unix/a2ps - filtry(www.inf.enst.fr/~demaille/a2ps) www.apsfilter.org Windows NT/2K: klient jest częścią systemu, brak serwera Windows XP Prof.: klient i serwer Windows 9x - brak klienta i serwera http://tucows.icm.edu.pl/ Solstice - serwer i klient (trzeba kupić) Cygwin (biblioteka na Win32) +LPRng http://www.cygwin.com Linux -> Mars - protokół NCP Linux -> Samba - protokół SMB

Oprogramowanie wydruku (c.d.) ghostscript, ghostview - pakiet obróbki *.ps http://www.cs.wisc.edu/~ghost file - sprawdzanie typu pliku http://sourceforge.net/projects/gnuwin32 pakiet psutils http://knackered.knackered.org/agnus/psutils.html ImageMagick - konwesja formatów grafiki http://www.imagemagick.org pdftohtml http://sourceforge.net/projects/pdftohtml/ htmldoc - konwersja na ps i pdf http://www.easysw.com/htmldoc/ xpdf - www.foolabs.com/xpdf/

LPRng - struktura LPRng - University of Waterloo zastępuje przestarzały system wydruku BSD http://www.lprng.com LPRng-3.8.28.tgz - ostatnia wersja z 2 października 2004 r. reaktywacja 2006 Drukowanie w systemie LPRng serwer wydruku (ang. print spooler) : lpd kolejki spoolera: /var/spool/lpd konfiguracja: /etc/printcap, /etc/lpd.conf, /etc/lpd.perms klient: lpr, lpq, lprm (cancel) komendy administracyjne: lpc, lpstat

Funkcje serwera lpd - daemon, który kontroluje wszystko co jest drukowane {na komputerze z komputera} tryb lokalny spoolera zapamiętuje zadanie w kolejce szereguje zadania w kolecje wybiera zadania z kolejki dokonuje konwersji zadania za pomocą filtrów wysyła plik na konkretną drukarkę tryb zdalny spoolera - przesłanie (ang. forward ) zadania do zdalnego lpd

Funkcje klientów lpr - program użytkownika, który kontaktuje się z lpd i umieszcza zadanie w kolejce drukowania lpq - monitoruje zawartości kolejek lprm - usuwa zadania z kolejki lpc - zarządzanie daemonem lpd lpstat - emulacja Systemu V

Konfiguracja protokół - plik /etc/services printer 515/tcp #nr portu serwera lpd urządzenia we/wy - drukarki /dev/lp? ; /dev/ttys? plik konfiguracyjny drukarek /etc/printcap man printcap pliki konfiguracyjne lpd lpd.conf - konfiguracja demona lpd lpd.perms - kontrola dostępu do demona lpd

Definicje drukarek Plik /etc/printcap #drukarka lokalna lp alias1 alias2:\ # nazwy drukarki :cm=komentarz o drukarce:\ :lp=/dev/lp0: \ # nazwa urządzenia we/wy :sd=/var/spool/lpd/lp:\ #katalog spoolera :if=/usr/local/libexec/filters/lpf: \ #definiuje filtr :rg=printer: \ #grupa, która może używać tej drukarki :mx#0:\ # brak ograniczeń na wydruk :sh: # wyłącza drukowanie nagłówka

Definicje drukarek (c.d.) Plik /etc/printcap #drukarka zdalna lp1 alias3:\ :cm=drukarka na maszynie anna: \ :lp=:rm=anna:rp=lp: # drukarka lp@anna lp3 alias4:\ :cm=drukarka sieciowa HP \ :lp=158.75.2.16%9100 :sd=/var/spool/lpd/lp3 \ :lf=log:af=acct \ # log i rozliczenie do wydruku :if=/usr/local/sbin/lpf \ :mx#0:sh:

Printcap - opcje af - ścieżka do pliku rozliczeniowego br - szykość transmisji w baudach lf - log file lo - plik blokujący lp - urządzenie drukujące mx - wielkość zadania pl - długość strony w liniach pw - szerokość strony w znakach rm - zdalny host rp - zdalna drukarka sd - spool directory sh - drukowanie nagłówka

Przykłady - RedHat /etc/printcap - lokalny lp lab73-local:\ :sd=/var/spool/lpd/lp:\ :lp=/dev/lp0:\ :lpd_bounce=true:\ :if=/usr/share/printconf/mf_wrapper:\ :filter=/usr/libexec/filters/lpf: \ :ml=0:mx=0:sh: /etc/printcap - zdalny lp lab73-printer:\ :lp=:rm=158.75.12.73:rp=lp:mx#0:sh: /etc/rc.d/init.d/lpd restart

Konfiguracja graficzna Konfiguracja podczas instalacji Name of queue: lp Spool directory: /var/spool/lpd/lp PrintTool RedHat Control Panel->Printer Configuration->Add Local Printer - drukarka przyłączona do fizycznego portu Name: lp Spool Directory: /var/spool/lpd/lp Printer Device: /dev/lp1 Input Filter: select Remote Unix (lpd) Queue - drukarka zadalna (TCP/IP) Lan Manager Printer (SMB) - do komunikacji używamy SMB NetWare Printer (NCP) - do komunikacji używamy NCP

Uprawnienia do drukowania Plik /etc/group - definicje grupy użytkowników, którzy mogą drukować printer::17:root,ewa,jan,... plik /etc/hosts.lpd - lista maszyn, z których można drukować (BSD) plik /etc/lpd.perms - w pakiecie LPRng plik /etc/lpd.conf - w pakiecie LPRng

lpd.perms plik /etc/lpd.perms - zezwolenie na użycie komendy lpc rootowi na serwerze: ACCEPT SERVICE=C SERVER REMOTEUSE=root REJECT SERVICE=C zezwolenie na użycie komendy lpr tylko w sieciach 158.75.2.0 i 158.75.12.0 REJECT SERVICE=R NOT REMOTEIP=158.75.2.0/255.255.255.0 NOT REMOTEIP= 158.75.12.0/255.255.255.0 zezwolenie na użycie komendy lprm na drukarkę lp rootowi z lab73 ACCEPT SERVICE=M HOST=lab73 PRINTER=lp REMOTEUSER=root

Instalacja i testowanie LPRng Instalacja gunzip -c LPRng-<wersja>.tgz tar xvf - cd LPRng-<wersja>./configure --prefix=/usr --sysconfdir=/etc make clean all su make install Testowanie - wymaga uprawnień roota checkpc - służy do sprawdzenia konfiguracji checkpc -f -V - usuwa ewentualne błędy lpq lpc -P start

Klient lpd - Unix Zarządzanie wydrukiem lpc -S serwer -P drukarka komenda komenda = hold kill start stop status Drukowanie lpr -P drukarka nazwa.pliku sprawdzanie zadania w kolejce lpq -P drukarka usuwanie zadania z kolejki lprm -P drukarka nr_zadania

Klient lpd - Unix (c.d.) lpr -Pprinter@host lpr -Plp@lab73 lpr -Plp@158.75.12.73 lpr -Plp lprm -Pprinter <nr-zadania> lprm -Psmb 123 lpc -Pprinter lpc -Plp <start restart stop> lpq -Ppinter lpq -Plp

Samba - system wydruku System sieciowy Samba pozwala na dzielenie drukarek z klientami SMB Możliwe kombinacje serwer Samby <- klient Samby - lepiej użyć lpd serwer Samby <- klient Windows klient Samby -> udział drukarkowy klient Windows -> udział drukarkowy Samba (pośrednio) wykorzystuje demona wydruku lpd

Samba - system wydruku Elementy składowe konfiguracji plik /etc/printcap plik /etc/samba/smb.conf Elementy składowe oprogramowania LPRng Samba : program smbclient System Windows Drukarka pod Linuxem lub Windows

Definicja drukarki - Samba Plik /etc/printcap #drukarka na Windows smb remote-smbprinter:\ :cm=drukarka na W9x: \ :lp=/dev/null: \ :sd=/var/spool/lpd/lp: \ :if=/usr/local/sbin/smbprint-script:\ :sh: przykład skryptu smbprint-script #! /bin/sh /usr/bin/smbclient \\\\lab73\\druk -U guest -N -c ``print -``

Plik smb.conf Sekcja [printers] pozwala na dzielenie wszystkich drukarek zdefiniowanych w pliku /etc/printcap [printers] comment = Wszystkie drukarki path = /var/spool/samba #katalog spoolera drukarek SMB printable = yes #zasób drukarkowy guest ok = yes #dostęp gościnny Jeśli nie chcemy dzielić drukarek z /etc/printcap w sekcji [global] dajemy: load printers = no definiujemy udział indywidualny dla drukarki

Indywidualny udział drukarkowy [druk] comment = drukarka HP printable = yes print command = /usr/bin/lpr -r -P%p %s lpq command = /usr/bin/lpq -P%p lprm command = /usr/bin/lprm -P%p %j printing = LPRng read only = yes guest ok = yes comment - komentarz przy udziale [druk] printable - udział drukarkowy

Opcje udziałów drukarkowych (c.d.) print command - ustawia polecenie wydruku lpq command - ustawia polecenie przeglądania kolejki wydruku lprm command - ustawia polecenie usuwania wydruku z kolejki printing - system druku (BSD,LPRng,SYSV)

Interfejs graficzny. Testowanie Printtool pozwala na graficzne definiowanie drukarek SMB w pliku /etc/printcap program SWAT pozwala na definiowanie drukarek w pliku smb.conf http://localhost:901 Konfigurację testujemy za pomocą checkpc - /etc/printcap testparm - /etc/samba/smb.conf testprns <nazwa drukarki> /etc/printcap - sprawdza czy drukarka jest w pliku /etc/printcap smbclient -L localhost - listuje udziały (drukarkowe)

Klient Samby - Unix Smbclient - służy do przyłączenia drukarki smbclient \\\\lab73\\druk -U guest Password: <top-secret> smb:> print <plik> lub put <plik> Przykład innej natury smbclient \\\\lab73\\hplj5 -U guest -N -c print <plik>

Konfigurowanie klienta drukarki W9x W9x Otoczenie sieciowe - wybieramy drukarkę właściwości->instaluj Kreator dodawania drukarki dodaj drukarkę lokalną - port drukarki (LPT) sieciową producenci - HP drukarki - HP LaserJet 5L PCL właściwości->rozdzielczość-> 600 punktów na cal

Konfigurowanie klienta drukarki W9x (c.d.) Wydruk strony (testowej) na serwerze Samby pod Windows Tryby drukowania z Windows graficzny: wybór drukarki tekstowy: z linii komend NET USE, NET PRINT Udostępnianie drukarki Ustawienia->Drukarki->drukarka lokalna->właściwości-> ->Udostępnianie

Mars - system wydruku Serwer Mars wykorzystuje demona wydruku lpd do realizacji zleceń wydruku z systemu NetWare Elementy składowe konfiguracji /etc/nwserv.conf /etc/printcap Programy klienta (z pakietu ncpfs) nprint - program wydruku pqlist - program wypisujący dostępne drukarki w systemie NetWare

nwserv.conf - drukarki Konfiguracja - plik /etc/nwserv.conf # Section 21: print queues (optional) 21 LP - lpr - 21 LP_PS # Section 22: print server entries (optional) 22 LP_NWE LP 1 # Section 40ff: Some pathes (optional) 40 /var/spool/nwserv/.volcache 41 /var/spool/nwserv/.locks 42 /var/spool/nwserv 45 /var/nwserv/db 46 /var/nwserv/attrib

Drukarka dla NetWare Plik /etc/printcap #drukarka na serwerze NetWare nw remote-nwprinter:\ :cm=drukarka Novella : \ :lp=/dev/null: \ :sd=/var/spool/lpd/nw: \ :if=/var/spool/lpd/nprint-script:\ :sh: skrypt - nprint-script #! /bin/sh /usr/bin/nprint -S lab73 -U guest -P top-secret -q lp -

Pakiet ncpfs - NetWare Program klienta nprint -S server -U username -P password -q queuename nazwa_pliku nprint -S lab73 -U guest -P top-secret -q lp plik1 Program pomocnicze pqlist - listuje serwery drukarek pqlist -S lab73 -U guest -P top-secret pqrm - usuwa zadanie z kolejki Program serwera pserver - program, który dopisuje zadania z kolejek na serwerach NetWare do lpd Linuxie pserver -S server -U username -P password -q queue

Inni klienci NetWare Klienci Netware - Windows Netware Client 32 tryb graficzny Otoczenie sieciowe->netware Servers tryb tekstowy nlist printer nprint <plik> printer <printer> Klienci pod Linuxa Caldera (SCO): www.caldera.com - serwer wydruku

Klienci lpd dla W9x/NT Windows 9x ACITS LPR - darmowy klient dla celów niekomercyjnych Solstice - trzeba kupić Windows NT/2K/XP lpr - zawarty w systemie lpr -S 158.75.12.74 -P hp <plik> lpq -S 158.75.12.74 -P hp Windows 9x C:\WINNT\SYSTEM32 LPR.EXE, LPQ.EXE, LPHELP.DLL Cygwin (cygwin1.dll) + lpr z LPRng

ACITS LPR - klient lpd dla W9x University of Texas, Austin http://www.utexas.edu/academic/otl/software/lpr/ instalacja instlpr.exe dodaj drukarkę ACITS LPR Remote Printing hostname lub IP adres printer/nazwa kolejki drukowanie z linii komend ACITSLPR [-S <serwer>] [-P <printer>] [-O <filter>] [-R <remote port>] [-T <timeout>] [-B] [-# <copies>] filename1 filename2... filename (#####)

Print serwer dla Windows Windows NT4/2K/XP Panel Sterowania -> Dodaj/Usuń składniki systemu Windows -> Inne usługi plików i drukowanie w sieci -> Usługi drukowania dla systemu Unix lpd, lpr Windows XP obsługa protokołu IPP ograniczenie do 10 połączeń ProNFS 1.8 9x/ME/NT/2K/XP lpd, lpr Cygwin + LPRng

Windows XP wydruk Start->Drukarki i faksy Właściwości Start->Panel sterowania->narzędzia administracyjne- >Usługi-> Serwer wydruku Server XP Bufor wydruku Spooler XP IIS http http://localhost/printers Zapora: serwer WEB

CUPS Common UNIX Printing System - 1999 http://www.cups.org Historia Unix - Berkeley LPD (rfc1179), AT&T System V - 1970- LPRng, Palladin, PLP - lata 90 Internet Printing Protocol (IPP) definiuje rozszerzenia do protokołu HTTP w celu zrealizowania usług zdalnego wydruku CUPS 1.0 wykorzystuje IPP/1.0 CUPS jest oprogramowaniem GNU GPL Wersja 1.3 grudzień 2006

CUPS - architektura Scheduler config CUPS API imaging filtry backends Berkeley System V LPT LPD IPP SMB

CUPS konwersja

CUPS - struktura Scheduler - aplikacja w postaci serwera HTTP/1.1 Config - pliki konfiguracyjne config schedulera - (podobny do httpd.conf) pliki definiujące drukarki i klasy drukarek, kolejki pliki konwersji(magic rules) i typów MIME(text/plain,..) pliki PPD (PostScript Printer Description) - opisy drukarek CUPS API - funkcje realizujące kolejkowanie, wydruk, dostęp przez protokoły HTTP i IPP Backend - program wysyłający dane na port drukarki Filtry - program przetwarzający dane do wydruku Imaging - funkcje przetwarzania obrazu

CUPS - instalacja tar xvzf cups-1.2.x-source.tar.gz cd cups-1.2.x./configure make su - root make install

CUPS a LPRng CUPS - domyślny w RedHat 9.0 Instalacja LPRng montowanie płyty RH9(2) mount /dev/cdrom /mnt/cdrom cd /mnt/cdrom/redhat/rpms rpm -i LPRng-3.8.19-3.i386.rpm Wybór systemu wydruku alternatives --display print alternatives --config print

CUPS - konfigurowanie /etc/cups cupsd.conf - plik konfiguracyjny schedulera client.conf - plik konfiguracyjny klienta printer.conf - plik konfiguracyjny drukarek Print Manager - pasek Start Printtool dodanie drukarki lokalnej locally-connected: LaserJet dzielenie (ang. sharing) Action sharing: Enable LPD protocol wybór systemu sieciowego: SMB, NetWare,... http://localhost:631

CUPS - startowanie Automatyczne w trakcie startu systemu pasek Start -> Services wybór: cups-lpd, lpd,... Ręczne service cups start service cups restart service cups stop

System grafiki - założenia Większość współczesnych systemów operacyjnych jest wyposażona w użytkowy interfejs graficzny Sieciowy system operacyjny musi posiadać zaimplementowane narzędzia pozwalające na wykorzystanie tego interfejsu na zdalnych monitorach Model klient-serwer Protokól sieciowy powinien umożliwiać łączenie grafiki różnych systemów operacyjnych

Elementy grafiki Urządzenie wskazujące (ang.pointing device) np. myszka, gładzik (ang. touchpad) Okna (ang. windows) Fonty Ikony Menu aplikacji w pasku kontekstowe w miejscu kliknięcia Kontrolki (ang. widgets)

Przykład Apple System 7 (1991)

X Window System X Window System, lub też X11 albo X jest kompletnym interfejsem graficznym z okienkami przeznaczonym dla systemów uniksowych X-y zostały opracowane w ramach projektu Athena realizowanego przez MIT i DEC http://www.x.org XFree86 implementacja X-ów dla architektury i386 jest używana w Linuxie i Cygwinie ftp.xfree86.org/pub/xfree86 Inne implementacje: CDE, Open Look

X Window System (c.d.) X protokół Porty 6000-6063 Biblioteka Xlib Interfejs w C do protokołu X Linie i proste kształty Xt Intrinsics biblioteka do budowania kontrolek Biblioteki kontrolek Okno, pasek (ang. scroll bar), przycisk (ang. button) X Athena Widgets (Xaw), Motif, Gtk, Qt Rozszerzenia systemu X Windows GLI, DRI, DGA, LBX Dodatkowe serwery (np. fontów)

Przykład - kontrolki Qt 3.3.4

Architektura X Windows

X11 - hierarchia mechanizmów

Systemy grafiki na W9x/NT XFree86 może działać pod systemem Windows Cygwin - emulator Unixa na W98/NT/2K/XP + XFree86 cd xfree/xc-4-binaries/4.1.0/ gunzip extract.exe sh Xinstall.sh Solstice VNC Server Microsoft Terminal Services (XP Pulpit zdalny) http://www.microsoft.com/windows2000/technologies/terminal Inne produkty http://www.citrix.com/ http://www.metrolink.com/ Klient unixowy: rdesktop

Pojęcia związane z X-ami DISPLAY - zmienna środowiskowa <nazwa_komputera>:numer_displaya.numer_ekranu nazwa_komputera - specyfikuje maszynę numer_displaya - specyfikuje zwykle monitory z tą samą myszą i klawiaturą X serwer - program zajmujący się udostępnianiem zasobów graficznych X klient - program aplikacji, który wysyła żądania do X serwera (np. narysuj linię) Przykłady X klienta xterm - emuluje terminal, menedżer okien - zarządzanie oknami: twm, fvwm, olvwm, sawfish znitegrowane środowiska graficzne - GNOME, KDE, XFCE menedżer sesji XDM, GDM Pokaz działania Cygwin wirtualny RH9

Struktura X11 /usr/x11r6 - główny katalog /usr/x11r6/bin - programy X-owe /usr/x11r6/lib - biblioteki ładowalne /usr/x11r6/lib/x11 - pliki konfiguracyjne ( lub /etc/x11) /usr/x11r6/lib/x11/app-defaults - wartości domyślne /usr/x11r6/lib/x11/fonts - katalogi z fontami /usr/x11r6/lib/x11/rgb.txt - nazwy kolorów /usr/x11/xinitrc - plik inicjujący system X /etc/x11/.xresources - plik zasobów X /etc/x11/.xmodmap - plik konfigurujący urządzenia wejściowe systemu X /etc/x11/xdm -menedżer sesji systemu X

Przykład ps -ax PID TTY STAT TIME COMMAND 1? S 0:04 init... 600? S 0:00 xfs -droppriv -daemon -port -1 671 tty1 S 0:00 sh /usr/x11r6/bin/startx 678 tty1 S 0:00 xinit /etc/x11/xinit/xinitrc -- :0 679? S 0:01 /etc/x11/x :0 -auth /root/.xauthority 682 tty1 S 0:00 /usr/bin/gnome-session 696 tty1 S 0:00 gnome-smproxy --sm-client-id default0 702 tty1 S 0:00 enlightment -clientid default2 717 tty1 S 0:00 panel --sm-client-id default8

Działanie X-ów Jedyny fragment systemu X dowiązany do konkretnego sprzętu (t.j. karty grafiki, myszy i klawiatury) to X serwer Każda zdalna aplikacja realizowana przez serwer musi po uzyskaniu zgody na realizację wynegocjować warunki swego działania Problemy wynikające z tego to startowanie X serwera uwierzytelnianie aplikacji oraz cechy wspólne określenie wartości domyślnych (zasobów graficznych) aplikacji kontrola i obsługa czcionek (fontów)

Działanie X-ów (c.d.) Komenda X, initx, startx, xdm zamykanie Ctrl-Alt-Backspace Uwierzytelnianie xauth - program do uwierzytelniania dla X serwera xauth extract -$DISPLAY rsh pc1 xauth merge - xhost - dodawanie i usuwanie hostów uprawnionych do korzystania z X serwera (/etc/x0.hosts) xhost + - dodaj wszystkich opcje aplikacji (cechy wspólne) mogą być definiowe przez użytkownika z linii komend lub zapamiętane w bazie danych o zasobach rdb (resource database)

Opcje aplikacji -display host:0 -geometry szerokość x wysokość {+ -} XOFF {+ -} YOFF XOFF - odległość od lewego (+) lub prawego (-) marginesu w pixelach YOFF - odległość od górnego (+) lub dolnego (-) marginesu w pixelach xterm -geometry 80x24+30+200 -display lab78:0 +0+0-0+0 +0-0 -0-0

Opcje aplikacji (c.d.) -bg kolor - kolor tła -fg kolor - kolor tekstu -bd kolor - kolor brzegu -bw liczba - szerokość brzegu okna -fn font - nazwa czcionki dla tekstu Do obsługi bazy danych rdb wykorzystuje się program xset, którym użytkownik zmienia wartości domyślne (np. czcionki) zawarte w pliku.xresources i.xdefaults xset b on - włącza głośniczek Definicja myszy i klawiatury : Xmodmap

Obsługa czcionek Czcionki możemy brać z dysku lokalnego lub zdalnego (NFS) z serwera fontów xfs przez TCP/IP Narzędzia do obsługi czcionek xfd, xlsfonts - wylistowanie czcionek xfontsel - wyświetlenie czcionki xset - dodaje lub usuwa czcionkę xset +fp /usr/local/fonts/myfont xbdftopcf - konwertuje fonty bdf ( Bitmap Distribution Format) na pcf (Portable Compiled Format) mkfontdir - tworzy index w katalogu fonts.dir, z którego korzysta X serwer oraz serwer fontów xfs

Nazwy czcionek System nazw: X Logical Font Description (XFLD) -adobe-courier-medium-r-normal--8-80-75-75-m-50-iso8859-1*-fixed-boldr-normal--13-120-*-*-*-*-*-* adobe - właściciel courier - rodzaj medium - wielkość r - krój (rozmiar) normal - szerokość 8 - rozmiar w pixelach 80 - rozmiar w dzisiątkach punktów 75 - roździelczość w dpi m - font o stałej szerokości (p - proporcjonalny) iso8859-1 - zbiór znaków Latin1 (nadzbiór ASCII)