Nu toată memoria RAM este disponibilă: cum să-i folosești întreaga capacitate? Cum se transferă un fișier mare pe o unitate flash? Conversia unei unități flash în sistemul de fișiere NTFS

Familiar pentru mulți utilizatori. Când apelați fereastra cu proprietățile sistemului, este afișat volumul complet, dar din anumite motive după aceasta se indică faptul că există puțin mai puțină memorie disponibilă. Este și mai rău când utilizatorul știe exact cât a instalat memorie cu acces aleator, iar 50 la sută sau mai puțin sunt disponibile. De ce se întâmplă acest lucru și cum să utilizați cantitatea maximă de RAM vor fi discutate în continuare. Dar mai întâi, să ne uităm pe scurt la principalele motive pentru acest fenomen.

De ce nu este disponibilă toată memoria RAM?

Deci, faptul că sistemele de operare Windows produc uneori indicatori ale căror valori sunt în mod evident mai mici decât cantitatea totală de RAM instalată poate fi asociat cu o serie de motive, printre care cele mai semnificative sunt următoarele:

  • Este instalat un sistem pe 32 de biți care nu acceptă o memorie mai mare de 4 GB;
  • maxim nu este acceptat placa de baza;
  • în parametrii sistemului există o limită a cantității maxime de RAM utilizată;
  • Setările de redistribuire a memoriei sunt setate incorect în BIOS;
  • memoria este parțial rezervată adaptoarelor video încorporate;
  • prea mult alergare procese active;
  • benzile instalate sunt deteriorate, performanța lor este afectată sau sunt conectate incorect;
  • utilizarea memoriei este blocată de viruși.

Merită să spunem imediat că problemele legate de expunerea virală nu vor fi luate în considerare în detaliu. Aici vă putem sfătui să verificați, pentru orice eventualitate, folosind antivirusuri portabile sau programe similare, având la dispoziție încărcătoare.

Cum să folosești toată memoria instalată în cele mai simple moduri?

Mult mai mult probleme importante când nu toată memoria RAM este disponibilă, există probleme cu conectarea stick-urilor de memorie sau a acestora munca incorecta. În primul rând, asigurați-vă că placa de bază este proiectată pentru volumul instalat și, de asemenea, verificați etanșeitatea introducerii benzilor în sloturile corespunzătoare. De asemenea, ar fi util să efectuați un test de memorie, pentru care îl puteți folosi pe al dvs instrument Windows(mdsched) sau programe de la terți ca Memtest86/86+.

Dacă problemele nu sunt identificate în această etapă, acordați atenție capacității de biți a instalației Modificări Windows. Dacă există o versiune pe 32 de biți, care nu poate funcționa cu RAM mai mare de 4 GB (cu excepția cazului în care utilizați mijloace speciale), indiferent de câtă memorie instalați dincolo de această limită, sistemul tot nu o recunoaște.

Soluția optimă instalarea va deveni pe 64 de biți versiuni Windows. Dar, în acest caz, este posibil ca programele instalate anterior să nu funcționeze și fișiere importante va trebui să-l copiați în altul partiție logică sau pe suporturi amovibile.

Uneori se întâmplă că nu toată memoria RAM este disponibilă din cauza opțiunilor de utilizare a memoriei setate incorect în (msconfig).

În configurator, pe fila de descărcare, faceți clic pe butonul parametri suplimentariși verificați dacă este bifată opțiunea de memorie maximă. Dacă există unul, eliminați-l, salvați opțiunile instalate și reporniți sistemul.

După cum este deja clar, o parte din memorie poate fi „mâncat” o sumă imensă activ procese de fundalși servicii care nu sunt vizibile pentru utilizator. În primul rând, opriți totul componente inutile la pornire (în Windows 7 și mai jos, fila corespunzătoare din setările de configurare este utilizată pentru aceasta, în versiunile superioare - „Manager de activități”).

Pentru orice eventualitate, uitați-vă la componentele active ale sistemului în secțiunea Programe și caracteristici și dezactivați-le pe cele neutilizate (modul Hyper-V, Internet Explorer, dacă utilizați un browser diferit, serviciu de imprimare, dacă nu aveți o imprimantă etc.). În mod similar, puteți seta tipul de pornire la dezactivat pentru alte servicii (services.msc), dar în acest caz trebuie să știți exact ce poate fi dezactivat și ce nu.

Există puțină RAM disponibilă: ce setări pot schimba în BIOS?

Dacă problema rămâne după aplicarea soluțiilor descrise mai sus, mergeți la setările sistemelor BIOS/UEFI primare și verificați setările de memorie, care ar trebui să conțină un articol care să conțină cuvintele Remapping sau Remap (redistribuire).

Dacă aveți Windows pe 64 de biți și aveți mai mult de 4 GB de memorie, setați-l la Dezactivat. În caz contrar, trebuie activat.

Dacă nu toată memoria RAM este disponibilă din cauza rezervării spațiului suplimentar pentru placa video încorporată în placa de bază, setați acest element la o valoare care să corespundă capacității de memorie a adaptorului (o puteți găsi în fila monitor când apelați dialogul DirectX - dxdiag) . Acest lucru se face prin schimbare detecție automată(Auto) pe unul dintre Optiuni Disponibile(32, 64 sau 128 MB).

Corectarea sistemelor pe 32 de biți

În cele din urmă, puteți utiliza toată memoria de peste 4 GB pe sisteme pe 32 de biți folosind utilitarul ReadyFor4GB. Mai întâi, fișierul EXE executabil cu același nume este lansat din folderul aplicației, apoi sunt apăsate butoanele Verificare și Aplicare. După aceasta, se efectuează acțiuni similare pentru obiectul ntkrnlpa.exe. Fișierul AddBootMenu.cmd este apoi lansat și se dă confirmarea că comanda a fost executată. După repornire, dacă apare un meniu cu bootloader-ul, este selectat Windows.

