Файл: Функции операционных систем персональных компьютеров (Понятие операционная система).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 19.06.2023

Просмотров: 59

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Многопользовательские и однопользовательские операционные системы: Компьютерные операционные системы этого типа позволяют нескольким пользователям получать доступ в компьютерную систему одновременно. Системы с разделением времени могут быть классифицированы как многопользовательские системы, поскольку они позволяют множественный доступ пользователей к компьютеру через разделение времени.

Однопользовательские операционные системы в отличие от многопользовательских операционных систем могут использоваться только одним пользователем одновременно. Возможность создания несколько пользователей в операционной системе Windows, не делает ее многопользовательской системой. Скорее, только администратор сети является реальным пользователем. Но для Unixи подобных операционных систем, есть возможность сразу двум пользователям войти в систему в одно время, и эта возможность ОС делает ее многопользовательской операционной системой. Windows 95, Windows2000, MaxOS и Palm OS являются примерами однопользовательских операционных систем. Unix и OpenVMS примеры многопользовательских операционных систем.

Многозадачность и однозадачность операционных систем: Когда разрешено запускать одновременно только одну программу, система группируются под категорией однозадачной системы, а в случае, если операционная система позволяет выполнение нескольких задач одновременно, классифицируется как многозадачная операционная система.

Многозадачность может быть двух типов, а именно упреждающей или кооперативной. В многозадачной операционной системе посвящает один слот для каждой из программ. Unix-подобные операционные системы, такие как Solaris и Linux, поддерживают многозадачность. Кооперативная многозадачность достигается при опоре на каждом процессе, чтобы дать время для других процессов в определенном порядке[8;85].

Этот вид многозадачности похож на идею блока многопоточности, в которой один поток проходит, пока другой заблокирован каким-либо другим событием. MS Windowsдо Windows 95 используют для поддержки кооперативную многозадачность. PalmOS для Palm КПК являются однозадачными операционными системами. 9x Windows, поддерживает многозадачность. DOS + является относительно менее известной многозадачной операционной системой. Он может поддерживать многозадачность из четырех 86-битных программ. Распределенная операционная система: операционная система, которая управляет группой независимых компьютеров и делает их одним компьютером. Развитие сетевых компьютеров, которые могут быть связаны между собой, породило распределенные вычисления.


Распределенные вычисления осуществляются на более чем одном компьютере. Когда компьютеры сотрудничают в групповой работе, они создают распределенную систему. Амеба, Plan9 и ЛОКУС (разработанные в 1980-х годах) являются примерами распределенных операционных систем. Встроенные системы: Операционные системы, предназначенные для использования во встраиваемых компьютерных системах. Они предназначены для работы на небольших машинах, таких как КПК. Они способны работать с ограниченным числом ресурсов. Они очень компактны и эффективны. Windows CE, FreeBSD и Minix 3 примеры встраиваемых операционных систем. Использование Linuxво встраиваемых компьютерных систем называют EmbeddedLinux.

Мобильная операционная система: Хотя она по функционалу и не является родом операционных систем, мобильная ОС, безусловно, важное упоминание в списке типов операционных систем. Мобильная ОС управляет мобильным устройством, ее дизайн поддерживает беспроводную связь и мобильные приложения. Она имеет встроенную поддержку мобильных мультимедийных форматов. Планшетные ПК и смартфонов работают на мобильных операционных системах. Blackberry OS, Androidот Googleи IOS от Apple являются одними из самых известных мобильных операционных систем.

Пакетная обработка и интерактивные системы: Пакетная обработка относится к исполнению компьютерных программ в «партиях» без ручного вмешательства. В системах пакетной обработки, программы собраны, сгруппированы и обрабатываются в более поздний срок. В них нет запросов пользователей для входа, входные данные собираются заранее для дальнейшей обработки. Входные данные собираются и обрабатываются в партиях, отсюда и название пакетной обработки. IBM, ОС имеет возможности пакетной обработки. Интернет и сеть: В онлайн-обработке данных, пользователь остается в контакте с компьютером и процессы выполняются под управлением центрального процессора компьютера. Когда процессы не выполняются под прямым контролем процессора, обработка упоминается как в автономном режиме.

