Print Screen: Istoricul și motivul acestei chei de pe computerul dvs.

În toate tastaturile dvs. există o tastă ciudată: Print Screen . Dar, v-ați întrebat vreodată ce face acea cheie acolo? Ce sens are că se află în acel loc în vremurile în care cu instrumentele de decupare putem copia bucăți de ecran ca o imagine și chiar toate acestea? Care este origine ?

Ceea ce face tasta ecranului de imprimare este o copie a tamponului de imagine la momentul apăsării, dar are un istoric curios care se întoarce la zilele primului PC, IBM 5150 , când nu existau interfețe grafice, ci doar text și MS-DOS atât de simplu încât îi lipsea chiar gestionarea periferică, deoarece acest lucru a fost realizat de BIOS, al cărui acronim a reprezentat sistemul de intrare și ieșire de bază.

Print Screen

Când utilizatorul a apăsat această tastă, ceea ce a făcut a fost să tipărească ecranul curent prin portul LPT1, portul standard al imprimantelor la acel moment, iar grația tuturor este locul în care acest port a fost găsit în primele PC-uri care au apărut pe piață.

Portul imprimantei de pe placa grafică: sursa tastei Print Screen

CGA LPT1

Primele computere nu aveau un sistem de gestionare a imprimantei la fel de complex ca cel pe care îl avem astăzi și, în plus, nici măcar nu aveau propriul lor, însă plăcile grafice în sine aveau portul imprimantei integrat în așa fel. Deci, atunci când utilizatorul a apăsat tasta ecranului de imprimare, tamponul de imagine a fost trimis automat direct la imprimantă, deci acesta a fost singurul mod în care documentele puteau fi tipărite cu primele PC-uri.

Portul pentru imprimantă a fost numit LPT1, Terminalul de imprimare linie 1, iar când utilizatorul a apăsat tasta pentru a imprima ceea ce s-a întâmplat a fost că 1 octet pe ciclu de ceas a fost copiat din VRAM în portul LPT1 găsit pe placa grafică; în acest proces, întreaga memorie video a fost parcursă până când a fost atinsă ultima adresă de memorie a acesteia.

Primele imprimante care erau folosite în birouri la acea vreme nu erau imprimante cu jet de cerneală, ci imprimante cu matrice de puncte, unde fiecare bit al bufferului de imagine care a fost transmis prin port și a fost interpretat ca și cum ar fi un punct pe hârtie, dar mai târziu acest lucru a fost adaptat imprimantelor capabile să tipărească color, în care diferiți biți ai bufferului de imagine erau codați ca o culoare sau alta.

Vechiul mod de a gestiona perifericele

IOMMU Mapa Memoria PC Original

În zilele noastre, gestionarea perifericelor de intrare și ieșire este gestionată aproape automat, fie prin utilizarea de drivere software care fac ca sistemul de operare să se dedice acestei sarcini, fie prin munca IOMMU care are sarcina de a automatiza accesele sistemului de operare și aplicații pentru fiecare periferic.

Dar, în trecut, programatorii trebuiau să cunoască harta de memorie a computerelor și acest lucru înseamnă că au existat anumite adrese de memorie care nu stocau date, dar când au fost invocate au activat anumite funcții în hardware și pentru aceasta au existat două tipuri de adrese de memorie În ceea ce privește hardware-ul: unele adrese au fost folosite pentru a trimite date către hardware, iar altele pur și simplu nu au stocat nimic, ci au activat anumite funcții ale perifericelor.

Problema este că, dacă am dori să copiem conținutul bufferului de imagine pe imprimantă în acest concept, ar trebui să gestionăm manual acest proces prin intermediul codului din fiecare program, adică fiecare aplicație ar trebui să aibă propriile funcții de imprimare, dar nu numai din tipărire, ci și în lucruri la fel de simple precum stocarea unui fișier pe disc, captarea tastării și pentru acele sarcini mai comune au fost utilizate IRQ-uri sau cereri de întrerupere.

Tasta Print. Pant și IRQ7

Tabla IRQ

Pentru a facilita munca programatorilor au existat o serie de sarcini de comunicare cu perifericele care au fost gestionate de BIOS, în așa fel încât programatorii să nu trebuiască să dezvolte un mic program pentru lucruri atât de banale, printre care tipărirea unui document.

În primele generații de computere, când a fost apăsată tasta ecranului de imprimare, ceea ce s-a făcut a fost să invocăm canalul 7 pentru solicitări de întrerupere către Procesor (IRQ 7 sau Cerere de întrerupere), atunci ar înceta să facă ceea ce făcea și procesul de copiere a oricărui lucru din bufferul de imagine direct în portul imprimantei, oprind momentan toate celelalte funcții ale procesorului pentru a efectua procesul de imprimare.

Acest lucru a fost mult mai ușor decât să trebuiască să creați un program pentru tot procesul manual și obositor de a fi nevoie să copiați toate datele și a permis ca orice program să se tipărească cu utilizatorul la apăsarea unei singure taste, întrucât întregul proces a fost automatizat, pur și simplu cu tasta Print. Gâfâi. A fost conectat direct sau semi-direct la IRQ7.

Începând cu PC AT, portul LPT1 a lăsat placa grafică să fie amplasată într-o altă parte a computerului ( Plăci de bază) și totuși nu a dus la o modificare a modului în care acționează programele, deoarece au invocat pur și simplu cererea de întrerupere 7 pentru a opera și a trimite datele la imprimantă.

Tasta ecranului de imprimare în prezent

Captură de ecran

La un moment dat, numeroasele aplicații au început să utilizeze interfețe de utilizator complexe pe ecran, care nu erau interesate să fie tipărite pe imprimantă, așa că au trebuit să-și gestioneze propriile sisteme de imprimare.

Cand ferestre din 3.1 a început să se standardizeze, apelul către IRQ7 pentru tipărire a fost întrerupt pentru a utiliza driverele software gestionate de sistemul de operare în sine pentru a comunica cu imprimanta și, de atunci, tasta ecranului de imprimare copiază pur și simplu tamponul de imagine în secțiunea de memorie dedicată clipboardului și acesta a fost cazul de atunci, deoarece din acel moment cheia de imprimare nu a mai fost asociată cu cererea de întrerupere menționată.

De-a lungul timpului am văzut LPT1 înlocuindu-se cu portul USB și BIOS-ul de către UEFI, astfel încât tot ceea ce avea sens pentru tasta „Print Screen” a dispărut inițial.