- •Введение
- •Понятие операционной системы. Типы операционных систем
- •Функции операционной системы
- •Структура операционной системы. Ос ms dos
- •Файлы и каталоги на дисках
- •Драйверы устройств
- •Базовая система ввода-вывода (bios)
- •Загрузчик операционной системы
- •Ядро ms dos
- •Командный процессор dos
- •Внешние команды dos
- •Файловая структура диска
- •Стартовый сектор
- •Каталоги
- •Область данных
- •Операционные системы Windows
- •Выбор платформы Windows
- •Термины
- •Архитектура Windows Режимы выполнения программного кода
- •Многозадачность
- •Управление памятью в Windows
- •Выполнение приложений
- •Интерфейс прикладного программирования Win32
- •Реестр Windows
- •Операционная система unix
- •Ядро и процессы unix
- •Диспетчер unix
- •Процессы unix
- •Дескриптор и контекст процесса
- •Иерархия процессов
- •Идентификаторы процесса
- •Группы процессов
- •Взаимодействие процессов
- •Процессы-«демоны»
- •Межпроцессные коммуникации unix
- •Сигналы
- •Сигналы unix по мере возрастания их значений:
- •Семафоры
- •Программные каналы (Pipes)
- •Очереди сообщений
- •Разделяемая память
- •Многопользовательская защита в unix
- •Идентификаторы пользователя и группы
- •Код защиты файла
- •Привилегированный пользователь
- •Эффективные и реальные идентификаторы
- •Свопинг и пейджинг в unix
- •Буфер кеш-памяти
- •Управление вводом/выводом
- •Специальные файлы
- •Взаимодействие драйверов с программной и аппаратной средой
- •Файловая система unix
- •Основные системные каталоги
- •Корневой каталог /
- •Каталог /var
- •Каталог /etc
- •Каталог /usr
- •Каталог /home (/export/home)
- •Каталог/opt (/opti, /opt2, ... /optn)
- •Команды управления swap
- •Команда mkfile
- •Специальные файлы
- •Класс устройства
- •Тип и номер
- •Связь физической и логической структур
- •Создание и монтирование файловой системы
- •Дисковые устройства в unix
- •Внутренняя структура файловой системы Распределение дискового пространства
- •Индексные дескрипторы
- •Системные вызовы unix для работы с файлами
- •Стандартные библиотечные функции ввода/вывода
- •Поточные функции ввода/вывода
- •Литература
- •Оглавление
И.Л. Пластун
ОПЕРАЦИОННЫЕ СИСТЕМЫ
Учебное пособие
для студентов специальностей 220400, 071900
Саратов 2006
УДК 681.31
ББК 32.973
П 37
Рецензенты:
Кафедра прикладной информатики и информационного менеджмента Поволжской академии госслужбы;
Профессор кафедры теоретической и математической физики Саратовского государственного университета,
доктор физико-математических наук Л.М. Бабков
Одобрено
редакционно-издательским советом
Саратовского государственного технического университета
Пластун И.Л.
П 37 Операционные системы: учеб. пособие / И.Л.Пластун.
- Саратов: Сарат. гос. техн. ун-т, 2006. -80с.: ил.
ISBN 5-7433-1436-5
Учебное пособие представляет собой курс лекций по дисциплине «Операционные системы». В пособии рассмотрены особенности архитектуры, функционирования и организации различных типов современных операционных систем для персональных ЭВМ, а также даны основные понятия теории функционирования многозадачных операционных систем.
Для студентов специальностей 220400 и 071900, а также для специалистов, работающих в области разработки и применения информационных технологий в различных сферах деятельности.
УДК 681.31
ББК 32.973
© Саратовский государственный
технический университет, 2006
ISBN 5-7433-1436-5 © Пластун И.Л., 2006
Введение
Учебное пособие написано по курсам «Операционные системы» и «ОС UNIX» для студентов специальности 220400 – «Программное обеспечение вычислительной техники и автоматизированных систем» и курсу «Операционные системы, среды и оболочки» специальности 071900 – «Прикладная информатика» СГТУ. Кроме того, оно может быть использовано при изучении дисциплины «Безопасность операционных систем» студентами специальности 075500 - «Комплексное обеспечение информационной безопасности автоматизированных систем».
В учебном пособии приведен краткий вводный курс по фундаментальным принципам построения и архитектуре современных многозадачных операционных систем.
Рассмотрены особенности архитектуры, функционирования и организации различных типов современных операционных систем для персональных ЭВМ, таких как семейство ОС Windows и ОС UNIX, а также даны основные понятия теории функционирования многозадачных операционных систем как планирование процессов, управление ресурсами, организация параллельных взаимодействующих вычислений, организация файловой системы и управление вводом-выводом информации. Кроме того, в пособии подробно изложены основы архитектурного построения операционной системы UNIX как наиболее типичного и яркого представителя многозадачных многопользовательских операционных систем.
Пособие представляет интерес как для студентов и аспирантов, обучающихся по специальностям, связанным с разработкой и использованием программного обеспечения, так и для специалистов, работающих в области разработки и применения информационных технологий в различных сферах деятельности.
-
Понятие операционной системы. Типы операционных систем
Программное обеспечение ЭВМ включает в себя:
-
операционные системы, в составе которых есть:
а) управляющие программы (супервизоры);
б) системные обрабатывающие программы (трансляторы);
-
сервисные программы, или программы технического обслуживания;
-
инструментальный язык, или язык операционной системы;
-
системы (языки) программирования: машинно-ориентированные, программно-ориентированные и процедурно-ориентированные.
-
пакеты прикладных программ.
Основной частью любого программного обеспечения является операционная система.
Первые машины выпускались вообще без операционных систем. Они управлялись с помощью набора переключателей на пульте управления, и на таких машинах, естественно, могли работать только инженеры высшей квалификации. Желание уменьшить зависимость от специалистов и приблизить ЭВМ к простому пользователю и вызвало появление первых ОС. Впервые они возникли у машин III поколения – IBM 360 и ЕС ЭВМ.
Операционная система (ОС) - это комплекс программ, которые загружаются при включении компьютера. ОС является неотъемлемой частью ЭВМ, обеспечивая управление всеми аппаратными компонентами и позволяя отделить остальные классы программ от непосредственного взаимодействия с аппаратурой.
-
Функции операционной системы
-
Производит диалог с пользователем.
-
Осуществляет управление компьютером и его ресурсами (оперативной памятью, местом на дисках).
-
Запускает прикладные и пользовательские программы на выполнение.
ОС обеспечивает пользователю и прикладным программам удобный способ общения с устройствами компьютера.
Основная причина необходимости операционной системы состоит в том, что, элементарные операции для работы с устройствами компьютера и управления его ресурсами – это операции очень низкого уровня, поэтому действия, которые необходимы пользователю и прикладным программам, состоят из нескольких сотен или тысяч таких операций. ОС скрывает от пользователя эти сложные и ненужные подробности, предоставляя пользователю удобный интерфейс для работы. ОС обеспечивает взаимодействие программ с внешними устройствами и друг с другом, распределение оперативной памяти, выявление различных событий, возникающих в процессе работы, и соответствующую реакцию на них.
Общее управление машиной осуществляется на основе командного языка (языка директив), с помощью которого пользователь может осуществить такие операции как разметка дисков, копирование файлов, распечатка каталогов на экране дисплея и др.
Впервые операционные системы появились в 70-х годах у ЭВМ третьего поколения типа ЕС ЭВМ или IBM 360. До этого компьютеры обслуживались высококвалифицированными инженерами - электронщиками и все процедуры запуска программ и обработки данных были чрезвычайно затруднены. С появлением ОС многие проблемы в общении человека и компьютера упростились или исчезли совсем, необходимость в постоянном выполнении сложного набора действий отпала и появилась профессия «оператор ЭВМ» - человек, который может осуществлять простейшие сервисные действия на компьютере, не вдаваясь в детали его структуры и архитектурного построения.
В различных моделях ПЭВМ используются ОС с разной архитектурой и возможностями; для их работы необходимы различные ресурсы оперативной памяти; они предоставляют разную степень сервиса для пользователя.
-
Самые первые ОС для персональных компьютеров разрабатывались для 8-ми разрядных микропроцессоров; они предоставляли пользователю лишь самый необходимый набор средств управления ПК. Обеспечение сервиса, «дружественного интерфейса», поддержка внешних устройств возлагалась на прикладные программы. ОС этого класса не давали никаких особых возможностей для системного программиста.
ПРИМЕР: ОС СР/М (1974 г.) - это первая ОС для микроЭВМ.
-
Второй класс - ОС с более развитыми средствами доступа к аппаратным компонентам, гибкой файловой системой, основанной на иерархии каталогов, удобным для пользователя командным языком. Эти операционные системы разрабатывались для 16-ти разрядных (а потом и 32-х разрядных) микропроцессоров. Средства, предоставляемые ОС этого класса, позволяют формировать удобный сервис для разработки программного обеспечения и создания рабочих мест. ПРИМЕР: ОС MS DOS и семейство DOS.
-
Третий класс ОС ориентирован на эффективную поддержку разработки программного обеспечения и одновременное выполнение нескольких задач. У таких ОС имеется развитая файловая система, мощный командный язык, обеспечивается программирование доступа ко всем типам внешних устройств. В состав этих ОС входит множество служебных программ - утилит, обеспечивающих выполнение разнообразных функций. В этих ОС заложена возможность одновременной работы с ЭВМ нескольких пользователей с отдельных терминалов и обработки сразу нескольких задач. Системы этого класса требуют значительных ресурсов памяти и быстродействия. ПРИМЕР: ОС UNIX, OS/2.
-
К четвертому классу относятся ОС, ориентированные на поддержку удобной работы конечных пользователей. Эти системы имеют развитые средства поддержки диалога - так называемый графический интерфейс: дисплейные окна, разнообразные графические объекты, активно используют манипуляторы курсора для выбора объектов и операций над ними. Имеются средства для поддержания многозадачного режима работы.
ПРИМЕР: Windows’95, 98, 2000. Windows NT, XP.
Все операционные системы можно разделить на две группы:
-
многопользовательские - предусматривающие одновременную работу и обращение к системным ресурсам нескольких пользователей с отдельных терминалов, подключенных к общей ЭВМ или серверу. Примером такой ОС может быть система UNIX, ОС для больших ЭВМ типа Main frame - OS 400 или PRIMUS (для ЕС ЭВМ).
-
однопользовательские - предусматривающие работу за компьютером или на рабочей станции только одного пользователя.
В свою очередь, они подразделяются на три группы:
-
однозадачные - т.е. способные выполнять в любой момент времени только одну пользовательскую, системную или прикладную задачу. Классическим примером таких ОС является система MS DOS и DOS - подобные системы.
-
сетевые - работающие с несколькими ПЭВМ, объединенными в компьютерную сеть: Novell NetWare, Windows NT и др.
-
многозадачные - позволяющие на одном комьютере в любой момент времени выполнять одновременно несколько задач, например, распечатывать текст на принтере, редактировать документ и выполнять вычисления. К таким системам относятся Windows’95 и OS/2.
По реализации многозадачности все многозадачные ОС делятся на две группы:
-
с кооперативной многозадачностью - это ОС, где задачи сами следят за временем своего выполнения, а потом передают управление другой задаче (так называемое переключение по событию). То есть, если задача сама не отдает ресурсы, то у неё их «отнять» нельзя. Такими системами являются DOS+ Windows 3.11, Windows’95, Novell NetWare.
-
c вытесняющей многозадачностью - в таких ОС системные ресурсы выделяются задаче специальным диспетчером в зависимости от приоритетов задачи и ресурса на некоторое непродолжительное время (квант времени ~ 0.1 мксек.), а потом эта задача принудительно выгружается. Таким образом, у пользователя и прикладной программы создается полная иллюзия одновременного выполнения нескольких задач. Такие ОС называются истинно многозадачными. Это OS/2 Warp, Windows NT, UNIX.