Типы организации файлов ОС




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

Последовательные файлы представляют собой последовательность записей, без каких-либо управляющих команд. Для прочтения N-ой записи необходимо прочесть все N-1 запись ей предшествующих. С последовательными фалами работают такие устройства, как клавиатура, монитор, принтер. Последовательная организация файла – самая простая, но самая неэффективная.

Индексно-последовательная

Индексно-последовательная организация файла позволяет получить доступ к отдельной записи без перебора предшествующих. К каждой записи в файле прилагается уникальный (принадлежащий только этой записи) КЛЮЧ. В начале файла помещается так называемая ТАБЛИЦА КЛЮЧЕЙ. Каждому ключу в таблице сопоставлен адрес записи, которой он принадлежит. Программа (ОС), обращаясь к файлу, последовательно читает таблицу ключей, находит нужный ключ и переходит к нужной записи. В шаблоне файла адреса, соответствующие ключам записей - пустые. В общем виде, индексно-последовательный файл представляет собой двухуровневый последовательный файл: первый уровень – файл ключей, второй – записей. Обработка ключа быстрее обработки записей. Если в файле очень много записей, можно добавить уровни ключей, указывающих на боки ключей более низкого уровня. Эффективность данной структуры тем больше, чем размер записи больше размера ключа.

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

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

 

Существует два основных способа работы с библиотеками (претерпевающими изменение):

· Создание новой копии (метод, простой в реализации, но дорогой в смысле памяти, необходимой для его осуществления).

· Модификация старой – новый / измененный раздел записывается на новое место. (Для реализации необходимы дополнительные средства, зато метод экономичен т.к. обычно библиотека заранее включает в себя место для добавки. Для правильной «модернизации на месте» необходимо использовать так называемые сборщики мусора, очищающие память от старых ненужных и временных файлов.)

5.4 Типы записей

 

Запись – логический элемент файла.

 

· Логические записи:

 

o Fixed length – в записях одинаковой длины содержится в основном только полезная информация (без справочной),часто эффективность мала, т.к. записи могут быть пустыми или частично пустыми. Но ОС с ними удобнее.

o Variable length – позволяет компактно хранить файлы с большим разбросом записей по длине. В начале каждой записи помещается ДЕСКРИПТОР, обычно содержащий длину записи.

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

 

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

 

· Физические записи (размещение записей на внешних носителях)

o F (фиксированные) – длина одной записи равна длине блока.

o FB (фиксировано - блокируемые) – в одном блоке содержится несколько записей одинакового типа.

o VS (переменно-сегментированные) – на одном блоке не менее одной записи переменной длины (не может быть такого: часть записи на одном блоке). Каждый блок снабжен дескриптором блока, содержащим информацию о количестве записей на блоке и их общей длине и методе обработки.

o VBS (блокированные-сегментированные) – в блоке могут размещаться как целое количество записей, так и их части. (в данной организации тоже есть дескриптор блока, в который заносится часть информации необходимой для считывания, но не обработки записей).

 

Здесь так же можно упомянуть о наличии на диске межблокового пространства, о котором было рассказано в параграфе 2.

Аппарат прерывания

Аппарат прерывания есть основа системы управлении ресурсами ОС.

Процесс (а не программа, команды которой выполняются) является единицей работы процессора. В ОС процесс – совокупность кода программы, данных, которые она обрабатывает и управляющей информации, необходимой для обслуживания процесса. В момент выполнения программа «погружается» в ОС. Процессор, выполняющий код программы, работает по следующему алгоритму:

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

· Дешифрует выбранную команду

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

· Исполнение текущей команды

 

В процессе выполнения четвертого шага адрес найденный на третьем шаге может измениться. Третий шаг обычно эквивалентен прибавлению к адресу текущей команды ее длины(команды идут подряд). Вычислим этот адрес с помощью модели PSW.

 

PSW (Process Status Word) – статусная информация процессора – несколько регистров процессора с информацией необходимой для исполнения текущей команды (адрес хранения следующей команды и набор флагов).

 

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

 

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

 

Прерывания

· Синхронное (вызывается самим процессом).

· Асинхронное (вызывается извне, не зависимо от выполняемого программного процесса).

Microsoft называет прерывания в общем виде ловушками, и уточняет:

· Прерывания – асинхронные ловушки

· Исключения – синхронные ловушки

 

По типу прерывания различают:

· Программное (например деление на 0 и т.п.).

· Ввода / Вывода:

o Синхронное (процесс приостановился).

o Асинхронное (устройство известило об окончании операции В/В).

· Сервисные (по обращении за сервисом к ядру ОС).

· От схем контроля машины.

· Внешнее (например по таймеру)

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

ОС

· Однопользовательские – Однопроцессорные

· Однопользовательские – Многозадачные

· Многопользовательские – Многозадачные

 

Режимы функционирования ОС:

 

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

· Режим разделения времени (несколько равноправных процессов в порядке очереди, каждый получает свой отрезок (квант) времени).

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

 

