Паметта е един от най-важните ресурси в компютърните системи. Тя се използва за съхранение на данни и инструкции, които процесорът извършва. В съвременните компютри паметта се дели на физическа памет (RAM) и виртуална памет. Физическата памет е бърза, но ограничена по капацитет, докато виртуалната памет позволява на системите да използват повече памет, отколкото е физически налично.
Важно
Адресното пространство представлява съвкупността от всички абстрактни, логически числа или етикети, които централният процесор или програмата използват за адресиране на паметта, докато пространството на паметта е самото физическо хардуерно хранилище (като RAM памет или кеш чипове), където се съхраняват данните.
Основни концепции за паметта
Паметта е един от най-важните ресурси в компютърните системи. Тя се използва за съхранение на данни и инструкции, които процесорът извършва. В съвременните компютри паметта се дели на физическа памет (RAM) и виртуална памет. Физическата памет е бърза, но ограничена по капацитет, докато виртуалната памет позволява на системите да използват повече памет, отколкото е физически налично.
Видове памет
RAM (Random Access Memory):
Бърза памет, която се използва за временно съхранение на данни и програми, докато компютърът работи.
Изтрива се при изключване на системата.
ROM (Read-Only Memory):
Памет, която съдържа данни, които не могат да бъдат променени. Използва се за съхранение на firmware (например BIOS).
Кеш памет (Cache Memory):
Много бърза памет, която се използва за временно съхранение на често използвани данни, за да се ускори достъпът до тях.
Виртуална памет:
Механизъм, който позволява на операционната система да използва част от твърдия диск като "разширение" на RAM. Това се осъществява чрез странична организация (paging) или сегментация.
Адресно пространство – какво е и защо е важно?
Адресното пространство е виртуална карта на паметта, която всеки процес използва, за да достъпи своите данни и инструкции. То позволява на процесите да работят изолирано един от друг, което предотвратява конфликти и подобрява сигурността.
Виртуално адресно пространство: Всеки процес има собствено виртуално адресно пространство, което е по-голямо от физическата памет. Това позволява на процесите да използват повече памет, отколкото е налично физически.
Физическо адресно пространство: Това е реалната памет (RAM), която е ограничена по размер.
Управление на паметта в десктоп и мобилни ОС
Десктоп ОС (Windows, Linux, macOS)
Виртуална памет: Десктоп операционните системи използват виртуална памет, за да разширят капацитета на RAM. Това се осъществява чрез странична организация (paging), където данните се прехвърлят между RAM и твърдия диск.
Странична организация (Paging): Паметта се дели на фиксирани блокове (страници), които се зареждат в RAM при нужда.
Сегментация: Паметта се дели на логически сегменти (например код, данни, stack), които могат да бъдат заредени в паметта поотделно.
Изолация: Всеки процес работи в собствено адресно пространство, което предпазва другите процеси от грешки или злонамерени действия.
Мобилни ОС (Android, iOS)
Оптимизация за ограничени ресурси: Мобилните ОС са оптимизирани за работа с ограничени памет и енергия. Те използват по-прости модели за управление на паметта, за да спестят енергия и да подобрят производителността.
ART (Android Runtime): Android използва ART, който оптимизира паметта за всяко приложение, за да работи по-ефективно.
Странична организация: Подобно на десктоп системите, мобилните ОС използват странична организация, но с по-малки страници, за да се оптимизира използването на паметта.
Предимства на виртуалната памет и адресните пространства
Изолация: Всеки процес работи в собствено адресно пространство, което предпазва другите процеси от грешки или злонамерени действия.
Ефективно използване на паметта: Виртуалната памет позволява на системите да използват повече памет, отколкото е физически налично.
Гъвкавост: Процесите могат да използват повече памет, отколкото е налично в RAM, като се зареждат данни от твърдия диск при нужда.