Главная

Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






Концепция расширенной машины (аппаратура и ОС).


КОНСПЕКТ

ПО

СППО(ПОВС)

Группа 1057/2, 2002-2003 г.


 

Набивали: Слепичев, Додонов, Моисеев, Павлов, Карулин

Концепция расширенной машины (аппаратура и ОС).

 

КС = “железо” + ПО ОС Управляющая программа

 

Прикладное ПО Сервисные средства

 

КС – техническое средство для ввода, хранения и переработки информации.

ОС – минимальное ПО для использования КС (без него КС фактически не функционирует).

Управляющая программа (УП)- это совокупность программ и данных, предназначенных для управления ресурсами ВС, с целью повышения эффективности работы КС.

Процесс – единица работы в ВС.

Сервисные средства - это набор программ и данных, предназначенных для сокращения усилий пользователя, по написанию, отладке и сопровождению программ (поддержке ОС).

ЭВМ (аппаратура):

1. CPU – устройство, выполняющее обрабатывающие действия

2. Memory (RAM, ROM) – основная память, место хранения информации, доступной ЦП

3. I/O U (УВВ) – устройства, связывающие КС и пользователя. Тут же внеш. память (недоступная ЦП)

4. Channel I/O – шины и интеллектуальные контроллеры. Могут быть доп. процессоры, разгружающие ЦП

 

 
 


ЭВМ

Задание Результаты

ОС

 

Внутренняя расширенная машина (ВРМ) = ЭВМ + Управляющие средства

(физический интерфейс). Это минимальная конфигурация машины, на которой могут выполняться программы.

ЭВМ

Управляющая ВРМ + Сервисные средства = Внешняя расширенная машина

Программа

Сервисные средства Логический интерфейс

(машинно-независимый)

Ресурсы: аппаратные (время CPU, RAM, I/O Devices) и информационные (данные, доступные ОС, использующиеся программами)

УП ВРМ Внешняя РМ (обратной связи нету!)

Интерфейс между аппаратурой и УП – аппаратно зависимый, а между УП и сервисными программами – аппаратно независимый (логический).

Каждый должен знать:

1. Средства настройки ОС и ее интерфейса

2. Синтаксис команд ОС

3. Средства разработки команд (пакетный язык)

4. Работа основных сервисных программ.

5. Среда прикладного ПО

Приложения (ОС ориентированы):

1. Утилиты – средства поддержки работы ОС и КС (архиваторы, дефрагментаторы…)

2. Системы программирования – для написания программ.

3. Офисные приложения – для подготовки документации, отчетов ..

4. …

Аппаратура КС

1. CPU (Основное обрабатывающее устройство – арифметически, логические, управляющие операции)

У CPU регистровая память и кэш-память – для быстродействия.

РОН (Регистры общего назначения) – для целых чисел

Длина одного РОН – длина слова (4 байта).

РПТ (Регистры с плавающей точкой) - FPR

2. ОП = RAM+ROM

3. УВВ - Устройства ввода вывода

I/OU -input/output unit:

Байт-ориентированные (клавиатура, монитор) – медленные, блок-ориентированные (HDD, CD-ROM) – быстрые.

I/OC -input/output channel:

Специальные процессоры, ориентированные на операции ввода-вывода.

4. BUS – Шина

Схема работы процессора

· Выборка команды из памяти.

· Вычисление адреса следующей команды (по порядку)

· Дешифровка команды

· Исполнение команды

Память

RAM – память, с которой может работать процессор

ROM – неизменяемая память

Границы слов (дв. слов, …) начинаются с четных (…) позиций байтов, пронумерованных с нулевого.

RAM – память ядра (недоступна пользователю) + динамическая область.

Единицы измерения:

Bit

Byte 8b

Word 2B

Dword 4B

Paragraph 16B

Page 512B

Kilobyte 1024B

Segment 64K

Устройства (Devices)

· Keyboard

· Monitor

· Mouse

· Printer

· Scanner

· Plotter

· Streamer

· Modem

· HDD, FDD

На HDD файл задается – цилиндром, дорожкой и блоком. Разметка, логическая организация (для ПО).

· CD-ROM Drive

· Magnet-Optical Drive

· Zip-Drive

Input / Output Channels

Параллельная работа каналов ввода-вывода.

Организация файлов.

Типы записей

· F фиксированной длины.

