Ogólne informacje na temat obsługi urządzeń Plug & Play

Po zidentyfikowaniu BIOS daru, karty graficznej i klawiatury jest gotowa do rozpoczęcia uruchamiania (ładowanie systemu operacyjnego do pamięci z twardego pomysłu). Jeśli powiedziałeś BIOS, że masz system operacyjny PNP (PNP OS), powinien rozpocząć uruchamianie komputera jak wyżej i pozwolić systemowi operacyjne zakończyć konfigurację PNP. W przeciwnym razie PNP-BIOS (przed uruchomieniem) prawdopodobnie spróbuje wykonać resztę PNP konfigurując urządzenia (ale nie informować sterowników urządzeń o tym, co zrobił). Ale kierowcy mogą to dowiedzieć się, wykorzystując funkcje dostępne w jądrze Linux.

Czy urządzenia wtyk i odtwarzania potrzebują sterowników?

Jeśli nie rozumiesz tej sekcji, przeczytaj następną sekcję urządzeń sprzętowych i komunikacja z nimi

Nadmierne uproszczone, plug-and-play informuje oprogramowanie (sterowniki urządzeń), gdzie znaleźć różne elementy sprzętu (urządzeń), takie jak modemy, karty sieciowe, karty dźwiękowe itp. Zadaniem Plug-and-Play jest dopasowanie urządzeń fizycznych do oprogramowania (sterowników urządzeń), które je obsługują i ustanowienie kanałów komunikacji między każdym urządzeniem fizycznym a jego sterownikiem. Aby to osiągnąć, PNP przydziela i ustawia następujące „zasobów autobusowych” w sprzęcie: adresy we/wy, regiony pamięci, IRQS, kanały DMA (tylko autobusy LPC i ISA). Te 4 rzeczy są czasami nazywane „zasobami 1. zamówienia” lub po prostu „zasobami”. PNP prowadzi zapis tego, co się robi i pozwala sterownikom urządzeń na uzyskanie tych informacji. Jeśli nie rozumiesz, jakie są te 4 zasoby autobusowe, przeczytaj następujące podrozdziały tego Howto: I/O, IRQS, kanały DMA, regiony pamięci. Artykuł w Linux Gazette dotyczące 3 z tych zasobów autobusowych jest wprowadzeniem do adresów IRQ, DMA i podstawowych adresów. Po przypisaniu tych zasobów autobusowych (i jeśli zainstalowany jest prawidłowy sterownik), rzeczywisty sterownik i „pliki” w katalogu /Dev są gotowe do użycia.

To przypisanie PNP zasobów autobusowych jest czasami nazywane „konfiguracją”, ale jest to tylko typ konfiguracji niskiego poziomu. Katalog /etc ma wiele plików konfiguracyjnych, ale większość z nich nie dotyczy konfiguracji PNP. Tak więc większość konfiguracji urządzeń sprzętowych nie ma nic wspólnego z PNP ani zasobów autobusowych. Na przykład inicjowanie modemu przez „ciąg init” lub ustawianie jego prędkości nie jest PNP. Zatem podczas mówienia o PNP „Konfigurowanie” oznacza tylko pewien rodzaj konfiguracji. Podczas gdy inna dokumentacja (np. MS Windows) po prostu wywołuje „zasoby” autobusów, czasami używam terminu „zasobów autobusowych” zamiast „zasobów”, aby odróżnić je od wielu innych rodzajów zasobów.

PNP to proces wykonany przez różne oprogramowanie i sprzęt. Gdyby istniał tylko jeden program, który w Linux zajmował się PNP, byłoby to proste. Ale z Linuksa każdy sterownik urządzenia wykonuje własny PNP, przy użyciu oprogramowania dostarczanego przez jądro. Sprzęt BIOS komputera wykonuje PNP, gdy komputer jest po raz pierwszy zasilany. I jest o wiele więcej niż to.

Komputer składa się z procesora/procesora do wykonywania pamięci obliczeniowej i pamięci RAM do przechowywania programów i danych (dla szybkiego dostępu). Ponadto istnieje wiele urządzeń, takich jak różne rodzaje jazdy na dysku, karta graficzna, klawiatura, urządzenia sieciowe, karty modemu, urządzenia dźwiękowe, porty USB, porty szeregowe i równoległe itp. W dawnych czasach większość urządzeń była na kartach włożonych do gniazd na komputerze. Dziś wiele urządzeń, które wcześniej były karty, są teraz na pokładzie, ponieważ są zawarte w frytkach na płycie głównej. Istnieje również zasilacz, aby zapewnić energię elektryczną, różne autobusy na płycie głównej, aby podłączyć urządzenia z procesorem, oraz obudowa, aby włożyć to wszystko.

Karty, które podłączają się do płyty głównej, mogą zawierać więcej niż jedno urządzenie. Chipy pamięci są również czasem uważane za urządzenia, ale nie są wtyk w tym sensie używanym w tym howto.

Aby system komputerowy działał dobrze, każde urządzenie musi być pod kontrolą „sterownika urządzenia”. Jest to oprogramowanie, które jest częścią systemu operacyjnego (być może załadowanego jako moduł) i działa na procesorze. Sterowniki urządzeń są powiązane z „specjalnymi plikami” w katalogu /dev, chociaż nie są to tak naprawdę pliki. Mają takie nazwy, jak HDA3 (trzecia partycja na dysku twardym A), TTYS1 (drugi port szeregowy), ETH0 (pierwsza karta Ethernet) itp.

Urządzenie ETH0 dotyczy karty Ethernet (karta NIC). Wcześniej było to /dev /eth0, ale teraz jest to tylko wirtualne urządzenie w jądrze. To, co ETH0 odnosi się, zależy od rodzaju posiadanej karty Ethernet. Jeśli sterownik jest modułem, to przypisanie jest prawdopodobnie w wewnętrznej tabeli jądra, ale można go znaleźć w /etc /modułach.Conf (zwany „aliasem”). Na przykład, jeśli masz kartę Ethernet, która używa układu „Tulip”, możesz umieścić „alias eth0 Tulip” w /etc /moduły.Conf, tak że gdy twój komputer prosi o ETH0, znajdzie sterownik tulipana. Jednak nowoczesne jądra zwykle mogą znaleźć odpowiedni moduł sterownika, aby rzadko potrzebujesz go samodzielnie określić.

Aby kontrolować urządzenie, procesor (pod kontrolą sterownika urządzenia) wysyła polecenia i dane do statusu i danych z różnych urządzeń. Aby to zrobić, każdy sterownik urządzenia musi znać adres urządzenia, które kontroluje. Znajomość takiego adresu jest równoważna konfigurowanie kanału komunikacyjnego, mimo że fizyczny „kanał” jest w rzeczywistości magistrali danych w komputerze, który jest udostępniany wieloma innymi urządzeniami.

Ten kanał komunikacyjny jest w rzeczywistości nieco bardziej złożony niż opisano powyżej. „Adres” jest w rzeczywistości zakresem adresów, więc czasami używane jest słowo „zakres” zamiast „adresu”. Może być nawet więcej niż jeden zakres (bez nakładania się) dla jednego urządzenia. Istnieje również odwrotna część kanału (znana jako przerwania), która pozwala urządzeniom wysłać pilne żądanie „pomocy” do sterownika urządzenia.

PCI Bus ma 3 przestrzenie adresowe: I/O, pamięć główna (pamięć IO) i konfiguracja.


Ogólne informacje na temat obsługi urządzeń Plug & Play

Po zidentyfikowaniu BIOS daru, karty graficznej i klawiatury jest gotowa do rozpoczęcia uruchamiania (ładowanie systemu operacyjnego do pamięci z twardego pomysłu). Jeśli powiedziałeś BIOS, że masz system operacyjny PNP (PNP OS), powinien rozpocząć uruchamianie komputera jak wyżej i pozwolić systemowi operacyjne zakończyć konfigurację PNP. W przeciwnym razie PNP-BIOS (przed uruchomieniem) prawdopodobnie spróbuje wykonać resztę PNP konfigurując urządzenia (ale nie informować sterowników urządzeń o tym, co zrobił). Ale kierowcy mogą to dowiedzieć się, wykorzystując funkcje dostępne w jądrze Linux.

Czy urządzenia wtyk i odtwarzania potrzebują sterowników?

Jeśli nie rozumiesz tej sekcji, przeczytaj następną sekcję urządzeń sprzętowych i komunikacja z nimi

Nadmierne uproszczone, plug-and-play informuje oprogramowanie (sterowniki urządzeń), gdzie znaleźć różne elementy sprzętu (urządzeń), takie jak modemy, karty sieciowe, karty dźwiękowe itp. Zadaniem Plug-and-Play jest dopasowanie urządzeń fizycznych do oprogramowania (sterowników urządzeń), które je obsługują i ustanowienie kanałów komunikacji między każdym urządzeniem fizycznym a jego sterownikiem. Aby to osiągnąć, PNP przydziela i ustawia następujące „zasobów autobusowych” w sprzęcie: adresy we/wy, regiony pamięci, IRQS, kanały DMA (tylko autobusy LPC i ISA). Te 4 rzeczy są czasami nazywane „zasobami 1. zamówienia” lub po prostu „zasobami”. PNP prowadzi zapis tego, co się robi i pozwala sterownikom urządzeń na uzyskanie tych informacji. Jeśli nie rozumiesz, jakie są te 4 zasoby autobusowe, przeczytaj następujące podrozdziały tego Howto: I/O, IRQS, kanały DMA, regiony pamięci. Artykuł w Linux Gazette dotyczące 3 z tych zasobów autobusowych jest wprowadzeniem do adresów IRQ, DMA i podstawowych adresów. Po przypisaniu tych zasobów autobusowych (i jeśli zainstalowany jest prawidłowy sterownik), rzeczywisty sterownik i „pliki” w katalogu /Dev są gotowe do użycia.

To przypisanie PNP zasobów autobusowych jest czasami nazywane „konfiguracją”, ale jest to tylko typ konfiguracji niskiego poziomu. Katalog /etc ma wiele plików konfiguracyjnych, ale większość z nich nie dotyczy konfiguracji PNP. Tak więc większość konfiguracji urządzeń sprzętowych nie ma nic wspólnego z PNP ani zasobów autobusowych. Na przykład inicjalizacja modemu przez „ciąg init” lub ustawienie jego prędkości nie jest PNP. Zatem podczas mówienia o PNP „Konfigurowanie” oznacza tylko pewien rodzaj konfiguracji. Podczas gdy inna dokumentacja (np. MS Windows) po prostu wywołuje „zasoby” autobusów, czasami używam terminu „zasobów autobusowych” zamiast „zasobów”, aby odróżnić je od wielu innych rodzajów zasobów.

