Виртуална памет
Виртуалната памет е начин за управление на паметта, който е скорошна тенденция в технологиите, използвани в компютрите. Хардуерът (физическата част на компютъра, като процесора или графичната карта) работи със софтуер. Този софтуер се нуждае от компютърна памет, за да работи и да върши това, което трябва да прави. Повечето компютри, които се използват днес, могат да правят повече от едно нещо в даден момент, те работят с повече от едно приложение. Това е известно като многопроцесорност.
В този случай всички програми или приложения, които са стартирани на компютъра в даден момент, споделят неговите ресурси. Компютърът не разполага с повече процесори или оперативна памет (RAM) само защото на него работят повече програми.
Виртуалната памет е идеята, че приложението вижда блок от памет с определен размер. Приложението може да използва тази памет, както намери за добре. Този блок памет е виртуален в смисъл, че идва от различни части. Част от него може да е в основната памет на компютъра, но част може да е и на диска. Централният процесор има специална част, наречена Arithmetic Logic Unit (аритметично-логически блок), която извършва някои от преводите между паметта на приложението и системните ресурси. Съвременните операционни системи също извършват част от тази работа.
Когато дадена програма се опита да получи достъп до блок от паметта, който не е в системната памет, програмата се спира и блокът се зарежда в системната памет. Това, което се е намирало в тази част от системната памет, се записва на диска. Обикновено това се нарича пейджинг.
Някои компютърни системи, като например вградените системи, не използват виртуална памет, тъй като се нуждаят от много бързо време за реакция или от време, което винаги остава едно и също. Един от проблемите е, че при виртуалната памет е трудно да се предвиди времето за реакция. Приложение, което използва част от паметта, която трябва да бъде заредена от диска, ще има различно време за реакция от приложение, което не използва такава памет. Затова концепцията за виртуална памет не се използва във вградените системи.
Програмата си мисли, че разполага с голям набор от съседни адреси, но в действителност частите, които използва в момента, са разпръснати из оперативната памет, а неактивните части са записани в дисков файл.
Въпроси и отговори
В: Какво е виртуална памет?
О: Виртуалната памет е начин за управление на компютърната памет, който позволява на приложенията да имат достъп до блок от памет с определен размер. Този блок памет може да идва от различни части, например от основната памет или диска.
В: Как работи виртуалната памет?
О: Виртуалната памет работи, като позволява на аритметично-логическия блок на процесора да извършва транслации между ресурсите на приложението и системата. Съвременните операционни системи също извършват част от тази работа. Когато дадено приложение се опита да получи достъп до блок от паметта, който не е в системната памет, то ще бъде спряно и блокът ще бъде зареден в системната памет.
Въпрос: Кои са някои примери за компютри, които не използват виртуална Памет?
О: Вградените системи са един от примерите за компютри, които не използват виртуална Памет, тъй като се нуждаят от бързо време за реакция или такова, което винаги остава същото. Трудно е да се предвиди времето за реакция с виртуална Памет, затова тя не се използва във вградените системи.
Въпрос: Какво представлява многопроцесорната обработка?
О: Мултипроцесиране е, когато компютърът може да прави повече от едно нещо едновременно, като изпълнява няколко приложения едновременно, които споделят ресурсите му.
В: Какво се случва, когато приложение се опита да получи достъп до блок от Паметта, който не е в системната Памет?
О: Когато дадено приложение се опита да осъществи достъп до блок от Паметта, който не е в системната Памет, то ще бъде спряно и блокът ще бъде зареден в системната Памет.
В: Какво представлява странирането?
О: Под "пейджинг" се разбира това, което се случва, когато това, което се е намирало в тази част на системната Памет, трябва да бъде записано обратно на диска поради това, че дадено приложение има достъп до друга част, която първоначално не е била съхранявана там.