Віртуальна пам'ять

Віртуа́льна па́м'ять — схема адресації пам'яті комп'ютера, при якій пам'ять для запущеної програми реалізується однорідним масивом, в той час як насправді операційна система виділяє пам'ять блоками в різних видах пам'яті, включаючи короткочасну (оперативну) і довгочасну (тверді диски, твердотілі накопичувачі).

Також під віртуальною пам'яттю часто розуміють файл підкачки (Windows-системи), або окремий розділ на диску (Unix-системи). Ця пам'ять використовується для того, щоб дати можливість системі або користувачу одночасно виконувати більшу кількість програм, ніж це дозволяє фізична оперативна пам'ять.

Віртуальну пам'ять підтримують процесори, що працюють у захищеному режимі, починаючи з 80286 (випущено у 1982 році), але широко стали використовувати тільки в операційних системах і оболонках для 32-розрядних процесорів (80386 і новіші, починаючи з 1985 року).

Віртуальна пам'ять у Windows

У Windows реалізовано систему віртуальної пам'яті, яка утворює плоский (лінійний) адресний простір[1]. Вона створює кожному процесу ілюзію того, що в нього є власний достатньо великий і закритий від інших процесів адресний простір. Віртуальна пам'ять дає логічне представлення (звідси й назва- віртуальна, "неіснуюча"), яке не обов'язково відповідає (і як правило не відповідає) структурі фізичної пам'яті. У період виконання диспетчер пам'яті, використовуючи апаратну підтримку, транслює, або проектує (maps), віртуальні адреси на фізичні, за якими реально зберігаються дані. Керуючи проектуванням і захистом сторінок пам'яті, операційна система гарантує, що жоден процес не зашкодить іншому й не зможе пошкодити дані самої операційної системи. Оскільки в більшості комп'ютерів обсяг фізичної пам'яті набагато менший від загального обсягу віртуальної пам'яті, задіяної процесами, диспетчер пам'яті переміщає (підкачує) частину вмісту пам'яті на диск. Підкачування даних на диск звільняє фізичну пам'ять для інших процесів або операційної системи. Коли потік звертається до скинутої на диск сторінки віртуальної пам'яті, диспетчер пам'яті завантажує цю інформацію з диска назад у пам’ять. Для використання переваг підкачування в програмах ніякого додаткового коду не потрібно, тому що диспетчер пам'яті спирається на апаратну підтримку цього механізму.

Керування віртуальною пам'яттю

Механізм керування пам’яттю є однією з найважливіших складових операційної системи. У комп’ютерах IBM-сумісної архітектури застосунки разом з оброблюваними даними розташовуються в оперативній пам'яті. Таким чином, виконання будь-якого процесу обов’язково супроводжується операціями з пам’яттю. Для реалізації схеми керування віртуальною пам’яттю, при якій кожен процес отримує власний закритий адресний простір, використовується диспетчер віртуальної пам’яті (virtual memory manager). Диспетчер пам’яті виконує два головних завдання: узгодження адрес віртуального адресного простору з наявними фізичними ресурсами пам’яті (трансляція віртуальних адрес) та керування використанням сторінкового файлу, який дозволяє компенсувати нестачу фізичної пам’яті.

Структура віртуального адресного простору

Структура адресного простору для 32- та 64-розрядних Windows

Розмір віртуального адресного простору залежить від конкретної апаратної платформи. На 32-розрядних системах теоретичний максимум для загального віртуального адресного простору становить 4 Гб. За замовчуванням Windows виділяє нижню половину цього простору (у діапазоні адрес від х00000000 до х7FFFFFFF) процесам, а другу половину (у діапазоні адрес від х80000000 до xFFFFFFFF) використовує у власних цілях. Windows 2000 Advanced Server, Windows 2000 Datacenter Server, Windows XP (SP2 і вище) і Windows Server 2003 підтримують завантажувані параметри /3GB і /USERVA, які вказують у файлі Boot.ini та дозволяють процесам, що виконують програми зі спеціальним прапорцем у заголовку образу, використовувати до 3 Гб закритого адресного простору й залишає операційній системі тільки 1 Гб. Цей варіант дає можливість вимогливій до пам’яті програмі зберігати в адресному просторі свого процесу великі порції даних і тим самим зменшити частоту дискових звертань.