· V переменная длина не превосходит максимально возможной, имеют дополнительный дескриптор, выделяющий длину.

· U неопределенная длина (PRN).

Типы записей блоками

· F 1 блок - 1запись

· FB 1блок - целое количество записей (без пустого места)

· VB 1 блок - целое количество записей переменной длины с дескриптором

· VBS переменной длины, блокированная, сегментированная.

Работу над записями блоков берет на себя ОС.

Логический файл может быть связан с физическим, имеющим ту же структуру.

Организация файла - способы компоновки записей.

Последовательные файлы

Записи располагаются друг за другом.

(Магнитофонная лента)

Библиотечные файлы

Последовательный файл(с разделами) последовательных файлов (с записями) с оглавлением, в котором описаны разделы. Элементы оглавления = имя + атрибуты (адреса, длины, характеристики записей).

Библиотеки формируются из файлов одного типа и без повторных разделов.

Библиотеки в ОС либо полностью переписываются, либо в них обновляются нужные разделы.

PCB (Program Control Block)

· Ссылки на соседние PCB

· ID процесса

· Адрес области сохранения процесса

· Приоритет процесса

· Список динамических ресурсов процесса

В DOS функции PCB выполняет PSP.

Режим мультипрограммирования

Выполняются несколько неравноправных процессов.

Под режимом мультипрограммирования подразумевают такое функционирование ОС, когда существует несколько процессов, готовых к выполнению и конкурирующих за ресурсы ОС. В этом случае ОС решает вопрос, какой процесс выполнять первым и кому какие ресурсы в первую очередь надо выделить.

Режим разделения времени

Основной режим функционирования многозадачных ОС.

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

Режим реального времени

Многие ОС работают в РРВ. Основным механизмом поддержки мультипрограммирования является аппарат прерываний.

Зарезервированные имена

Con

Prn

Nul

Com1-Com4

Lpt1-Lpt3

A:…Z

Порты ввода-вывода (I/O Ports) – для обмена управляющей информацией с УВВ. Стандартные порты – 64Кб

Bit

Регистры данных AX, BX, CX, DX (Accumulator, Base, Counter, Data)

Индексные регистры SI, DI (Source/Destination index)

Сегментные регистры ES, DS, CS, SS (Extended, Data, Code, Stack segments)

Регистры-указатели IP, BP, SP (Instruction, Base, Stack pointers)

Регистр флагов FLAGS (PSR, Program Status Register):

CF, OF, ZF, SF, IF, … (carry, overflow, zero, sign, interrupt, … flags)

В реальном режиме адрес задается сегментом (номер параграфа) и смещением относительно него, т. е. одним регистром можно адресовать лишь 64Kb, а всего 220=1Mb. Это связано с тем, что у процессора 20 разрядная шина. В реальном режиме используются near(смещение) и far(сегмент << 4 + смещение) адреса. Исполнительный адрес задается неоднозначно. Если в сегментном регистре 3 правые значения (12 последних битов) равны нулю, то первое значение – номер физ. сегмента памяти, а адрес – нормализованный.

Адреса (сегмент: смещение):

CS: IP адрес текущей команды (CS: IP + PSR = PSW)

SS: SP адрес стека

DS: BP адрес данных

ES: DX адрес данных

PSW (Program Status Word) в Microsoft называется MSW (Mashine Status Word). PSW задается адресом команды и PSR.

Bit

Регистры данных EAX, EBX, ECX, EDX

Индексные регистры ESI, EDI

Сегментные регистры ES, DS, CS, SS, FS, GS

Регистры-указатели EIP, EBP, ESP

Регистр флагов EFLAGS (Program Status Register)

Адреса (абсолютные):

EIP адрес текущей команды (EIP + PSR = PSW)

ESP адрес стека

EBP адрес данных

EAX/EBX/ECX/EDX адрес данных

Адресное пространство процесса

1. Код CS:IP

2. Данные DS:BP (ES:DX)

3. Управляющая информация

· Стек SS:SP – память для передачи параметров и т.п.

· Куча – область памяти, выделяемая динамически (malloc, переменные и т.п.).

Модели памяти:

1. Tiny – Все сегментные регистры имеют одно значение (один сегмент), используются только near адреса.

2. Small – Под каждый элемент программы не более одного сегмента. Сегментные регистры не меняются, но имеют разные значения. Внутри сегмента – near, между сегментами – far.