PNP to proces wykonany przez różne oprogramowanie i sprzęt. Gdyby istniał tylko jeden program, który w Linux zajmował się PNP, byłoby to proste. Ale z Linux każdy sterownik urządzenia robi własny PNP, przy użyciu oprogramowania dostarczanego przez jądro. Sprzęt BIOS komputera wykonuje PNP, gdy komputer jest po raz pierwszy zasilany. I jest o wiele więcej niż to.

Komputer składa się z procesora/procesora do wykonywania pamięci obliczeniowej i pamięci RAM do przechowywania programów i danych (dla szybkiego dostępu). Ponadto istnieje wiele urządzeń, takich jak różne rodzaje jazdy na dysku, karta graficzna, klawiatura, urządzenia sieciowe, karty modemu, urządzenia dźwiękowe, porty USB, porty szeregowe i równoległe itp. W dawnych czasach większość urządzeń była na kartach włożonych do gniazd na komputerze. Dziś wiele urządzeń, które były wcześniej karty, jest teraz na pokładzie, ponieważ są zawarte w frytkach na płycie głównej. Istnieje również zasilacz, aby zapewnić energię elektryczną, różne autobusy na płycie głównej, aby podłączyć urządzenia z procesorem, oraz obudowa, aby włożyć to wszystko.

Karty, które podłączają się do płyty głównej, mogą zawierać więcej niż jedno urządzenie. Chipy pamięci są również czasem uważane za urządzenia, ale nie są wtyk w tym sensie używanym w tym howto.

Aby system komputerowy działał dobrze, każde urządzenie musi być pod kontrolą „sterownika urządzenia”. Jest to oprogramowanie, które jest częścią systemu operacyjnego (być może załadowanego jako moduł) i działa na procesorze. Sterowniki urządzeń są powiązane z „specjalnymi plikami” w katalogu /dev, chociaż nie są to tak naprawdę pliki. Mają takie nazwy, jak HDA3 (trzecia partycja na dysku twardym A), TTYS1 (drugi port szeregowy), ETH0 (pierwsza karta Ethernet) itp.

Urządzenie ETH0 dotyczy karty Ethernet (karta NIC). Wcześniej było to /dev /eth0, ale teraz jest to tylko wirtualne urządzenie w jądrze. To, co ETH0 odnosi się, zależy od rodzaju posiadanej karty Ethernet. Jeśli sterownik jest modułem, to przypisanie jest prawdopodobnie w wewnętrznej tabeli jądra, ale można go znaleźć w /etc /modułach.Conf (zwany „aliasem”). Na przykład, jeśli masz kartę Ethernet, która używa układu „Tulip”, możesz umieścić „alias eth0 Tulip” w /etc /moduły.Conf, tak że gdy twój komputer prosi o ETH0, znajdzie sterownik tulipana. Jednak nowoczesne jądra zwykle mogą znaleźć odpowiedni moduł sterownika, aby rzadko potrzebujesz go samodzielnie określić.

Aby kontrolować urządzenie, procesor (pod kontrolą sterownika urządzenia) wysyła polecenia i dane do statusu i danych z różnych urządzeń. Aby to zrobić, każdy sterownik urządzenia musi znać adres urządzenia, które kontroluje. Znajomość takiego adresu jest równoważna konfigurowanie kanału komunikacyjnego, mimo że fizyczny „kanał” jest w rzeczywistości magistrali danych w komputerze, który jest udostępniany wieloma innymi urządzeniami.

Ten kanał komunikacyjny jest w rzeczywistości nieco bardziej złożony niż opisano powyżej. „Adres” jest w rzeczywistości zakresem adresów, dzięki czemu czasami używane jest słowo „zakres” zamiast „adresu”. Może być nawet więcej niż jeden zakres (bez nakładania się) dla jednego urządzenia. Istnieje również odwrotna część kanału (znana jako przerwania), która pozwala urządzeniom wysłać pilne żądanie „pomocy” do sterownika urządzenia.

PCI Bus ma 3 przestrzenie adresowe: I/O, pamięć główna (pamięć IO) i konfiguracja. Stary autobus ISA nie ma prawdziwej przestrzeni adresowej „konfiguracji”. Tylko przestrzenie pamięci I/0 i IO są używane do urządzenia IO. Adresy konfiguracji są ustalone i nie można ich zmienić, więc nie trzeba ich przydzielić. Aby uzyskać więcej informacji, zobacz przestrzeń adresu konfiguracji PCI

Gdy procesor chce uzyskać dostęp do urządzenia, umieszcza adres urządzenia w głównej magistrali komputera (dla PCI: adres/magistrala danych). Wszystkie rodzaje adresów (takie jak zarówno we/wy, jak i pamięć główna) dzielą tę samą magistralę w komputerze. Ale obecność lub brak napięcia na niektórych dedykowanych przewodach w magistrali komputera informuje, który „przestrzeń” jest adres: we/wy, pamięć główna, (patrz zakresy pamięci) lub konfiguracja (tylko PCI). Jest to nieco uproszczone, ponieważ poinformowanie urządzenia PCI, że jest to dostęp do konfiguracji dostępu do przestrzeni niż opisano powyżej. Szczegółowe informacje na temat konfiguracji PCI. Więcej informacji na temat adresowania w ogóle można znaleźć.

Adresy urządzenia są przechowywane w jego rejestrach w urządzeniu fizycznym. Można je zmienić według oprogramowania i można je wyłączyć, aby urządzenie nie miało żadnego adresu. Z wyjątkiem tego, że adresu konfiguracji PCI nie można zmienić ani wyłączyć.

Urządzenia były pierwotnie zlokalizowane w przestrzeni adresowej we/wy, ale dziś mogą używać miejsca w pamięci głównej. Adres I/0 jest czasami nazywany „I/O”, „IO”, „I/O” lub „IO”. Używane są również terminy „port we/wy” lub „zakres we/wy”. Nie myl tych portów IO z „pamięcią IO” zlokalizowaną w pamięci głównej. Istnieją dwa główne kroki do przydzielenia adresów we/wy (lub innych zasobów autobusowych, takich jak przerwania w autobusie ISA):

  1. Ustaw adres we/wy itp. w sprzęcie (w jednym z jego rejestrów)
  2. Poinformuj sterownika urządzenia, jaki ten adres we/wy itp. Jest

Często sterownik urządzenia wykonuje oba te (coś w rodzaju). Sterownik urządzenia tak naprawdę nie musi ustawić adresu we/wy, jeśli dowie się, że adres został wcześniej ustawiony (być może przez BIOS) i jest gotów zaakceptować ten adres. Gdy sterownik albo dowie się, jaki adres został wcześniej ustawiony, albo ustawia sam adres, to oczywiście wie, na czym polega adres.

Dwa kroki powyżej (1. Ustaw adres w sprzęcie. 2. Poinformuj kierowcę o tym.) to coś w rodzaju dwóch części problemu znalezienia czyjejś numeru domu na ulicy. Ktoś musi zainstalować numer z przodu domu, aby można go było znaleźć, a następnie osoby, które mogą chcieć pójść na ten adres (i zapisać) ten numer domu, aby mogli znaleźć dom. W przypadku komputerów sprzęt urządzenia musi najpierw uzyskać swój adres w specjalnym rejestrze w swoim sprzęcie (umieść numer domu), a następnie sterownik urządzenia musi uzyskać ten adres (napisz numer domu w książce adresowej). Oba muszą być wykonane, automatycznie przez oprogramowanie lub poprzez ręczne wprowadzanie danych do plików konfiguracyjnych. Problemy mogą wystąpić, gdy tylko jeden z nich zostanie wykonany dobrze.

W przypadku ręcznej konfiguracji PNP niektórzy ludzie popełniają błąd, wykonując tylko jeden z tych dwóch kroków, a następnie zastanawiają się, dlaczego komputer nie może znaleźć urządzenia. Na przykład mogą użyć „setSerial”, aby przypisać adres do portu szeregowego, nie zdając sobie sprawy, że to tylko mówi sterownikowi adres. Nie ustawia adresu w samym sprzęcie portu szeregowego. Jeśli powiedziałeś kierowcy źle, masz kłopoty. Innym sposobem poinformowania kierowcy jest podanie adresu jako opcji modułu jądra (sterownik urządzenia). Jeśli to, co powiesz, jest złe, mogą wystąpić problemy. Inteligentny sterownik może wykryć sposób ustawiania sprzętu i odrzucić nieprawidłowe informacje dostarczone przez opcję (lub przynajmniej wydać komunikat o błędzie).

Oczywistym wymogiem jest to, że zanim sterownik urządzenia będzie mógł użyć adresu, musi być najpierw ustawienie w urządzeniu fizycznym (takim jak karta). Ponieważ sterowniki urządzeń często uruchamiają się wkrótce po uruchomieniu komputera, czasami próbują uzyskać dostęp do karty (aby sprawdzić, czy jest tam itp.) Przed ustawieniem adresu na karcie przez program konfiguracji PNP. Wtedy widzisz komunikat o błędzie, którego nie mogą znaleźć karty, nawet jeśli jest tam (ale jeszcze nie ma adresu).

To, co zostało powiedziane w ostatnich akapitach dotyczących adresów we/wy, dotyczy równej siły do ​​większości innych zasobów autobusowych: zakresów pamięci, IRQS-OVERVIEW i DMA. To, co są wyjaśnione w następnych 3 sekcjach. Wyjątkiem jest to, że przerwania w magistrali PCI nie są ustawione przez rejestry kart, ale zamiast tego są kierowane (odwzorowane) do IRQS przez układ na płycie głównej. Wówczas IRQ karta PCI jest kierowana do rejestru karty tylko w celach informacyjnych.

Aby zobaczyć, jakie adresy IO są używane na twoim komputerze, spójrz na plik /proc /ioports.