Кожному процесу виділяється власний віртуальний адресний простір[1]. Для 32-розрядних процесів його розмір становить 4 Гб (це максимальний обсяг, який може використовуватися при 32-бітній адресації – 232 байт). Для 64-розрядних процесів розмір адресного простору становить 16 екзабайт (264 байт). Потоки при виконанні отримують доступ тільки до пам'яті, яка належить його процесу. Пам'ять, відведена іншим процесам, прихована від потоку й недоступна для використання. Тому дані різних процесів, записані за тією ж віртуальною адресою, розміщуються в різних сторінках фізичної пам'яті (це забезпечує система трансляції адрес). У ряді випадків ізоляція може бути частково знята (наприклад, для відображених файлів). У подібних випадках забезпечують контроль доступу до області пам'яті, для чого створюють окремий об'єкт, який містить атрибути захисту. 4 Гб адресного простору система ділить на дві приблизно однакові за обсягом частини. Перша частина надається у користування процесу, а друга резервується для системних потреб. Таким чином, за замовчуванням кожен користувацький процес в 32-розрядній версії Windows має у своєму розпорядженні власний адресний простір розміром до 2 Гб; інші 2 Гб використовує операційна система. У системному просторі розміщуються такі компоненти[2]:

  • Системний код. Містить образ операційної системи, HAL і драйвери пристроїв, які використовуються для завантаження системи. Сюди ж проектується частина підсистеми Windows режиму ядра, а також графічні драйвери.
  • Гіперпростір. Особлива область, яка використовується для проектування на пам’ять списку робочого набору процесу й тимчасового проектування інших фізичних сторінок для ряду системних операцій.
  • Структури даних списку робочого набору, які описують системний робочий набір.
  • Системний кеш. Віртуальний адресний простір, який використовується для проектування[що?] файлів.
  • Системна купа підкачуваної пам’яті.
  • Елементи системної таблиці сторінок. Це елементи в таблиці сторінок, що містять фізичну адресу, на яку проектується віртуальна.
  • Системна купа непідкачуваної пам’яті.
  • Дані аварійного дампу. Область, зарезервована для запису інформації про стан системи на момент краху.
  • Область, зарезервована під специфічні для HAL структури.

Віртуальний адресний простір 32-бітних систем

Структура віртуального адресного простору в системах типу х86

Віртуальний адресний простір кожного процесу розбивається на розділи, розмір і призначення яких залежать від версії Windows. Розділ для виявлення нульових вказівників резервується, щоб полегшити розробникам програмного забезпечення виявляти нульові вказівники. Спроба читання або запису за цими адресами викликає порушення доступу. Якщо в програмі відсутня належна обробка помилок, то при невдалій спробі виділення пам’яті за вказівником він може мати нульове значення. Тоді спроба звертання до даних за таким вказівником (тобто за адресою $00000000) буде явно помилковою. Оскільки цей розділ адресного простору заблокований, виникне виняткова ситуація некоректного доступу до пам’яті. Ця особливість допомагає програмістам виявляти помилки у програмах. Розділ для коду й даних є закритою частиною адресного простору процесу. Основний обсяг даних, що належать процесу, зберігається саме тут. Сюди завантажуються всі виконавчі модулі, враховуючи й динамічні бібліотеки. На цей же розділ відображуються проектовані файли, доступні даному процесу.

Сторінковий файл