3. Compact - 1 сегмент кода, несколько сегментов данных (для данных – far, кода – near)

4. Medium - 1 сегмент данных, несколько сегментов кода (для кода – far, данных – near)

5. Large – несколько сегментов кода и несколько сегментов данных, но 1 статический элемент данных не более одного сегмента (не возможно выделить память больше 64Kb)

6. Huge – то же, но без ограничений

Основная память PC.

Bit

2 GB – ОС

2 GB - приложения

Bit

У процессора 20-ти разрядная шина, т.е. можно адресовать 220 байт=1Мб, но регистры процессора – 16 бит.

Для адресации 1Мб памяти используется следующая схема: используется номер сегмента и смещение – два 16-битовых числа.

3 типа адресации пространства микропроцессора:

доступно в реальном режиме CMA - Conventional Memory Area 0-640K Ядро ОС + приложения
UMA(B) – Upper Memory Area (Block) расположена на контроллерах 640K-1M Служебная область. Физические сегменты: A, B – Video RAM (ROM) C, D, E – на различные нужды* F – ROM (BIOS)
HMA – High Memory Area HMA - это часть XMA! 1M..1M+64K-16 Дополнительные драйверы
  XMA – Extended Memory Area 1M… Динамическая память для программ

*Сегменты C, D, E используются в качестве окна для EMS, Shadow-памяти (туда перегружаются программы из ПЗУ/BIOS) или используются некоторыми программами ОС.

Два стандарта использования XMA:

· XMS – Extended Memory Specification. Процессор на время обращения к расширенной памяти переводится в защищенный режим.

· EMS – Expanded Memory Specification. Отображение через сегменты C/D/E (окно до 64Kb) c помощью драйвера.

Монитор и клавиатура.

Монитор

Pixel – Picture Element (пиксель – единичная светящаяся точка экрана). Пиксель может быть отображен с помощью различного набора цветов – палитры (palette).

CGA 640x200
EGA 480x350
VGA 640x480 16б256
SVGA 800x600
XGA 1024x768 32K

High Color – 15 Бит (5-5-5) - 32768 цветов

High (Real) Color – 16 Бит (5-6-5) - 65536 цветов

b R G B i R G B

True Color – 24 (32) Бита (8-8-8) - 16777216 цветов

Текстовый режим: 80х25 по 2 байта (1 – код, 2 – атрибуты, т.е. цвет, фон, мигание):

биты 0-2, 4-6 – цвет символа и фона, i – яркость, b – мерцание.

Текущая видеостраница – отображается на экран.

Активная видеостраница – доступна функциям, формирующим изображение.

Клавиатура (управление и ввод текста)

Все клавиши (83/101) делятся на алфавитно-цифровые, управляющие и модификаторы (для различного использования других клавиш). В порт 61h заносится информация о нажатии клавиши, а в 60h – скан-код. С клавиатуры в порт 60h передается 1 байт. Вызывается прерывание 9h, которое передает в буфер клавиатуры 2 байта: либо SCAN-код и ASCII-код, либо 0 и дополнительный ASCII-код (для управляющих клавиш).

Расширенная таблица ASCII (коды 128-255) предназначена для кодирования национальных алфавитов, они отличаются от первых 127 стандартных установленным в 1 старшим битом.

Модификаторы:

Alt L/R

Ctrl L/R

Shift L/R

Накопители на жестких дисках (HDD).

 

Различаются по емкости и длине. В силу того, что плотность записи разная, то в центре информация менее надежна.

Каждая дорожка разбивается на блоки (блок – единица объема)

Цилиндр – совокупность дорожек, находящихся на одинаковом удалении от оси.

Физический адрес состоит из: № цилиндра, № дорожки, № блока.

Количество дорожек на одной стороне определяет количество цилиндров.

Для работы с HDD нужно:

1 Создание дисковой структуры (fdisk)

2 Создание файловой структуры (format)

На каждом разделе должна быть файловая система.

· PBS (Partition Boot Sector) – загрузочная запись

· Метка тома

· FAT (File Allocation Table)– таблица размещения данных

· MD (Main Directory) – главный каталог

· Область данных

Возможно создание до 3х первичных разделов и одного расширенного. Каждый первичный раздел имеет не более одного логического диска (файловой системы). Расширенный раздел может иметь неограниченное количество логических дисков.