Wiele urządzeń przypisuje się miejsce adresu w pamięci głównej. Czasami nazywa się to „pamięć udostępniona” lub „mapowana na pamięć IO” lub „pamięć IO”. Ta pamięć znajduje się fizycznie w urządzeniu fizycznym, ale komputer uzyskuje go tak, jakby dostęp do pamięci na układach pamięci. Omawiając resourtyki autobusowe, często nazywa się to „pamięcią”, „MEM” lub „Iomem”. Oprócz użycia takiej „pamięci” takie urządzenie może również używać konwencjonalnej przestrzeni adresowej IO. Aby zobaczyć, co MEM jest używane na twoim komputerze, spójrz na /proc /iomem. Ten „plik” zawiera pamięć używaną przez zwykłe układy pamięci RAM, dzięki czemu ogólnie pokazuje alokacja pamięci, a nie tylko alokacja IOMEM. Jeśli zobaczysz dziwny numer zamiast nazwy, prawdopodobnie jest to liczba urządzenia PCI, które możesz zweryfikować, wpisując „LSPCI”.

Kiedy wkładasz kartę, która używa IOMEM, w efekcie wkładasz również moduł pamięci dla pamięci głównej. Wysoki adres jest wybierany przez PNP, dzięki czemu nie jest sprzeczny z modułami pamięci głównej (układy). Ta pamięć może być ROM (odczyt tylko pamięć) lub pamięć udostępniona. Udostępniona pamięć jest udostępniana między urządzeniem a procesorem (uruchamiając sterownik urządzenia), podobnie jak przestrzeń adresowa IO jest udostępniana między urządzeniem i procesorem. Ta wspólna pamięć służy jako sposób „przesyłania” danych między urządzeniem a pamięcią główną. Jest to wejście (IO), ale nie jest zrobione w przestrzeni IO. Zarówno karta, jak i sterownik urządzenia muszą znać zakres pamięci.

ROM (czytaj tylko pamięć) na kartach to inny rodzaj IOMEM. Jest to prawdopodobnie program (być może sterownik urządzenia), który będzie używany z urządzeniem. Może to być kod inicjalizacyjny, aby nadal wymagał sterownika urządzenia. Mamy nadzieję, że będzie działać z Linux, a nie tylko MS Windows. Może być wymagane, co oznacza, że ​​jest kopiowany do układów głównych, aby działać szybciej. Po jego cieniu nie jest już „czytać tylko”.

Po przeczytaniu tego możesz chcieć przeczytać przerwania -Pretails dla o wiele więcej szczegółów. Poniżej znajduje się celowo uproszczona: oprócz adresu istnieje również numer przerwania (taki jak IRQ 5). Nazywa się to numer IRQ (żądanie przerwania) lub po prostu „IRQ” w skrócie. Wspomnialiśmy już powyżej, że sterownik urządzenia musi znać adres karty, aby móc się z nią komunikować.

Ale co z komunikacją w przeciwnym kierunku? Załóżmy, że urządzenie musi natychmiast powiedzieć sterownik urządzenia. Na przykład urządzenie może odbierać wiele bajtów przeznaczonych do pamięci głównej, a jego bufor używany do przechowywania tych bajtów jest prawie pełny. W ten sposób urządzenie musi powiedzieć sterownikowi, aby od razu pobierał te bajty, zanim bufor przepełnie się z nadchodzącego przepływu bajtów. Innym przykładem jest sygnalizowanie sterownika, że ​​urządzenie zakończyło wysyłanie wiązki bajtów i teraz czeka na kolejne bajty z sterownika, aby mógł je również wysłać.

Jak urządzenie powinno szybko sygnalizować sterownik? Może nie być w stanie korzystać z głównej magistrali danych, ponieważ prawdopodobnie jest już w użyciu. Zamiast tego nakłada napięcie na dedykowanym przewodzie przerwania (zwanym również linią lub śladem), który jest często zarezerwowany dla samego urządzenia. Ten sygnał napięcia nazywany jest żądaniem przerwania (IRQ) lub po prostu „przerwanie” w skrócie. Istnieje odpowiednik 16 (lub 24 itp.) Takie przewody na komputerze i każdy przewód prowadzi (pośrednio) do określonego sterownika urządzenia. Każdy drut ma unikalny numer IRQ (żądanie przerwania). Urządzenie musi umieścić swoje przerwanie na właściwym przewodzie, a sterownik urządzenia musi słuchać przerwania w odpowiednim przewodzie. Które przewody urządzenia wysyła takie „żądania pomocy”, jest określone przez numer IRQ zapisany w urządzeniu. Ten sam numer IRQ musi być znany sterownikowi urządzenia, aby sterownik urządzenia wiedział, na jakim linii IRQ do słuchania.

Gdy sterownik urządzenia otrzyma przerwanie z urządzenia, musi dowiedzieć się, dlaczego przerwanie zostało wydane i podjąć odpowiednie działania w celu obsługi przerwania. W magistrali ISA każde urządzenie zwykle potrzebuje własnego unikalnego numeru IRQ. W przypadku magistrali PCI i innych specjalnych przypadków udostępnianie IRQ jest dozwolone (dwa lub więcej urządzeń PCI może mieć ten sam numer IRQ). Ponadto w przypadku PCI każde urządzenie PCI ma stały przewód „PCI przerwania”. Ale programowalny układ routingu mapuje przewody PCI do przerwań typu ISA. Zobacz przerwy -szczegółowe informacje na temat tego, jak działa wszystkie powyższe.

  1. Czytanie kawałka bajtów z przestrzeni pamięci we/wy urządzenia i wkładanie tych bajtów w sam procesor
  2. Pisanie tych bajtów z procesora do pamięci głównej

Z DMA jest to jeden krok do procesu wysyłania bajtów bezpośrednio z urządzenia do pamięci. Urządzenie musi mieć możliwości DMA wbudowane w swoje sprzęt, a zatem nie wszystkie urządzenia mogą zrobić DMA. Podczas gdy DMA trwa, procesor nie może zrobić zbyt wiele, ponieważ główny autobus jest używany przez transfer DMA.

Stary autobus ISA może wykonać powolne DMA, podczas gdy autobus PCI robi „DMA” przez mastering autobus. Autobus LPC ma zarówno stary DMA, jak i nowy DMA (Mastering Bus). W autobusie PCI to, co dokładniej należy nazwać „masteringiem autobusowym”, jest często nazywane „ultra dMA”, „BM-DNA”, „UDMA” lub po prostu „DMA”, mastering autobusowy pozwala urządzeniom tymczasowego stania. Nie używa żadnych numerów kanałów, ponieważ organizacja magistrali PCI jest taka, że ​​sprzęt PCI wie, które urządzenie jest obecnie mistrzem magistrali, a które urządzenie prosi o stać się magistrem. Zatem nie ma alokacji zasobów kanałów DMA dla magistrali PCI i nie ma zasobów kanału DMA dla tej magistrali. Magistralę LPC (Low Pin) powinna być skonfigurowana przez system BIOS, aby użytkownicy nie powinni się martwić o swoje kanały DMA.

Dotyczy to tylko autobusu LPC i starego autobusu ISA. Kiedy urządzenie chce zrobić DMA, wydawało to powrót DMA za pomocą dedykowanych przewodów żądań DMA, podobnie jak żądanie przerwania. DMA faktycznie można było rozwiązać za pomocą przerwań, ale wprowadziłoby to pewne opóźnienia, więc jest to szybsze, mając specjalny rodzaj przerwania znanego jako powrót DMA. Podobnie jak przerwania, zgłaszane są DMA, aby określić, które urządzenie składa żądanie. Ta liczba nazywa się kanałem DMA. Ponieważ wszystkie transfery DMA używają głównej magistrali (i tylko można działać na raz), wszystkie faktycznie używają tego samego kanału do przepływu danych, ale liczba „kanału DMA” służy do identyfikacji, kto używa „kanału”. Na płycie głównej istnieją rejestry sprzętu, które przechowują obecny status każdego „kanału”. W ten sposób, aby wydać powrót DMA, urządzenie musi znać swój numer kanałowy DMA, który musi być przechowywany w specjalnym rejestrze na urządzeniu fizycznym.

Zatem sterowniki urządzeń muszą być w jakiś sposób „podłączone” do sterowania, który kontroluje sprzęt. Odbywa się to poprzez przydzielenie zasobów autobusowych (we/wy, pamięci, IRQ, DMA) zarówno do urządzenia fizycznego, jak i pozwalając sterownikowi urządzenia, aby się o tym dowiedzieć. Na przykład port szeregowy wykorzystuje tylko 2 zasoby: adres IRQ i I/O. Obie te wartości muszą być dostarczone do sterownika urządzenia i urządzenia fizycznego. Sterownik (i jego urządzenie) otrzymuje również nazwę w katalogu /dev (np. TTYS1). Adres i numer IRQ są przechowywane przez urządzenie fizyczne w rejestrach konfiguracyjnych na swojej karcie (lub na chipie na płycie głównej). Stary sprzęt (w połowie lat 90.) używał przełączników (lub skoczków) do fizycznego ustawienia IRQ i adresu w sprzęcie. To ustawienie pozostało ustalone, dopóki ktoś nie zwolni osłony komputera i poruszył skoczków.

Ale w przypadku PNP (bez skoczków) dane rejestru konfiguracji są zwykle utracone, gdy komputer jest zasilany (wyłączony), aby dane dotyczące zasobów magistrali muszą być dostarczane do każdego urządzenia na nowo za każdym razem, gdy komputer jest włączony.

Idealne komputery

Architektura komputera zapewnia tylko ograniczoną liczbę zasobów: kanały IRQ, DMA, adres we/wy i regiony pamięci. Gdyby istniały tylko urządzenia o ograniczonej liczbie i wszystkie wykorzystywały znormalizowane wartości zasobów autobusowych (takie jak unikalne adresy we/wy i liczby IRQ), nie byłoby problemu z dołączaniem sterowników urządzeń do urządzeń. Każde urządzenie miałoby stałe zasoby, które nie byłyby sprzeczne z żadnym innym urządzeniem na komputerze. Żadne dwa urządzenia nie miałyby tych samych adresów, nie byłoby konfliktów IRQ w autobusie ISA itp. Każdy sterownik byłby zaprogramowany z unikalnymi adresami, IRQ itp. Zakodowane w programie. Życie byłoby proste.

Innym sposobem zapobiegania konfliktom adresu byłoby zawarcie numeru szczeliny każdej karty w ramach adresu. Zatem nie może być konfliktu adresowego między dwiema różnymi kartami (ponieważ są one w różnych miejscach). Projektowanie karty nie pozwoliłoby na konflikty między różnymi funkcjami karty. Okazuje się, że przestrzeń adresu konfiguracji (używana do zapytania i przypisania zasobów) faktycznie to robi. Ale nie jest to zrobione dla adresów we/wy ani regionów pamięci. Dzielenie się IRQS jak w autobusie PCI również unika konfliktów, ale może powodować inne problemy.

