Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
метода с_р.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.67 Mб
Скачать

Урок №23

(згідно навчальної робочої програми)

Тема: «Видача інформації про оперативну пам'ять»

Питання:

1. Структура оперативної пам'яті ПК.

2. Видача інформації про оперативну пам'ять командою MEM.

3. Карти пам’яті.

Пам'ять в персональному комп'ютері буває:

  • оперативна (RAM - Random Access Memory);

  • постійна (ROM - Read Only Memory).

Постійна ROM пам'ять - це пам'ять в якій знаходиться BIOSта його програми. її вміст при роботі ПК не змінюється. Для зміни інформації, що знаходиться в ROMвикористовують спеціальні електронні програматори.

Оперативна (RAM) пам'ять - це пам'ять в яку копіюються програми, при запуску, і де вони знаходяться у процесі роботи ПК. В неї також поміщають дані для прикладних програм,які працюють в даний момент. Принцип зберігання інформації в оперативній пам'яті полягає в. нагромадженні зарядів певними носіями (описано в першій частині даного посібника). За рахунок цього швидкодія оперативної пам'яті достатньо висока (одиниці - десятки наносекунд). Але при вимкненні живлення носії зарядів розряджаються і це приводить до втрати інформації. Звідси і походить назва даного типу пам'яті - "оперативна".

Оперативна пам'ять сучасного персонального комп'ютера має складну будову (рисунок 3).

Рисунок 3 - Структура оперативної пам'яті

Перші персональні комп'ютери мали 512, а згодом 640 К оперативної пам'яті. IBM PC побудований на базі процесора 8086 мав вже адресацію до 1 М оперативної пам'яті.

Для цього ПК створено операційну систему MS-DOS 1.0, де для роботи програм відводились адреси пам'яті до 640 К. Решта пам'яті використовувалась для системних потреб (для відеоадаптера, клавіатури, контролера портів вводу-виводу і т.д.).

Перших 640 К назвали основною пам'яттю (Conventional), а решту пам'яттю верхніх регістрів (UpperMemoryBlock- UMB, або просто Upper). Підтримуючи традицію перших 8 розрядних операційних систем, нижні 64 К основної пам'яті зарезервували для самої операційної системи і назвали її нижньою пам'яттю (Low). В нижню пам'ять, як правило, прикладні програми не завантажуються, оскільки вона містить файли та драйвери ОС. Сучасні версії DOSзаймають в пам'яті приблизно 60К, тобто охоплюють практично всю нижню пам'ять.

Для забезпечення сумісності з попередніми версіями DOS, цей принцип поділу пам'яті збережено і в сучасних ОС. Тому програми, які працюють під DOSне можуть використовувати пам'ять з адресами вище ЇМ.

Пам'ять верхніх регістрів (Upper), займає адреси від 640 до 1024 К, тобто її об'єм складає 384К. В цю пам'ять, при запуску ПК, перш за все копіюється BIOS, створюючи так звану дзеркальну копію BIOS. За адресами вище BIOSпоміщаються драйвери деяких зовнішніх пристроїв (контролерів дисплею, клавіатури іт.д.). Решту частина Upper- пам'яті, що не зайнята BIOSта драйверами називається резервною (Reserved). В перших моделях IBM PC вона використовувалась, як відеопам'ять. Оскільки її об'єм був незначний і не задовольняв зростаючих вимог до відеосистем, то відеопам'ять почали розміщувати на платах відеоадаптерів.

В зв'язку з тим, що копія BIOS і його драйвери займають в пам'яті незначний об'єм, то доцільно вільну частину Upper-пам'яті використати для зберігання даних. Тому, одне з важливих завдань конфігурування ОС - створити таку конфігурацію, щоб якомога більша частина драйверів і програм була розміщена в Upper-пам'яті. Цим самим звільняється більше основної пам'яті для інших програм і даних.

У ПК з процесором 80286 виникла нова пам'ять High(верхня) величиною 64К, яка займає адреси від 1024 до 1088К. Вона виникла при проектуванні процесора 80286, внаслідок помилки в адресації. Її успадкували всі наступні покоління ПК, для забезпечення сумісності. Верхню пам'ять можна використати для зберігання даних і програм, оскільки використовується адресний простір безпосередньо, без переключення режимів роботи процесора. Тобто, вона теж може використовуватися програмами DOS. Але використання даної пам'яті допускається тільки однією програмою. Найчастіше такою програмою є сама DOS, коли частина її коду (приблизно 45К) поміщається у верхню пам'ять, залишаючи в нижній лише основне ядро (15К).