MBR (Master Boot Record) содержит код загрузки ОС IPL (Initial Program Loader) и таблицу разделов (до 4 штук ) с указанием системного. PBS системного раздела содержит вторую часть IPL. Существует также главная запись расширенного раздела – информация о его разбиении на логические диски. Каждый логический диск может иметь свою файловую систему.

 

SIDE - количество рабочих поверхностей (фактически номер трэка в цилиндре)

TRACK - количество дорожек на одной поверхности (фактически номер цилиндра)

SECTOR (512 bytes) - количество секторов на одной дорожке (фактически номер блока)

Кластер – несколько секторов, объединенных в одну логически неделимую единицу хранения информации. Память для файлов выделяется кластерами. Чем больше кластер, тем менее эффективно используется пространство, тем больше вероятность потерять информацию и тем легче поиск. При одинаковых объемах логического диска размер кластера будет максимальным в FAT12 и минимальным в FAT32, это связано с количеством битов, отводимых на адресацию кластеров. В NTFS размер кластера не зависит от размера логического диска и обычно устанавливается равным 4KB.

Важно понимать принципы логического размещения файлов и указания их имен, размещения и т.п.

Расширенная машина

PC

BIOS

Драйверы устройств ввода-вывода

Диспетчеры ресурсов (Некоторые из них могут не использовать драйверы)

(Ядро Windows'9x/ME)

API (32-shell)

Приложение Windows

Первый раздел

[Paths] – пути при загрузке

HostWinBootDrv=<загрузочный диск, где 2-я часть IPL> (например, С)

WinDir=<каталог установки Windows>

WinBootDir=<каталог системных файлов и реестра для загрузки>

[Options] – регулирует процесс загрузки Windows (жирным шрифтом – по умолчанию)

a) Параметры загрузки DOS

BootWin={0,1} если 0, то загрузка только до второй фазы (загружается только DOS)

BootMulti={0,1} только Windows, 1 – и DOS, и Windows

b) Параметры для «Start Menu»

BootKeys={0,1} допускается ли нажимать на “горячие клавиши” при загрузке

BootMenu={0,1} вывод меню при загрузке

BootDelay=2количество секунд на нажатие “горячей клавиши”

BootMenuDelay=30время на меню

BootMenuDefault=1номер пункта меню по умолчанию

c) Загрузка в Safe Mode

BootFailSafe={0,1} нужно ли загружаться в защищенный режим (устанавливается 1 при установке ОС)

BootWarn={0,1} отображение надписи "Safe Mode" по углам экрана

d) Прочие:

Logо={0,1} вывод логотипа

DoubleBuffers={0,1} загрузка кэша для SCSI-устройств

DblSpace={0,1} драйвер для сжатого диска

NetWork={0,1} пункт меню Safe Mode With Networking

Второй раздел

; Дополнение до размера файла больше, чем 1024 байта

 

Windows NT, boot.ini:

[boot loader] – параметры загрузчика

timeout=<количество секунд для меню>

default=<загрузочный раздел по умолчанию> (для Win2K раздел: multi(0)disk(0)rdisk(0)partition(2)\WINNT)

[operating systems] – меню и расположение ОС

<раздел 1>=<"название ОС в меню"> (для Win2K раздел: multi(0)disk(0)rdisk(0)partition(2)\WINNT)

<раздел n>=<"название ОС в меню"> (например, C:\="MS Windows 98")

Среда окружения

SET <переменная окружения>=<значения>

a) TEMP

b) TMP

c) PATH

d) …

Приглашение командной строки

PROMPT=<Новое приглашение командной строки>

Приглашение может включать обычные символы и следующие коды:

a) $Q = (знак равенства)

b) $$ $ (символ доллара)

c) $T Текущее время

d) $D Текущая дата

e) $P Текущие диск и путь

f) $V Номер версии Windows

g) $N Текущий диск

h) $G > (знак "больше")

i) $L < (знак "меньше")

j) $B | (вертикальная черта)

k) $H Backspace (удаление предыдущего символа)

l) $E Код Escape (ASCII 27)

m) $_ Возврат каретки и перевод строки

COMPSEC=<описание файлов командного процессора> (for Windows only)

Окно

· Работа с окном

· Resize

· Zoom/Move

· Close/Minimize

· Работа в окне

· Menu

· List

· Edit

· Bookmarks

· Tool Bar

· Control Panel

· Scrollbars