Notă: toate acțiunile sunt efectuate numai prin rularea fișierelor ca administrator pe riscul și riscul dumneavoastră, deoarece performanța sistemului după utilizarea acestei metode nu este pe deplin garantată.

Oamenii își pun adesea întrebarea: de ce din patru (șase sau opt) gigabiți de RAM instalați într-un computer, doar 2,23 (3,25 sau 2,87 etc.) sunt disponibili? Enumerate mai jos motive posibile detectarea incompletă a memoriei RAM.

De ce computerul nu vede o parte din RAM?

1. Este instalat un sistem de operare pe 32 de biți.

Orice sistem de operare pe 32 de biți nu va „vedea” mai mult de 4 GB de RAM. Mai des - de la 3,15 la 3,5 GB. Și aici nu este atât de important dacă este XP sau „opt”. Acest lucru se întâmplă din cauza distribuției specifice a spațiului de adrese de memorie. Prin urmare, pentru a evita intrarea într-o astfel de situație, aveți nevoie utilizați sistemul de operare Windows pe 64 de biți.

2. Computerul folosește un adaptor video integrat

O placă video integrată (sau „încorporată”) poate „taia” o parte din RAM pentru propriile nevoi. Acest lucru este foarte frecvent la laptopuri. Această situație este norma. Și dacă cantitatea de RAM rămasă nu este suficientă pentru tine, există un singur sfat: crește volumul acestuia prin adăugarea sau înlocuirea modulelor.

De asemenea, este important să înțelegeți aici că:

  • diferite adaptoare video integrate ocupă cantități diferite de RAM;
  • aceeași placă video este capabilă să ocupe cantități diferite de memorie, în funcție de cantitatea de RAM instalată în computer. Să presupunem că atunci când erau 2 GB de RAM, placa video lua 512 MB. Și când au instalat 4 GB, grafica a început să taie 1 GB.
  • există adaptoare video hibride care au propriile lor propria memorie, dar sunt și capabili să-l extindă împrumutând memorie din RAM.

Din cauza acestor două motive, uneori poate fi destul de dificil de înțeles de ce este disponibilă o anumită cantitate de RAM. La urma urmei, se poate dovedi că din 6 gigaocteți instalați, Windows pe 32 de biți „a văzut” 3,25 GB, iar placa video „a tăiat” încă 512 MB din acest volum. Ca urmare, în proprietățile sistemului vor fi scrise 6GB (2.73 disponibile). Soluția la o astfel de problemă combinată va fi din nou înlocuire sistem de operare la 64 de biți și, dacă este necesar, extinderea memoriei RAM.

3. Restricții de ediție a sistemului de operare privind cantitatea maximă de RAM

Juniori Edițiile Windows 7 și Vista au limitări privind utilizarea RAM. De exemplu, Windows 7 Starter funcționează doar cu 2 GB de RAM, Home Basic x64 cu 8 GB și Home Extended x64 cu 16 GB. Desigur, în acest caz, singura soluție ar fi instalarea unei alte ediții a sistemului de operare (de exemplu, Pro).

4. Unele module de memorie sunt defecte sau nu există niciun contact

Opriți computerul. Deconectați cablul de alimentare de la computerul desktop sau scoateți bateria din laptop. Apăsați butonul de pornire de mai multe ori pentru a elimina încărcarea condensatoarelor.

Scoateți toate modulele de memorie, curățați-le contactele cu o gumă de șters, apoi curățați-le cu alcool. Puneți benzile la locul lor și verificați dacă toate sunt detectate de sistem. Este convenabil să faci asta în program gratuit CPU-Z. Accesați fila SPD. În partea stângă a ferestrei există o listă derulantă care afișează informații despre instalat stick-uri RAMîn fiecare slot:

Dacă, la selectarea unui anumit slot, câmpuri goale, ceea ce înseamnă că fie nu are un modul, fie că nu funcționează.

5. Modulele sunt instalate incorect

La unele modele de plăci de bază, este posibil ca unele sloturi să nu funcționeze până când sloturile prioritare nu sunt ocupate. Prin urmare, astfel de nuanțe ar trebui clarificate în manual placa de baza(pe site-ul producătorului sau în broșură).

6. Problemă de compatibilitate cu modulul RAM

Verificați funcționarea benzilor individual folosind Memtest86+ ().

Dacă fiecare modul funcționează corect în mod independent (este detectat în sistem, volumul său este afișat corect, nu există erori în teste), iar când mai multe sunt instalate împreună, unul nu este detectat, atunci există o problemă cu compatibilitatea benzilor unul cu altul. Pentru a evita acest lucru, încercați să instalați module absolut identice ().

concluzii

Încă o dată despre cele mai importante lucruri. Pentru ca sistemul de operare să folosească RAM la maximum, este recomandat să instalați ediții Windows pe 64 de biți precum Professional. Când despre care vorbim pe sistemele de operare moderne (Windows 7, 8.1 și 10), nu există probleme la instalarea versiunii pe 64 de biți. Și dacă aveți de ales, nu ezitați să alegeți această opțiune.

Dar XP x86 și XP x64 sunt de fapt sisteme diferite Cu versiuni diferite miezuri. Și Windows XP ediția pe 64 de biți este considerată destul de instabilă. Prin urmare, este recomandat fie să instalați Windows 7/8.1/10 (dacă computerul este proiectat să funcționeze cu unul dintre ele), fie să lăsați XP 32 de biți.

