Операционные системы
Представление ОС как менеджера ресурсов Управление файлами Управление процессами Управление памятью Управление устройствам ПроцессорыПамятьУстройства
Представление ОС как абстрактной машины Абстрактная машина Интерфейс пользователяИнтерфейс программы Языки управления заданиями Командные языки Окна, меню, пиктограммы Система команд Системные вызовы Процессы Память Файлы Информационные функции
История операционных систем Первое поколение ( ): электронные лампы и коммутационные панели Все программирование выполнялось на абсолютном машинном языке, управления основными функциями машины осуществлялось просто при помощи соединения коммутационных панелей проводами.
Второе поколение ( ): транзисторы и системы пакетной обработки
Пакетная обработка: Однопрограммный и мультипрограммный режимы. Инструкция оператору -> паспорт задачи (простейший язык управления заданиями). Требования к аппаратуре: защита памяти; прерывания; привилегированный режим; таймер.
Третье поколение ( ): Интегральные схемы и многозадачность Мультипрограммирование spooling MULTIX (MULTiplexed Information and Computing service UNIX POSIX MINIX LINUX
Четвертое поколение ( now): Персональные компьютеры Large scale integration, Intel 8080 (1974)CP/M Disk Operating System (DOS)/BASIC MicroSoft Disk Operating System (MS-DOS) Intel (1983) Graphical User Interface (GUI) Windows 3.1 Windows95, 98Windows NT (New Technology) Unix X Windows
Классификация ОС o Особенности алгоритмов управления ресурсами o Поддержка многозадачности o Поддержка многопользовательского режима o Вытесняющая и невытесняющая многозадачность o Поддержка многонитевости o Многопроцессорная обработка o Особенности аппаратных платформ o Особенности областей использования o Особенности методов построения
Особенности алгоритмов управления ресурсами Многозадачные и Однозадачные многопользовательские и однопользовательские многопроцессорные и однопроцессорные поддерживающие многонитевую обработку и не поддерживающие
Поддержка многозадачности однозадачные (например, MS-DOS, MSX) и многозадачные (OC EC, OS/2, UNIX, Windows 95). Многозадачность (multitasking) это способность операционной системы выполнять несколько программ одновременно. В основе этого принципа лежит использование операционной системой аппаратного таймера для выделения отрезков времени (time slices) для каждого из одновременно выполняемых процессов. Если эти отрезки времени достаточно малы, и машина не перегружена слишком большим числом программ, то пользователю кажется, что все эти программы выполняются параллельно.
Поддержка многонитевости Программа может быть разделена на отдельные потоки выполнения (threads), которые, как кажется, выполняются параллельно. Многонитевая ОС разделяет процессорное время не между задачами, а между их отдельными ветвями (нитями)
Поддержка многопользовательского режима однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2); многопользовательские (UNIX, Windows NT). Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей. Следует заметить, что не всякая многозадачная система является многопользовательской, и не всякая однопользовательская ОС является однозадачной.
Вытесняющая и невытесняющая многозадачность невытесняющая многозадачность (NetWare, Windows 3.x); вытесняющая многозадачность (Windows NT, OS/2, UNIX). Планирование процессов Операционная система Планирование процессов Операционная система и прикладные программы
Многопроцессорная обработка Ассиметричные ОССимметричные ОС Целиком выполняется на одном процессоре Распределяя задачи по остальным процессорам Разделяет все процессорные ресурсы между системными и прикладными задачами Solaris 2.x фирмы Sun, Open Server 3.x компании Santa Crus Operations, OS/2 фирмы IBM, Windows NT фирмы Microsoft и NetWare 4.1 фирмы Novell, UNIXоподобные системы.
Особенности аппаратных платформ По типу аппаратуры: персональных компьютеров, миникомпьютеров, мейнфреймов, кластеров и сетей ЭВМ Средства передачи сообщений, Сетевое разделение ресурсов Распараллеливание Синхронизация доступа к ресурсам, Обнаружение отказов, динамическая Реконфигурация системы. Мобильные операционные системы
Особенности областей использования Системы пакетной обработки (ОС ЕС) Системы разделения времени (UNIX, VMS) Системы реального времени (QNX, RT/11) Формируется пакет заданий, Формируется мультипрограммная смесь Квантование вычислительного Времени пользователя Предельно допустимое время выполнения программы
Особенности методов построения Способ построения ядра системы Монолитное ядро одна «привилегированная» программа, не требующая переключения в пользовательский режим Микроядерный подход ОС управляет аппаратурой в привилегированном режиме, а в пользовательском режиме работают серверы, выполняющие функции ОС высокого уровня
Построение ОС на базе объектно-ориентированного подхода Реализация нескольких прикладных сред MS-DOS, Windows, UNIX(POSIX), OS/2 На базе микроядра, над которым работают разные серверы Распределенная организация операционной системы Наличие единой справочной службы разделяемых ресурсов, Наличие единой службы времени Использование механизма вызова удаленных процедур RPC Наличие многонитевой обработки