Вы находитесь на странице: 1из 5

ЛАБОРАТОРНАЯ РАБОТА N6 – Руководство к выполнению

TЕМА: Управление памятью в ОС


Цель работы: Формирование практических навыков в общем управлении оперативной
памятью (RAM) компьютера, в процедурах
управления адресным пространством памяти и применения практик
обработки адресов памяти в процессе разработки программ с
повышенными требованиями к эффективности.

Теоретические аспекты
Управление ресурсами памяти на уровне ОС осуществляется по ячейкам, согласно их
логическим/физическим адресам. Прикладной подход к управлению памятью
предполагает побайтовое расположение данных в ячейки памяти. 1Байт = 8 бит ( eng. 1
Byte = 8 Bits)
1KB=1024B; 1MB=1024KB; 1GB=1024MB; 1TB=1024GB
Все ячейки памяти считаются в данной работе равнодоступными при соответствующей
адресации. Запись данных в ячейки памяти осуществляется последовательно (если не
указан другой способ), начиная с указанного адреса (начальный адрес) с увеличением
адреса до последней задействованной ячейки (конечный адрес). Адрес первой ячейки -
XX16, адрес второй ячейки - XX16+1, адрес третьей ячейки - XX16+2 и т.д.
Адреса RAM обычно представляют в шестнадцатиричном формате => IT-специалист
должен уметь работать с переводом числовых форматов шестнадцатиричный(16)<=>
десятичный(10)
Реальные адреса в RAM представляются в шестнадцатиричном формате 16, количество
ячеек, байт, кластеров – в десятичном формате 10
Представление адресов RAM обычно осуществляется через составную/смешанную
адресацию : Базовый_адрес + Смещение_адреса. (В данной работе - Базовый_адрес16 +
Смещение_адреса10 = Реальный адрес16)

Правило применяемых числовых форматов16/10 (шестнадцатиричный/десятичный):


 Реальные\физические адреса представляются в шестнадцатиричном формате16, 
Количество ячеек, байтов, кластеров и т.д.. – в десятичном формате 10

Как правило, при написании компьютерных программ понимается обработка (определение через
специальные вычисления) адресов. Т.е часто программист, для повышения эффективности выполнения
написанной программы, описывает операции, используя относительную адресацию памяти компьютера и
задавая адреса ячеек в сложном формате (микс из базового адреса, который определяется ОС
[шестнадцатиричный формат] и смещение адреса, определяемого программистом во время написания
программного кода[десятичный или шестнадцатиричный формат]:

Реальный_адрес16 = Базовый_адрес16 + Смещение_адреса10 или 16 (5.1)


Примеры:
a) 1A51DA16+C31316, = 1B14ED16, где 1B14ED16 –реальный адрес, C31316 – смещение, 1A51DA16 – базовый
адрес
b) 6B1DCC16+237010 = 6B270E16, unde 6B270E16– реальный адрес, 237010 – смещение, 6B1DCC16– базовый
адрес

Часто в процессе написания программ появляется необходимость определения Интервала ячеек


памяти– количество ячеек между двумя адресами (исходный адрес и конечный адрес) Правило +/-1:

Количество ячеек в интервале10 = (Конечный_адрес16 – Начальный_адрес16)10 +1; (5.2)


Конечный_адрес16 = Начальный_адрес16 + (Количество ячеек в интервале10 -1)16; (5.3)
Конечный_адрес (=максимальный адрес) интервала ячеек в памяти

Пример для интервала


1A51DA16-:-74C31316:
74C31316–1A51DA16 = 5A713916 = 592722510, =>> 592722510+1 = 592722610  5927226 ячеек между двумя
указанными адресами
-где 1A51DA16 –нач.адрес, 74C31316 – конечный адрес, 592722610 - Количество ячеек в интервале

Учитывая динамику процессов и мобильность приложений/программ RAM часто возникает


необходимость в Дефрагментации зон памяти, которая представляет собой сложную операцию по
перераспределению содержимого памяти путем интеграции (конкатинации/соединения) нескольких
(многих) интервалов ячеек из различных отдельных зон памяти в один интервал, который равен сумме
объединенных интервалов.

Пример:
a) 349010 –номер ячеек в 1-м интервале
b) 610910 – номер ячеек в 2-м интервале
c) 30010 – номер ячеек в 3-м интервале
d) 105110 – номер ячеек в 4-м интервале
e) => a)+b)+c)+d) = 349010+610910+30010+105110 = 1095010

Рекомендация. Можете воспользоваться для вычислений и перевода форматов десятичный


<=> шестнадцатиричный стандартным приложением Калькулятор в формате
View/Programmer

Задание 0
1. Переименуйте результирующий файл (SO-Lab6(20)Ru_R.docx) в файл с именем „Lab6-
(+ фамилия студента)” и сохраните на рабочем диске ->Work (D):

В данном файле необходимо отображать результаты, полученные в ходе выполнения заданий лабораторной
работы.
!! По ходу выполнения лабораторной работы сохраняйте полученные результаты в результирующем файле
(записывайте на рабочий диск) с периодичностью 10-15 min (формирование резервной копии – Back Up)

2. Заполните Таблицу 0
N - Последняя цифра суммы ВСЕХ цифр из CIAS/ИКДС (индивидульный код доступа студента).

Задание 1
Откройте Windows Task Manager (ex. Ctrl + Alt + Del или Ctrl + Shift + Esc )

1. Проанализируйте информацию из вкладки Processes относительно использования