У старих операційних системах фізичною пам'яттю вважалася лише оперативна пам'ять (RAM). Сучасні ОС імітують пам'ять за рахунок дискового простору. При цьому на диску створюється сторінковий файл (paging file), який містить доступну для всіх процесів віртуальну пам'ять. З погляду прикладної програми, сторінковий файл просто збільшує обсяг доступної пам'яті. Під час роботи операційна система скидає вміст частини оперативної пам'яті в сторінковий файл і при необхідності довантажує його порціями назад у пам’ять. Якщо такого файлу немає, система працюватиме, але застосункам буде доступний менший обсяг пам'яті. Сторінковий файл збільшує обсяг доступної пам'яті і дозволяє програмам працювати з більшими обсягами даних. Фізична пам’ять ділиться на сторінки, кожна з яких може мати окремі атрибути захисту.

Механізм розширеної пам'яті (Address Windowing Extension)

Проте інколи для роботи програми недостатньо й 3 Гб (наприклад, для великих баз даних). У зв'язку з цим у 32-розрядних Windows з'явився механізм Address Windowing Extension (AWE), що дозволяє 32-розрядній програмі виділяти до 64 Гб фізичної пам'яті, а потім створювати подання (views), або вікна (windows), на свій 2-гігабайтний віртуальний адресний простір[2]. Застосування AWE ускладнює керування проєкціями віртуальної пам'яті на фізичну, але знімає проблему прямого доступу до обсягу фізичної пам'яті, що перевищує ліміти 32-розрядного адресного простору процесу.

Переваги