M-a îngrijorat și această întrebare. Deși s-ar părea că puteți instala un sistem pe 64 de biți, sau chiar Windows Server(după cum știți, chiar și în versiunea pe 32 de biți vede toată memoria), dar am vrut să folosesc Windows XP. De două ori în ultimii 3 ani am trecut la Windows 7, prima dată la 64 de biți, a doua oară la 32 de biți, dar până la urmă am revenit de ambele ori la XP, pe care îl am fără reinstalare din 2007.
Ultima dată când am renunțat la un șapte în favoarea unei bătrâne a fost acum două săptămâni. Mai mult, trebuie remarcat faptul că șapte era, deși pe 32 de biți, dar avea capacitatea de a vedea toată memoria disponibilă deblocată. Metoda de deblocare este disponibilă pe Internet. Și acum sunt cu forță nouă Am vrut să rezolv această problemă în XP.

Căutările au condus la acest site: Corectează Kernel-ul Vista pentru a adresa mai mult de 4 GB de memorie
Articolul este dedicat deblocarea Windows Vista, dar în comentarii, câțiva oameni descriu o metodă similară pentru Windows XP. Am decis să urmez sfaturile lor și să încerc această tehnică în practică.

Mai întâi aveți nevoie de distribuția Windows XP SP1. Poate că doar primul pachet de servicii va funcționa, nu știu, nu îl am. În general, acolo este nevoie de un singur fișier. Și anume, fișierul de bibliotecă Hardware Abstraction Layer. Începând cu cel de-al doilea pachet de servicii, această bibliotecă funcționează cu PAE „fictiv”, adică. chiar dacă modul extins de traducere a adresei este activat, nu face nimic și nu depășește patru gigaocteți. Dar biblioteca din primul service pack funcționează pe deplin și poate fi adresată tuturor memorie disponibilă, similar cu modul în care Windows Server pe 32 de biți gestionează memoria. ÎN Windows instalat XP acest fișier numit hal.dll, dar distribuția conține mai multe fișiere HAL și doar unul dintre ele este instalat pe sistem sub numele hal.dll în timpul procesului de instalare. A fost necesar să aflu care dintre fișiere ar trebui să fie folosite pe mine echipamente specifice. Acest lucru se face simplu, trebuie să apelați Proprietăți meniul contextual Explorer pe fișierul hal.dll din Windows instalat. Fișierul se află în folderul %systemroot%\system32 și iată ce am văzut:

ÎN Distribuție Windows XP SP1 în folderul I386, am luat fișierul HALMACPI.DL_. Aceasta este o arhivă care conține un fișier pe care îl căutam, halmacpi.dll. L-am extras folosind WinRAR, dar puteți folosi și linia de comandă:
extinde HALMACPI.DL_ HALMACPI.DLL
Fișierul rezultat ar trebui să fie plasat în folderul %systemroot%\system32, ceea ce am făcut. Aș dori să subliniez încă o dată că dacă cineva dorește să-mi repete pașii, fișierul trebuie luat cu numele specificat în proprietatea „Nume fișier inițial” din proprietățile hal.dll din Windows XP instalat.

Al doilea lucru pe care trebuie să-l faceți este să obțineți o versiune corectată a nucleului Windows. După cum știți, există 4 versiuni ale nucleului:

  • ntoskrnl.exe - cu un singur procesor Nucleul Windows.
  • ntkrnlmp.exe este un nucleu Windows multiprocesor.
  • ntkrnlpa.exe este un nucleu Windows cu un singur procesor, cu mai mult de 3 GB de RAM.
  • ntkrpamp.exe este un nucleu Windows multiprocesor cu mai mult de 3 GB de RAM.
Instrucțiunile pe care le-am folosit vorbeau despre nucleul ntkrnlpa.exe și despre al meu Instalări Windows Exact asta merita. Sincer să fiu, nu știu ce să fac dacă apare o altă ghiulea.
In primul rand am facut o copie a nucleului, numita krnl16.exe, in principiu numele nu conteaza. Apoi, un editor HEX (am folosit DOS-Navigator, conform veche amintire) trebuie să găsim succesiunea
  • BB 00 00 10 00 33 FF 6A 07 8B F0 și înlocuiți-l cu
  • BB 00 00 40 00 33 FF 6A 07 8B F0
Aici 1000h = 4096 MB, înlocuiți-l cu 4000h = 16384 MB. Acestea. Ridicam limita la 16 GB. În principiu, se poate intra număr mai mare. Fișierul corectat ar trebui să fie, de asemenea, localizat în system32.

Acum tot ce rămâne este să editați boot.ini. Trebuie să copiați linia existentă și să adăugați câțiva parametri. Am avut linia:
multi(0)disk(0)rdisk(0)partiție(1)\WINDOWS.XP=„Microsoft Windows XP Professional RU” /FASTDETECT /USEPMTIMER /NOSERIALMICE /NOEXECUTE=OPTIN

Am adăugat la el /KERNEL=KRNL16.EXE /HAL=HALMACPI.DLL /PAE iar rezultatul a fost:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS.XP=„Microsoft Windows XP Professional RU 16Gb” /FASTDETECT /USEPMTIMER /NOSERIALMICE /NOEXECUTE=OPTIN /KERNEL=KRNL16.EXE /HAL=HALMACPI. DLL/PAE
Acum este posibil să porniți ca în Windows standard cu limitarea inerentă a memoriei și în patched, deoarece nu am înlocuit niciunul fișier de sistem, dar au adăugat doar două, care sunt activate folosind parametrii boot.ini descriși mai sus

Reporniți!
Și... BSOD.
În principiu, acest lucru s-ar putea întâmpla. După cum reiese dintr-o revizuire a istoricului problemei pe ixbt, motivul pentru care Microsoft a dezactivat adresarea memorie superioară, a existat existența șoferilor strâmbi sub diverse echipamente, a cărei curbură s-a manifestat însă doar în modul complet PAE. Este probabil ca unul dintre ele să fie defect în ultimii 6 ani, s-au acumulat multe lucruri în sistem, dar care? Încerc să încep modul sigur, și URĂ! Iată-le, gigaocteții mei:

