WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → Утиліти для адміністратора системи в ОС Uniх. Системи команд мови Асемблер. Віртуальна пам’ять. Сторінкова організація памяті. Реалізація сторінкової - Реферат

Утиліти для адміністратора системи в ОС Uniх. Системи команд мови Асемблер. Віртуальна пам’ять. Сторінкова організація памяті. Реалізація сторінкової - Реферат

випадків не може перевищувати 255 символів, однак зручно обмежувати довжину рядка широкою екрану (80 символів). При необхідності вводити в програмі довгі рядки їх можна об'єднувати, в кінець рядка при цьому потрібно включати символ .
Рядок 1
Рядок 2 Рядок 1 Рядок 2.
В текст програми можна вставляти порожні рядки, які складаються тільки із розділювачів. В мові асемблера розділювачами служатьсимволи пропуску та горизонтальна табуляція. При допомозі пустих рядків зручно розділяти логічні частини програми. Рядок може складатись тільки із коментарів, в такому випадку перший символ рядка обов'язково ;. В кожному рядку може розміщуватись або команда мікропроцесора, яка записана у мнемонічному (словом) вигляді, або директива, директиви інакше називають псевдооператорами. Команда мікропроцесора - це інструкція яку мікропроцесор буде виконувати в процесі виконання програми. Асемблер переводить рядки з мнемоніками (буквеними записами команд) у послідовності байт, які безпосередньо може виконувати процесор. Директиви служать для визначення даних, які використовуються в програмі і для управління процесом асемблювання. Рядок у програмі на мові асемблера може складатися з 4 полів:
1. Поле мітки (поле імені);
2. Поле оператора (або псевдооператора);
3. Поле операндів;
4. Поле коментарів.
Обов'язковим є тільки поле оператора або псевдооператора, всі решту полів можуть бути відсутні. Мітка є спрощеною мнемонічною формою запису адреси команди в сегменті коду. Так саме ім'я є спрощеною формою запису вмісту деякої переважно в сегменті даних. Отже рядки в програмі записуються в такому загальному вигляді:
[]: ; коментарі
<директива ; коментарі
Потрібно звернути увагу на відсутність ":" після імені. Поля в рядках мови асемблера розділяються між собою на крайній мірі одним пропуском. Розглянемо поля детальніше. Поле мітки. При визначенні в програмі мітки або імені змінної можна використовувати букви латинського алфавіту великі або малі, а також символи :? _ @ $. Максимальна к-сть символів з яких може складатись мітка або ім'я 255, але відрізняються мітки та імена по перших 32символах. Доцільно в програмі використовувати осмислені імена. Зручно і програмі для швидкого розпізнавання міток від імені починати всі мітки з букви L і записувати їх тільки великими буквами. При записі імен змінних зручно використовувати префікс, який означає тип змінної, наприклад : skp_byte. При програмуванні з використанням асемблера masm, або tasm можна використовувати будь-яке число локальних міток @@. Для переходу до таких міток треба використовувати зарезервовані слова: @F - forward; @B - backward. Перш0п@F - це перехід до наступної мітки, @B - це перехід до попередньої мітки. Мітка або ім'я змінної не повиннVпбути зарезервованим словом.
3) Віртуальна пам'ять. Сторінкова організація памяті.
Реалізація сторінкової реалізації памяті. Фрагментація памяті
При використанні диску, як уявного розширення до фізичної пам'яті, ефективний розмір пам'яті, що використовується зростає відповідно. Якщо якісь розділи пам'яті не використовуються на даний момент, ядро запише їх на диск і зможе використати звільнений в оперативній пам'яті простір під щось інше. Якщо скинуті на диск області пам'яті знадобляться знову, ядро прочитає їх знову з диску в пам'ять. Все це виконується непомітно для користувача. Програми в Лінаксі бачать тільки, що система має більший об'єм пам'яті і навіть не підозрюють, які саме з ділянок пам'яті знаходяться в даний момент на диску, а які в оперативній пам'яті. Звичайно ж, читання та запис на диск є значно повільнішими, порівняно з оперативною пам'яттю (в тисячі разів повільніше). Тому при користуванні віртуальною пам'яттю програми будуть працювати повільніше. Та частина диску, що використовується для віртульної пам'яті називається простором свопінґу.
Для свопінґу Лінакс може використовувати або звичайний файл в файловій системі, або окремий розділ, виділений спеціально для цього на диску. Віртуальна пам'ять з використанням підрозділу на диску працює швидше, ніж свопінґ у файл. Але змінити розмір файлу для свопінґу набагато легше і швидше, і це не потребує переформатування диску (і, можливо, встановлення всього з самого початку). Якщо Ви знаєте, скільки простору під свопінґ Вам потрібно, Ви можете відразу форматувати весь диск з виділенням підрозділу під свопінґ, але якщо Ви ще непевні, то Вам краще попробувати спочатку попрацювати з файлом, покористуватися системою деякий час і потім вирішити, який розмір розділу для свопінґу Вам потрібен.
Крім того варто знати, що Лінакс може користуватися кількома областями для свопінґу одночасно. Це означає, що, якщо великі розділи для свопінґу потрібні тільки інколи, замість того, щоб тримати їх постійно, можна додавати ці області тільки на той час, коли саме вони необхідні.
Дещо про термінолоґію: комп'ютерні спеціалісти відрізняють два різних режими користування віртувальною пам'яттю - свопінґ (перенесення області пам'яті цілого процесу на диск) та пейджінґ (запис на диск окремих сторінок пам'яті, непотрібних в даний момент). Пейджінґ є більш ефективним, і це є саме те, що робить Лінакс. Але за традицією всі називають це свопінґом.
Пам'ять є основним ресурсом при програмуванні в багатозадачному середовищі. Множина вільних фрагментів пам'яті називається хіп (від англійського слова HEAP). Програміст може виділити для своєї програми блок пам'яті будь-якої довжини, що не перевищує загальний об'єм вільної пам'яті. В Windows пам'ять виділяється в 2 етапи:
спочатку система виділяє фрагмент віртуальної пам'яті, який отримує свій хендл, але не отримує реальної адреси;
потім система розміщує (блокує) цей фрагмент у реальній пам'яті і фрагмент отримує початкову адресу.
Після того, як програміст отримує адресу початку виділеного блоку, він може її використовувати. Комірки з адресами до початку та після кінця блоку використовувати не можна, тому що вони належать іншим програмам або системі.
Після того, як програма використала блок пам'яті, його необхідно розблокувати. Таким чином, він знову стає віртуальним, і при необхідності може бути переміщений системою в інше місце або на диск. Якщо програма довго не розблоковує блок пам'яті, то це негативно відображається на продуктивності операційної системи в цілому. Отже, якщо після розблокування пам'яті її знову заблокувати, адреса початку блоку може бути іншою. Якщо програміст взагалі відмовляється від використання виділеного блоку пам'яті, він
Loading...

 
 

Цікаве