Отже пам'ять з адресами від 0 до 1088К може використовуватися DOSі її програмами. Інші області пам'яті для DOSнедоступні і використовуються іншими ОС.

В зв'язку з тим, що прикладні програми вимагали все більшого об'єму оперативної пам'яті в ПК з процесором 80286 вперше було реалізовано додаткову (expanded) пам'ять. Для неї фірмами Lotus, Intel і Microsoft розроблено специфікацію Expanded Memory Specification (EMS). Сукупність програмно-апаратних засобів дозволяє зберігати в даній пам'яті дані, але не дозволяє поміщати в неї програми. Конструктивно додаткова пам'ять виконана на спеціальних мікросхемах, що розміщені на додатковій платі, схожій до контролера чи адаптера. Ця плата встановлена на слоти розширення материнської плати. Оскільки доступ до інформації, яка знаходиться в додатковій пам'ятті здійснюється по відносно повільній шині, то така пам'ять не набула значного поширення.

Принцип дії додаткової пам'яті побудовано за технічним принципом, відомим, як зміна сторінок, або як переключення сторінок всередині Upperпам'яті. В Upperпам'яті виділяється 64К вікно (PageFrame), через яке відображається 4 довільних 16К сторінки додаткової пам'яті, що необхідна в даний момент. Обмін між додатковою і сторінковою Upper пам'яті здійснюється по спеціальному каналу зв'язку (Channel of Connection).

Таким чином, процесор "вводиться в обман" оскільки, з допомогою віртуальної адресації він звертається до даних у вікні, хоча насправді їх фізичні адреси не належать адресному просторові процесора.

Для усунення вищенаведених недоліків додаткової пам'яті, вперше, в ПК з процесором 80386 було реалізовано розширену (Extended) пам'ять. Для цього типу пам'яті фірмами Lotus, Intelі ASTрозроблено специфікацію для даного типу пам'яті - extendedMemorySpecification (XMS). Ця нова специфікація визначає, як правила доступу до самої розширеної пам'яті так, і додаткової, а також можливість емуляції (перетворення) розширеної в додаткову.

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

В процесорах 80386SX для розширеної пам'яті виділено адресний простір до 16М, а в 80386DXі новіших моделях до 4Г.

Для отримання інформації про оперативну пам'ять на ПК (зайняту та вільну) в ОС DOS використовують зовнішню команду mem. Формат команди memнаступний:

Mem [ключі]

При виконанні команди memбез вказання ключів видається інформація про вільну (Free) та зайняту (Used) пам'ять у всіх її типах. Основної пам'яті (Conventional) - всього (Total) 640К, з них зайнято (Used) -108К і вільно (Free) - 532К.

Нижче виведено інформацію про всю пам'ять (TotalMemory), і пам'ять до межі ЇМ (Total under 1М) - фактично Conventionalплюс Upperбез Reserved.

Крім цього, вказано розмір найбільшої виконуючої програми, що знаходиться в пам'яті (Largest executable program size), найбільший вільний блок в пам'яті верхніх регістрів (Largest free upper memory block), а також вказано чи розміщена MS-DOSв верхній пам'яті (MS-DOS is resident in the high memory area).

В даній команді використовують такі ключі:

/с - видає на екран списокзавантажених в пам'ять програмних модулів (резидентних програм), з вказанням їх об'єму в різних областях пам'яті. Наприклад (рисунок 3) файл command.comзаймає в основній пам'яті 7К (7 472 байти). Після таблиці показаної на рисунку 4 з'являється таблиця Memory summary, що показана на рисунку 3.

/d- видає на екран карти стандартної і верхньої пам'яті, тобто повні відомості про розподіл блоків пам'яті під програмні модулі, а також внутрішні драйвери і різні системні області, що використовуються в пам'яті (рисунок 5).

Memory Туре Total Used Free

Conventional 640K

Upper 320K

Reserved 64K

Extended (XMS) 31 744K

Total memory 32 768K 829K 31 939K

Total under 1 MB 960K

108K 532K

109K 111K

64K OK

548K 31 196K