Prawdziwe komputery

Ale architektura PC ma problemy z konfliktami. Wzrost liczby urządzeń (w tym wiele urządzeń tego samego typu) zwykle zwiększał potencjalne konflikty. Jednocześnie wprowadzenie magistrali PCI, w której dwa lub więcej urządzeń może dzielić się tym samym przerwaniem i wprowadzeniem większej liczby przerwań, zwykle zmniejszało konflikty. Ogólny wynik, ze względu na przejście do PCI, było zmniejszeniem konfliktów, ponieważ najstraszniejsze zasoby to IRQS. Jednak nawet w autobusie PCI bardziej wydajne jest unikanie udostępniania IRQ. W niektórych przypadkach, w których przerwania odbywają się w szybkim sukcesji i muszą być działane na szybkie (jak audio) udostępnianie może powodować degradację wydajności. Więc nie jest dobrze przypisywać wszystkie urządzenia PCI w tym samym IRQ, zadanie musi być zrównoważone. Jednak niektórzy uważają, że wszystkie ich urządzenia PCI są na tym samym IRQ.

Tak więc urządzenia muszą mieć pewną elastyczność, aby można je było ustawić na dowolny adres, IRQ itp. jest potrzebny, aby uniknąć konfliktów i osiągnąć równowagę. Ale niektóre IRQ i adresy są dość standardowe, takie jak te dla zegara i klawiatury. Nie potrzebują takiej elastyczności.

Oprócz problemu sprzecznego alokacji zasobów autobusowych, pojawia się problem popełnienia błędu w poinformowaniu kierowcy urządzenia, jakie są zasoby autobusowe. Bardziej prawdopodobne jest, że zdarza się to w przypadku staromodnej manualnej konfiguracji, w której użytkownicy type zasoby używane w pliku konfiguracyjnym przechowywanym na datnicy twardej. Często działało to dobrze, gdy zasoby były ustawione przez skoczków na kartach (pod warunkiem, że użytkownik wiedział, w jaki sposób zostały ustawione i nie popełnili błędów w pisaniu tych danych do plików konfiguracyjnych). Ale ponieważ zasoby są ustawione przez oprogramowanie PNP, nie zawsze mogą być ustawione tak samo, co może oznaczać kłopot dla każdej ręcznej konfiguracji, w której użytkownicy type wartości zasobów autobusowych ustalonych przez PNP.

Przydział zasobów autobusowych, jeśli jest wykonany poprawnie, ustanawia kanały komunikacji nieokonfliktujące między fizycznym sprzętem a sterownikami urządzeń. Na przykład, jeśli określony zakres adresów we/wy (zasób) zostanie przydzielony zarówno do sterownika urządzenia, jak i sprzętu, ustanowiło między nimi kanał komunikacyjny jednokierunkowy. Sterownik może wysyłać polecenia i inne informacje do urządzenia. W rzeczywistości jest to więcej niż jednokierunkowa komunikacja, ponieważ kierowca może uzyskać informacje z urządzenia, czytając rejestry. Ale urządzenie nie może w ten sposób zainicjować żadnej komunikacji. Aby zainicjować komunikację, urządzenie potrzebuje IRQ, aby mogło wysłać przerwania do sterownika. Tworzy to dwukierunkowy kanał komunikacyjny, w którym zarówno sterownik, jak i urządzenie fizyczne mogą zainicjować komunikację.

Termin Plug-and-Play (PNP) ma różne znaczenia. W szerokim sensie jest to po prostu automatyczna konfiguracja, w której po prostu podłącza się do urządzenia i konfiguruje się. W tym sensie używanym w tym Howto PNP oznacza konfigurowanie zasobów autobusowych PNP (ustawienie ich w urządzeniach fizycznych) i informowanie o tym, że sterowniki urządzeń o tym. W przypadku Linuksa często jest to tylko kierowca określający, w jaki sposób BIOS ustawił zasobów autobusów, a jeśli to konieczne, kierowca wydawał polecenie zmiany (zresetowania) zasobów autobusowych. „PNP” często oznacza po prostu PNP w autobusie ISA, aby wiadomość z ISAPNP: „Bez wtyczki i urządzenia do odtwarzania” oznacza po prostu, że nie znaleziono urządzeń ISA PNP. Standardowe specyfikacje PCI (które zostały wymyślone przed wymyślaniem terminu „PNP”) zapewniają odpowiednik PNP dla magistrali PCI.

PNP pasuje do urządzeń do sterowników urządzeń i określa ich kanały komunikacji (przydzielanie zasobów autobusowych). Komunikuje się elektronicznie z rejestrami konfiguracyjnymi znajdującymi się w urządzeniach fizycznych za pomocą znormalizowanego protokołu. Na autobusie ISA przed plug-and-play, zasobów autobusów były wcześniej ustawiane w urządzeniach sprzętowych przez skoczki lub przełączniki. Czasami zasobów autobusów może być ustawienie na sprzęt elektronicznie przez sterownik (zwykle napisany tylko dla systemu operacyjnego MS, ale w rzadkich przypadkach obsługiwanych przez sterownik Linuksa). To było coś w rodzaju PNP, ale nie zastosowano standardowego protokołu, więc nie był to tak naprawdę PNP. Niektóre karty miały ustawienie zworki, które mogłyby zostać zastąpione przez takie oprogramowanie. W przypadku Linuksa przed PNP większość sterowników oprogramowania przypisano zasobów autobusów przez pliki konfiguracyjne (lub tym podobne) lub przez sondowanie urządzenia dla adresów, na których oczekiwano. Ale te metody są nadal używane, aby umożliwić Linux na korzystanie z starego sprzętu non-PNP. Czasami te stare metody są nadal używane dziś na sprzęcie PNP (po powiedzeniu BIOS przypisał zasoby do sprzętu metodami PNP).

Autobus PCI był od samego początku podobny do PNP, ale zwykle nie jest nazywany PNP ani „wtyczką i odtwarzaniem”, w wyniku czego PNP często oznacza PNP w autobusie ISA. Ale PNP w tych dokumentach zwykle oznacza PNP w magistrali ISA lub PCI.

Oto jak PNP powinien działać teoretycznie. Hipotetyczny program konfiguracji PNP znajduje wszystkie urządzenia PNP i pyta każde, jakiego potrzebne zasoby autobusowe potrzebują. Następnie sprawdza, jakie zasoby autobusowe (IRQS itp.) musi się rozdać. Oczywiście, jeśli ma zarezerwowane zasoby autobusowe używane przez urządzenia non-PNP (starsze) (jeśli o nich wie), to nie rozdają. Następnie wykorzystuje pewne kryteria (nie określone przez specyfikacje PNP), aby wydać zasoby autobusowe, aby nie było konfliktów i aby wszystkie urządzenia otrzymały to, czego potrzebują (jeśli to możliwe). Następnie pośrednio mówi każdemu fizycznemu urządzeniu, jakie zasoby autobusowe są do niego przypisane, a urządzenia skonfigurowane do używania tylko przypisanych zasobów autobusowych. Następnie sterowniki urządzeń w jakiś sposób dowiedzą się, jakiego zasięgu autobusu używają ich urządzeń, a zatem są w stanie skutecznie komunikować się z urządzeniami, które kontrolują.

Załóżmy na przykład, że karta potrzebuje jednego przerwania (numer IRQ) i 1 MB współdzielonej pamięci. Program PNP odczytuje to żądanie z rejestrów konfiguracji na karcie. Następnie przypisuje kartę IRQ5 i 1 MB adresów pamięci, zaczynając od adresu 0xe9000000. Program PNP odczytuje również identyfikację informacji z karty, w której to jest typ urządzenia, jego numer identyfikacyjny itp. Następnie bezpośrednio lub pośrednio mówi odpowiedniemu sterownikowi urządzenia, co to zrobi. Jeśli to sam sterownik wykonuje PNP, nie ma potrzeby znaleźć sterownika urządzenia (ponieważ jego sterownik już działa). W przeciwnym razie należy znaleźć odpowiedni sterownik urządzenia, a wcześniej czy później poinformował, jak skonfigurowane jest urządzenie.

Nie zawsze jest to takie proste, ponieważ karta (lub tabela routingu dla PCI) może określić, że może używać tylko niektórych numerów IRQ lub że 1 MB pamięci musi leżeć w określonym zakresie adresów. Szczegóły są różne dla autobusów PCI i ISA z większą złożonością w autobusie ISA.

Jednym ze sposobów powszechnie wykorzystywanych do alokacji zasobów jest rozpoczęcie od jednego urządzenia i przydzielenie IT-zasobów autobusów. Następnie zrób to samo dla następnego urządzenia itp. Wtedy, jeśli w końcu wszystkie urządzenia otrzymają przydzielone zasoby bez konfliktów, to wszystko jest w porządku. Ale jeśli przydzielenie potrzebnego zasobu stworzy konflikt, konieczne jest powrót i próba wprowadzenia pewnych zmian w poprzednich alokacjach, aby uzyskać potrzebny zasob autobusowy. To się nazywa ponowne równoważenie. Linux nie odpowiada ponownemu równowagi, ale MS Windows w niektórych przypadkach robi to. W przypadku Linuksa wszystko to odbywa się przez sterowniki BIOS i/lub jądro i/lub urządzenia. W Linux sterownik urządzenia nie otrzymuje ostatecznego alokacji zasobów, dopóki kierowca się nie uruchomi, więc jednym ze sposobów uniknięcia konfliktów jest po prostu nie uruchomienie żadnego urządzenia, które może spowodować konflikt. Jednak BIOS często przydziela zasoby na urządzenie fizyczne, zanim Linux zostanie nawet uruchomiony, a jądro sprawdza urządzenia PCI pod kątem konfliktów adresowych w czasie rozruchu.

Istnieje kilka skrótów, z których może korzystać oprogramowanie PNP. Jednym z nich jest śledzenie, w jaki sposób przypisał zasobów autobusów w ostatniej konfiguracji (gdy komputer był ostatnio używany) i ponowne wykorzystanie tego. Bioss rób to, podobnie jak MS Windows i to, ale Standard Linux nie. Ale w pewnym sensie, ponieważ często używa tego, co zrobił BIOS. Windows przechowuje te informacje w swoim „rejestrze” na dysku twardym, a PNP/PCI BIOS przechowuje je w pamięci nielotnej na komputerze (znanym jako ESCD; patrz baza danych ESCD BIOS). Niektórzy twierdzą, że brak rejestru (jak Linux) jest lepszy, ponieważ z systemem Windows rejestr może zostać uszkodzony i jest trudny do edytowania. Ale PNP w Linux ma również problemy.