· Text field

· Counter

· Button

· Scrollbar

· Switch

· Icon

· …

Оснастка – ПО, устанавливаемое в комплекте с ОС. В нее входит рабочее окно – desktop: кнопка Start, My Computer, Recycle Bin, My Documents… Также устанавливается дополнительный набор программ – notepad, paint, explorer, find, служебные программы (scandisk, defrag, system information), …

Видеосистема

Control PanelàSystemàПроизводительность

Уровень использования аппаратного ускорения

Разрешение экрана

Палитра

Рисунок на рабочем столе, различные эффекты

Файловая система

Control PanelàSystemàПроизводительность

Настройка кэша на чтение и запись.

Имена в формате 8.3

Дефрагментация диска

Печать

Control PanelàPrinter

Печатать после загрузки одной страницы или всего документа

Виртуальная память

Control PanelàSystemàПроизводительность

Файл подкачки – для памяти, вытесняемой из RAM. Авто-выбор зависит от размера свободно пространства.

Завершение

· Закрыть окно

· По меню

· Аварийно (Ctrl-Alt-Del)

Ярлыки бывают стандартные (имеют в настройках пункты Общие и Ярлык) и нестандартные (+другие настройки).

Приложение MS Word.

Технология работы с документом

1. Создание

Создание происходит на основе шаблона. Шаблон – совокупность стилей. Стиль – поименованный способ форматирования. Форма – более сложный вид шаблона (флажки, списки,…).

2. Корректировка

· Перемещение по тексту

· Поиск

· Закладки

· Показ структуры текста

3. Печать

4. Сохранение

Структура документа

1. Разделы

· Колонки

· Формат страницы

2. Страницы

· Поля

· Ориентация (V/H – книжная/альбомная)

· Колонтитулы

3. Абзац

· Отступ

· Выравнивание

· Расстояние между строками

· Позиции табуляции

· Шрифт

Также:

· Списки (маркированные, нумерованные, многоуровневые)

· Таблицы (ячейки, ширина столбца и строки, формат ячейки)

· Сноски (в конце страницы, в конце документа/раздела)

· Объекты (рисунки, формулы, диаграммы)

· Перекрестные ссылки (ссылки на элементы другого документа, автоматически изменяются)

· Объект другого приложения (по технологии OLE)

· Текстовое поле (фрагмент текста, как единое целое)

Перемещение по закладкам, поиск, структура документа (Вид->Структура), работа с выделенным фрагментом текста.

Приложение MS Excel.

Книга:

1. Листы

Строки, столбцы

Ячейки

Константа (границы, ориентация, шрифт, эффекты)

числовая

текстовая

дата

время

финансовая, денежная

общая

Выражение (=<выражение>)

Функции (мастер ввода функций)

математические

даты и времени

финансовые

текстовые

логические

статистические

Ссылки

абсолютные

B3/R3C2

объединение ячеек – верхний левый угол

диапазон ячеек – A2:B5 (углы диапазона)

имена ячеек (диапазона)

относительные

$A$10

смешанные

$A10, A$10

[<книга>]<лист>!<ссылка>

 

2. Диаграммы

Тип

Диапазон данных

Оформление

Расположение

3. Макросы

Последовательность операций на Visual Basic

4. Средства настройки

Формы

Шаблоны таблиц

Сортировка, удаление/перемещение/копирование, форматирование, фильтрация…

Команды DOS

работа с каталогами

работа с файлами

работа с устройствами

написание пакетных файлов

сетевая работа (нет в DOS для Windows)

PIF файл

v General

v Program

Ø Путь

Ø Имя файла

Ø Рабочий каталог

Ø Пакетный файл (аналогичный autoexec.bat с настройками, который выполняется до запуска приложений)

Ø Горячие ключи

Ø Close on exit

v Font

v Screen

Ø Окно/весь экран

Ø Fast BIOS Emulation – копируется BIOS в память и работает быстрее

Ø Dynamic memory allocation – Windows управляет динамической памятью, освободившейся при переходе в текстовый режим. При этом экономится место, но тратится место.

v Приоритет ожидания

v Memory

Ø CMA (HMA)

Ø EMS

Ø XMS

Ø DPMI – замена EMS, работает быстрее

v Разное

Ø Горячие клавиши Windows

Ø Уровень приоритета

Команды

1) [@]echo [{on, off, <строка>, .}] – если без параметров – текущий режим