Dar cum să identifici un modul defect? După ce am căutat pe google, am găsit o tehnică pentru asta, care constă în analiza unui mic depozit de memorie, creat de Windows cu BSOD. Analiza este efectuată de program Ecran albastru Vizualizați, dar toate modalitățile pe care le-am găsit pentru a activa modul de înregistrare a dump-ului nu au dus la succes: dump-ul nu a fost creat, așa că a trebuit să folosesc metoda științifică de poking. Pentru început, am dezinstalat lucrurile inutile care s-au găsit în sistem. Și anume șoferul de protecție Guardant și drivere ATI de pe o placa video veche.
Reporniți.
Rezultatul a depășit așteptările mele. Sincer să fiu, nu mă așteptam ca metoda poke să dea astfel de rezultate și am încercat-o doar pentru a face ceva. Nu știu exact care șofer a cauzat problema, dar cred că cel mai probabil este Guardant.
Dar principalul este: obiectivul a fost atins, iar acum mă gândesc să extind memoria la 8 GB.

  • Nota 1. Deoarece metoda folosește dll din primul pachet de servicii, există posibilitatea ca acesta să conțină unele vulnerabilități care au fost închise de pachetele de servicii ulterioare. Nu am studiat problema asta.
  • Nota 2. Unele drivere din Windows XP corecţionat pot cauza BSOD. Cu toate acestea, există foarte puține dintre ele în natură.
  • Nota 3. S-a raportat că unele sisteme au probleme cu USB atunci când folosesc această tehnică. Încă nu am probleme. De macar, tastaturile, mouse-urile și unitățile flash funcționează normal.

Unii utilizatori încă se confruntă cu problema manipulării fișierelor mai mari decât 4GB.

De regulă, acest lucru se întâmplă din ce în ce mai des atunci când descărcați fișiere din sau altundeva (pentru că rareori mutăm fișiere de această dimensiune, ceea ce înseamnă că oamenii pur și simplu nu știu că au o problemă similară și de ce o au).

Eroare când fișierul este mai mare de 4 GB

În cazul unui torrent, eroarea arată astfel: „Unul sau mai multe fișiere depășesc limita de dimensiune a sistemului de fișiere și nu pot fi descărcate”.

În alte cazuri, dacă memoria îmi servește corect (și se întâmplă :)), sună ca „Discul este plin sau protejat la scriere”.

Miezul problemei este că sistemul de fișiere FAT32(și utilizatorii care se întâlnesc problema asemanatoare utilizați acest sistem de fișiere special) este acceptat dimensiune maximă fișierele sunt egale a 4 294 967 296 octeți și nimic mai mult. Nu este nimic de făcut în acest sens - așa a fost intenționat de la bun început.

Soluția problemei este reformatarea sau convertirea într-un sistem de fișiere NTFS.

Soluția 1

Voi începe cu a doua metodă ca fiind cea mai acceptabilă:

Pentru a începe conversia, procedați în felul următor.

start - A executa - cmd

O consolă se va deschide în fața ta. Intra acolo:

convertit D: /fs:ntfs

Unde D: este litera de unitate în care doriți să o convertiți NTFS format.
Nu-mi amintesc exact, dar am o părere că, ca și în cazul formatării, convertesc disc de sistem, adică cel în care se află în prezent sistemul nu va funcționa. Calea de ieșire este fie formatarea, fie conectarea hard disk la alt computer.

Opțiunea de soluție 2

Cat despre formatare...
Este imposibil să faceți acest lucru fără a pierde date, deoarece formatarea șterge toate fișierele de pe hard disk și, prin urmare, fie trebuie să fiți pregătit pentru aceasta și să transferați toate informațiile către medii externe sau doar cumpără disc nouși formatați-l în sistemul de fișiere NTFS. Pentru a formata, faceți clic pe:

Calculatorul meu - Click dreapta soareci pe discul dorit - Format - Sistem de fișiere: NTFS - a pune bifați " Formatare rapidă" - ÎNCEPE.

Așteptăm să se termine formatarea.
Alternativ, puteți tăia fișierele în bucăți pentru a le muta programe speciale, dar acest lucru nu va rezolva problema în cazul descărcării fișierelor de pe Internet și chiar merită să faceți tam-tam? În plus, schimbarea sistemului de fișiere în NTFS va avea, de asemenea, un efect pozitiv asupra performanță grea disc în și Windows Vista deoarece ambele sisteme de operare sunt făcute să funcționeze cu acest sistem de fișiere.

Vrei să știi și să poți face mai multe singur?

Vă oferim training în următoarele domenii: calculatoare, programe, administrare, servere, rețele, construirea site-urilor web, SEO și multe altele. Află acum detaliile!

Postfaţă

Așa stau lucrurile. Dacă aveți întrebări, întrebați în comentarii.

Atenție pentru utilizatorii sistemelor de operare mai vechi (pre-XP). Sistemul de fișiere NTFS nu este acceptat de aceste versiuni de sisteme de operare, de ex. Nu veți vedea discul nou reformatat dacă aveți una dintre versiuni Windows familii 95/98 .

Au trecut câțiva ani de când a fost scris articolul „Patru gigaocteți de memorie este un obiectiv de neatins?”. ”, iar întrebările despre motivul pentru care Windows nu vede toți cei patru gigaocteți nu au scăzut. Numărul celor care au întrebat a inclus și proprietarii de sisteme pe 64 de biți, pe care această problemă, se pare, nu ar fi trebuit să-i afecteze. Și a devenit clar că era timpul să scriem articol nou pe aceeași temă. Ca și până acum, vom vorbi doar despre sălile de operație sisteme Windows, și în principal cele client, adică Windows XP, Windows Vista, Windows 7 și viitorul Windows 8. În unele cazuri, vor fi folosite în mod intenționat descrieri oarecum simplificate ale anumitor aspecte. Acest lucru va face posibilă concentrarea asupra subiectului acestui articol fără a intra în detalii inutile, în special, structura internă a procesoarelor și chipset-urilor pentru plăcile de bază. Vă recomandăm să citiți mai întâi articolul de mai sus, deoarece nu tot ce este spus în el se va repeta aici.