829K 31 939K

217K 643K

Largest executable program size 532K (545 168 bytes) Largest free upper memory block 10K (10 560 bytes) MS-DOS is resident in the high memory area.

Рисунок 3 - Інформація про ОП

Name

Total

Conventional

Upper Memory

MSDOS

61 520

(60K)

61 520 (60K)

0

(OK)

DISPLAY

18 064

(18K)

18 064 (18K)

0

(OK)

НІМЕМ

1 120

(1K)

1 120 (1K)

0

(OK)

IFSHLP

2 864

(3K)

2 864 (3K)

0

(OK)

SETVER

832

(1K)

832 (1K)

0

(OK)

WIN

3 712

(4K)

3 712 (4K)

0

(OK)

GUARD

10 080

(10K)

10 080 (10K)

0

(OK)

vmm32

4 272 (4K)

4 272 (4K)

0

(OK)

COMMAND 7 472

(7K)

7 472 (7K)

0

(OK)

Free

545 168 (532K)

545 168 (532K)

0

(OK)

Рисунок 4 - Інформація про резидентні програми

Карта пам'яті має такі розділи:

Segment- сегментний адрес блоку (пам'яті, номер першої частини (сегменту), адреси в шістнадцятковій системі)

Total- розмір блоку пам'яті в сегментах;

Name- ім'я програмного модуля, що знаходиться в даному блоці;

Группа 11 Туре - тип вмістимого блоку пам'яті.

Може також бути Region - номер регіону верхньої пам'яті. Вміст блоків пам'яті може містити:

Interrupt vector-вектори переривань;

ROM CommunicationArea- область зв'язку BIOSз постійним запам'я­товуючим прист­роєм;

01AD3 320 (OK) 01AE7 90 464 (88K) 030FD 454 704 (444K) Total Free: 545 488 (533K)

Free Upper Memory

DOS Communication Area - область зв'язку DOS;

System Data -системні дані;

System program системну програму, тобто компонент DOS;

System Device Driver - внутрішній драйвер;

InstalledDevice=встановлений зовнішній драйвер;

Program-програми;

Data- дані для програми;

Environment-копію оточення DOS;

Free- вільну область.

Нижче, після карти пам'яті, виводиться стандартна таблиця Memory summary.

/f - виводить адреси вільної пам'яті і їх сумарний об'єм. Також виводитьсясписок регіонів верхньої пам'яті з вказанням для кожного з них:

  • номера регіону(Region);

  • розмір найбільшого вільного блоку верхньої пам'яті в регіоні(Largest Free);

  • сумарний об'єм вільних блоків верхньої пам'яті в регіоні(Total Free);

  • розмір регіону(Total Size). Розміри блоків пам'яті і регіонів наводяться в десятковій системі числення в байтах (точно і наближено).

Free Conventional Memory: Segment Total

COMMAND is using the following memory:

Segment Region Total Type

01900 304 (OK) Data

01913 5 728 (6K)Program

01A79 1 440 (1K) Environment

Total Size: 7 472 (7K)

/m <назва модуля> - видає карту пам'яті для вказаного модуля (програми). Наприклад, показано карту пам'яті для модуля command(файлу command.com). В даній таблиці виводиться:

  • сегментна адреса блоку пам'яті (Segment Region);

  • номер регіону (тільки для верхньої пам'яті), де знаходиться блок пам'яті (Region);

  • розмір блоку пам'яті в байтах (в дужках дається заокруглене значення)(Total);

  • тип вмістимого блоку пам'яті (Туре) - загальний розмір, що займає модуль блоку пам'яті, тобто розміробласті пам'яті, що виділяється для нього (Total Size).

Найчастіше для модуля виділяється по одному блоку для розміщення інформації кожного типу (Program, Environment, Data).

/р - виводить інформацію в команді memпосторінково.

Контрольні питання:

  1. Розкажіть структуру оперативної пам'яті ПК.

  2. Яким чином можна отримати інформацію про оперативну пам'ять на ПК?

  3. Які призначення ключів у команді mem?

  4. Які розділи має карта пам’яті, їх призначення?

Література: Тхір І.Л., Калушка В.П., Юзьків А.В. Посібник користувача ПК. – Тернопіль: Технічний коледж ТДТУ, 1998, - 320 с.: іл., стор. 93-99.