- •7) Основные функции ос:
- •8) Структура операционной системы:
- •9) Принципы построения ос
- •12) Назначение и функции ос автономного компьютера.
- •13) Сетевые операционные системы
- •15) Управление процессами
- •17) Управление памятью
- •21) Основные функции файловой системы
- •22) Обзор файловой системы ntfs
- •23) Обзор файловой системы fat
17) Управление памятью
Память является важнейшим ресурсом, требующим тщательного управления со стороны мультипрограммной операционной системы. Распределению подлежит вся оперативная память, не занятая операционной системой. Обычно ОС располагается в самых младших адресах, однако может занимать и самые старшие адреса. Функциями ОС по управлению памятью являются: отслеживание свободной и занятой памяти, выделение памяти процессам и освобождение памяти при завершении процессов, вытеснение процессов из оперативной памяти на диск, когда размеры основной памяти не достаточны для размещения в ней всех процессов, и возвращение их в оперативную память, когда в ней освобождается место, а также настройка адресов программы на конкретную область физической памяти.
Типы адресов
-Для идентификации переменных и команд используются символьные имена (метки), виртуальные адреса и физические адреса
-Символьные имена присваивает пользователь при написании программы на алгоритмическом языке или ассемблере.
Виртуальные адреса вырабатывает транслятор, переводящий программу на машинный язык. Так как во время трансляции в общем случае не известно, в какое место оперативной памяти будет загружена программа, то транслятор присваивает переменным и командам виртуальные (условные) адреса, обычно считая по умолчанию, что программа будет размещена, начиная с нулевого адреса. Совокупность виртуальных адресов процесса называется виртуальным адресным пространством. Каждый процесс имеет собственное виртуальное адресное пространство. Максимальный размер виртуального адресного пространства ограничивается разрядностью адреса, присущей данной архитектуре компьютера, и, как правило, не совпадает с объемом физической памяти, имеющимся в компьютере.
Физические адреса соответствуют номерам ячеек оперативной памяти, где в действительности расположены или будут расположены переменные и команды. Переход от виртуальных адресов к физическим может осуществляться двумя способами. В первом случае замену виртуальных адресов на физические делает специальная системная программа - перемещающий загрузчик. Перемещающий загрузчик на основании имеющихся у него исходных данных о начальном адресе физической памяти, в которую предстоит загружать программу, и информации, предоставленной транслятором об адресно-зависимых константах программы, выполняет загрузку программы, совмещая ее с заменой виртуальных адресов физическими.
Второй способ заключается в том, что программа загружается в память в неизмененном виде в виртуальных адресах, при этом операционная система фиксирует смещение действительного расположения программного кода относительно виртуального адресного пространства. Во время выполнения программы при каждом обращении к оперативной памяти выполняется преобразование виртуального адреса в физический. Второй способ является более гибким, он допускает перемещение программы во время ее выполнения, в то время как перемещающий загрузчик жестко привязывает программу к первоначально выделенному ей участку памяти. Вместе с тем использование перемещающего загрузчика уменьшает накладные расходы, так как преобразование каждого виртуального адреса происходит только один раз во время загрузки, а во втором случае - каждый раз при обращении по данному адресу.
В некоторых случаях (обычно в специализированных системах), когда заранее точно известно, в какой области оперативной памяти будет выполняться программа, транслятор выдает исполняемый код сразу в физических адресах.
SuperFetch - технология интеллектуального управления памятью
SuperFetch запоминает, какие приложения вы используете больше всего и предзагружает их в память, добавляя вашей системе быстродействие. Технология SuperFetch использует схему присваивание приоритетов. Windows Vista может также назначать приоритеты приложениям при выполнении фоновых задач – говорится в описании технологии SuperFetch.
18) Принципе ПО ввода-вывода(Только задачи ПО ввода-вывода и их способы)
- независимость от устройств: доступ к любому УВВ без предварительного указания конкретного устройства
- единообразие именования: имя файла или устройства – просто строка или целое число, не зависящее от физического устройства
- обработка ошибок: ошибки должны обрабатываться как можно ближе к аппаратуре. Если контроллер обнаружил ошибку, он должен исправить ее сам
- способ переноса данных: синхронный (блокирующий) или асинхронный (управляемый прерываниями). Асинхронный: ОС делает прерывания блокирующими для пользователя, то есть программа делает системный вызов и ожидает ответа
- буферизация при обмене большими объемами данных
К выделенным устройствам может иметь доступ только один пользователь, к устройствам коллективного пользования – несколько пользователей
Способы осуществления операций ввода-вывода:
- программный: процесс собирает строку в буфере, получает принтер в пользование, просит ОС распечатать строку. ОС копирует буфер в пространство ядра, и как только принтер доступен, посимвольно копирует строку в регистр принтера.
- управляемый прерываниями: поступает системный вызов печати строки, буфер копируется в ядро, разрешаются прерывания. Первый символ копируется на принтер, процессор вызывает планировщик и освобождается.
- с использованием DMA: контроллер DMA поставляет символы принтеру по одному, не обращаясь к ЦП.
19)- 20) Файловая система - это часть операционной системы, назначение которой состоит в том, чтобы обеспечить пользователю удобный интерфейс при работе с данными, хранящимися на диске, и обеспечить совместное использование файлов несколькими пользователями и процессами.
В широком смысле понятие "файловая система" включает:
-совокупность всех файлов на диске,
-наборы структур данных, используемых для управления файлами, такие, например, как каталоги файлов, дескрипторы файлов, таблицы распределения свободного и занятого пространства на диске,
-комплекс системных программных средств, реализующих управление файлами, в частности: создание, уничтожение, чтение, запись, именование, поиск и другие операции над файлами.
Физическая организация
Физическая организация файла описывает правила расположения файла на устройстве внешней памяти, в частности на диске. Файл состоит из физических записей - блоков. Блок - наименьшая единица данных, которой внешнее устройство обменивается с оперативной памятью. Непрерывное размещение - простейший вариант физической организации (рисунок 2.34,а), при котором файлу предоставляется последовательность блоков диска, образующих единый сплошной участок дисковой памяти. Для задания адреса файла в этом случае достаточно указать только номер начального блока. Другое достоинство этого метода - простота. Но имеются и два существенных недостатка. Во-первых, во время создания файла заранее не известна его длина, а значит не известно, сколько памяти надо зарезервировать для этого файла, во-вторых, при таком порядке размещения неизбежно возникает фрагментация, и пространство на диске используется не эффективно, так как отдельные участки маленького размера (минимально 1 блок) могут остаться не используемыми.
Следующий способ
физической организации - размещение в
виде связанного списка блоков дисковой
памяти (рисунок 2.34,б ). При таком способе
в начале каждого блока содержится
указатель на следующий блок. В этом
случае адрес файла также может быть
задан одним числом - номером первого
блока. В отличие от предыдущего способа,
каждый блок может быть присоединен в
цепочку какого-либо файла, следовательно
фрагментация отсутствует. Файл может
изменяться во время своего существования,
наращивая число блоков. Недостатком
является сложность реализации доступа
к произвольно заданному месту файла:
для того, чтобы прочитать пятый по
порядку блок файла, необходимо
последовательно прочитать четыре первых
блока, прослеживая цепочку номеров
блоков. Кроме того, при этом способе
количество д
анных
файла, содержащихся в одном блоке, не
равно степени двойки (одно слово
израсходовано на номер следующего
блока), а многие программы читают данные
блоками, размер которых равен степени
двойки.
Рис. 2.34. Физическая организация файла
а - непрерывное размещение; б - связанный список блоков;
в - связанный список индексов; г - перечень номеров блоков
Популярным способом, используемым, например, в файловой системе FAT операционной системы MS-DOS, является использование связанного списка индексов. С каждым блоком связывается некоторый элемент - индекс. Индексы располагаются в отдельной области диска (в MS-DOS это таблица FAT). Если некоторый блок распределен некоторому файлу, то индекс этого блока содержит номер следующего блока данного файла. При такой физической организации сохраняются все достоинства предыдущего способа, но снимаются оба отмеченных недостатка: во-первых, для доступа к произвольному месту файла достаточно прочитать только блок индексов, отсчитать нужное количество блоков файла по цепочке и определить номер нужного блока, и, во-вторых, данные файла занимают блок целиком, а значит имеют объем, равный степени двойки.
Логическая организация файла
Программист
имеет дело с логической организацией
файла, представляя файл в виде определенным
образом организованных логических
записей. Логическая запись - это наименьший
элемент данных, которым может оперировать
программист при обмене с внешним
устройством. Даже если физический обмен
с устройством осуществляется большими
единицами, операционная система
обеспечивает программисту доступ к
отдельной логической записи. На рисунке
2.33 показаны несколько схем логической
организации файла. Записи могут быть
фиксированной длины или переменной
длины. Записи могут быть расположены в
файле последовательно (последовательная
организация) или в более сложном порядке,
с использованием так называемых индексных
таблиц, позволяющих обеспечить быстрый
доступ к отдельной логической записи
(индексно-последовательная организация).
Для идентификации записи может быть
использовано специальное поле записи,
называемое ключом. В файловых системах
ОС UNIX и MS-DOS файл имеет простейшую
логическую структуру - последовательность
однобайтовых записей.