Deși teoretic este disponibil un sistem pe 32 de biți (fără trucuri suplimentare) până la 4 GB memorie fizică Versiunile de client pe 32 de biți ale Windows nu pot folosi toată această capacitate din cauza faptului că unele dintre adrese sunt utilizate de dispozitivele computerizate. Acea parte a RAM ale cărei adrese coincid cu adresele dispozitivului trebuie dezactivată pentru a evita conflictele între RAM și memorie dispozitivul corespunzător- de exemplu, un adaptor video.

Orez. 1. Dacă memoria RAM din adresele utilizate de dispozitive nu este dezactivată, apare un conflict

RAM umple adrese începând de la zero, iar dispozitivele sunt de obicei alocate adrese în al patrulea gigabyte. Atâta timp cât dimensiunea RAM nu depășește doi sau trei gigaocteți, nu apar conflicte. De îndată ce limita superioară memorie instalată intră în zona în care se află adresele dispozitivului, apare o problemă: atât celula RAM, cât și celula de memorie a dispozitivului (a aceluiași adaptor video) se află la aceeași adresă. În acest caz, scrierea datelor în memorie va duce la distorsiunea imaginii de pe monitor și invers: schimbarea imaginii va distorsiona conținutul memoriei, adică codul programului sau date (de exemplu, text într-un document). Pentru a evita conflictele, sistemul de operare trebuie să refuze să folosească acea parte a RAM care se suprapune cu adresele dispozitivului.

La mijlocul anilor 90 ai secolului trecut, pentru a extinde cantitatea disponibilă de RAM, a fost dezvoltată tehnologia PAE (Physical Address Extension), crescând numărul de linii de adrese de la 32 la 36 - crescând astfel cantitatea maximă de RAM de la 4 la 64 GB. Această tehnologie a fost inițial destinată serverelor, dar a apărut mai târziu în Windows client XP. Unele caracteristici ale implementării acestei tehnologii în controlerele moderne de memorie fac posibilă nu numai utilizarea PAE în scopul propus, ci și „aruncarea” memoriei către alte adrese. Astfel, o parte din memorie care nu este utilizată pentru a preveni conflictele poate fi mutată la adrese mai înalte, de exemplu, la al cincilea gigaoctet - și poate deveni din nou sistem accesibil.

În discuția primului articol s-a făcut remarca că este incorect să se identifice prezența memoriei în controler placa de baza Suport PAE - și capacitatea plăcii de a redirecționa memoria; că acestea pot fi foarte bine lucruri fără legătură între ele. Cu toate acestea, practica arată că în hardware-ul pentru sisteme desktop aceste concepte sunt interschimbabile. De exemplu, Intel în documentația pentru chipset-ul său G35 nu spune un cuvânt despre posibilitatea redirecționării memoriei (existentă efectiv), dar subliniază suportul pentru PAE. Iar setul i945 care nu suportă PAE nu are redirecționare memorie. CU procesoare AMD 64 și ultimele modele Pe procesoarele Intel, situația este și mai simplă: au un controler de memorie încorporat în procesor, iar suportul pentru PAE (și RAM mai mare de 4 GB) implică automat suport pentru redirecționare.

Orez. 2. Redirecționare

Imaginea este destul de condiționată; redirecționarea nu se realizează neapărat în blocuri de exact un gigaoctet; discretitatea poate fi diferită și este determinată de controlerul de memorie (care, reamintim, este fie parte din hardware-ul plăcii de bază, fie parte din procesor). ÎN program BIOS Configurare computer De obicei, există o setare care permite sau interzice redirecționarea. Poate avea nume diferite - de exemplu, Remaptarea memoriei, gaura memoriei, sistemul de operare pe 64 de biți și altele asemenea. Cel mai bine este să-i aflați numele în manualul plăcii de bază. Trebuie remarcat faptul că, dacă utilizați un sistem pe 32 de biți, atunci pe unele plăci de bază, de cele mai multe ori destul de vechi, redirecționarea trebuie dezactivată - în caz contrar, cantitatea de RAM disponibilă pentru sistem poate scădea.

În mod implicit, modul PAE a fost dezactivat în Windows XP, deoarece nu era nevoie reală de el (amintim că în 2001, cantitatea obișnuită de memorie pe un computer desktop era de 128-256 MB). Cu toate acestea, dacă este activat, XP ar putea folosi toți cei patru gigaocteți de memorie - cu condiția, desigur, ca placa de bază să accepte PAE. Dar, să repetăm, nu era nevoie reală de a activa acest mod în acei ani. Dacă dorește, cititorul îl poate seta la calculator modern Windows XP sau Windows XP SP1 (desigur, nu ar trebui să faceți acest lucru pentru muncă), activați modul PAE și asigurați-vă cu ochii tăi că patru gigaocteți de RAM sunt disponibili pentru sistem.

În 2003, Microsoft a început să dezvolte un al doilea pachet de patch-uri pentru Windows XP (lansat în 2004) deoarece s-a confruntat cu nevoia de a reduce semnificativ numărul de vulnerabilități în componentele sistemului de operare. O modalitate a fost de a folosi Data Execution Prevention (DEP), un set de tehnologii software și hardware care permit verificări suplimentare conținutul memoriei și, în unele cazuri, împiedică pornirea cod rău intenționat. Aceste verificări sunt efectuate conform nivelul programului, și pe hardware (dacă există un procesor adecvat). AMD a numit această caracteristică a procesorului „no-execute page-protection” (NX), în timp ce Intel a folosit termenul „Execute Disable bit” (XD).

