Виртуальная память
Виртуа́льная па́мять (англ. virtual memory) — метод управления памятью компьютера, позволяющий выполнять программы, требующие больше оперативной памяти, чем имеется в компьютере, путём автоматического перемещения частей программы между основной памятью и вторичным хранилищем (например, жёстким диском). Для выполняющейся программы данный метод полностью прозрачен и не требует дополнительных усилий со стороны программиста, однако реализация этого метода требует как аппаратной поддержки, так и поддержки со стороны операционной системы.
В системе с виртуальной памятью используемые программами адреса, называемые виртуальными адресами, транслируются в в памяти компьютера. Трансляцию виртуальных адресов в физические выполняет аппаратное обеспечение, называемое блоком управления памятью. Для программы основная память выглядит как доступное и непрерывное адресное пространство либо как набор непрерывных сегментов вне зависимости от наличия у компьютера соответствующего объёма оперативной памяти. Управление виртуальными адресными пространствами, соотнесение физической и виртуальной памяти, а также перемещение фрагментов памяти между основным и вторичным хранилищами выполняет операционная система (см. подкачка страниц).
Применение виртуальной памяти позволяет:
- освободить программиста от необходимости вручную управлять загрузкой частей программы в память и согласовывать использование памяти с другими программами
- предоставлять программам больше памяти, чем физически установлено в системе
- в многозадачных системах изолировать выполняющиеся программы друг от друга путём назначения им непересекающихся адресных пространств (см. защита памяти)
В настоящее время виртуальная память аппаратно поддерживается в большинстве современных процессоров. В то же время, в микроконтроллерах и в системах специального назначения, где либо требуется очень быстрая работа, либо есть ограничения на длительность отклика (системы реального времени), виртуальная память используется относительно редко. Также в таких системах реже встречается многозадачность и сложные иерархии памяти.
История
В 1940-е и 1950-е годы все программы, размер которых превышал объём оперативной памяти, должны были содержать логику управления оперативной и внешней памятью, такую как оверлей. В связи с этим виртуальная память была введена не только для увеличения объёма оперативной памяти, но и для того, чтобы сделать такое увеличение наиболее простым в использовании для программистов. Для поддержки мультипрограммирования и многозадачности во многих ранних компьютерных системах разделение памяти между несколькими программами осуществлялось без виртуальной памяти, с помощью сегментации (например, в компьютерах PDP-10).
Понятие виртуальной памяти было впервые введено в 1956 году немецким физиком (нем. Fritz-Rudolf Güntsch) из Берлинского технического университета в его докторской диссертации «Логическое проектирование цифровой вычислительной машины с несколькими асинхронными вращающимися барабанами и автоматическим высокоскоростным управлением памятью». В ней описывается машина с 6 блоками памяти на магнитных сердечниках ёмкостью 100 слов каждый и адресным пространством в 1000 блоков по 100 слов. Аппаратное обеспечение машины автоматически перемещает блоки между основной и внешней памятью на магнитных барабанах.Подкачка страниц впервые была реализована в Манчестерском университете как способ расширения памяти компьютера Atlas путём объединения его основной памяти на магнитных сердечниках объёмом 16000 слов с памятью на магнитных барабанах ёмкостью 96000 слов. Первая поставка машины Atlas состоялась в 1962 году, но работающие прототипы подкачки страниц были разработаны уже в 1959 году. В 1961 году Burroughs Corporation независимо выпустила первый промышленно производившийся компьютер с виртуальной памятью , использующий сегментацию вместо подкачки страниц. В 1965 году виртуальная память была реализована в отечественной машине БЭСМ-6, хотя реализованный механизм не позволял расширить 15-разрядное адресное пространство процесса и ограничивал удобство программирования.
Прежде чем виртуальная память смогла быть использована в распространённых операционных системах, должен был быть решен ряд проблем. Динамическая трансляция адресов требовала дорогого и сложного в изготовлении специального оборудования. Первые реализации замедляли доступ к памяти. Существовали опасения, что новые общесистемные алгоритмы, использующие внешнюю память, будут менее эффективны, чем ранее использовавшиеся алгоритмы конкретных приложений. К 1969 году дебаты вокруг виртуальной памяти для промышленно выпускаемых компьютеров были завершены: команда исследователей из IBM под руководством Дэвида Сейра (англ. David Sayre) показала, что созданная ими система виртуальной памяти во всех отношениях превосходит лучшие системы, управляемые вручную. Первым мини-компьютером, в котором была использована виртуальная память, был норвежский (но.) (но.). В 1970-е годы реализации виртуальной памяти появились в других мини-компьютерах, наиболее известным является VAX, работающий под управлением операционной системы VMS.
Виртуальная память в архитектуре x86 была реализована с появлением защищенного режима процессора 80286, однако она использовала сегментацию памяти, и метод подкачки сегментов плохо масштабировался для больших размеров сегментов. В процессоре 80386 была введена поддержка подкачки страниц, не приводящая к возникновению двойной ошибки, если во время обработки другого исключения возникло исключение ошибки страницы. Поверх системы подкачки страниц работал существующий механизм сегментации памяти. Однако загрузка дескрипторов сегментов являлась дорогостоящей операцией, заставляя разработчиков операционных систем полагаться только на механизм подкачки страниц, а не на комбинацию подкачки страниц и сегментации.
Страничная организация виртуальной памяти
В большинстве современных операционных систем виртуальная память организуется с помощью страничной адресации. Оперативная память делится на страницы — области памяти фиксированной длины (например, 4096 байт), которые являются минимальной единицей выделяемой памяти (то есть даже запрос на 1 байт от приложения приведёт к выделению ему всей страницы памяти). Исполняемый процессором пользовательский поток обращается к памяти с помощью адреса виртуальной памяти, который делится на номер страницы и смещение внутри страницы. Процессор преобразует номер виртуальной страницы в адрес соответствующей ей физической страницы при помощи буфера ассоциативной трансляции (TLB). Если ему не удалось это сделать, то требуется дозаполнение буфера путём обращения к таблице страниц (так называемый Page Walk), что может сделать либо сам процессор, либо операционная система (в зависимости от архитектуры). Если страница была выгружена из оперативной памяти, то операционная система подкачивает страницу с жёсткого диска в ходе обработки события Page fault (см. свопинг, подкачка страниц). При запросе на выделение памяти операционная система может «сбросить» на жёсткий диск страницы, к которым давно не было обращений. Критические данные (например, код запущенных и работающих программ, код и память ядра системы) обычно находятся в оперативной памяти (исключения существуют, однако они не касаются тех частей, которые отвечают за обработку аппаратных прерываний, работу с таблицей страниц и использование файла подкачки).
Сегментная организация виртуальной памяти
Механизм организации виртуальной памяти, при котором виртуальное пространство делится на части произвольного размера — сегменты. Этот механизм позволяет, к примеру, разбить данные процесса на логические блоки. Для каждого сегмента, как и для страницы, могут быть назначены права доступа к нему пользователя и его процессов. При загрузке процесса часть сегментов помещается в оперативную память (при этом для каждого из этих сегментов операционная система подыскивает подходящий участок свободной памяти), а часть сегментов размещается в дисковой памяти. Сегменты одной программы могут занимать в оперативной памяти несмежные участки. Во время загрузки система создает таблицу сегментов процесса (аналогичную таблице страниц), в которой для каждого сегмента указывается начальный физический адрес сегмента в оперативной памяти, размер сегмента, правила доступа, признак модификации, признак обращения к данному сегменту за последний интервал времени и некоторая другая информация. Если виртуальные адресные пространства нескольких процессов включают один и тот же сегмент, то в таблицах сегментов этих процессов делаются ссылки на один и тот же участок оперативной памяти, в который данный сегмент загружается в единственном экземпляре. Система с сегментной организацией функционирует аналогично системе со страничной организацией: время от времени происходят прерывания, связанные с отсутствием нужных сегментов в памяти, при необходимости освобождения памяти некоторые сегменты выгружаются, при каждом обращении к оперативной памяти выполняется преобразование виртуального адреса в физический. Кроме того, при обращении к памяти проверяется, разрешен ли доступ требуемого типа к данному сегменту.
Виртуальный адрес при сегментной организации памяти может быть представлен парой (g, s), где g — номер сегмента, а s — смещение в сегменте. Физический адрес получается путём сложения начального физического адреса сегмента, найденного в таблице сегментов по номеру g, и смещения s.
Недостатком данного метода распределения памяти является фрагментация на уровне сегментов и более медленное по сравнению со страничной организацией преобразование адреса.
Существует также гибридная странично-сегментная организация виртуальной памяти.
См. также
- Разделяемая память
- Кэш-память
- Менеджер виртуальной памяти
- Блок управления памятью (Memory Management Unit)
- Утечка памяти
Примечания
- Э. Танненбаум. Архитектура компьютера = Structured Computer Organization. — 5-е изд. — СПб.: Питер, 2013. — С. 476. — 884 с. — ISBN 978-5-469-01274-0.
- Ч. Кэпс. Р. Стаффорд. VAX: Программирование на языке ассемблера и архитектура = VAX assembly language and architecture. — М.: Радио и связь, 1991. — С. 310. — 416 с. — ISBN 5-256-00706-8.
- Морс С.П., Алберт Д.Д. Архитектура микропроцессора 80286 = The 80286 architecture. — М.: Радио и связь, 1990. — С. 167. — 304 с. — ISBN 5-256-00466-2.
- Peter J. Denning. Before Memory Was Virtual // In the Beginning: Recollections of Software Pioneers. — 1997. Архивировано 10 января 2017 года.
- Elke Jessen. Origin of the Virtual Memory Concept // IEEE Annals of the History of Computing. — 2004. — Т. 26, вып. 4. — С. 71—72.
- Elke Jessen. Die Entwicklung des virtuellen Speichers // Informatik-Spektrum. — Springer-Verlag, 1996. — Т. 19, вып. 4. — С. 216–219. — ISSN 0170-6012. — doi:10.1007/s002870050034.
- R. J. Creasy. The origin of the VM/370 time-sharing system // IBM Journal of Research & Development. — 1981. — Т. 25, № 5. — С. 486. Архивировано 7 мая 2016 года.
- Atlas design includes virtual memory Архивная копия от 13 мая 2016 на Wayback Machine — Computer50, University of Manchester 1996
- Ian Joyner on Burroughs B5000 (англ.)
- Harvey G. Cragon. Memory Systems and Pipelined Processors. — Jones and Bartlett Publishers, 1996. — С. 113. — ISBN 0-86720-474-5.
- Королёв Л. Н. Архитектура ЭВМ БЭСМ-6. Из книги Л. Н. Королёва «Структуры ЭВМ и их математическое обеспечение» (1978). PARALLEL.RU - Информационно-аналитический центр по параллельным вычислениям:. Дата обращения: 21 ноября 2016. Архивировано 13 апреля 2001 года. ()
- D. Sayre. Is automatic "folding" of programs efficient enough to displace manual? // Communications of the ACM. — ACM, 1969. — Т. 12, вып. 12. — С. 656—660. — ISSN 0001-0782. — doi:10.1145/363626.363629.
- Harvey G. Cragon. Memory Systems and Pipelined Processors. — Jones and Bartlett Publishers, 1996. — С. 121. — ISBN 0-86720-474-5.
- Patterson, Hennessy «Computer organisation and Design. Hardware Software Interface.» 4th edition. ISBN 9780080886138 Chapter 5.4, page 503 (англ.)
- В семействе операционных систем Microsoft Windows сегментная адресация не используется и заменена делением памяти на секции, что в сущности почти одно и то же.
Литература
- Вахалия Ю. UNIX изнутри. — СПб.: Питер, 2003. С.844. ISBN 5-94723-013-5
- Иртегов Д. Введение в операционные системы. СПб.: Питер, 2002.
- Bruce Jacob, Trevor Mudge. Virtual Memory: Issues of Implementation. — Los Alamitos, CA, USA: IEEE Computer Society Press, 1998. ISSN:0018-9162
- Лекция 9: Виртуальная память. Архитектурные средства поддержки виртуальной памяти / Основы операционных систем - Академия Intel, Московский физико-технический институт, 2004 - Интуит ISBN 978-5-9556-0044-4
Ссылки
- Virtual Memory: Issues of Implementation / Computer Volume 31 Issue 6, June 1998 doi:10.1109/2.683005 (англ.)
- Bo Brantén, Windows driver examples: SwapFs - Драйвер виртуальной памяти для Windows, использующий Linux swap раздел (англ.)
- FAQ по файлу подкачки на WinBlog.ru, 2007
Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер, Информация о Виртуальная память, Что такое Виртуальная память? Что означает Виртуальная память?
Virtua lnaya pa myat angl virtual memory metod upravleniya pamyatyu kompyutera pozvolyayushij vypolnyat programmy trebuyushie bolshe operativnoj pamyati chem imeetsya v kompyutere putyom avtomaticheskogo peremesheniya chastej programmy mezhdu osnovnoj pamyatyu i vtorichnym hranilishem naprimer zhyostkim diskom Dlya vypolnyayushejsya programmy dannyj metod polnostyu prozrachen i ne trebuet dopolnitelnyh usilij so storony programmista odnako realizaciya etogo metoda trebuet kak apparatnoj podderzhki tak i podderzhki so storony operacionnoj sistemy V sisteme s virtualnoj pamyatyu ispolzuemye programmami adresa nazyvaemye virtualnymi adresami transliruyutsya v v pamyati kompyutera Translyaciyu virtualnyh adresov v fizicheskie vypolnyaet apparatnoe obespechenie nazyvaemoe blokom upravleniya pamyatyu Dlya programmy osnovnaya pamyat vyglyadit kak dostupnoe i nepreryvnoe adresnoe prostranstvo libo kak nabor nepreryvnyh segmentov vne zavisimosti ot nalichiya u kompyutera sootvetstvuyushego obyoma operativnoj pamyati Upravlenie virtualnymi adresnymi prostranstvami sootnesenie fizicheskoj i virtualnoj pamyati a takzhe peremeshenie fragmentov pamyati mezhdu osnovnym i vtorichnym hranilishami vypolnyaet operacionnaya sistema sm podkachka stranic Primenenie virtualnoj pamyati pozvolyaet osvobodit programmista ot neobhodimosti vruchnuyu upravlyat zagruzkoj chastej programmy v pamyat i soglasovyvat ispolzovanie pamyati s drugimi programmami predostavlyat programmam bolshe pamyati chem fizicheski ustanovleno v sisteme v mnogozadachnyh sistemah izolirovat vypolnyayushiesya programmy drug ot druga putyom naznacheniya im neperesekayushihsya adresnyh prostranstv sm zashita pamyati V nastoyashee vremya virtualnaya pamyat apparatno podderzhivaetsya v bolshinstve sovremennyh processorov V to zhe vremya v mikrokontrollerah i v sistemah specialnogo naznacheniya gde libo trebuetsya ochen bystraya rabota libo est ogranicheniya na dlitelnost otklika sistemy realnogo vremeni virtualnaya pamyat ispolzuetsya otnositelno redko Takzhe v takih sistemah rezhe vstrechaetsya mnogozadachnost i slozhnye ierarhii pamyati IstoriyaV 1940 e i 1950 e gody vse programmy razmer kotoryh prevyshal obyom operativnoj pamyati dolzhny byli soderzhat logiku upravleniya operativnoj i vneshnej pamyatyu takuyu kak overlej V svyazi s etim virtualnaya pamyat byla vvedena ne tolko dlya uvelicheniya obyoma operativnoj pamyati no i dlya togo chtoby sdelat takoe uvelichenie naibolee prostym v ispolzovanii dlya programmistov Dlya podderzhki multiprogrammirovaniya i mnogozadachnosti vo mnogih rannih kompyuternyh sistemah razdelenie pamyati mezhdu neskolkimi programmami osushestvlyalos bez virtualnoj pamyati s pomoshyu segmentacii naprimer v kompyuterah PDP 10 Ponyatie virtualnoj pamyati bylo vpervye vvedeno v 1956 godu nemeckim fizikom nem Fritz Rudolf Guntsch iz Berlinskogo tehnicheskogo universiteta v ego doktorskoj dissertacii Logicheskoe proektirovanie cifrovoj vychislitelnoj mashiny s neskolkimi asinhronnymi vrashayushimisya barabanami i avtomaticheskim vysokoskorostnym upravleniem pamyatyu V nej opisyvaetsya mashina s 6 blokami pamyati na magnitnyh serdechnikah yomkostyu 100 slov kazhdyj i adresnym prostranstvom v 1000 blokov po 100 slov Apparatnoe obespechenie mashiny avtomaticheski peremeshaet bloki mezhdu osnovnoj i vneshnej pamyatyu na magnitnyh barabanah Podkachka stranic vpervye byla realizovana v Manchesterskom universitete kak sposob rasshireniya pamyati kompyutera Atlas putyom obedineniya ego osnovnoj pamyati na magnitnyh serdechnikah obyomom 16000 slov s pamyatyu na magnitnyh barabanah yomkostyu 96000 slov Pervaya postavka mashiny Atlas sostoyalas v 1962 godu no rabotayushie prototipy podkachki stranic byli razrabotany uzhe v 1959 godu V 1961 godu Burroughs Corporation nezavisimo vypustila pervyj promyshlenno proizvodivshijsya kompyuter s virtualnoj pamyatyu ispolzuyushij segmentaciyu vmesto podkachki stranic V 1965 godu virtualnaya pamyat byla realizovana v otechestvennoj mashine BESM 6 hotya realizovannyj mehanizm ne pozvolyal rasshirit 15 razryadnoe adresnoe prostranstvo processa i ogranichival udobstvo programmirovaniya Prezhde chem virtualnaya pamyat smogla byt ispolzovana v rasprostranyonnyh operacionnyh sistemah dolzhen byl byt reshen ryad problem Dinamicheskaya translyaciya adresov trebovala dorogogo i slozhnogo v izgotovlenii specialnogo oborudovaniya Pervye realizacii zamedlyali dostup k pamyati Sushestvovali opaseniya chto novye obshesistemnye algoritmy ispolzuyushie vneshnyuyu pamyat budut menee effektivny chem ranee ispolzovavshiesya algoritmy konkretnyh prilozhenij K 1969 godu debaty vokrug virtualnoj pamyati dlya promyshlenno vypuskaemyh kompyuterov byli zaversheny komanda issledovatelej iz IBM pod rukovodstvom Devida Sejra angl David Sayre pokazala chto sozdannaya imi sistema virtualnoj pamyati vo vseh otnosheniyah prevoshodit luchshie sistemy upravlyaemye vruchnuyu Pervym mini kompyuterom v kotorom byla ispolzovana virtualnaya pamyat byl norvezhskij no no V 1970 e gody realizacii virtualnoj pamyati poyavilis v drugih mini kompyuterah naibolee izvestnym yavlyaetsya VAX rabotayushij pod upravleniem operacionnoj sistemy VMS Virtualnaya pamyat v arhitekture x86 byla realizovana s poyavleniem zashishennogo rezhima processora 80286 odnako ona ispolzovala segmentaciyu pamyati i metod podkachki segmentov ploho masshtabirovalsya dlya bolshih razmerov segmentov V processore 80386 byla vvedena podderzhka podkachki stranic ne privodyashaya k vozniknoveniyu dvojnoj oshibki esli vo vremya obrabotki drugogo isklyucheniya vozniklo isklyuchenie oshibki stranicy Poverh sistemy podkachki stranic rabotal sushestvuyushij mehanizm segmentacii pamyati Odnako zagruzka deskriptorov segmentov yavlyalas dorogostoyashej operaciej zastavlyaya razrabotchikov operacionnyh sistem polagatsya tolko na mehanizm podkachki stranic a ne na kombinaciyu podkachki stranic i segmentacii Stranichnaya organizaciya virtualnoj pamyatiOsnovnaya statya Stranichnaya pamyat V bolshinstve sovremennyh operacionnyh sistem virtualnaya pamyat organizuetsya s pomoshyu stranichnoj adresacii Operativnaya pamyat delitsya na stranicy oblasti pamyati fiksirovannoj dliny naprimer 4096 bajt kotorye yavlyayutsya minimalnoj edinicej vydelyaemoj pamyati to est dazhe zapros na 1 bajt ot prilozheniya privedyot k vydeleniyu emu vsej stranicy pamyati Ispolnyaemyj processorom polzovatelskij potok obrashaetsya k pamyati s pomoshyu adresa virtualnoj pamyati kotoryj delitsya na nomer stranicy i smeshenie vnutri stranicy Processor preobrazuet nomer virtualnoj stranicy v adres sootvetstvuyushej ej fizicheskoj stranicy pri pomoshi bufera associativnoj translyacii TLB Esli emu ne udalos eto sdelat to trebuetsya dozapolnenie bufera putyom obrasheniya k tablice stranic tak nazyvaemyj Page Walk chto mozhet sdelat libo sam processor libo operacionnaya sistema v zavisimosti ot arhitektury Esli stranica byla vygruzhena iz operativnoj pamyati to operacionnaya sistema podkachivaet stranicu s zhyostkogo diska v hode obrabotki sobytiya Page fault sm svoping podkachka stranic Pri zaprose na vydelenie pamyati operacionnaya sistema mozhet sbrosit na zhyostkij disk stranicy k kotorym davno ne bylo obrashenij Kriticheskie dannye naprimer kod zapushennyh i rabotayushih programm kod i pamyat yadra sistemy obychno nahodyatsya v operativnoj pamyati isklyucheniya sushestvuyut odnako oni ne kasayutsya teh chastej kotorye otvechayut za obrabotku apparatnyh preryvanij rabotu s tablicej stranic i ispolzovanie fajla podkachki Segmentnaya organizaciya virtualnoj pamyatiOsnovnaya statya Segmentnaya adresaciya pamyati Mehanizm organizacii virtualnoj pamyati pri kotorom virtualnoe prostranstvo delitsya na chasti proizvolnogo razmera segmenty Etot mehanizm pozvolyaet k primeru razbit dannye processa na logicheskie bloki Dlya kazhdogo segmenta kak i dlya stranicy mogut byt naznacheny prava dostupa k nemu polzovatelya i ego processov Pri zagruzke processa chast segmentov pomeshaetsya v operativnuyu pamyat pri etom dlya kazhdogo iz etih segmentov operacionnaya sistema podyskivaet podhodyashij uchastok svobodnoj pamyati a chast segmentov razmeshaetsya v diskovoj pamyati Segmenty odnoj programmy mogut zanimat v operativnoj pamyati nesmezhnye uchastki Vo vremya zagruzki sistema sozdaet tablicu segmentov processa analogichnuyu tablice stranic v kotoroj dlya kazhdogo segmenta ukazyvaetsya nachalnyj fizicheskij adres segmenta v operativnoj pamyati razmer segmenta pravila dostupa priznak modifikacii priznak obrasheniya k dannomu segmentu za poslednij interval vremeni i nekotoraya drugaya informaciya Esli virtualnye adresnye prostranstva neskolkih processov vklyuchayut odin i tot zhe segment to v tablicah segmentov etih processov delayutsya ssylki na odin i tot zhe uchastok operativnoj pamyati v kotoryj dannyj segment zagruzhaetsya v edinstvennom ekzemplyare Sistema s segmentnoj organizaciej funkcioniruet analogichno sisteme so stranichnoj organizaciej vremya ot vremeni proishodyat preryvaniya svyazannye s otsutstviem nuzhnyh segmentov v pamyati pri neobhodimosti osvobozhdeniya pamyati nekotorye segmenty vygruzhayutsya pri kazhdom obrashenii k operativnoj pamyati vypolnyaetsya preobrazovanie virtualnogo adresa v fizicheskij Krome togo pri obrashenii k pamyati proveryaetsya razreshen li dostup trebuemogo tipa k dannomu segmentu Virtualnyj adres pri segmentnoj organizacii pamyati mozhet byt predstavlen paroj g s gde g nomer segmenta a s smeshenie v segmente Fizicheskij adres poluchaetsya putyom slozheniya nachalnogo fizicheskogo adresa segmenta najdennogo v tablice segmentov po nomeru g i smesheniya s Nedostatkom dannogo metoda raspredeleniya pamyati yavlyaetsya fragmentaciya na urovne segmentov i bolee medlennoe po sravneniyu so stranichnoj organizaciej preobrazovanie adresa Sushestvuet takzhe gibridnaya stranichno segmentnaya organizaciya virtualnoj pamyati Sm takzheRazdelyaemaya pamyat Kesh pamyat Menedzher virtualnoj pamyati Blok upravleniya pamyatyu Memory Management Unit Utechka pamyatiPrimechaniyaE Tannenbaum Arhitektura kompyutera Structured Computer Organization 5 e izd SPb Piter 2013 S 476 884 s ISBN 978 5 469 01274 0 Ch Keps R Stafford VAX Programmirovanie na yazyke assemblera i arhitektura VAX assembly language and architecture M Radio i svyaz 1991 S 310 416 s ISBN 5 256 00706 8 Mors S P Albert D D Arhitektura mikroprocessora 80286 The 80286 architecture M Radio i svyaz 1990 S 167 304 s ISBN 5 256 00466 2 Peter J Denning Before Memory Was Virtual In the Beginning Recollections of Software Pioneers 1997 Arhivirovano 10 yanvarya 2017 goda Elke Jessen Origin of the Virtual Memory Concept IEEE Annals of the History of Computing 2004 T 26 vyp 4 S 71 72 Elke Jessen Die Entwicklung des virtuellen Speichers Informatik Spektrum Springer Verlag 1996 T 19 vyp 4 S 216 219 ISSN 0170 6012 doi 10 1007 s002870050034 R J Creasy The origin of the VM 370 time sharing system IBM Journal of Research amp Development 1981 T 25 5 S 486 Arhivirovano 7 maya 2016 goda Atlas design includes virtual memory Arhivnaya kopiya ot 13 maya 2016 na Wayback Machine Computer50 University of Manchester 1996 Ian Joyner on Burroughs B5000 angl Harvey G Cragon Memory Systems and Pipelined Processors Jones and Bartlett Publishers 1996 S 113 ISBN 0 86720 474 5 Korolyov L N Arhitektura EVM BESM 6 neopr Iz knigi L N Korolyova Struktury EVM i ih matematicheskoe obespechenie 1978 PARALLEL RU Informacionno analiticheskij centr po parallelnym vychisleniyam Data obrasheniya 21 noyabrya 2016 Arhivirovano 13 aprelya 2001 goda D Sayre Is automatic folding of programs efficient enough to displace manual Communications of the ACM ACM 1969 T 12 vyp 12 S 656 660 ISSN 0001 0782 doi 10 1145 363626 363629 Harvey G Cragon Memory Systems and Pipelined Processors Jones and Bartlett Publishers 1996 S 121 ISBN 0 86720 474 5 Patterson Hennessy Computer organisation and Design Hardware Software Interface 4th edition ISBN 9780080886138 Chapter 5 4 page 503 angl V semejstve operacionnyh sistem Microsoft Windows segmentnaya adresaciya ne ispolzuetsya i zamenena deleniem pamyati na sekcii chto v sushnosti pochti odno i to zhe LiteraturaVahaliya Yu UNIX iznutri SPb Piter 2003 S 844 ISBN 5 94723 013 5 Irtegov D Vvedenie v operacionnye sistemy SPb Piter 2002 Bruce Jacob Trevor Mudge Virtual Memory Issues of Implementation Los Alamitos CA USA IEEE Computer Society Press 1998 ISSN 0018 9162 Lekciya 9 Virtualnaya pamyat Arhitekturnye sredstva podderzhki virtualnoj pamyati Osnovy operacionnyh sistem Akademiya Intel Moskovskij fiziko tehnicheskij institut 2004 Intuit ISBN 978 5 9556 0044 4SsylkiVirtual Memory Issues of Implementation Computer Volume 31 Issue 6 June 1998 doi 10 1109 2 683005 angl Bo Branten Windows driver examples SwapFs Drajver virtualnoj pamyati dlya Windows ispolzuyushij Linux swap razdel angl FAQ po fajlu podkachki na WinBlog ru 2007