2) shift – сдвиг параметров влево, (%0ß%1, … , %9ßсл. параметр из списка)

3) rem <текст> - комментарий

4) pause – пауза в исполнении файла, строка "Press any key to continue…"

5) goto <метка> - переход

: <метка>

6) call <имя> [<список параметров>] – вызов другого bat-файла, не более 4 вложенных вызовов

7) if

a) if [not] exist <описание файла/каталога> <команда>

b) if [not] [<разделит>]<строка1> = = [<разделит>]<строка2> <команда>

разделитель (#, \, /, &) используется для задания пустого значения

c) if [not] errorlevel <значение> <команда>

проверяется код_возврата >= число, любая команда также формирует код возврата

8) choice [/С:<строка>] [/T:<символ>,<секунд>] [<сообщение>, /N]

Строка задает возможные символы (по умолчанию – Y/N), /T – параметры по умолчанию, /N – не выводить возможные варианты ответа. По окончании возвращается код символа в качестве errorlevel

9) cls – очистка экрана

10) exit – завершение выполнения

11) for %%символ in (<список>) do <command> [parameters] – цикл, %%символßследующее значение из списка

Пример

Config.sys

[MENU]

MENUITEM = C, “Turbo C 2.01”

MENUITEM=PAS, “SUXX”

[COMMON]

break=on

[C]

FILES=20

BUFFERS=20

[PAS]

FILES=120

BUFFERS=40

[COMMON]

fcbs=4

Autoexec.bat

GOTO %CONFIG%

:C

PATH C:\TC;

TC

EXIT

:PAS

PATH C:\TP\BIN;

TP

Замечание:

· Можно еще использовать команду CHOICE

· Допускается и использование вложенности в CONFIG.SYS, для этого используется команда SUBMENU

Среда программирования

1. Editor – редактор с поддержкой особенностей языковых конструкций и т. п.

2. Compiler – транслирует в машинный код

3. Linker – компонует объектные модули (библиотеки) и редактирует связи между ними

4. Librarian – обеспечивает создание и корректировку объектных модулей

5. Project support – обеспечивает согласованность времени обновления файлов проекта

6. Debugger – диалоговый отладчик (связывает исходный текст и машинный код)

Диалоговая отладка

1. Подготовка этапа диалоговой отладки (отладочная информация и т.п.)

2. Breakpoints

· Безусловные

· Условные

· Временные

3. Выполнение

· От начала до конца (до breakpoint)

· До курсора (временный breakpoint)

· Step-by-step (step into/over/out)

· Restart/Break

4. Визуальный контроль состояния программы

· Значения переменных (можно изменить)

· Содержимое памяти (можно изменить)

· Код (можно изменить)

· Содержимое регистров (можно изменить)

· Стек вызовов модулей

· Breakpoints

RAM

Статически память может использоваться по минимуму – неэффективно, т.к. может оставаться много неиспользуемой памяти, зато если динамически – свободной памяти в нужный момент может не оказаться.

Printer

Может использоваться только статически, иначе будут конфликты.

ОС должна разрешать тупиковые ситуации при работе с динамическими объектами, например, если один процесс пользуется одним ресурсом, а другой другим, и этим процессам нужно "обменяться" ресурсами, то они оба переходят в режим ожидания.

Требования к ОС

· Надежность

· Защита информации

· Отказоустойчивость

· Гибкость

· Открытость

· Эргономичность

Синхронизация процессов в ОС.

У каждого ресурса есть свой диспетчер, который:

· отслеживает состояние ресурса (свободен/занят)

· поддерживает алгоритм и стратегию выделения ресурса

· выделяет ресурс (организует очередь)

· освобождает ресурс

Состояние ресурса хранится в управляющей таблице. Для синхронизации ресурсов и организации очереди используется семафор (поле, где хранится некоторое число, изначально S=1).

Алгоритм диспетчера по обработке запросов на использование ресурса P(S):

S=S-1

if (S < 0)

процессàочередь ; тогда абсолютное значение S – количество процессов в очереди

Else

выделить ресурс процессу

Освобождение ресурса процессом – V(S):

S=S+1

if (S <= 0)

разблокировать первый ждущий процесс