Cu toate acestea, utilizarea unei astfel de protecție hardware necesită trecerea procesorului în modul PAE, deci Windows XP SP2, atunci când este detectat procesor potrivit a început să activeze acest mod în mod implicit. Și aici Microsoft s-a confruntat cu o problemă destul de serioasă: s-a dovedit că nu toți driverele pot funcționa în modul PAE. Să încercăm să explicăm această caracteristică fără a aprofunda prea mult în designul procesoarelor și mecanismele de adresare.

Windows folosește ceea ce se numește un model de memorie plată. Treizeci și doi de biți ai adresei oferă acces la un spațiu de patru gigaocteți. Astfel, fiecare celulă RAM sau celulă de memorie a altui dispozitiv corespunde unei adrese specifice și nu poate exista nicio ambiguitate aici. Când modul PAE este activat, este posibil să folosiți 36 de biți de adresă și să creșteți numărul de celule de memorie de 16 ori. Dar setul de instrucțiuni al procesorului rămâne același și poate adresa doar 4 miliarde (binari) de octeți! Și astfel, pentru a oferi posibilitatea de a accesa oricare dintre cei 64 de miliarde de octeți specificând doar 32 de biți ai adresei, procesorul include o etapă suplimentară de traducere a adresei (cei interesați de detalii se pot referi la literatura de specialitate - de exemplu, carte de Russinovici și Solomon „Internă dispozitiv Windows"). Ca rezultat, o adresă de 32 de biți dintr-un program poate indica oricare dintre octeții din spațiul de 36 de biți.

Această caracteristică nu afectează în niciun fel programele de aplicație; adrese virtuale. Dar șoferii care ar trebui să-i contacteze adrese reale dispozitive specifice, trebuie să decidem sarcini suplimentare. La urma urmei, adresa pe 32 de biți generată de acest driver poate etapă suplimentară traducerea se poate dovedi a fi complet diferită, iar comanda emisă de șofer poate, de exemplu, în loc să afișeze o pictogramă pe ecran, să modifice valoarea într-una dintre celule tabele Excel. Și dacă orice date de sistem se dovedesc a fi corupte, atunci până la încetarea anormală a lucrului cu ieșirea ecran albastru la mana. Prin urmare pentru munca de succesîn modul PAE, driverele trebuie scrise ținând cont de particularitățile acestui mod.

Cu toate acestea, din moment ce istoric s-a dovedit că până în acel moment în calculatoare client PAE nu a fost folosit, unele companii nu au considerat necesar să suporte acest mod în driverele pe care le-au scris. La urma urmei, echipamentele pe care le-au produs ( plăci de sunet, de exemplu), nu a fost destinat serverelor, iar driverele nu aveau o versiune de server - deci de ce să complici inutil aceste drivere? Mai mult, pentru a testa funcționarea în modul PAE anterior a fost necesar să instalați un sistem de operare server și să utilizați hardware pentru server (plăci de bază pentru computere desktop PAE a început să fie susținut abia recent). Așadar, a fost mai ușor și mai profitabil pentru dezvoltatorii de drivere să uite pur și simplu de acest PAE și să asigure funcționalitatea pe computerele client obișnuite cu sisteme de operare personale obișnuite, mai degrabă decât de server.

Și tocmai cu aceste drivere au apărut probleme în XP SP2. Deși numărul companiilor ai căror șoferi au încetat să funcționeze sau chiar au prăbușit sistemul a fost mic, numărul de dispozitive produse de aceste companii s-a numărat la milioane. În consecință, numărul de utilizatori care ar putea primi o surpriză neplăcută, s-a dovedit a fi destul de semnificativ. Drept urmare, mulți utilizatori ar refuza să instaleze singuri pachetul și i-ar da un nume prost, ceea ce i-ar afecta și pe alți utilizatori. Ei, deși fără niciun motiv convingător, ar refuza, de asemenea, să-l instaleze.

Și Microsoft a simțit nevoia să îmbunătățească foarte mult securitatea XP. Cu toate acestea, discuțiile despre motivul pentru care am văzut Windows XP SP2 și nu am văzut ceva de genul Windows XP Ediția a doua depășesc domeniul de aplicare al acestui articol.

Principalul lucru care ne interesează este că pentru a asigura compatibilitatea cu driverele prost scrise, funcționalitatea PAE din SP2 pentru Windows XP a fost întreruptă. Și deși acest mod în sine există și, mai mult, pe computere cu procesoare moderne este activat implicit, nu oferă nicio extindere a spațiului de adrese, pur și simplu trecând la ieșire aceleași adrese care au fost furnizate la intrare. De fapt, sistemul se comportă ca un sistem obișnuit pe 32 de biți fără PAE.

Același comportament a fost moștenit de Windows Vista și apoi transferat pe Windows 7 și pe viitorul Windows 8. Pe 32 de biți, desigur. Motivul pentru care acest comportament nu s-a schimbat rămâne același: pentru a asigura compatibilitatea. Mai mult, nevoia de a câștiga fracțiuni de gigabyte a dispărut: cei care au nevoie de cantități mari de memorie pot folosi versiuni pe 64 de biți ale sistemului de operare.

Uneori puteți auzi întrebarea: dacă acest mod PAE trunchiat este cel care împiedică sistemul să vadă toți cei patru gigaocteți, atunci poate dezactivați-l complet pentru a nu interfera și, voila, 4 GB vor deveni disponibile pentru sistem? Din păcate, nu vor: acest lucru necesită doar prezența PAE și unul cu drepturi depline. O altă întrebare care nu se pune atât de rar este aceasta: dacă dispozitivele împiedică într-adevăr sistemul să folosească toată memoria și rezerve o parte din ea pentru propriile nevoi, atunci de ce nu au rezervat nimic când computerul avea doi gigaocteți de RAM?

Să revenim la prima poză și să privim situația mai detaliat. În primul rând, observăm că trebuie să distingem clar între două concepte: dimensiunea spațiului de adrese și cantitatea de RAM. Amestecarea acestora împiedică înțelegerea esenței problemei. Spațiul de adrese este ansamblul tuturor adreselor existente (care pot fi accesate de procesor și alte dispozitive). Pentru procesoarele din familia i386, aceasta este de 4 gigaocteți pe Mod normalși 64 GB folosind PAE. Pentru sistemele pe 64 de biți, dimensiunea spațiului de adrese este de 2 TB.

Dimensiunea spațiului de adrese nu depinde în niciun fel de cantitatea de RAM. Chiar dacă eliminați toată memoria RAM din computer, dimensiunea spațiului de adrese nu se va schimba nici măcar un iota.

Spațiul de adrese poate fi real, în care rulează sistemul de operare în sine, și virtual, pe care sistemul de operare îl creează pentru programele care rulează în el. Dar caracteristicile utilizării memoriei în Windows vor fi descrise într-un alt articol. Aici remarcăm doar că programele nu au acces la spațiul real de adrese - doar sistemul de operare în sine și driverele pot accesa adrese reale.

Să ne uităm la modul în care spațiul de adrese este utilizat pe un computer. Să subliniem imediat că distribuția sa este realizată de echipamentul informatic („hardware”), iar sistemul de operare în cazul general nu poate influența acest lucru. Există o singură cale: modificați setările hardware folosind tehnologia Plug&Play. S-a vorbit mult despre el la mijlocul anilor 90 ai secolului trecut, dar acum este luat de la sine înțeles, iar numărul persoanelor care nici nu au auzit de el este în creștere.

Folosind această tehnologie, puteți modifica, în anumite limite specificate de producător, adresele de memorie și numerele de porturi utilizate de dispozitiv. Acest lucru, la rândul său, face posibilă evitarea conflictelor între dispozitive care ar putea apărea dacă pe computer ar exista două dispozitive configurate să folosească aceleași adrese.

Programul de bază de pe placa de bază, adesea denumit generic BIOS (deși, de fapt, BIOS-ul ( sistem de bază I/O) nu este) când porniți computerul, sondajează dispozitivele. Determină ce intervale de adrese poate folosi fiecare dispozitiv, apoi încearcă să aloce memorie astfel încât niciun dispozitiv să nu interfereze cu altul și apoi le spune dispozitivelor decizia sa. Dispozitivele își configurează setările conform acestor instrucțiuni și puteți începe să încărcați sistemul de operare.

În timp ce suntem la subiect, să reținem că o serie de plăci de bază au o setare numită „P&P OS”. Dacă această setare este dezactivată (Nu), placa de bază realizează distribuirea adreselor pentru toate dispozitivele. Dacă este activat (Da), atunci alocarea memoriei se efectuează numai pentru dispozitivele necesare pentru pornire, iar sistemul de operare se va ocupa de configurarea altor dispozitive. În cazul Windows XP și sistemelor de operare mai noi din această familie această setare Este recomandat să-l activați, deoarece în majoritatea Carcase Windows va efectua setările necesare cel puțin la fel de bine ca și BIOS-ul.

Din moment ce o astfel de auto-configurare distribuie adrese memorie, nu contează cât de mult RAM este instalată în computer - procesul va continua în același mod.

Atunci când o anumită cantitate de RAM este introdusă într-un computer, spațiul de adrese pentru acesta este alocat de jos în sus, pornind de la adresa zero și apoi îndreptându-se către adrese crescânde. Adresele dispozitivelor, dimpotrivă, sunt alocate în zona superioara(în al patrulea gigabyte) spre adrese în scădere, dar nu neapărat în blocurile adiacente - mai des, dimpotrivă, în cele neadiacente. De îndată ce zonele de adrese alocate pentru RAM (pe de o parte) și pentru dispozitive (pe de altă parte) se ating, conflictele de adrese devin posibile, iar cantitatea de RAM utilizată trebuie limitată.

Deoarece schimbarea adresei la configurarea dispozitivelor se efectuează într-un anumit pas, determinat de caracteristicile dispozitivului specificate de producător, este imposibil să se obțină o secțiune continuă de adrese pentru dispozitive - apar goluri neutilizate între adresele dispozitivelor individuale. Teoretic, aceste lacune ar putea fi folosite pentru a accesa RAM, dar acest lucru ar complica munca managerului de memorie al sistemului de operare. Pentru aceasta și altele Motive Windows folosește RAM până la prima adresă de memorie, dispozitiv ocupat. RAM localizată de la această adresă și mai sus va rămâne nefolosită. Cu excepția cazului, desigur, controlerul de memorie organizează redirecționarea.

Uneori se pune întrebarea: este posibil să influențezi distribuția adreselor pentru a muta toate dispozitivele din spațiul de adrese cât mai sus și a face cât mai multe mai multa memorie sistem accesibil. În general, acest lucru nu se poate face fără a interfera cu designul sau firmware-ul dispozitivelor în sine. Dacă vă mai mâncărime mâinile și nu vă deranjează timpul, puteți încerca următoarea metodă: Configurarea BIOS-ului activați setarea „PnP OS” (poate fi complet absentă sau poate avea un alt nume), astfel încât Windows să distribuie adrese pentru majoritatea dispozitivelor, apoi reinstalați driverele folosind aplicația editată fișiere inf cu zone îndepărtate de memorie pe care le considerați prea scăzute.

Puteți găsi diverse sfaturi pe Internet care se presupune că ar trebui să ofere sistemului capacitatea de a folosi toți cei patru gigaocteți, pe baza forței PAE să fie pornit. După cum este ușor de înțeles din cele de mai sus, acest lucru nu poate oferi niciun beneficiu, deoarece nu contează dacă PAE este pornit automat sau forțat - acest mod funcționează la fel în ambele cazuri.

Poate apărea și întrebarea: ce se va întâmpla dacă instalați un adaptor video cu patru gigaocteți de memorie. La urma urmei, atunci se dovedește că sistemul va rămâne complet fără RAM și nu va putea funcționa. De fapt, nu se va întâmpla nimic rău: adaptoarele video folosesc o porțiune de 256 MB din spațiul de adrese de ceva timp, iar accesul la întreaga cantitate de memorie a acceleratorului video se realizează printr-o fereastră de această dimensiune. Deci, adaptorul video nu va lua mai mult de 256 de megaocteți. Poate că în unele modele dimensiunea acestei ferestre este dublată sau chiar de patru ori, dar autorul încă nu a pus mâna pe ele.

pe 64 de biți

Deci, ne-am ocupat de sisteme pe 32 de biți. Acum să trecem la 64 de biți.

Aici, s-ar părea, nu ar trebui să existe capcane. Sistemul poate folosi mult mai mult de patru gigaocteți, așa că, la prima vedere, este suficient să conectați memoria la placa de bază și să instalați sistemul. Dar se dovedește că nu totul este atât de simplu. În primul rând, observăm că nu se vor putea găsi echipamente speciale destinate doar sistemelor pe 64 de biți (vorbim despre PC-uri obișnuite). Orice placa de baza card de retea, adaptorul video etc., care rulează pe un sistem pe 64 de biți, ar trebui să funcționeze la fel de bine pe un sistem pe 32 de biți.

Aceasta înseamnă că adresele dispozitivelor trebuie să rămână în primii patru gigaocteți. Aceasta înseamnă că toate restricțiile impuse asupra cantității de memorie disponibilă unui sistem pe 32 de biți se aplică și unui sistem pe 64 de biți - desigur, dacă placa de bază nu acceptă redirecționarea sau dacă această redirecționare este dezactivată în setări.

Plăcile de bază de pe kituri nu acceptă redirecționarea cipuri Intel până la 945 inclusiv. Desigur, nu pot fi numite noi, dar computerele bazate pe ele încă există și sunt în uz. Deci, pe astfel de plăci, atât sistemele pe 64 de biți, cât și pe 32 de biți vor putea vedea aceeași cantitate de memorie și va fi mai mică de 4 GB. De ce mai puțin este descris mai sus.

Cu procesoarele AMD pe 64 de biți, situația este mai simplă: controlerul lor de memorie este încorporat în procesor de ceva timp, iar redirecționarea este absentă doar la modelele mai vechi. Toate procesoarele pentru soclul cu 939 de pini și mai noi acceptă mai mult de 4 GB și, în consecință, sunt capabile să efectueze redirecționarea memoriei. Același lucru este valabil și pentru procesoare Intel Familiile Core i3, i5, i7.

Cu toate acestea, poate exista o capcană aici: dacă liniile de adresă suplimentare nu sunt direcționate pe placa de bază, atunci nu va exista nicio modalitate de a accesa memoria redirecționată. Și unele modele mai tinere de plăci de bază sunt produse exact așa pentru a reduce costul, așa că trebuie să te uiți la descrierea plăcii de bază specifice.

Și aici avem o surpriză, similară cu cea pe care o întâlnim într-un sistem pe 32 de biți: utilizarea spațiului de adrese pentru funcționarea dispozitivului poate limita cantitatea de memorie disponibilă pentru Windows.

De exemplu, dacă o placă de bază acceptă până la 8 GB de RAM (să zicem, folosind un chipset G35) și instalează toți cei 8 GB, atunci vor fi utilizați doar ≈7-7,25 GB. Motivul este următorul: pe o astfel de placă de bază există 33 de linii de adresă, ceea ce, din punctul de vedere al producătorului, este destul de logic - de ce să complicați designul dacă placa încă nu acceptă mai mult de 8 GB? Prin urmare, chiar dacă controlerul de memorie poate transfera secțiunea neutilizată de RAM pe al nouălea gigabyte, va fi tot imposibil să-l accesezi. Acest lucru va necesita o adresă de 34 de biți, care nu poate fi generată fizic pe o adresă de 33 de biți magistrala de sistem. De asemenea, pe plăcile care acceptă 16 GB, Windows va putea folosi ≈15-15,25 GB și așa mai departe.

Există o altă nuanță puțin cunoscută asociată cu redirecționarea. Limitarea dimensiunii memoriei implementată în msconfig (sau setările de configurare de boot corespunzătoare) nu se referă la cantitatea reală de memorie, ci la limita superioară a adreselor memoriei utilizate.

Orez. 3. Această setare limitează limita superioară a adreselor, nu dimensiunea memoriei

Adică, dacă setați această valoare la 4096 MB, atunci memoria situată peste această limită (redirecționată la al cincilea gigaoctet, de exemplu) nu va fi folosită și, de fapt, volumul memoriei va fi limitat la aproximativ trei gigaocteți. În unele cazuri, această caracteristică poate fi utilizată pentru a diagnostica dacă redirecționarea funcționează sau nu. De exemplu, autorul a dat peste un caz când Laptop Windows a folosit 3,75 GB din patru și nu era clar: fie redirecționarea nu funcționa, fie memoria era folosită într-un anumit scop. Bifarea casetei și limitarea dimensiunii memoriei la patru gigaocteți au dus la utilizarea doar a 3,25 GB. Din aceasta putem concluziona că redirecționarea a funcționat și, prin urmare, un sfert de gigaoctet a fost folosit pentru adaptorul video sau alt scop.

Și, în sfârșit, merită menționat că, chiar și cu redirecționare funcțională și un sistem pe 64 de biți, mai multe zeci sau chiar sute de megaocteți de memorie pot fi încă rezervați pentru echipament. Cel mai bine este să verificați cu producătorul plăcii de bază motivele acestei redundanțe, dar cel mai adesea se poate presupune că este folosită pentru adaptorul video încorporat sau controlerul RAID.