памяти RAM в текущем состоянии (как в общем – описаной в нижней части экрана,
так и в частности – напротив наименования различных процессов)
2. Запустите любые 2 приложения (произвольным образом по выбору студента) и
представьте информацию в Таблице 1 о количестве активных процессов и
использовании ресурса RAM (в случае нестабильности значений – укажите
граничные значения MIN-MAX), а в расчётах будет использована среднее
арифметическое (MIN+MAX)/2 )
3. Заполните таблицу 5.1 соответствующими данными.
4. Отразите в результирующем файле долю (в % от общей памяти RAM, в MB и в B)
2-х процессов, которые занимают больше всего памяти и 2 процессов, занимающих
меньше всего памяти.

Задание 2
Определите количество текстовых знаков в файле(форматa .TXT), который включает
59 строк текста, расположенного в 17 абзацах с отступом (красной строкой). Файл имеет
размер 2068 Байт.
Пространство, выделяемое под хранение данных в файле распределено следующим
образом:
• 1 байт под хранение одного текстового знака,
• 2 байта выделяются для хранения знака перехода на следующую строку
(невидимого в обычном режиме просмотра)
• 4 байта – знак для указания начала нового абзаца с отступом (невидимого в
обычном режиме просмотра)

Задание 3
Определите объём памяти RAM в байтах (B), необходимый для совместного
расположения в памяти 3-х файлов:
1) 2 файла с графическими объектами (размером 600х400 пикселов, 24
бита/пиксел) и с сопроводительными данными, размер которых (4N*3.34) KB si
(19.91+8.5N) KB соответственно
2) 1 файл с программным приложением для обработки изображений, размером
21.8МБ

Результат необходимо представить в Байтах (Bytes, В) и в Мегабайтах (Megabytes,


MВ) (значения, полученные в МВ необходимо округлить в большую сторону до десятых)
(Прим.: 3.438512 MB => 3.5MB)

Задание 4
Определите общее количество ячеек, используемых в памяти для хранения
указанного объёма информации [= всего байтов] в RAM и адрес последней использованной ячейки
для размещения всего интервала/количества ячеек, начиная с адреса 00000016::
1) 3 GB,
2) 2GB+(256*N)MB,
Пример для расчётов [ приближенный к 2 с исх. значениями: 884MB+(312*N)MB cu N = 4]
a) (884+312*N) MB = 884+312*4 MB = (884+1248) MB = 2132 MB
b) Количество ячеек в 2132 MB памяти (1048576*2132)10 = 223556403210

Задание 5
Определите реальный адрес ячейки в RAM на основе составного/смешанного адреса
4B74EF16+(970*N)10. Результат представьте в шестнадцатиричном формате.

Пример для смешанного адреса для N = 5: 6B1DCC16+(23*N)10

a) (23*N)10= (23*5)10 = 11510


b) = 11510 = 7316
c) 6B1DCC16 + 6B1E3
7316= F16

Задание 6
Определите количество ячеек в адресных интервалах А, В, С [знак „÷” указывает на
интервал/промежуток между двумя заданными адресами] :

A. 29CC2016-(24*N)10 ÷ 2C670816+(15*N)10
B. 2F950016-(7*N)10÷ 3003BA16+(7*N)10
C. 56FFCA16-(23*N)10 ÷ 6000AC16+(31*N)10

Задание 7 На основании результатов, полученных в Задании 6, определите общее


количество ячеек в дефрагментированном интервале (D = A+B+C) и максимальный адрес
позиционирования указанного набора ячеек в памяти, начиная с адреса 459E0B16

Заключительная часть /Итоги


A. Выводы к работе (до 100 слов для каждого пункта)
a. Трудности, возникшие при понимании заданий и при выполнении работы (если у
вас их нет - обратите внимание на фразу «Задачи были ясны, трудностей при выполнении не
было»),
b. Опционально (с добавлением бонусных пунктов к оценке за работу за релевантные
Открытые интернет-источники (тексты, лекции, презентации, видео),
рекомендации)
которые вы можете рекомендовать для лучшего понимания / изучения предмета,
связанного с лабораторной работой
c. Опционально (с добавлением бонусных пунктов к оценке за работу за релевантные
рекомендации) исправление неточностей, найденных в данном тексте файлах – информация
должна быть отправлена студентом индивидуально на электронный адрес преподавателя в
отдельном сообщении
d. Опционально (с добавлением бонусных пунктов к оценке за работу за релевантные
рекомендации)Аргументированные предложения, ориентированные на
совершенствование задач настоящей работы
B. Опционально Резервное копирование полученного файла
Сделайте копию результирующего файла на надёжном носителе (например, USB Memory
Stick, почтовый сервер, облачный диск и т. д.), где он будет храниться как минимум до тех
пор, пока вы не сдадите экзамен (чтобы подготовиться к экзамену и представить
данные для переоценки, если необходимо)
C. Отправьте файл, полученный в статье, преподавателю на адрес эл. почты
stud2me@gmail.com для проверки и оценки. Правила отправки
сообщений:
Тема сообщения должна включать следующую последовательность информации – Код ,
(Subject) группы
Фамилия студента, Акроним названия предмета, Тема - (Прим.: TI-192 Ungureanu Vasile,
сообщения SO-
Lab6);
Текст сообщения – Указание количества прикрепленных файлов и их формат [.doc, .xlsx, mdb etc.]
+ релевантная/важная/полезная информация – сопроводительный
лаконичный и релевантный текст (Пример.:
формата .DOC [+…Текст сообщения…];) К

!! Опционально для личного компьютера После завершения лабораторной работы и


отправки предодавателю результатов работы удалите = сотрите с рабочего носителя ВСЕ файлы,
созданные или скопированные вами в текущем сеансе работы на компьютере. A.