Аппаратура компьютера.

 

§1. Конфигурация.

 

Основная конфигурация с общим процессором.

У микропроцессора есть выделенное адресное пространство, куда прикрепляются устройства. Он включает в себя 3 шины материнской платы.

1) шина данных (перекачивает данные)

2) шина адреса (указывает, куда, например порты ввода/вывода)

3) шина прерываний (канал линий прерывания).

Канал DMA – специализированное устройство ввода/вывода, через которое могут передаваться данные без участия процессора.

Далее рассмотрим 16 и 32-битовую архитектуру.

Стандартная архитектура – 32 бита процессор, 32 бита – шины и адреса данных.

У Microsoft зарезервированы следующие имена:

1) сon – монитор

2) prn – устройство печати

3) A:\

4) В:\ - имена накопителей, внешних носителей

5) LPT1, 2 … - порты

6) USB1, 2 … - порты

Накопители:

1) floppy – дисковод

2) CD, CD-roms, cd-drives

3) flash

Самая простая модель микропроцессора:

1) обрабатывающая часть

2) регистры (хранение информации и ее обработка процессором)

 

§2. Регистры.

 

Основная часть регистров - 32 бита. Все регистры делятся на: регистры общего назначения и регистры с плавающей точкой.

1. Регистры данных – 4 штуки, 32 разряда.

Е – значит END.

А – регистр аккумулятора

B – регистр базы

C – регистр счетчика

D – регистр данных

В 16-битовой архитектуре младший байт L и старший H. Обращение:

AL, AH, BL, BH, CL, CH, DL, DH.

2. Регистры индексов – 2 штуки.

SI – Sourse index

DI – Destination index.

3. Регистры указателей, 3 шт.

Используются, как элементы адресации.

4. Регистр флагов – один.

Содержит в каждом бите некоторую информацию. Например:

- carry flag – флаг переноса (складываем два числа, одино не помещается в разрядную сетку и тогда попадает в carry flag).

- zeroflag(ZR) = 1, если результат = 0 (= 0, если результат = 1).

- signflag = 1, если число меньше нуля (= 0, если результат больше нуля). Это флаг знака результата.

PSW – это указатель команд и флаги с точки зрения архитектуры.

5. Регистры сегментов – 16 битов.

- CS – command segment (командный сегмент).

- SS – stack segment (сегмент стека)

- DS – data segment (сегмент данных)

- ES – дополнительный регистр данных.

- GS, FS – два дополнительных сегмента.

 

§3. Организация 16-битовой архитектуры.

 

С помощью одного регистра можно записать 216 адресов, т. е. 64 Kb. Это мало. У них 20-тиразрядная шина адреса, следовательно, можно записать 220 адресов, т. е. 1 Mb. Одного регистра на это не хватает, а двух – вполне.

 

Адрес команды:

CS:TP

CS – сегмент команды

TP – указатель команд.

16 = 24 – для одной цифры четыре разряда в шестнадцатеричной системе. Двоичные легко перевести в шестнадцатеричные. Если старший сегмент имеет старшую цифру, не равную нулю, а остальные – нули, то адрес нормализован.

SSSP – стек,

DSBP – данные – адресация.

Исполнительный адрес - из двух регистров.

В 16-битовой архитектуре адрес можно трактовать, как 5-тибитовое шестнадцатеричное число. Одним регистром шифруется 64 Кб. С помощью младшей цифры можно изменить адрес на один параграф – 16 Кб.

Под PSW в 16-битовой архитектуре понимают эту информацию – регистр и регистр флагов.

Кроме адреса команд еще используются регистры.

SS и SP – тоже для вычисления адреса, но стекового.

SS – stack segment (сегмент стека), SP – stack pointer (указатель на стек).

Еще используются расширенные регистры. В 32битовой архитектуре все покрывается одним регистром.

(EIP, Flags) = PSW.

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

 

Модели памяти в 16-битовой архитектуре.

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

1) код.

2) область статических данных (та область, которая выделяется процессу в момент его создания).

3) динамическая область (динамических данных). Выделяется по ходу.

В динамической области две части – стек и куча (heap), если не хватило места. Они хоть и используются процессом, но управляет ими ОС.

В связи с тем, что адресное пространство процессора устроено так – адресация следующая.

CS:IP – к коду

PS:BP – статические данные

SS:SP – стек.

По два регистра.

Различают три разные модели памяти.

Если всего мало, то всего один регистр. Это модель TINY, когда формально 2 регистра, а реально – один (указательный). Это единственная модель с одним регистром.

SMALL – это когда все регистры имеют разные значения, но постоянные в течение выполнения одной программы. Но код – не больше 64 Кб.

Во всех остальных моделях – содержание регистра меняется по ходу программы (кроме SS).

Бывают модели памяти

-HUGE

-SMALL

-COMPACT

-MEDIUM

-LARGE

-HUGE

В HUGE - несколько сегментов кода и данных.

 