В Windows 2000 каждый процесс содержит в себе диспетчер процессов. Возникает проблема синхронизации диспетчеров. Несколько системных процессов имеют доступ к семафорам и управляющей таблице. Для них имеется еще один управляющий элемент, который либо разрешает (0), либо запрещает (1) доступ системного процесса к управлению ресурсами. Работа с битами осуществляется командой TestAndSet.

Пример: управление ОП в DOS

Управление – разделами по запросу.

MCB – Memory Control Block (5 байт). Располагается в начале каждого блока памяти.

· Статус (1 байт). ‘M’ – занят, ‘Z’ – свободен

· Адрес PSP (PCB), 0 – свободен (2 байта)

· Размер блока в параграфах (2 байта)

В самой ОС есть управляющее поле, которое ссылается на начало этой цепочки. Адрес следующего блока вычисляется через адрес и размер предыдущего. Команды процессора в DOS:

GETBLOCK – выделение памяти

FREEBLOCK – освобождение памяти

SETBLOCK – изменение размера памяти

И при этом нет никакой защиты ядра ОС!

Страничное распределение ОП.

Виртуальное адресное пространство процесса – образ процесса, который загружен с фиксированного адреса. В Windows этот адрес – 2 GB.

ОП делится на блоки одинаковой длины (2–4К)

Адресное пространство процесса непрерывно.

Таблица блоков – одна на всю систему:

Страница 1
 
Страница 0
 
Страница 2
 
 
Страница 3

Любая страница может быть загружена в любой свободный блок.

Таблица страниц – для всех страниц всех процессов хранит номер блока, одна на процесс, хранится в PCB, загружается в память при обращении:

Номер страницы Номер блока

Любой адрес аппаратно формируется процессором. (p, b): номер страницы, относительное смещение. Из таблицы страниц получают номер блока, берут его адрес, прибавляют к нему относительное смещение и получают исполняемый адрес. Для реализации этого механизма необходимо создать таблицу страниц для каждого процесса.

Механизм защиты памяти: если номер страницы больше их числа для данного процесса, или смещение больше длины страницы, то доступ запрещен.

Регистры:

1. Адрес начала таблицы

2. Количество элементов в таблице

Недостатки:

1. Большие накладные расходы (к памяти надо обращаться 2 раза: к таблице и к нужному байту).

2. Может не хватить памяти

Для устранения этого недостатка используется регистровая ассоциированная память процессора. В ней хранится таблица страниц.

Преимущество - автоматическая борьба с фрагментацией.

Устройства по способу доступа

· Устройства последовательного доступа (только монопольно)

· Устройства прямого доступа

· Устройства произвольного доступа (регистровая память)

При совместном использовании устройства организуется очередь для разрешения конфликтов. Существуют процессы, которые могут монопольно использовать совместные устройства при условии, что нету других запросов (format, …).

Обслуживание устройства

· Отслеживание состояния устройства (свободно/занято)

· Поддержка стратегии удовлетворения запроса к ресурсу

· Выделение

· Удаление

Если ОС поддерживает физическое устройство, у него есть UCB – Unit Control Block (блок управления устройством). Он обслуживается системным процессом, и существует как у реальных, так и у виртуальных устройсв.

UCB:

· идентификация устройства

· ресурсы устройства (DMA, IRQ, I/O port, …)

· размер UCB

· адрес и характеристика буферов обмена

· адрес драйвера

· состояние устройства

Ø свободно

Ø занятоàчем занятоàсостояние в процессе

· адрес семафора и очереди (для совместных устройств)

Разделение устройств

Обслуживание очереди процессов (HDD):

1. Принцип FIFO (FCFS – First Came First Served), низкая производительность.

2. SSTF – Search Short Time First. Обслуживаются процессы для которых время выполнения (перемещения головок) минимально. Потребность во времени на косвенные расходы и возможность присутствия необслуживаемых процессов.

3. SCAN. Головки чтения перемещаются от одного края к другому и обратно, если подходящий процесс есть, то он обслуживается.

Верхний уровень

· Учет внешней памяти

· Форматирование

· Сбор мусора (defrag)

потерянные кластеры (lost clusters) и кластеры принадлежащие одновременно разным файлам

· Учет выделенной памяти

· Учет свободной памяти

· Функции, связанные с сохранностью информации

· Работа с файлами, как с единицей информации в ОС.

· Дескриптор

· Оглавление

· Главный каталог

· Содержание

· Операции над файлами (работают над файлом без учета его внутренней структуры)

· Создание

· Копирование

· Переименование

· Перемещение

· Удаление

· Сравнение

· Защита

· Тестирование (с точки зрения целостности файлов)

· Просмотр содержания

Нижний уровень (с учетом внутренней структуры файла) – I/O уровень, средства ЯП

· Управление вводом-выводом

· Open

· Close

· Выполнение ввода-вывода

· Read

· Write

· Seek

Физические операции выполняет драйвер, а синхронизирует эти процессы – диспетчер устройств.

Файловая структура томов FAT.

Кластер – единица внешней памяти, состоящая из одного или нескольких секторов, которые учитываются как единица выделяемой памяти.

Том FAT

Boot Record FAT MC – main cat. область данных

 

Boot Record

jump * IPL

*- характеристика тома:

1. Количество байт в секторе (512)

2. Количество секторов в кластере

3. Количество секторов на дорожке

4. Количество рабочих поверхностей

5. Количество секторов на диске

6. Количество копий FAT (2)

7. Размер MC в блоках

FAT

Каждому кластеру выделено 12/16/32 (FAT12/FAT16/FAT32) бит в FAT, которые определяют файл, которому он принадлежит.

MC

Каждый каталог описан в нескольких местах. Внутри себя его имя – '..', '.'– определяет текущий каталог. Т.о. каталог описывается в главном каталоге, в себе самом и в подкаталогах. Это необходимо для разных путей поиска файла. Каталог – файл специального назначения, в котором записано содержание этого каталога и который хранится тоже в виде цепочки кластеров. Каталог состоит из элементов по 32 байта, т.е. в одном блоке 16 элементов каталога:

Байты:

0-7 – имя файла (каталога) - 8 байт

8-10 – расширение - 3 байта

11 – байт атрибутов (Биты: read only, hidden, system, volume, directory, archived и 2 зарезервировано) – 1 байт

12-21 – reserved – 10 байт

22-23 – дата создания – 2 байта

24-25 – время создания – 2 байта

26-27 – номер первого кластера, который равен номеру первого элемента в FAT – 2 байта

28-31 – длина файла – 4 байта

Атрибут Volume используется только в файле, описывающем метку тома, в остальных – 0. В элементы FAT может быть занесено одно из следующих значений:

0000 – кластер свободен

0002-FFF0 – кластер занят

FFF7 – плохой кластер

FFFF – последний кластер цепочки

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

При удалении файла его первый символ в названии заменяется на русскую букву 'х'. Физически файл стирается при нехватке места на диске.

VFAT – расширенная FAT, которая позволяет использовать длинные имена. Для описания файла выделяется несколько элементов в описании каталога, достаточных для размещения данного имени. Другое отличие – дата и время создания, а также время последнего изменения записываются в зарезервированные байты, а на место даты и времени записываются дата и время последнего обращения. Если необходимы дополнительные элементы для имени, то в байте атрибутов дополнительных элементов устанавливаются четыре младших единицы (такая комбинация в реальности не используется). Структура дополнительных элементов такова:

0 à номер дополнительного элемента (0x42 – последний)

1-9 à под имя

10 à байт атрибутов (0x0F)

11,12 à зарезервировано

13-25 à под имя

26,27 à 0 (номер первого кластера)

28-31 à под имя

Итого 26 байт для имени, причем оно кодируется в Unicode. Может быть до 20 дополнительных элементов для одного имени, т.е. максимальная длина имени ~260 символов.

Файловая структура томов NTFS.

Недостаток FAT – при больших размерах логических дисков значительно вырастает размер кластеров, так как их общее число ограничено. При использовании NTFS все пространство разбивается на две части: системная область и область данных. Системная область состоит из набора файлов обеспечивающих работу NTFS. Первый и самый важный из них – MFT (Master File Table), а также:

- Копия MFT (MFT Mirror)

- Журнал транзакций (log) – регистрирует изменения тома, помогает при восстановлении после сбоев

- Volume – файл описания тома

- Bad Cluster Table – таблица bad кластеров

- Таблица описания атрибутов

- Таблица выделенных кластеров

- …

MFT состоит из элементов по 1 Кб, которые описывают файлы (каталоги). Если файл маленький, то он размещается прямо в этой записи.

Элемент MFT, опи<



Последнее изменение этой страницы: 2016-07-22

headinsider.info. Все права принадлежат авторам данных материалов.