Використання віртуальної пам'яті дає ряд переваг:

  • спрощення адресації пам'яті клієнтським програмних забезпеченням
  • раціонально керувати ОЗП комп'ютера
  • ізолювати процеси один від одного (кожен процес «вважає», що монопольно володіє всією пам'яттю)

Примітки

  1. а б Коноваленко І.В., Федорів П.С. Системне програмування у Windows з прикладами на Delphi, Т:ТНТУ.- 2012 [Архівовано 8 грудня 2012 у Wayback Machine.].
  2. а б Руссинович М. Внутреннее устройство Microsoft Windows : Windows Server 2003, Windows XP и Windows 2000. Мастер-класс / М.Руссинович, Д.Соломон ; пер. с англ. – 4-е изд. – М : Издательско-торговый дом "Русская редакция" ; СПб : Питер, 2005.

Див. також


Read other articles:

Lokasi Masjid terkait dengan benteng dan istana Ázm Bab al-Jabiyah (Arab: بَابُ الْجَابِيَّةِ, romanized: Bāb al-Jābīyahcode: ar is deprecated ; Gate of the Water Trough) adalah salah satu air dari tujuh gerbang kota kuno yang berada di Damaskus, Suriah. Selama era Romawi, gerbang itu didedikasikan untuk Mars.[1] Bab al-Jabiya adalah pintu masuk utama yang ada di sisi barat kota. Gerbang itu berada di Midhat Pasha Souq (bazar) yang mana merupakan bagian dari...

 

 

Diagram 3D tambang bawah tanah modern dengan sebuah poros akses Penambangan batuan keras bawah tanah mengacu pada berbagai teknik penambangan bawah tanah yang digunakan untuk menggali mineral keras, biasanya yang mengandung logam,[1] seperti bijih yang mengandung emas, perak, besi, tembaga, seng, nikel, timah, dan timbal. Teknik penambangan ini juga mencakup teknik serupa yang digunakan untuk menggali bijih permata, seperti berlian dan rubi. Penambangan batuan lunak mengacu pada pengg...

 

 

Kiki MariaLahir10 September 1962 (umur 61)Magelang, Jawa Tengah, IndonesiaPekerjaanPemeranpresenterpenyanyiSuami/istriFX Abiyarso BoyohAnak Misha Johanna Ignas Boyoh Karier musikGenrePopJazzTahun aktif1972—sekarang Meiske Maria Petra (lahir 10 September 1962) merupakan seorang pemeran, penyanyi dan presenter berkebangsaan Indonesia.[1] Keluarga Ia adalah putri bintang film yang populer pada tahun 1980-an, Suzanna dengan aktor Dicky Suprapto.[2][3] Karier Kiki t...

Sirkuit Autopolis Tata letak trekLokasiDesa Kamitsue, di Kota Hita, Prefektur Ōita, JepangPemilikKawasaki Motors Corporation JapanDibuka1990Biaya pembangunan¥47 milyarArsitekYoshitoshi SakuraiAcara besarSuper GTSuper FormulaD1 Grand PrixMFJ SuperbikeSuper TaikyuFull CircuitPanjang4.673 km (2.904 mi)Rekor lap1:26.469, Naoki Yamamoto, Team Mugen, Dallara SF14, 2014Main CircuitPanjang3.022 km (1.877 mi)Lakeside CircuitPanjang1.761 km (1.094 mi)Situs webwww.autopolis.jp Autopolis (オートポ�...

 

 

Bagian Seri politikSistem pemilihan Pluralitas/mayoritas Pluralitas Pemenang undi terbanyak Suara tunggal yang tidak dapat dialihkan Pemilihan terbatas Kemajemukan besar (pemilihan blok) Tiket umum Sistem banyak putaran Dua putaran Surat suara lengkap Sistem peringkat / preferensial Putaran instan (pemilihan alternatif) Pilih kontingen Metode Coombs Metode Condorcet (Copeland, Dodgson, Kemeny–Young, Minimax, Nanson, Pasangan berperingkat, Schulze, Alternatif Smith) Sistem posisional (Hitung...

 

 

Untuk hewan, lihat Belut. Belut asap Unadon, masakan belut khas Jepang Belut merupakan ikan yang menjadi salah satu bahan makanan di dunia. Belut dewasa memiliki ukuran yang bervariasi dari 5 cm hingga 4 meter tergantung spesiesnya.[1] Ikan ini tidak memiliki sirip pelvis, dan beberapa spesies tidak memiliki sirip pektoral. Sirip dorsal dan sirip anus bersatu dengan sirip ekor membentuk satu sirip yang memanjang di sepanjang tubuhnya.[2] Sebagian besar spesies belut hidup...

Filmmaking in Galicia This article does not cite any sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Cinema of Galicia – news · newspapers · books · scholar · JSTOR (May 2014) (Learn how and when to remove this message) Carlos Velo, appears sent from the Galician cinema. Cinematography in Galicia is in the main in Galician language, although there is also ...

 

 

† Палеопропитеки Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:СинапсидыКласс:�...

 

 

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus. Cet article ne cite pas suffisamment ses sources (juillet 2008). Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références ». En pratique : Quelles sources sont attendues ? C...

Italian actress (1931–2011) Dorian GrayGray in 1958BornMaria Luisa Mangini(1931-02-02)2 February 1931Bolzano, Kingdom of ItalyDied15 February 2011(2011-02-15) (aged 80)Torcegno, Trentino, ItalyOccupationActressYears active1951–1965 Dorian Gray (born Maria Luisa Mangini; 2 February 1931 – 15 February 2011) was an Italian actress. Biography Gray made her stage debut in 1950. After five years she left the world of the theater and devoted herself to cinema. Dorian Gray in Totò, P...

 

 

Canadian politician This article needs to be updated. Please help update this article to reflect recent events or newly available information. (September 2019) The HonourableHunter Tootoo Hᐊᓐᑕ ᑐᑐPCMinister of Fisheries, Oceans and the Canadian Coast GuardIn officeNovember 4, 2015 – May 31, 2016Prime MinisterJustin TrudeauPreceded byGail SheaSucceeded byDominic LeBlancMember of Parliamentfor NunavutIn officeOctober 19, 2015 – September 11, 2019Preceded byLeona A...

 

 

这是马来族人名,“阿末”是父名,不是姓氏,提及此人时应以其自身的名“祖基菲里”为主。 尊敬的拿督斯里哈芝祖基菲里·阿末Dzulkefly bin Ahmad国会议员、DGSM博士 马来西亚卫生部部长现任就任日期2023年12月12日君主最高元首苏丹阿都拉最高元首苏丹依布拉欣·依斯迈首相安华·依布拉欣副职卡尼斯曼(英语:Lukanisman Awang Sauni)前任扎丽哈·慕斯达法任期2018年5月21日—2...

Éphémérides Chronologie du Québec 1829 1830 1831  1832  1833 1834 1835Décennies au Québec :1800 1810 1820  1830  1840 1850 1860 Chronologie dans le monde 1829 1830 1831  1832  1833 1834 1835Décennies :1800 1810 1820  1830  1840 1850 1860Siècles :XVIIe XVIIIe  XIXe  XXe XXIeMillénaires :-Ier Ier  IIe  IIIe Chronologies géographiques Afrique Afrique du Sud, Algérie, Angola, Bénin, Botswana, Burkina Faso...

 

 

本條目存在以下問題,請協助改善本條目或在討論頁針對議題發表看法。 此條目需要編修,以確保文法、用詞、语气、格式、標點等使用恰当。 (2013年8月6日)請按照校對指引,幫助编辑這個條目。(幫助、討論) 此條目剧情、虛構用語或人物介紹过长过细,需清理无关故事主轴的细节、用語和角色介紹。 (2020年10月6日)劇情、用語和人物介紹都只是用於了解故事主軸,輔助�...

 

 

Aristofanes Nama dalam bahasa asli(grc) Ἀριστοφάνης BiografiKelahirank. 445 SM Athena Kematian385 SM (59/60 tahun)Athena KegiatanSpesialisasiSastra dan drama Pekerjaancomedy writer, penulis drama, penyair GenreComedy AliranKomedi Kuno Dipengaruhi olehPindaros, Euripides dan Socrates Karya kreatifKarya terkenal(392 SM) Assemblywomen(405 SM) Katak-katak(408 SM) Plutus(411 SM) Thesmophoriazusae(412 SM) Lysistrata(414 SM) Burung-burung(421 SM) Peace(422 SM) The Wasps(423 ...

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (مايو 2021) هذه مقالة أو قسم تخضع حاليًّا للتوسيع أو إعادة هيكلة جذريّة. إذا كانت لديك استفسارات أو ملاحظات حول عملية ا�...

 

 

Angkatan Laut JermanDeutsche MarineDibentuk2 Januari 1956; 68 tahun lalu (1956-01-02)Negara JermanTipe unitAngkatan LautJumlah personel16.390 personel (2021)[1]65 kapal56 pesawatBagian dariBundeswehrMarkasRostockMotoWir. Dienen. Deutschland.Kami. Melayani. Jerman.HimneGruß an Kiel [de]Pertempuran Daftar pertempuran Operasi Sharp Guard (1993–96)Operasi Enduring Freedom – Tanduk AfrikaGugus tugas gabungan 150 (2002– )Operasi Active EndeavourUNIFIL IIOperasi...

 

 

Computer Networking Program In computer networking, linear network coding is a program in which intermediate nodes transmit data from source nodes to sink nodes by means of linear combinations. Linear network coding may be used to improve a network's throughput, efficiency, and scalability, as well as reducing attacks and eavesdropping. The nodes of a network take several packets and combine for transmission. This process may be used to attain the maximum possible information flow in a networ...

Railway station in Aarhus, Denmark This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Viby Jylland railway station – news · newspapers · books · scholar · JSTOR (October 2021) (Learn how and when to remove this message) Not to be confused with Viby Sjælland railway station. Viby Jyllandrailway stationViby Jyll...

 

 

Questa voce sull'argomento calciatori trinidadiani è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Stephen HartNazionalità Trinidad e Tobago Altezza185 cm Calcio RuoloAllenatore (ex centrocampista) Squadra HFX Wanderers CarrieraGiovanili 19?? Hurricane FC Squadre di club1 19?? Utd Petrotrin? (?)19?? San Fernando Strikers? (?)19?? Saint Mary's Huskies? (?)1988-1989 Halifax King of Donair...