Обзор функций ОС: управление памятью, файлами, процессами, сетями, командными интерпретаторами, сервисы ОС, системные вызовы. Уровни абстракции ОС. Архитектура UNIX и MS-DOS
Краткие итоги
Основная память – большой массив слов или байтов. Байты в слове могут нумероваться двумя способами, по которому различают big endian- и little endian – архитектуры. Задачи ОС по управлению памятью – отслеживание, какие области памяти используются какими процессами, стратегия загрузки процессов в основную память, выделение и освобождение памяти.
Файл (набор данных) – логически взаимосвязанная совокупность информации во внешней памяти. Функции ОС по управлению файлами – создание и удаление, открытие и закрытие, управление директориями и поиском файлов в них, отображение файлов во внешнюю память, их резервное копирование.
Вторичная память (например, на диске) используется как расширение основной памяти. ОС управляет свободной дисковой памятью, выделяет дисковую память и выполняет диспетчеризацию дисков.
ОС поддерживает работу в распределенной системе (сети) – сетевые протоколы, взаимодействие с общими сетевыми ресурсами, удаленный запуск программ.
Система защиты в ОС – механизм управления доступом программ и пользователей к системным и пользовательским ресурсам.
ОС поддерживает командный интерпретатор, читающий и интерпретирующий управляющие операторы (команды), задаваемые пользователями с терминала или в виде командных файлов. Команды могут выполнять действия над файлами, процессами, основной и вторичной памятью, защиту, управление сетью.
Основные сервисы ОС – исполнение программ, поддержка ввода-вывода, работа с файловой системой, коммуникация, обнаружение ошибок.
Дополнительные функции ОС – распределение ресурсов, ведение статистики, защита.
Системный вызов – интерфейс программ с ОС в виде вызовов процедур, методов или макросов, являющихся частью ОС. Способы передачи параметров системному вызову: через регистр, через таблицу, адрес которой в регистре, или через стек. Системные вызовы выполняют управление процессами, файлами, устройствами, выдают сопровождающую информацию, осуществляют коммуникации.
MS DOS – однозадачная операционная система. Одновременно система обрабатывает только одну задачу, размер памяти которой не может превышать 640 килобайт.
UNIX, в отличие от MS DOS, поддерживает мультипрограммирование, т.е. может одновременно обрабатывать несколько задач и хранить их в памяти.
Коммуникация между процессами может осуществляться с помощью передачи сообщений или через общую область памяти.
Системные программы – более удобный и чаще применяемый пользовательский интерфейс с ОС, чем системные вызовы. Они осуществляют управление файлами, получение информации о состоянии, создание и изменение файлов, поддержку языков программирования, загрузку и исполнение программ, коммуникации.
В архитектуре MS DOS нет явного разделения на модули. Различаются уровень прикладной программы, резидентной системной программы, драйверы устройств MS DOS, драйверы устройств ROM BIOS.
В архитектуре системы UNIX более явно выделяются несколько уровней абстракции. Система состоит из ядра и системных программ. Для обращения к ядру используется интерфейс системных вызовов. На самом верхнем уровне пользователям доступны командные процессоры, компиляторы и интерпретаторы, системные библиотеки.
Э. Дейкстра предложил подход к разработке ОС, основанный на уровнях абстракции. Каждый из них представляет собой группу модулей, в реализации которых используются только модули непосредственно предшествующего уровня. Это дает возможность более удобной разработки и позволяет абстрагироваться от лишних деталей. По сути дела, принцип уровней абстракции – движущая сила всего процесса развития программного обеспечения.
Набор для практики
Вопросы
- Что такое основная (оперативная) память?
- Что такое архитектуры памяти big endian и little endian ми в чем различие между ними?
- Сохраняется ли состояние основной памяти после завершения программы или при отключении питания?
- Какие действия по управлению основной памятью выполняет ОС?
- Что такое файл?
- Что такое набор данных?
- Какие действия по управлению файлами и директориями выполняет ОС?
- Что такое директория?
- Что такое путь к файлу?
- Какие действия по управлению вторичной памятью выполняет ОС?
- Что такое распределенная система?
- Что такое сетевой протокол?
- Какие действия по управлению распределенной системой выполняет ОС?
- Каковы преимущества доступа к общим ресурсам в сети?
- Что такое защита и какие действия по защите данных, программ и ресурсов выполняет ОС?
- Что такое авторизация?
- Что такое командный интерпретатор?
- Какие виды команд имеются в командном языке ОС?
- Какие виды сервисов предоставляет ОС?
- Какие дополнительные функции выполняет ОС?
- Что такое системный вызов?
- Какими способами могут передаваться параметры системному вызову?
- Какие виды системных вызовов Вы знаете?
- Как организовано распределение памяти в MS DOS?
- Как организовано распределение памяти для нескольких задач в UNIX?
- Каковы способы реализации коммуникационных моделей взаимодействия между процессами?
- Что такое системные программы и какие функции они выполняют?
- Какова архитектура MS DOS?
- Какова архитектура UNIX?
- Что такое уровни абстракции и каким образом облегчается разработка ОС на основе уровней абстракции?
Упражнения
- Пусть список свободной основной памяти в системе содержит 100 элементов по 1000 слов каждый. От процесса поступило 100 запросов на области памяти по 995 слов. Каково в результате будет состояние памяти? Каким термином обозначается подобная ситуация?
- Пусть в директории имеется ссылка на файл под именем "F". Пользователь записал под этим же именем в директорию ссылку на другой файл. Что произойдет с первым файлом?
- Могут ли в одной директории быть две ссылки под одним и тем же именем (например, "A")?
- Имеется локальная сеть из трех компьютеров. Спланируйте распределение "обязанностей" между ними в сети: хранение файлов, запуск программ, предоставление принтера, обслуживание электронной почты, Web-сервер.
- Предложите систему защиты от нежелательных обращений через сеть: она должна распознавать враждебные IP-адреса и не допускать обращений с этих адресов к Вашей локальной сети.
- Какой командой UNIX можно защитить Ваш файл f.txt в текущей директории от нежелательного чтения или изменения другими пользователями?
- Какая команда служит в системе Solaris для удаленного входа на машину aphrodite в Вашей локальной сети?
- Назовите системные программы, используемые Вами постоянно при работе в Вашей любимой операционной системе на Вашем персональном компьютере.
- Объясните, почему при использовании уровней абстракции не рекомендуется обращение из модулей уровня N к модулям уровня ниже N-1.
Темы для курсовых работ, рефератов, эссе
- Обзор архитектур основной памяти и способов адресации в компьютерных системах (реферат).
- Обзор файловых систем и методов управления файлами в операционных системах (реферат).
- Реализуйте с помощью обычных файлов иерархию директорий и операции над директориями. Ссылки на файлы в элементах реализуемых Вами директорий храните в символьном виде. Особое внимание уделите эффективной реализации поиска файла по символьному пути к нему (курсовая работа).
- Обзор систем защиты в операционных системах (реферат).
- Обзор методов организации системных вызовов и передачи им параметров в операционных системах (реферат).
- Обзор и сравнение командных языков и командных интерпретаторов в системе UNIX (реферат).
- Архитектура и возможности операционной системы MS DOS (реферат).
- Архитектура и возможности операционной системы UNIX (реферат).
- Обзор коммуникационных моделей процессов в операционных системах (реферат).
- Обзор видов и возможностей системных программ в операционных системах (реферат).