Podczas gdy MS Windows (z wyjątkiem systemu Windows 3.X i NT4) były PNP, Linux nie był pierwotnie OS PNP, ale stopniowo stał się PNP OS. PNP pierwotnie pracował dla Linux, ponieważ PNP BIOS skonfiguruje zasoby autobusowe, a sterowniki urządzeń dowiedzą się (za pomocą programów dostarczanych przez jądro Linux), co zrobił BIOS. Dzisiaj większość kierowców może wydawać polecenia, aby konfigurować własne zasoby autobusowe i nie musi zawsze polegać na BIOS. Niestety kierowca mógłby złapać zasob autobusowy, którego później będzie potrzebować inne urządzenie. Niektóre sterowniki urządzeń mogą przechowywać ostatnią konfigurację, której używali w pliku konfiguracyjnym i używać go następnym razem, gdy komputer zostanie włączony.

Jeśli sprzęt urządzenia zapamiętał swoją poprzednią konfigurację, nie byłoby żadnego sprzętu do konfiguracji PNP w następnym czasie uruchamiania. Ale sprzęt wydaje się zapominać o jego konfiguracji, gdy moc jest wyłączona. Niektóre urządzenia zawierają domyślną konfigurację (ale niekoniecznie ostatnią używaną). Zatem urządzenie PNP musi być ponownie konfigurowane za każdym razem, gdy komputer jest włączony. Ponadto, jeśli dodano nowe urządzenie, to również należy go skonfigurować. Przydzielenie zasobów autobusowych do tego nowego urządzenia może obejmować odejście z istniejącego urządzenia i przypisanie istniejącego urządzenia alternatywne zasoby autobusowe, których może użyć zamiast tego. Obecnie Linux nie może przydzielić się do tego wyrafinowania (a MS Windows XP może nie być w stanie tego zrobić).

Kiedy komputer jest po raz pierwszy włączony, układ BIOS uruchamia swój program, aby rozpocząć komputer (pierwszym krokiem jest sprawdzenie sprzętu płyty głównej). Jeśli system operacyjny jest przechowywany na twardym napędzie (jak zwykle), BIOS musi wiedzieć o napędu twardym. Jeśli napęd twardy to PNP, BIOS może użyć metod PNP, aby go znaleźć. Ponadto, aby umożliwić użytkownikowi ręczne skonfigurowanie CMOS BIOS i odpowiedź na komunikaty o błędach po uruchomieniu komputera, wymagany jest również ekran (karta graficzna) i klawiatura. Zatem BIO muszą zawsze urządzenia PNP-Configure potrzebne do załadowania systemu operacyjnego z napędu twardego.

Po zidentyfikowaniu BIOS daru, karty graficznej i klawiatury jest gotowa do rozpoczęcia uruchamiania (ładowanie systemu operacyjnego do pamięci z twardego pomysłu). Jeśli powiedziałeś BIOS, że masz system operacyjny PNP (PNP OS), powinien rozpocząć uruchamianie komputera jak wyżej i pozwolić systemowi operacyjne zakończyć konfigurację PNP. W przeciwnym razie PNP-BIOS (przed uruchomieniem) prawdopodobnie spróbuje wykonać resztę PNP konfigurując urządzenia (ale nie informować sterowników urządzeń o tym, co zrobił). Ale kierowcy mogą to dowiedzieć się, wykorzystując funkcje dostępne w jądrze Linux.

