Главная страница Межпроцессное взаимодействие (состязание) Резюме 65 механизмом и политикой является очень важным понятием, встречающимся в операционных системах в различном контексте постоянно. 1.6. Краткий обзор следующих глав Типичные операционные системы состоят из четырех основных компонентов: управление процессами, устройствами ввода/вывода, памятью и файлами. Следующие четыре главы будут посвящены этим четырем составным частям, по одной главе на часть. В главе 6 содержится перечень рекомендуемой литературы и библиографии. Главы о процессах, вводе/выводе, управлении памятью и файловых системах имеют одну и ту же общую структуру. Сначала излагаются общие принципы. Затем идет обзор соответствующей секции MINIX (эта информация применима и к UNIX). Наконец, подробно рассматривается реализация в MINIX. Часть, посвященную реализации, можно без потери целостности изложения пропустить или коснуться ее вскользь. Те же читатели, которые заинтересованы в изучении работы реальной ОС, должны прочитать все части. Резюме Операционную систему можно рассматривать с двух точек зрения: как менеджер ресурсов и как расширенную машину. Как менеджер ресурсов операционная система рационально управляет различными частями системы. С точки зрения расширенной машины, работа операционной системы состоит в предоставлении пользователям виртуальной машины, более удобной, чем настоящий компьютер. Операционные системы имеют достаточно долгую историю развития, которая начинается с тех дней, когда операционные системы заменили оператора, и продолжается до современных многозадачных систем. Большое значение имеют ранние системы пакетной обработки, многозадачные системы и системы для персональных компьютеров. Сердцем любой операционной системы является набор системных вызовов, которые она может обработать. Они говорят о том, что реально делает операционная система. Мы рассмотрели шесть групп системных вызовов для MINIX. Первая группа работает с созданием и завершением процессов. Вторая группа предназначена для работы с сигналами. Третья - для чтения и записи файлов. Четвертая нужна для управления каталогами. Пятая включила в себя управление защитой, а шестая - работу со временем. Операционная система может быть структурирована несколькими способами. Наиболее общими выделяемыми при структурировании понятиями являются: монолитные системы, иерархия слоев, система виртуальных машин, экзоядро или использование модели клиент-сервер. Вопросы 1. Каковы две главные функции операционной системы? 2. Что такое многозадачность? 3. Что такое подкачка данных (spooling)? Как вы считаете, будут ли передовые персональные компьютеры иметь в будущем подкачку данных в качестве стандартного элемента? 4. На ранних компьютерах чтение или запись каждого байта данных управлялось напрямую центральным процессором (то есть тогда не было прямого доступа к памяти - DMA). Какой смысл имеет это понятие для многозадачности? 5. Почему системы с разделением времени не были широко распространены на компьютерах второго поколения? 6. Какая из следующих команд должна быть разрешена только в режиме ядра: 1) отключение всех прерываний; 2) чтение счетчика даты/времени; 3) изменения счетчика даты/времени; 4) изменение схемы распределения памяти. 7. Перечислите основные различия между операционной системой для персонального компьютера и для мэйнфрейма. 8. У файла в MINIX идентификатор владельца равен 12 и идентификатор группы равен 1. Файлу присвоены следующие разрешения: rwxr-x--. К этому файлу пытается обратиться другой пользователь, у которого uid = = 6, а gid = 1. Что произойдет? 9. Как в свете того, что само существование суперпользователю может привести ко множеству проблем с безопасностью, объяснить существование этой концепции? 10. Модель клиент-сервер популярна в распределенных системах. Может ли она использоваться в системах из одного компьютера? 11. Почему в системах разделения времени необходима таблица процессов? Нужна ли она также в системах на персональных компьютерах, где существует только один процесс, и этот процесс завладевает всей машиной до тех пор, пока не завершится? 12. В чем заключается существенная разница между блоковым специальным файлом и символьным специальным файлом? 13. Что случится, если в MINIX пользователь 2 создаст ссылку на файл, которым владеет пользователь 1, затем пользователь 1 удалит файл, и, наконец, пользователь 2 попытается прочитать файл? 14. Почему системный вызов chroot разрешено выполнять только суперпользователю (подсказка: подумайте о проблемах безопасности)? 15. Зачем в MINIX все время работает фоновая программа update? 16. Имеет ли смысл игнорировать сигнал sigalarm? 17. Напишите программу (или набор программ), чтобы протестировать все системные вызовы MINIX. Произведите каждый вызов с разными параметрами, в том числе и с некорректными, чтобы увидеть реакцию системы на ошибки. 18. Напишите оболочку, подобную той, что показана в листинге 1.1, но достаточно полную, чтобы ее можно было протестировать. Можно добавить некоторые дополнительные возможности, например перенаправление ввода и вывода, создание каналов, запуск фоновых задач.
|
© 2000 - 2024 ULTRASONEX-AMFODENT.RU.
Копирование материалов разрешено исключительно при условии цититирования. |