Jak daleko zaszliśmy w ciągu ostatnich 30 do 40 lat. Koncerty pamięci RAM. Terabajty miejsca na dysku. Procesory gigahercowe. Płaskie wyświetlacze 4K i 5K.
Moja konsola ma niesamowitą, poczekaj na nią, 80x25 znaków i 16 kolorów ANSI. Utknął w latach siedemdziesiątych. Mimo że moja karta graficzna ma 4 GB pamięci RAM, 10-bitowy kolor i tak dalej, konsola z niej nie korzysta.
Tak, mogę uruchomić X11 lub użyć konsoli bufora ramki. Ale dlaczego muszę? Jaki jest nie do pokonania problem zapewnienia lepszej konsoli, powiedzmy, skromnych 256 kolorów? Zostawiliśmy za sobą inne standardy, spaliliśmy mosty (ISA? Real Mode? Przycisk Turbo? Kompatybilny z IBM?), Dlaczego w końcu nie zaimponować konsoli VGA ?
Odpowiedzi:
Jeśli chodzi konkretnie o Linuksa, zwykle słyszę, że „nie chcemy tego w jądrze”. Zwłaszcza jeśli chodzi o czcionki i języki - żaden programista jądra nie chce upaść po dodaniu obsługi TTF, antyaliasingu, RTL, animowanych emoji, ostatecznie uruchamiając wszystkie freetype2 i ICU w przestrzeni jądra.
Zamiast tego umieszczają w jądrze to, co ma sens w jądrze - takie jak sterowniki graficzne wraz z KMS. Jeśli używasz sterowników open-source z obsługą KMS, konsola automatycznie przełączy się w swojej natywnej rozdzielczości ekranu - jak bufora ramki, ale bez jakiejkolwiek ręcznej konfiguracji. Praktycznie wszystkie dystrybucje Linuksa domyślnie widziałem bootowanie do bufora ramki KMS o wysokiej rozdzielczości.
Gdy masz już evdev do wprowadzania danych i KMS dla danych wyjściowych, przestrzeń użytkownika może dobrze obsługiwać konsolę - np. Poprzez kmscon lub fbterm . Istnieją nawet niejasne plany, aby ostatecznie wyłączyć obsługę VT jądra, pozostawiając tylko jeden tty1 dla zadań wczesnego rozruchu i ratowania oraz pozwalając przestrzeni użytkownika zająć się resztą.
źródło
Konsole zwykle obsługują 256 kolorów, chociaż może być konieczna zmiana niektórych ustawień, aby włączyć je wszędzie, patrz np. Http://www.robmeerman.co.uk/unix/256colours
Limit 80x25 powinien zniknąć, jeśli zmienisz rozmiar okna terminala, co pozwoli wypełnić 30-calowy ekran większą liczbą znaków, niż jest to wygodne.
źródło
Ponieważ nie ma takiej potrzeby.
W czasach, gdy pamięć była kosztowna, a procesory działały wolno, sprzętowe tryby tekstowe miały sens, ponieważ były szybsze i wymagały mniej pamięci. W dzisiejszych czasach komputery są wystarczająco mocne i mają wystarczającą pamięć, aby koszty posiadania prostego bufora ramki i implementacji wyświetlania tekstu w oprogramowaniu były znikome.
Zasadniczo projektowanie i debugowanie sprzętu jest drogie, więc stanie się tak tylko wtedy, gdy będzie na to zapotrzebowanie genunine. Starsze tryby tekstowe są zachowywane ze względu na zgodność z poprzednimi wersjami, ale nie ma potrzeby wprowadzania nowych, gdy oprogramowanie o wysokiej rozdzielczości rozwiąże problem.
źródło
W wieku VGA, 80x50 stało się szeroko wspierane i używane przez niektórych. Jednak na żałosnych 14-calowych monitorach tego dnia niektórym trudno było czytać.
W erze Super VGA pracowaliśmy w trybie 132 kolumnowym. Rzędy mogą mieć 25, 50, 60 lub inne wartości. Wystąpiły jednak pewne problemy ze zgodnością.
Teraz wiele urządzeń może to obsługiwać. A jednak używasz formatu 80x25. Dlaczego? Ponieważ używasz ustawień domyślnych. Domyślne ustawienia to bardzo mało osób.
W końcu GRUB zaczął jednak obsługiwać grafikę, więc niektórzy ludzie majstrowali przy niektórych wzrostach. Ogólnie rzecz biorąc, takie rzeczy były nowością. Jeśli naprawdę chcesz mieć więcej wierszy i kolumn, nie ma powodu, aby prosić kartę wideo o użycie trybu wideo, który nazywa „tekstem”, zamiast używania trybu wideo, który nazywa „grafiką”. Z biegiem lat zwiększyliśmy możliwości graficzne. Rzeczy takie jak 256 kolorowych terminali lub wyższe kolory, a nawet takie jak folie, istnieją. Po prostu nazywamy je trybami „graficznymi”.
Myślę, że celem „trybu tekstowego” jest to, że karta graficzna może załadować wcześniej zdefiniowaną czcionkę, a następnie wyświetlić niektóre grafiki (które nazywamy „znakami”) przy użyciu niewielkiej ilości pamięci, zamiast powtarzać to samo kombinacje pikseli przy użyciu większej ilości pamięci. Stało się tak, że mieliśmy po prostu mniej powodów do obaw o takie oszczędności pamięci. Standardy przyspieszania sprzętowego pozwoliły nam zastosować różne techniki w celu optymalizacji prędkości. Karty graficzne mają wystarczającą ilość pamięci, aby nie musiały używać specjalnego trybu wideo zaprojektowanego do próby załadowania wiązki pikseli ułożonych w formatach, które nazywamy czcionkami.
źródło
Mylisz pojęcie konsoli ze starym trybem tekstowym w stylu MDA.
Ten tryb tekstowy to konfiguracja urządzenia / wyświetlacza, która może wyświetlać tekst konsoli, ale tekst z konsoli może pojawić się na dowolnym urządzeniu lub programie, który rozumie protokół używany przez konsolę. PuTTY to program przeznaczony do tego celu, który ma więcej możliwości, takich jak wspomniana obsługa 256 kolorów i możliwość wyświetlania ekranów innych niż 80x25.
Jeśli chodzi o to, dlaczego tryb tekstowy w stylu MDA nie został zmieniony, no cóż, karty graficzne dodały więcej możliwości, ale zachowały tryb tekstowy w stylu MDA dla kompatybilności. Pamiętaj, że wszystkie współczesne procesory AMD / Intel nadal uruchamiają się w trybie zgodności z 8086 na wypadek, gdybyś nadal chciał uruchomić DOS, a DOS nadal oczekuje trybu tekstowego 80x25 podczas uruchamiania.
Linux obsługuje do wyświetlania elementy inne niż tryb tekstowy w stylu MDA lub X11, może używać buforów ramki jako trybu tekstowego z obsługą 256 kolorów, a nawet obrazu.
Podstawową zasadą inżynierii jest KISS. Możliwości konsoli są proste, więc oprogramowanie i sprzęt, który je implementuje, jest prosty i łatwy w obsłudze.
RS-232 działa dobrze z podstawowymi I / O konsoli. Istnieje wiele starszych i obecnych urządzeń, które używają RS-232 12v i prawdopodobnie tyle samo nowszych, które używają RS-232 3v. Jest to powszechnie akceptowany standard sprzętowy, który sprawia, że wejścia / wyjścia konsoli są oczekiwaną rzeczą na wielu urządzeniach z tym sprzętem.
Dlatego też sensowne jest posiadanie we / wy konsoli jako początkowej metody we / wy po włączeniu zasilania i ostatniej metody komunikacji, gdy wszystko inne zawiedzie. W takim przypadku zazwyczaj przekazujesz komunikaty o stanie lub informacje o błędach i nie potrzebujesz wielu dzwonków i gwizdków.
Również z powodu tej prostoty przekierowanie we / wy konsoli do pliku lub innego urządzenia jest również stosunkowo łatwe. Na przykład na wielu serwerach tekst początkowy po włączeniu jest wyświetlany nie tylko na ekranie VGA, ale opcjonalnie przekierowany na port szeregowy. Oznacza to, że nie potrzebujesz podłączonego do niego monitora, co pomaga w centrum danych, które potencjalnie może mieć setki lub tysiące serwerów. To samo dotyczy innych urządzeń, które używają konsoli I / O lub RS-232 jak urządzenia przemysłowe itp.
źródło