Aby zobaczyć, co jest na PCI Bus typu LSPCI lub LSPCI -VV . Lub wpisz scanpci -v dla tych samych informacji w formacie kodu numerycznego, w którym urządzenie jest wyświetlane według liczby (takie jak: „urządzenie 0x122d” zamiast z nazwy itp. W rzadkich przypadkach ScanPCI znajdzie urządzenie, którego LSPCI nie może znaleźć.

Wiadomości rozruchowe na wyświetlaczu pokazują urządzenia, które zostały znalezione w różnych autobusach (użyj Shift-PageUp, aby utworzyć kopię zapasową). Zobacz wiadomości czasowe

ISA to stara autobus starego kompatybilny z IBM komputer. Autobus PCI został zaprojektowany na tak zwany PNP. Ułatwia to (w porównaniu z autobusem ISA), aby dowiedzieć się, w jaki sposób zasobów autobusowych PNP zostały przypisane do urządzeń sprzętowych.

W przypadku autobusu ISA wystąpił prawdziwy problem z wdrażaniem PNP, ponieważ nikt nie miał na myśli PNP, kiedy zaprojektowano autobus ISA i prawie nie ma dostępnych adresów we/wy do użycia do wysyłania informacji o konfiguracji do urządzenia fizycznego. W rezultacie sposób, w jaki PNP został skomplikowany na autobus ISA, jest bardzo skomplikowany. Napisano o tym całe książki. Zobacz książkę PNP. Wymaga między innymi, aby każde urządzenie PNP zostało przypisane przez program PNP do tymczasowego „uchwytu”, aby można było to zająć się konfiguracją PNP. Przypisanie tych „uchwytów” to wywołanie „izolacji”. Złożone szczegóły można znaleźć w izolacji ISA.

Gdy autobus ISA wygasa, PNP będzie trochę łatwiejszy. Następnie łatwiej będzie dowiedzieć się, w jaki sposób BIOS skonfigurował sprzęt, ale będzie mniej konfliktów, ponieważ PCI może udostępniać przerwania. Nadal będzie potrzeba dopasowania sterowników urządzeń z urządzeniami, a także konieczność konfigurowania urządzeń, które są dodawane, gdy komputer jest uruchomiony. Poważny problem niektórych urządzeń nie jest obsługiwany przez Linuksa.

Linux miał poważne problemy w przeszłości w kontaktach z PNP, ale większość z tych problemów została teraz rozwiązana (od połowy 2004 r.). Linux pierwotnie przeszedł z systemu bez PNP, do takiego, który może być PNP, jeśli niektóre opcje zostaną wybrane podczas kompilacji jądra. BIOS może przypisywać IRQS, ale Linux może również przypisać niektóre z nich, a nawet przenieść to, co zrobił BIOS. Część konfiguracji ACPI (Advance Configuration and Power Interface) została zaprojektowana tak, aby ułatwić systemom operacyjnym wykonywać własne konfigurowanie. Linux może używać ACPI, jeśli jest wybrane po skompilowaniu jądra.

W systemie Linux jest tradycyjny dla każdego sterownika urządzenia, który wykonał własną konfigurację niskiego poziomu. Było to trudne, dopóki Linux nie dostarczył oprogramowania w jądrze, którego kierowcy mogliby użyć, aby ułatwić im. Dzisiaj (2005) osiągnął punkt, w którym sterownik po prostu wywołuje funkcję jądra: PCI_ENABLE_DEVICE () i urządzenie jest skonfigurowane poprzez włączenie i posiadanie zarówno IRQ (w razie potrzeby), jak i adresów przypisanych do urządzenia. To przypisanie może być wcześniej przypisane przez BIOS lub to, co jądro wcześniej zarezerwowało, gdy urządzenie PCI lub ISAPNP zostało wykryte przez jądro. Istnieje nawet opcja ACPI dla Linux, aby przypisać wszystkie urządzenia IRQS w czasie rozruchu.

Więc dzisiaj, w pewnym sensie, sterowniki nadal wykonują konfigurację, ale mogą to zrobić, po prostu mówiąc Linuksa, aby to zrobił (a Linux może niewiele robić, ponieważ czasami jest w stanie użyć tego, co już zostało ustawione przez BIOS lub Linux). Więc to naprawdę część z tytułu urządzeń bez urządzeń, które wykonuje większość konfiguracji. Zatem może być prawidłowe wywołanie systemu operacyjnego Linuksa PNP, przynajmniej dla wspólnych architektur komputerowych.

Następnie, gdy sterownik urządzenia znajdzie swoje urządzenie, prosi o sprawdzenie, jakie adresy i IRQ zostały przypisane (przez BIOS i/lub Linux) i zwykle po prostu je akceptuje. Ale jeśli kierowca chce to zrobić, może spróbować zmienić adresy, przy użyciu funkcji dostarczanych przez jądro. Ale jądro nie przyjmuje adresów, które są sprzeczne z innymi urządzeniami lub tymi, których sprzęt nie może obsługiwać. Po uruchomieniu komputera możesz odnotować wiadomości na ekranie pokazujące, że niektóre sterowniki urządzeń Linux znalazły swoje urządzenia sprzętowe i jakie są IRQ i zakresy adresów.

Zatem jądro zapewnia sterownikom funkcje (kod programu), których sterowniki mogą użyć, aby dowiedzieć się, czy ich urządzenie istnieje, jak zostało skonfigurowane, i funkcje do modyfikowania konfiguracji w razie potrzeby. Jądro 2.2 może to zrobić tylko dla autobusu PCI, ale jądro 2.4 miał tę funkcję zarówno dla autobusów ISA, jak i PCI (pod warunkiem, że podczas kompilacji jądra wybrano odpowiednie opcje PNP i PCI). Jądro 2.6 wyszedł z lepszym wykorzystaniem ACPI. To w żadnym wypadku nie gwarantuje, że wszyscy kierowcy będą w pełni i poprawnie używać tych funkcji. I starsze urządzenia, o których nie wie, że BIOS nie wie, mogą nie zostać skonfigurowane, dopóki (lub narzędzie konfiguracyjne) nie umieszcza swojego adresu, IRQ itp. do pliku konfiguracyjnego.

Ponadto jądro pomaga uniknąć konfliktów zasobów, nie dopuszczając dwóch urządzeń, które wie, że używają tych samych zasobów autobusowych jednocześnie. Początkowo było to tylko dla IRQ i DMA, ale teraz dotyczy to również zasobów adresowych.

Jeśli masz stary autobus ISA, program ISAPNP powinien uruchomić w Boottime, aby znaleźć i skonfigurować urządzenia PNP w autobusie ISA. Spójrz na wiadomości z „DMESG”.

Aby zobaczyć, co może zapewnić, że jądro może zapewnić kierowcom urządzeń, zobacz katalog /USR /. /. /Dokumentacja, gdzie jeden z . zawiera słowo „jądro” lub tym podobne. OSTRZEŻENIE: Dokumentacja tutaj jest nieaktualna, więc aby uzyskać najnowsze informacje, musisz odczytać wiadomości na listach mailingowych wysłanych przez programistów jądra i być może kod komputerowy, który piszą. W tym katalogu dokumentacji jądra patrz PCI.txt („Jak napisać sterowniki Linux PCI”) i plik:/usr/wcinacza/linux/pCI.H. O ile nie jesteś guru sterownika i znasz programowanie C, pliki te są tak zwięźnie, że tak naprawdę nie umożliwią napiszu sterownika. Ale da ci to pojęcie o tym, jakie funkcje typu PNP są dostępne dla sterowników.

Dla jądra 2.4 Patrz ISAPNP.tekst. Dla jądra 2.6, ISAPNP.TXT jest zastępowany przez PNP.TXT, który jest zupełnie inny niż ISAPNP.TXT, a także zajmuje się magistrali PCI. Zobacz także książkę O’Reilly: Linux Device Drivers, wydanie 3., 2005. Pełny tekst jest w Internecie.

Ale istnieje wiele rzeczy, z którymi prawdziwy system operacyjny PNP mógłby lepiej poradzić:

  • Przydzielaj zasoby autobusowe, gdy w razie potrzeby są one niedokładne poprzez realokacje zasobów
  • Zajmij się wyborem sterownika, gdy jest więcej niż jeden sterownik na urządzenie fizyczne

Ponieważ jest to każdy kierowca dla siebie, kierowca mógłby chwycić zasoby autobusowe, które są potrzebne innym urządzeniom (ale jeszcze nie przydzielone im przez jądro). Zatem bardziej wyrafinowane jądro PNP Linux byłoby lepsze, gdzie jądro dokonało alokacji. Inną alternatywą byłoby próba realokacji zasobów już przypisanych, jeśli urządzenia nie mogłyby uzyskać wymaganych zasobów.

Problem „braku zasobów autobusowych” staje się mniej problemem z dwóch powodów: jednym z powodów jest to, że autobus PCI zastępuje autobus ISA. W ramach PCI nie brakuje IRQ, ponieważ IRQ mogą być udostępniane (nawet jeśli udostępnianie jest nieco mniej wydajne). Ponadto PCI nie wykorzystuje zasobów DMA (chociaż jest równoważny DMA bez potrzeby takich zasobów).

Drugim powodem jest to, że dostępna jest więcej miejsca na urządzenie I/0. Podczas gdy konwencjonalna przestrzeń adresów I/O autobus ISA była ograniczona do 64 kb, autobus PCI ma 4 GB. Ponieważ więcej urządzeń fizycznych używa głównych adresów pamięci zamiast przestrzeni adresowej IO, jest jeszcze więcej miejsca, nawet w autobusie ISA. Na 32-bitowych komputerach znajduje się 4 GB przestrzeni adresowej pamięci głównej i znaczna część tego zasięgu autobusowego jest dostępna dla urządzenia IO (chyba że masz zainstalowany 4 GB pamięci głównej).

Ogólne informacje na temat obsługi urządzeń Plug & Play

Urządzenia plug & play można używać natychmiast, bez potrzeby instalacji. Są one wykrywane i konfigurowane automatycznie, gdy tylko są podłączone do komputera. Odpowiednie sterowniki urządzeń są instalowane automatycznie. Użytkownik nie jest zobowiązany do wprowadzania danych wejściowych.

Automatyczna instalacja przez system operacyjny działa jednak tylko pod pewnymi warunkami e.G. (Zobacz więcej na ten temat w Windows Help):

  • Sterownik urządzenia ma albo “Opracowany dla systemu Windows” Logo lub podpis cyfrowy.
  • Sterownik urządzenia jest już obecny na komputerze.

Jeśli te warunki nie zostaną spełnione, system operacyjny uruchamia kreatora sprzętowego. Jeśli użytkownik nie ma praw lokalnych administratorów, nie może zakończyć instalacji za pomocą tego czarodzieja.

W takich sytuacjach DSM ’S obsługa urządzeń plug & play umożliwia instalację urządzeń bez posiadania praw lokalnego administratora.

  • WAN Miniport Sterowni
  • Wirtualne adaptery sieciowe

Czy ten artykuł był przydatny?

Wymusz urządzenie Plug-N-play, aby użyć określonego sterownika

Sprzęt: Mikrofon Presonus Revelator Cel: Chciałbym użyć mojego mikrofonu dalej za pośrednictwem rozszerzenia USB-RJ45. Zasadniczo wysyłanie USB na przewód Ethernet. Problem: Gdy mikrofon jest podłączony bezpośrednio do laptopa, działa dobrze. Ale kiedy podłączam go do przedłużacza, nie mogę niczego nagrać, a komputer w ogóle nie rejestruje urządzenia. Mikrofon odbiera moc, a komputer powoduje hałas „połączenia”, ale nic poza tym. Menadżer urządzeń: Sprawdziłem menedżera urządzeń w obu scenariuszach. Po podłączeniu widzę „mikrofon (reweveator)” w „Wejściach i wyjściach audio”. Po połączeniu z RJ45 po prostu widzę „Revelator” pod „Nieznanymi urządzeniami”, a także żółty trójkąt ostrzegawczy wskazujący, że żaden sterownik nie został załadowany. Informacje o kierowcy: Użyłem programu USBDeview, aby zebrać głębokie informacje na urządzeniu po podłączeniu za pomocą różnych połączeń. Poniżej znajduje się porównanie obok siebie.

Podłączone bezpośrednio Połączone przez RJ45
Nazwa urządzenia Objawienie Objawienie
Opis Urządzenie kompozytowe USB Objawienie
Rodzaj urządzenia Nieznany Specyficzny dla dostawcy
Połączony Tak Tak
Bezpieczny do odłączenia Tak NIE
Wyłączony NIE NIE
Rozdzielacz USB NIE NIE
Numer seryjny JM1C20431589 JM1C20431589
Identyfikator sprzedawcy 194f 194f
ID produktu 0d01 0d01
Wersja oprogramowania układowego 1.02 1.02
Klasa USB 0 ff
Podklasa USB 0 0
Protokół USB 0 0
Prefiks rodzica 6 i 1Ea95f5f i 0 6 i 1Ea95f5f i 0
Nazwa serwisu USBCCGP
opis usługi @USB.Inf,%ogólny.SvcDesc%; Microsoft USB Generic Paren Sterownik
Nazwa pliku sterownika USBCCGP.Sys
Urządzenie MFG (Standardowy kontroler hosta USB)
Moc 200 mA 200 mA
Wersja USB 2 2
Opis kierowcy Urządzenie kompozytowe USB
Wersja sterownika 10.0.19041.1949
Infekcja kierowcy Złożony.Dev.Nt
Kierowca Infpath USB.Inf
Identyfikator wystąpienia USB \ vid_194f & PID_0D01 \ JM1C20431589 USB \ vid_194f & PID_0D01 \ JM1C20431589
Możliwości „Zdejmowane, unikalne, zaskakująceMovalok” „Zdejmowane, unikalne”

Główną różnicą jest to, że po podłączeniu mikrofonu jest rozpoznawane jako urządzenie złożone (USBDeview pokazuje również, że kilka innych urządzeń USB jest jednocześnie ładowane). Po podłączeniu RJ45 nie jest rozpoznawany jako taki i nie ma obciążenia sterownika. Czy inne urządzenia mogą się połączyć?: Wypróbowałem złącze RJ45 z napędem USB i inną marką mikrofonu (audio-technik AT2020). W obu przypadkach działały dobrze i załadowali te same sterowniki. Mikrofon jest szczególnie interesujący, ponieważ jest również urządzeniem kompozytowym, ale nie ma problemów. Pytanie: Czy można zmusić mojego komputera do użycia tego samego sterownika w obu scenariuszach? Robiłem googling, ale wszystko, co mogę znaleźć, to rzeczy związane z pobieraniem sterowników ze strony internetowej firmy (nie można znaleźć żadnych osób). Próbowałem ręcznie wybierać pliki SYS i INF za pośrednictwem Manager Device, ale nie wydawało się, że to nie działa. Możliwe, że robię ten krok źle.

Co to jest sterownik urządzenia? Definicja, typy i aplikacje

Sterownik urządzenia to program bez interfejsu użytkownika, który zarządza sprzętem podłączonym do komputera i obsługuje jego funkcjonowanie.

Chiradeep Basumallick Technical Writer

12 października 2022

Inżynier systemów ponownie uruchamiający sterownik urządzenia za pośrednictwem iPada

Sterownik urządzenia jest definiowany jako program bez interfejsu użytkownika (interfejs), który zarządza komponentami sprzętowymi lub peryferyjami podłączonymi do komputera i umożliwia sprawność komputera z komputerem. W tym artykule wyjaśniono działanie sterowników urządzeń, ich różnych typów i pięciu krytycznych aplikacji.

Spis treści

    • Co to jest sterownik urządzenia?
    • 9 rodzajów sterowników urządzeń
    • Aplikacje sterowników urządzeń

    Co to jest sterownik urządzenia?

    Sterownik urządzenia to oprogramowanie bez interfejsu użytkownika (interfejs), który zarządza komponentami sprzętowymi lub peryferyjnymi podłączonymi do komputera i umożliwia płynne funkcjonowanie z komputerem.

    Sterownik urządzenia to wyspecjalizowane oprogramowanie, które obsługuje określone urządzenie podłączone komputerowo-kierowanie interfejsem oprogramowania do sprzętu umożliwia systemy operacyjne i inne aplikacje komputerowe w celu uzyskania dostępu do funkcji sprzętowych.

    Sprzęt jest powiązany z podsystemem magistrali komputerowej/komunikacji za pośrednictwem tego, który sterowniki urządzenia wchodzą w interakcje z urządzeniem. Są zależne od sprzętu i specyficzne dla systemu operacyjnego (OS). Oferują przetwarzanie przerwania niezbędne dla dowolnego zależnego od czasu asynchronicznego interfejsu sprzętowego.

    Sterownik urządzenia’S Głównym celem jest umożliwienie komputerom i komponentom sprzętu sieciowym na interfejs i interakcję z określonymi urządzeniami. Obsługują żądania złożone przez jądro dotyczące określonego rodzaju urządzenia. Sterowniki urządzeń definiują wiadomości i mechanizmy, za pomocą których komputer’S system operacyjny i aplikacje mogą uzyskać dostęp do urządzenia lub składać żądania urządzenia. Obsługują również odpowiedzi urządzeń i wiadomości do dostarczania do komputera.

    Jak funkcjonują sterowniki urządzeń

    Sterowniki urządzeń działają wewnątrz warstwy jądra systemu operacyjnego. Pracują w wysoce uprzywilejowanym środowisku, ponieważ potrzebują niskiego poziomu dostępu do operacji sprzętowych, aby funkcjonować. Włączają komputer’S system operacyjny (OS) do interfejsu ze sprzętem, dla którego zostały opracowane. I za pośrednictwem magistrali komputerowej, która łączy urządzenie do komputera, sterowniki i urządzenie komunikują się.

    Sterowniki urządzeń muszą otrzymywać porady od systemu operacyjnego, aby uzyskać dostęp i wykonywać instrukcje urządzenia. Po wykonaniu zadania przesyłają urządzenie sprzętowe’s wyjście lub komunikat do systemu operacyjnego. Urządzenia takie jak modemy, routery, głośniki, klawiatury i drukarki wymagają obsługi sterowników urządzeń.

    Zrozumienie rozwoju sterownika urządzenia

    Sterowniki urządzeń umożliwiają urządzenia peryferyjne, takie jak drukarki lub klawiatury, interakcja z komputerem. Poniższe opisy kroki, które programiści lub programiści mogą podjąć podczas opracowywania sterowników urządzeń dla systemów operacyjnych, takich jak Windows, Linux lub MacOS.

    1. Poznaj sprzęt

    Podczas projektowania sterownika urządzenia programiści muszą mieć dogłębne zrozumienie platformy’S sprzęt. Powinny znać interfejs magistrali, którego sprzęt używa do komunikacji z hostem i lokalizacją oprogramowania sterownika urządzenia. Powinny odczytać arkusz danych urządzeń, aby zrozumieć odpowiednie warunki i definicje. Powinny również znać metodę, za pomocą której ma miejsce transfer danych.

    Jeśli podstawowym urządzeniem jest system na układ, programiści powinni wiedzieć, w jaki sposób sterownik wchodzi w interakcje z oprogramowaniem układowym i poleceniami. Ponadto programiści powinni być przygotowani, aby dokumentacja była krótka podczas obsługi nowego rodzaju sprzętu. Dlatego powinni być gotowi do wykonania większej liczby testów niż zwykle.

    2. Napisz kod sterownika

    Na tym etapie programiści powinni uzyskać działający prototyp swojego preferowanego sprzętu. Następnie powinni zacząć pisać sterownik trybu jądra.

    Jeśli urządzenie jest nieprawidłowo zaprojektowane, sterowniki działające w trybie użytkownika mogą spowodować awarię systemu. Podobnie, jeśli coś pójdzie nie tak, gdy kierowcy działają w wysoce uprzywilejowanych ustawieniach, mogą wystąpić obawy operacyjne. W ten sposób programiści powinni skorzystać z informacji w dokumentacji rozwoju sterownika dostępnej dla wybranego systemu operacyjnego, czy to systemu Windows czy Linux.

    Pierwsze opracowane funkcje sterownika urządzenia to funkcje ładowania i rozładunku. Kiedy system operacyjny uruchomi się i zatrzymuje się, funkcje te są wywoływane. Jednym z głównych obowiązków funkcji ładowania/rozładunku jest wykrycie, czy sprzęt jest podłączony do systemu, czy nie. Użytkownicy mogą wykrywać sprzęt za pomocą identyfikatora urządzenia określonego przez określoną magistrację. Jeśli sprzęt jest podłączony, funkcja ładowania jest powiodła. Jeśli nie, wywołaj funkcję rozładunku.

    3. Zainicjuj sprzęt

    Gdy urządzenie będzie w stanie wykryć sprzęt, następnym krokiem jest inicjowanie. Wymagany rodzaj inicjalizacji może się różnić w zależności od rodzaju sprzętu. Inicjalizacja może obejmować pisanie do rejestru urządzenia po pobieranie mikrokodu na urządzenie i komunikowanie się w długim okresie za pomocą zastrzeżonych protokołów poleceń.

    4. Kontroluj sprzęt

    Kontrolowanie sprzętu jest możliwe tylko wtedy, gdy programiści mogą inicjować i komunikować się ze sprzętem. Proces sterowania zależy od urządzenia. Deweloperzy powinni rozważyć, czy urządzenie po prostu przekaże dane z jednego urządzenia na drugie.

    Na przykład, podczas przekazywania muzyki ze smartfona do głośnika. Powinny również rozważyć, czy urządzenie będzie ciągle wysyłać dane i instrukcje do innych urządzeń. Na przykład, powiedzenie drukarce do wydrukowania czarno-białego po jednej stronie papieru, a następnie dwustronnego wydruku w kolorze.

    Sterownik urządzenia włącza ustawienia danych, takie jak prędkość odtwarzania i szybkie do przodu przez komputer w polecenia urządzenia. W przeciwieństwie do poprzednich trzech kroków, ten może zająć więcej czasu. Pierwsze trzy kroki mogą być operacją jednorazową, ponieważ OS ładuje. Jednak programiści mogą potrzebować wykonywać krok 4 kilka razy po skonfigurowaniu systemu operacyjnego. Użytkownicy mogą czasem scalić trzecie i 4. kroki w jeden krok.

    5. Rozpocznij komunikację danych ze sprzętem

    Kilka urządzeń zajmuje się jakąś formą danych, czy to audio czy wideo. Po zainicjowaniu urządzenia programiści mogą wysłać stały strumień danych w razie potrzeby. Sterownik urządzenia działa jak rura między aplikacją wyższego poziomu a sprzętem do niższego poziomu lub oprogramowania układowego do przesyłania danych.

    Jak zauważono w pierwszym etapie, programiści powinni znać protokoły zaprojektowane do komunikacji danych. Transfery danych mogą być przerywane lub ankietowane. System operacyjny zapewnia takie urządzenia, jak przesyłanie wiadomości lub procedury usług przerywanych używane podczas procesu przesyłania danych. Deweloperzy powinni zacząć od przeniesienia pojedynczego pakietu danych i zapewnienia, że ​​cały proces od kroków od 1 do 3 działa dobrze.

    6. Kontrola komunikacji danych

    Na tym etapie programiści muszą kontrolować transfer danych i zarządzać komunikacją w kilku sytuacjach. Gdy pojawią się problemy, użytkownicy powinni zapobiec wysłanie urządzeń peryferyjnych. W strumieniu audio, gdy występuje przepełnienie bufora lub znaczący problem z jakością dźwięku, powinny wysłać polecenie Stop.

    7. Przetestuj kierowcę i debuguj

    Testowanie jest kluczowym aspektem. Deweloperzy powinni przetestować urządzenie, aby upewnić się, że zostanie rozpoznane i zainicjowane. Powinny również uruchomić testy funkcjonalne, aby sterowniki urządzeń działały zgodnie z oczekiwaniami. Powinny być również gotowe do wprowadzenia zmian w sprzęcie, aby zapewnić płynne działanie. Ponadto programiści powinni przetestować sterowniki urządzeń w różnych wersjach systemu operacyjnego, aby sprawdzić, czy są one kompatybilne z przodu i do tyłu. Gdy sterownik urządzenia będzie działać, programiści mogą go zarejestrować.

    9 rodzajów sterowników urządzeń

    Deweloperzy mogą rozróżniać następujące typy sterowników urządzeń:

    1. Sterowniki urządzeń jądra

    Sterowniki urządzeń jądra składają się z ogólnego sprzętu załadowanego z systemem operacyjnym (OS) w ramach systemu operacyjnego. Obejmują płyty główne, procesory i bios. Są wywoływane i ładowane do pamięci losowej (RAM) w razie potrzeby. Kiedy kilka z nich działa jednocześnie, maszyna może zwolnić. Zatem istnieje minimalne wymagania dla każdego systemu operacyjnego.

    Sterowniki urządzeń jądra są warstwowe. Sterowniki wyższego poziomu, takie jak sterowniki systemu plików, odbierają dane z aplikacji, filtrują je i przekazują do sterownika niższego poziomu, obsługując funkcję napędu. Sterowniki urządzeń jądra są zaimplementowane jako komponenty dyskretne i modułowe, które mają dobrze zdefiniowany zestaw wymaganych funkcji.

    2. Sterowniki urządzeń w trybie użytkownika

    Tryb użytkownika sterowniki urządzeń wykonują w trybie użytkownika. Odnoszą się do sterowników urządzeń, które użytkownicy mogą wyzwolić podczas sesji. Korzystając z systemu, użytkownicy mogą mieć własne urządzenia zewnętrzne, które przynoszą, takie jak zewnętrzne urządzenia plug-and-play. Te urządzenia wymagają również funkcjonowania sterowników. W systemach systemu Windows sterowniki urządzeń w trybie użytkownika zapewniają interfejs między aplikacją Win32 a sterownikami trybu jądra lub innymi systemami operacyjnymi. Użytkownicy mogą napisać te sterowniki na dysku, aby zmniejszyć obciążenie zasobów komputerowych.

    3. Sterowniki postaci

    Sterowniki urządzeń znakowych zapewniają nieustrukturyzowany dostęp do sprzętu. Przenieś dane do i z urządzeń bez użycia określonego adresu urządzenia. Pozwalają na czytanie lub pisanie jednego bajtu na raz jako strumień danych sekwencyjnych. Sterowniki znaków nie obsługują wejścia/wyjścia (we/wy) przez pamięć podręczną bufora, więc są bardziej elastyczne w obsłudze we/wy. Są one sparowane z urządzeniami blokowymi, aby obejść pamięć podręczną bufora, aby zaoferować surowe operacje we/wy bezpośrednio do miejsca adresu programu użytkownika.

    Dodatkowo zapewniają one dodatkowe interfejsy, takie jak polecenia sterowania we/wy, sondowanie urządzeń i mapowanie pamięci. Przykładami są modemy i kontrolery magistrali.

    4. Blokuj sterowniki

    Sterowniki urządzeń blokowych zapewniają strukturę dostępną do sprzętu. Używają buforów wielkości bloków systemu plików z pamięci podręcznej buforowej dostarczonej przez jądro do wykonania we/wy. Pamięć podręczna bufora to pula pamięci ustanowiona przez jądro do przechowywania często dostępnych bloków za pośrednictwem urządzeń blokowych. Bufor pamięć podręczna zmniejsza ilość zapytań we/wy, które wymagają operacji we/wy z urządzenia.

    Ponadto sterowniki urządzeń blokowych zapewniają dostępne we/wy zorientowane na blok i wykazują trwałość danych. Przyjmują żądanie systemu plików i wydają procedury we/wy na dysku w celu przeniesienia żądanego bloku. Przykładami są klucze pamięci USB i dyski.

    5. Kierowcy producenta oryginalnego sprzętu (OEM)

    Sterowniki urządzeń można podzielić jako ogólne lub związane z OEM. Ogólne sterowniki odnoszą się do sterowników urządzeń z ich oprogramowaniem operacyjnym w pakiecie sprzętu OEM. Można używać ogólnych sterowników z różnymi markami określonego typu urządzenia. Na przykład Linux współpracuje z kilkoma ogólnymi sterowcami, które działają bez potrzeby ręcznego instalacji innego oprogramowania.

    OEM mogą tworzyć własne sterowniki urządzeń, które należy zainstalować osobno po zainstalowaniu systemu operacyjnego. Sterowniki OEM umożliwiają sprzęt, taki jak klawiatury komunikowanie się z systemem operacyjnym hosta. Na przykład sterowniki OEM włączają funkcje, takie jak integracja systemu sterowania oświetleniem ze sprzętem OEM w Google Assistant i Alexa.

    6. Sterowniki wirtualnych urządzeń

    Wirtualne sterowniki urządzeń są niezbędne w kontrolowaniu maszyn wirtualnych lub maszyn wirtualnych . Działają zarówno w środowiskach wirtualizacji, jak i niewidocznych. W środowiskach wirtualizacji sterowniki te służą do naśladowania sprzętu urządzenia hosta. Kontrolują lub zarządzają sprzętem zasobów urządzenia hosta, aby upewnić się, że zarówno gość, jak i urządzenie hosta działają zgodnie z oczekiwaniami.

    Na przykład, gdy system operacyjny gościa działa na hoście, tworzy wywołania funkcji dla sterowników urządzeń wirtualnych, aby uzyskać dostęp do sprzętu. Ponadto naśladują zdarzenia na poziomie procesora, takie jak przerwania i przesyłają je na maszynę wirtualną.

    7. BIOS

    Podstawowy system wyjściowy wejściowy (BIOS) jest najbardziej fundamentalnym sterownikiem na komputerze. Znajduje się w pamięci tylko do odczytu (ROM), który zapewnia, że ​​system BIO będzie dostępny, nawet po sformatowaniu dysku twardego. Jest odpowiedzialny za uruchamianie komputera i dostarczanie mu zestawu instrukcji podczas tego procesu. Wykonuje również autotesty (post), które są wymagane podczas uruchamiania. BIOS zapewnia również sterowniki dla podstawowego sprzętu, takie jak klawiatury i monitory, aby zapewnić, że łączą się one z systemem operacyjnym, aby funkcjonować zgodnie z przeznaczeniem.

    8. Sterowniki płyty głównej

    Sterowniki płyty głównej to proste aplikacje, z których mogą korzystać zarówno system Windows, jak i Linux. Istnieją one w systemie operacyjnym i umożliwiają fundamentalne operacje komputerowe. Te sterowniki obejmują aplikacje, które pozwalają klawiaturze i mysz’urządzenia USB i porty we/wy do pracy. Niektóre płyty główne mają sterowniki obsługujące wideo i audio.

    Sterowniki płyty głównej są specyficzne dla modelu chipsetów, takich jak B460 dla komputerów Intel. Aby zrealizować płytę główną’S PEŁNY potencjał i włączające elementy podłączone do niego do prawidłowego działania, użytkownicy mogą potrzebować zainstalować dodatkowe sterowniki.

    9. Kierowcy open source

    Kierowcy typu open source odnoszą się do kierowców, które są wydawane na podstawie bezpłatnej i open source. Na przykład sterowniki graficzne open source kontrolują wyjście do wyświetlacza, jeśli wyświetlacz jest częścią sprzętu graficznego. Kod źródłowy dla sterowników open source jest dostępny dla wszystkich, co ułatwia współpracę oprogramowania. Są bardziej godne zaufania, ponieważ ludzie mogą je sprawdzić pod kątem każdego złośliwego kodu.

    Kierowcy open source oferują więcej prywatności. Jeśli śledzą użytkowników, ludzie mogą redystrybuować kopię oprogramowania z usuniętym śledzeniem. Kierowcy typu open source trwają dłużej, ponieważ coraz więcej osób nadal wprowadza ulepszenia, zapewniając w ten sposób, że nawet gdy firma przestanie je dystrybuować, kopia pozostaje.

    Aplikacje sterowników urządzeń

    Te niezbędne elementy składowe komputerów osobistych i przedsiębiorstw są używane na następujący sposób:

    1. Sterowniki urządzeń do dostępu do systemów pamięci masowej

    Systemy przechowywania komputerów pozwalają użytkownikom przechowywać dane i udostępniać je na żądanie. Obejmują one urządzenia zewnętrzne i wewnętrzne, takie jak dyski flash USB, dyski twarde i przechowywanie sieciowe. Sterowniki w systemach pamięci umożliwiają im interakcję z komputerem. Zapewnia to, że komputer może uzyskać dostęp do swoich wewnętrznych lub zewnętrznych systemów pamięci, zapytać ich informacje i umożliwić przesyłanie danych.

    Podłączanie urządzeń pamięci z komputerem bez sterowników staje się trudne, ponieważ system operacyjny ich nie wykrywa. Zwykle dyski twarde i CD-ROM są rozpoznawane przez system operacyjny i nie wymagają ręcznego zainstalowania sterowników. Użytkownicy muszą zainstalować sterowniki od producenta’S strona internetowa, jeśli nie są automatycznie wykryte.

    2. Sterowniki urządzeń do urządzeń wejściowych i wyjściowych

    Komputer’S OS oddziałuje z sterownikami urządzeń, aby zapewnić funkcje sprzętowe zgodnie z oczekiwaniami. Urządzenia wejściowe obejmują myszy i klawiatury, a urządzenia wyjściowe obejmują urządzenia wyświetlane, takie jak monitory. Klawiatury, myszy i monitory są klasyfikowane jako urządzenia plug-and-play.

    Zwykle sterowniki urządzeń plug-and-play są ogólne i nie wymagają ręcznej instalacji, ponieważ komputer’S OS rozpoznaje je i instaluje automatycznie. Jeśli jednak urządzenie zewnętrzne nie jest urządzeniem plug-and-play, użytkownicy mogą wymagać ręcznej instalacji sterowników z dysku instalacyjnego lub ich pobrania. Umożliwi to systemowi systemu operacyjnego rozpoznania tych urządzeń.

    3. Sterowniki urządzeń do kamer cyfrowych

    Kierowca aparatu cyfrowego to program, który umożliwia komunikację między nim a innymi urządzeniami, takimi jak komputery. Bez sterowników system operacyjny nie wykryje tego urządzenia. Większość aparatów cyfrowych jest kompatybilna tylko z systemem systemu Windows, ponieważ Linux Systems opóźnia.

    Digital Kierowniki kamer pozwalają na przesyłanie zdjęć z aparatu na komputer. Włączają cyfrowe kamery drukowania zdjęć za pomocą standardu PictBridge bezpośrednio do drukarki komputerowej w obsłudze Pictbridge bez konieczności komputera. Sterowniki w porcie wyjściowym wideo pozwalają użytkownikom wyświetlać zdjęcia w telewizji, wybierając jedno wideo lub zdjęcie na raz.

    4. Sterowniki dla mobilnych systemów operacyjnych, takich jak Android

    Telefony komórkowe mają sterowniki, aby umożliwić im komunikację z komputerami. Kierowcy są pakowane z oprogramowaniem układowym na większości telefonów, co pozwala komputerom załadować je do obsługi sprzętu, ponieważ system operacyjny nie jest określony. Czasami jednak użytkownicy mogą potrzebować zainstalować oprogramowanie PC OEM najpierw, aby sterowniki mają zostać zainstalowane i umożliwić przesyłanie danych.

    Kierowcy pozwalają na integrację urządzeń peryferyjnych, takich jak kontrolery gier lub klawiatury oparte na systemach operacyjnych, takich jak Android Things i Android. Sterowniki umożliwiają dostęp i kontrolę sprzętu. Dodatkowo umożliwiają inteligentne urządzenia do pracy z niestandardowymi aplikacjami.

    5. Sterowniki urządzeń do doskonałej wydajności wideo

    Karty graficzne są podstawowymi elementami systemu komputerowego i są odpowiedzialne za doskonałą wydajność wideo w komputerach, grach lub innych zadaniach graficznych. Sterowniki graficzne umożliwiają interakcję kart graficznych z komputerem’S system operacyjny i dlatego są niezbędne do uzyskania najwyższej wydajności z kart graficznych.

    Aktualizacja sterowników graficznych i innych sterowników Windows 11 (lub starszych) może zapewnić użytkownikom zwiększenie prędkości, naprawić problemy, a czasem nawet zapewnić użytkownikom nowe funkcje. Na przykład aktualizacja sterowników gier może zwiększyć ramki na sekundę, zmniejszając opóźnienie.

    Na wynos

    Ponieważ konsumenci i firmy coraz częściej korzystają z urządzeń i urządzeń peryferyjnych, sterowniki urządzeń są niezbędne do infrastruktury IT . Nowoczesna technologia sterowników może poprawić funkcjonowanie komputerowe, zmniejszając zużycie zasobów i zwiększając prędkość. Dlatego należy wiedzieć, w jaki sposób sterowniki działają i mieć regularne załatanie i harmonogram aktualizacji sterowników, aby cały ekosystem urządzenia działał sprawnie.

    Czy ten artykuł był pomocny podczas nauki o sterownikach urządzeń? Powiedz nam dalej Facebook Otwiera nowe okno , Świergot Otwiera nowe okno , I LinkedIn Otwiera nowe okno . My’Uwielbiam cię słyszeć!

    Więcej o DevOps

    • 10 najlepszych certyfikatów Azure DevOps w 2022 roku
    • Co to jest cykl życia DevOps? Definicja, kluczowe elementy i najlepsze praktyki zarządzania
    • 10 najlepszych certyfikatów Master Scrum w 2022
    • Pytania wywiadu z 18 Azure DevOps w 2022 roku
    • 10 najlepszych certyfikatów i kursów DevOps w 2022 roku