Давайте возьмем пример пакетной обработки. Здесь дозирование или группировка данных может быть сделана без пользователя и вмешательства центрального процессора; это может быть сделано в автономном режиме. Но выполнение самого процесса может произойти под непосредственным управлением процессора, то есть в Интернете. Операционные системы способствуют упрощению взаимодействия человека с компьютерной техникой. Они несут ответственность за связь прикладных программ с аппаратными средствами, что позволяет достичь легкого доступа пользователей к компьютерам.


1.3 Архитектура операционных систем

Операционная система UNIX использует традиционную архитектуру, несмотря на выделение нескольких уровней, тяготеющую скорее к монолитной, чем к многоуровневой.

Упрощенная архитектура операционной системы UNIX показана на рисунке.

Рис. 1.1 - Упрощенная архитектура операционной системы UNIX

На верхнем уровне иерархии операционной системы находятся процессы пользовательского режима, которые взаимодействуют с ядром операционной системы через интерфейс системных вызовов. Интерфейс системных вызовов перенаправляет запросы процессов подсистемам ядра. Подсистемы ядра обеспечивают выполнение процессов пользовательского режима и через уровень управления аппаратурой взаимодействуют с аппаратурой ЭВМ.

Ядро UNIX включает традиционные подсистемы, такие как файловая подсистема, подсистема ввода-вывода, подсистема управления процессами и памятью, назначение которых мы уже рассматривали на предыдущих лекциях.

Архитектура операционной системы Windows

Операционная система Windows использует многоуровневую архитектуру, с работой большей части компонентов в режиме ядра, но, тем не менее, в состав ядра не входящих.

Упрощенная архитектура Windows показана на рисунке.

Рис. 1.2 - Упрощенная архитектура Windows

Еще при разработке операционной системы Windows NT, во главу угла были поставлены задачи переносимости и совместимости, что в основном и определило ее архитектуру.

Сравнивая архитектуру UNIX и Windows, легко заметить, что архитектура Windows гораздо более структурирована. Как и в системе UNIX, на верхнем уровне иерархии находятся процессы пользовательского режима. Это могут быть как пользователь-ские процессы, так и серверы самой системы. Процессы пользовательского режима взаимодействуют с операционной системой через документированные интерфейсы, предоставляемые динамическими библиотеками подсистем окружения.

Windows поддерживает три подсистемы окружения – POSIX, OS/2 и Win32, причем подсистема Win32 является необходимым компонентом для работы всей операционной системы, т.к. обслуживает клавиатуру, мышь и экран. Заметим, что подсистема Win32 имеет компоненты, работающие как в режиме задачи, так и в режиме ядра. В отличие от подсистемы Win32, которая запускается на этапе загрузки операционной системы, подсистемы POSIX и OS/2 не являются обязательными, и запускаются по требованию, при необходимости запуска соответствующих приложений, а после запуска работают вплоть до перегрузки системы.


Хотя динамические библиотеки подсистем окружения способны самостоятельно обслужить некоторые запросы процессов, в большинстве случаев они переадресуют запрос исполнительной подсистеме Windows через недокументированный интерфейс системных вызовов. Можно сказать, что именно недокументированный интерфейс, реализуемый библиотекой Ntdll.dll является истинным интерфейсом системных вызовов, собственно и реализующим переход из режима задачи в режим ядра. Исключение составляет интерфейс GDI, полностью реализуемый подсистемой Win32 самостоятельно.

Исполнительная система операционной системы Windows обеспечивает работу подсистем окружения, реализуя большинство стратегий управления операционной системы, и включает в себя такие подсистемы, как:

• диспетчер конфигурации – обеспечивает управление системным реестром;

• диспетчер процессов и потоков – обеспечивает управление процессами и потоками, запущенными в системе, например, создает и уничтожает процессы и потоки;

• монитор безопасности – реализует политики безопасности на локальном компьютере;

• диспетчер ввода-вывода – реализует аппаратно независимый ввод-вывод и отвечает за пересылку информации ввода-вывода соответствующим драйверам;

• диспетчер Plug and Play – определяет, какие драйверы нужны для поддержки каждого устройства и загружает эти драйверы;

• диспетчер электропитания – координирует работу драйверов устройств, обеспечивая, например, переключение периферийных устройств в экономичный режим при их длительном простое;

• диспетчер кэша файловой системы – реализует буферизацию ввода-вывода, отложенную запись и упреждающее чтение данных файла;

• диспетчер виртуальной памяти – реализует собственное виртуальное адресное пространство для каждого процесса и обеспечивает поддержку работы диспетчера кэша;

Ниже исполнительной системы Windows располагается ядро системы, реализующее различные для каждой процессорной архитектуры фундаментальные механизмы, такие как планирование и диспетчеризация потоков, диспетчеризация прерываний и исключений. Ядро изолирует драйверы и исполнительную систему от особенностей архитектуры процессора, что обеспечивает переносимость операционной системы[9;25].

Уровень абстрагирования от оборудования является самым нижним уровнем сис-темы. Он скрывает от операционной системы, включая ее ядро, специфику конкретной аппаратуры, т.к. даже при одинаковой архитектуре системы, например x86, могут быть аппаратные особенности реализации, например различные типы материнской платы.


Изучая архитектуру операционных систем, необходимо особо прокомментировать использование технологии объектно-ориентированного программирования для написания кода операционных систем.
Объектно-ориентированное программирование может с успехом применяться для разработки кода операционных систем в соответствии с любым типом архитектуры. На первый взгляд может показаться, что использование или не использование технологии объектно-ориентированного программирования скорее относится к стилю программирования, и не имеет отношения к архитектуре операционных систем. Но на практике, использование объектно-ориентированного программирования оказывает столь значительное влияние на структуру всей операционной системы, что вполне можно рассматривать использование объектно-ориентированного программирования как особенность архитектуры операционной системы[3;25].

Основная идея объектно-ориентированного программирования состоит в том, чтобы сопоставить реальным объектам и ключевым абстракциям предметной области программные объекты. Применительно к операционным системам, такими программными объектами могут быть, например, объект-процесс, объект-сегмент виртуальной памяти, объект-проекция файла и т.п. При этом, технология объектно-ориентированного программирования позволяет выполнять аккумуляцию удачных решений в форме стандартных объектов, пригодных для повторного использования, и предоставляет возможность создания новых объектов на базе имеющихся с помощью механизма наследования.

Использование программных объектов для представления ключевых абстракций изменяет концепцию разработки архитектуры программ, позволяет более естественно переложить на исходный код программы привычное для человека описание сложной системы на уровне взаимодействия объектов. Архитектура операционной системы получается более строго структурированной, и представляется скорее как система взаимодействующих объектов, а не как набор глобальных данных и процедур.

Программные объекты объединяют в себе данные, описывающие состояние объекта, и методы, определяющие правила перехода между состояниями под влиянием внешних, по отношению к этому объекту, событий. При этом данные объекта недоступны для прямого доступа извне, и их модификация возможна только через методы самого объекта. В отличие от процедурного подхода, когда любые функции могут произвольно модифицировать глобальные данные, методы объектов контролируют корректность изменения данных, и не позволяют перевести объект в недопустимое состояние. В результате возрастает стабильность работы операционной системы. Кроме того, существенно упрощается отладка операционной системы, т.к. методы объектов позволяют зафиксировать некорректные обращение к объектам, что помогает легко локализовать неправильно работающие компоненты.