Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
переделанные шпоры на БОС.doc
Скачиваний:
28
Добавлен:
22.05.2015
Размер:
360.96 Кб
Скачать

1 Размер блока

Если принято решение хранить файл в блоках, то возникает вопрос о размере этих блоков.

Есть две крайности:

  • Большие блоки - например, 1Мбайт, то файл даже 1 байт займет целый блок в 1Мбайт.

  • Маленькие блоки - чтение файла состоящего из большого числа блоков В MS-DOSразмер блока может быть от 512 до 32 Кбайт в зависимости от размера диска, поэтомуFAT16 использовать на дисках больше 500 Мбайт не эффективно.

В NTFSразмер блока фиксирован (от 512байт до 64 Кбайт),  как правило, равен примерно 2Кбайтам (от 512байт до 64 Кбайт).

2 Учет свободных блоков

Основные два способа учета свободных блоков :

  • Связной список блоков диска, в каждом блоке содержится номеров свободных блоков столько, сколько вмешается в блок. Часто для списка резервируется нужное число блоков в начале диска. Недостатки: - Требует больше места на диске, если номер блока 32-разрядный, требуется 32бита для номера - Излишние операции ввода/вывода, т.к. в памяти не хранятся все блоки, а, например, только один блок

  • Битовый массив (бит-карта) - для каждого блока требуется один бит.

3 Дисковые квоты

Чтобы ограничить пользователя, существует механизм квот.

Два вида лимитов:

  • Жесткие - превышены быть не могут

  • Гибкие - могут быть превышены, но при выходе пользователь должен удалить лишние файлы. Если он не удалил, то при следующем входе получит предупреждение, после получения нескольких предупреждений он блокируется.

Наиболее распространенные квоты:

  • Объем использования диска

  • Количество файлов

  • Количество открытых файлов

  1. Семейство операционных систем UNIX

В это время также стали бурно развиваться мини-компьютеры (первый был выпущен в 1961г.), на которые была перенесена система MULTICS. Эта работа в дальнейшем развилась в систему UNIX.

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

  В 1987г. была выпущена операционная система MINIX(прототип LINUX), она была построена на схемемикро ядра.

В 1991г. была выпущена LINUX, в отличии от микроядерной MINIX она стала монолитной.

Чуть позже вышла FreeBSD(основой для нее послужила BSD UNIX).

  1. Общая характеристика семейства операционных систем UNIX

общими для UNIX чертами являются:

- многопользовательский режим со средствами защиты данных от несанкционированного доступа,

- реализация мультипрограммной обработки в режиме разделения времени, основанная на использовании алгоритмов вытесняющей многозадачности (preemptive multitasking),

- использование механизмов виртуальной памяти и свопинга для повышения уровня мультипрограммирования,

- унификация операций ввода-вывода на основе расширенного использования понятия "файл",

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

- переносимость системы за счет написания ее основной части на языке C,

- разнообразные средства взаимодействия процессов, в том числе и через сеть,

- кэширование диска для уменьшения среднего времени доступа к файлам.

ОС UNIX имеет следующие основные характеристики:

  • переносимость;

  • вытесняющая многозадачность на основе процессов, работающих в изолированных адресных пространствах в виртуальной памяти;

  • поддержка одновременной работы многих пользователей;

  • поддержка асинхронных процессов;

  • иерархическая файловая система;

  • поддержка независимых от устройств операций ввода-вывода (через специальные файлы устройств);

  • стандартный интерфейс для программ (программные каналы, IPC) и пользователей (командный интерпретатор, не входящий в ядро ОС);

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

  1. Управление процессами в UNIX

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

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

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

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

Виртуальная память реализуется и автоматически поддерживается ядром ОС UNIX.

В UNIX системах заложена жесткая иерархия процессов. Каждый новый процесс созданный системным вызовом fork, является дочерним к предыдущему процессу. Дочернему процессу достаются от родительского переменные, регистры и т.п. После вызова fork, как только родительские данные скопированы, последующие изменения в одном из процессов не влияют на другой, но процессы помнят о том, кто является родительским.

  1. Реестр и средства работы с реестром

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