§5. Память.

В 16-битовой архитектуре – все адресное пространство процессора называют памятью, но это не совсем правильно, память – это то, что на чипе памяти, а в адресном пространстве – чуть больше. Но она делится на три части.

- SMA – 640 Kб – для пользователя и ОС.

- UMA – 384 Кб – не физическая память, а некоторая системная.

- XMA – все остальное, расширенная память. Стандартно к ней нет доступа.

SMA и XMA - физическая память.

Обращение к ним всем трем одинаковое.

UMA используется особым образом, часть из нее – видеопамять.

XMA – в 16-битовой архитектуре стандартно недоступна, но если шина не 20 бит, а 24 бита, то уже можно. Но это уже расширенный режим адресации (для доступа нужно переключить микропроцессор в другой режим, что 16-битовая архитектура не поддерживает).

Такой стандарт через расширенный режим – XMS. Но существует еще стандарт EMS – выделяются адреса в UMA и накладываются на физическую память XMA. Для этого требуются драйвера.

В области XMA есть еще одна небольшая область – HMA (64 – 16 Кб), примыкает к UMA.

32-битовая архитектура.

Виртуальная и физическая память. Адресация к физической памяти – через один регистр.

 

§6. Монитор. Видеоадаптер.

 

Pixel – picture element со знаком умножения х.

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

4 бита – 16 цветов.

8 бит – 256 цветов.

Сейчас используются стандарты

- Real Color – 15 бит.

- True Color – 16 бит – не поровну на все цвета, на зеленый больше.

- High Color – 24 бита (3 байта).

Цвет формируется с помощью стандарта RGB.

Другая характеристика – размер экрана, задействуются все pixel или не все. Стандарты:

- EGA.

- VGA (640x480, 256 цветов).

Но количество точек и цветов не связано, их можно задавать отдельно.

- SVGA – 800x600, 256 цветов.

- XGA – 1024x768

- YGA – 1280x1024.

Существуют и другие.

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

-Текущая страницы – это та, которая используется программными средствами.

-Активная – та, что используется для формирования изображения на экране.

Если они совпадают, т изображение формируется на экране, а если нет, то сначала формируется, а потом выводится.

В текстовом режиме для формирования изображения используются позиции (группы пикселей). Чем больше точек в одной позиции, тем изображение лучше. Можно изобразить только 256 символов.

-1 байт – код символов.

-2-ой байт – байт атрибутов (цветность).

1ая половина – цвет фона (3 бита, RGB, 1 бит яркости), вторая половина – цвет символа (3 бита RGB, 1 бит мерцания).

 

§7. Клавиатура.

 

Существуют типа клавиш – модификаторы, алфавитно-цифровые, управляющие (F…).

Клавиши-модификаторы изменяют свойства вводимой клавиши или символа.

Когда нажимается клавиша, то в буфер клавиатуры (часть оперативной памяти) заносится код символа (если алфавитно-числовой), код клавиши. После кода символа (scan код, на самом деле, их два, один на нажатие, другой на отпускание).

256 – это только символы, без Ctrl и Shift.

Управляющие символы задаются либо 0, либо 1. 0 – управляющая клавиша, 1 – нет. Текстовые редакторы понимают буфер клавиатуры и работают с ним.

При нажатии клавиши происходит следующее.

-микросхема клавиатуры заносит информацию в два байта в порты (scan-код и еще один).

-генерируется прерывание от клавиатуры. Это зачастую приводит к запуску обработчика прерываний.

-По Scan -коду понимаем, что за символ. Если управляющий или модификатор, то обработчик заносит информацию в байт модификатора.

-Информация передается в текущий буфер обмена.

 

Как отличить символы основного и национального алфавита?

Основной – стандарт ASCII, 7 бит. Так что если первый бит = 0, то основной – 127 символов, 1 – альтернативный, 128 символов.

 

 

§8. Магнитный диск.

 

Side – сторона, track – дорожка, sector – блок.

TRK – дорожка внутри цилиндра.

Для дискеты side – сторона дискеты, 2 дорожки внутри цилиндра.

Физически диск организован так же, как и раньше, только названия другие. Иногда side – head.

Разметка диска – создание логической структуры.

-Разбиение на разделы (максимум, 4), могут быть оставлены не задействованные места. 3 раздела могут быть расширенными, а один – первичный. В первичном разделе можно сделать один логический диск, а в расширенном – несколько.

PBS – управляющий диск.

Main Put Record - содержится программа начала загрузки.

Информация о разделах. Один из первичных разделов помечается как системный, в блоке PBS таблица логических дисков.

Организованный логический диск рассматривается, как самостоятельный, на нем может быть создана файловая система (FAT16, FAT32, NTFS). Диск становится доступным, если на нем создана файловая структура – метка, справочник о содержании, пространство для записи файлов.

Единица физической памяти - сектор размеров 512 байт. Кластер – несколько секторов. Величина кластера – важная характеристика логического диска.

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: