Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Введение в Компьютерные и операционные системыСтр 1 из 4Следующая ⇒
Лекция №2 Введение в Компьютерные и операционные системы План: 1) Структура компьютерной системы 2) Программное обеспечение компьютерной системы 3) Аппаратное обеспечение компьютерной системы 4) Основные функции и архитектурные особенности ОС 5) Классификация ОС
Структура компьютерной системы На рис.1.1 представлена простейшая компьютерная система (КС), образованная совокупностью программного и аппаратного обеспечения. Оператор связан с КС через пользовательский интерфейс. Пользовательский интерфейс – средство связи человека и КС, включающее в себя устройство ввода-вывода и программное обеспечение.
Рисунок 1.1 – Структура компьютерной системы
Программное обеспечение компьютерной системы В программное обеспечение КС входят: а) операционная система; б) пакеты прикладных программ; в) программы технического обслуживания.
Операционная система Операционная система (ОС) является важнейшей и центральной частью программного обеспечения КС, предназначенной для эффективного управления вычислительным процессом, планирования работы и распределения ресурсов КС, автоматизации процесса подготовки программ и организации их выполнения при различных режимах работы КС, облегчения общения оператора с КС. В состав ОС входят: а) управляющая программа; в) системные обрабатывающие программы.
Управляющая программа Управляющая программа – часть ОС, планирующая и организующая работу технических устройств КС, распределяющая и управляющая действиями программ обработки. Управляющая программа включает в себя: а) программы начальной загрузки; б) программы инициализации ядра; в) программы управления заданиями; г) программы управления задачами; д) программы управления данными; е) программы управления восстановлением. 1) Программы начальной загрузки – программы, приводящие КС и операционную систему в состояние готовности. Они осуществляют: - настройку оперативной памяти; - загрузку ядра ОС в оперативную память; - загрузку программ инициализации ядра, которым передают управление. 2) Программы инициализации ядра – программы, подготавливающие ядро операционной системы к работе и осуществляющие: - подготовку и проверку системной информации; - проверку состояния памяти и устройств ввода-вывода; - связь с оператором и др. 3) Программы управления заданиями предназначены для управления заданиями и обеспечения связи с оператором. Они состоят из двух групп программ - планировщика заданий и главного планировщика. Задание содержит информацию о том, какие преобразования и над какими данным должны быть произведены. Когда в ОС поступает задание, то ОС создает соответствующий процесс (задачу) или группу процессов (задач). Каждый шаг задания указывает, какие программы должны выполняться, с какими данными и какие ресурсы требуются. В результате анализа пункта задания формируется процесс (задача). Последовательный процесс – это выполнение на последовательном процессоре программы с данными, требующей ресурсов и представленной в ОС блоком управления процессом (PCB). Ресурсы– объекты, которые запрашиваются, используются и освобождаются процессами в период их активности (например, процессор, память, устройства ввода-вывода). Задача – это совокупность связанных между собой и образующих единое целое программ и данных, требующая ресурсов для своего выполнения. В ОС с каждой задачей связан блок управления задачей (TCB), содержащий информацию о ней. В литературе термины «процесс» и «задача» часто считаются синонимами. В OS/2, OS/360, DOS, 16-битной Windows использовался термин «задача». В UNIX, Novell NetWare, 32-битной Windows (95/98/NT/2000) используются термины «процесс» и «поток» (выполняющаяся часть программы). В простейшем случае процесс состоит из одного потока, а в случае нескольких параллельных подзадач процесс имеет несколько параллельно выполняющихся потоков. Планировщик заданий предназначен для управления заданиями и осуществляет: - ввод потока (пакета) заданий; - контроль заданий; - планирование порядка выполнения заданий; - закрепление за заданием внешнего устройства в соответствии с его пунктами; - выделение оперативной памяти для пункта задания; - загрузку указанной в пункте задания первой программы в оперативную память; - передачу управление над задачей супервизору; - освобождение оперативной памяти и внешнего устройства, и вывод результатов после завершения задания супервизором. Главный планировщик принимает команды оператора (например, запуск или остановка задания), т.е. обеспечивает связь между оператором и ОС. 4) Программы управления задачами (супервизор) – программы, предназначенные для связи аппаратного и программного обеспечения и осуществляющие: - управление распределением ресурсов ОС между задачами в процессе их выполнения с учетом приоритета задачи; - управление состоянием задачи (организация мультипрограмного режима); - управление связью между программами; - контроль выполнения задач и др. 5) Программы управления данными – программы, предназначенные для организации обмена информацией (ввода-вывода) между оператором и КС и осуществляющие: - централизованное выполнение операций обмена с внешними устройствами КС; - хранение информации во внешней памяти; - обеспечение различных способов организации и идентификации данных; - каталогизацию наборов данных. Каталог (справочник, словарь) идентифицирует и определяет местонахождение всех наборов данных или файлов и позволяет осуществить их поиск; - обеспечение независимости данных от типов используемых внешних устройств; - обеспечение различных методов доступа к данным. Данными, организованными как файлы, управляет файловая система. 6) Программы управления восстановлением - программы, используемые для восстановления работоспособности КС в случае аппаратных сбоев.
Пакеты прикладных программ Пакеты прикладных программ – комплексы программ, предназначенные для решения широкого класса задач (технических, экономических и др.) и расширения функций операционных систем.
Процессор Процессор – основной рабочий элемент КС. Выполняет операции над данными, хранящимися в памяти; подает команды на ввод-вывод информации с устройств ввода-вывода и др. В состав процессора входят: а) устройство управления; б) арифметико-логическое устройство; в) регистры. Устройство управления управляет вычислительным процессом, посылая устройствам (например, АЛУ) сигналы, предписывающие определенные действия. Арифметико-логическое устройство производит арифметические и логические операции над поступившими данными. Регистры осуществляют временное хранение данных и состояний процессора.
Внутренняя память Внутренняя память предназначена для хранения данных, непосредственно не используемых в вычислительном процессе. Состоит из следующих основных частей: а) оперативная память; б) кэш-память; в) буферная память; г) постоянная память. Оперативная память (оперативное запоминающее устройство) – предназначена для хранения данных, непосредственно участвующих в вычислительном процессе. По сравнению с внешней памятью, отличается небольшой емкостью и большим быстродействием. Реализуется в виде микросхем. Кэш-память (сверхоперативная память) – используется в качестве буфера между более медленной оперативной памятью и более быстрым процессором для согласования их по скорости. Реализуется в виде микросхем. Буферная память (буферное запоминающее устройство) – предназначена для промежуточного хранения информации при обмене ею между устройствами КС, работающими с разными скоростями, для согласования их по скорости. Может реализовываться как часть устройства. Постоянная память (постоянное запоминающее устройство) – ее содержимое устанавливают на заводе-изготовителе и в дальнейшем оно не меняется. Реализуется в виде микросхем. В постоянную память записываются программы, которые имеет смысл раз и навсегда встроить в нее. По назначению эти программы делятся на: программы запуска машины; базовую систему ввода-вывода, интерпретатор языка Бейсик; программы для работы с внешними (периферийными) устройствами. В настоящее время вместо постоянного запоминающего устройства используется программируемое постоянное запоминающее устройство, содержимое которого может меняться. Его разновидностью является стираемое постоянное запоминающее устройство, которое допускает многократное перепрограммирование.
Монолитное ядро По сути дела, ОС это обычная программа, поэтому было бы логичным и организовать его так же, как устроено большинство программ, то есть составить из процедур и функций. В этом случае компоненты ОС являются не самостоятельными модулями, а составными частями одной большой программы. Такая структура ОС называется монолитным ядром (monolithic kernel). Монолитное ядро представляет собой набор процедур, каждая из которых может вызвать каждую. Все процедуры работают в привилегированном режиме. Таким образом, монолитное ядро это такая схема ОС, при которой все ее компоненты являются составными частями одной программы, используют общие структуры данных и взаимодействуют друг с другом путем непосредственного вызова процедур. Для монолитной ОС ядро совпадает со всей ОС. Во многих ОС с монолитным ядром сборка ядра, то есть его компиляция, осуществляется отдельно для каждого компьютера, на который устанавливается ОС. При этом можно выбрать список оборудования и программных протоколов, поддержка которых будет включена в ядро. Так как ядро является единой программой, перекомпиляция это единственный способ добавить в него новые компоненты или исключить неиспользуемые. Следует отметить, что присутствие в ядре лишних компонентов крайне нежелательно, так как ядро всегда полностью располагается в оперативной памяти. Кроме того, исключение ненужных компонент повышает надежность ОС в целом. Монолитное ядро старейший способ организации ОС. Примером систем с монолитным ядром является большинство Unix-систем. Даже в монолитных ОС можно выделить некоторую структуру. Как в бетонной глыбе можно различить вкрапления щебенки, так и в монолитном ядре выделяются вкрапления сервисных процедур, соответствующих системным вызовам. Сервисные процедуры выполняются в привилегированном режиме, тогда как пользовательские программы в непривилегированном режиме. Для перехода с одного уровня привилегий на другой иногда может использоваться главная сервисная программа, определяющая, какой именно системный вызов был сделан, корректность входных данных для этого вызова, и передающая управление соответствующей сервисной процедуре с переходом в привилегированный режим работы. Иногда выделяют также набор программных утилит, которые помогают выполнению сервисных процедур. Например, Windows 2000 содержит элементы монолитных ОС.
Виртуальные машины Пусть ОС реализует виртуальную машину для каждого пользователя. Каждая такая виртуальная машина предстает перед пользователем как голое аппаратное обеспечение КС, включая процессор, привилегированные и непривилегированные команды, устройства ввода-вывода, прерывания и т.д. При попытке обратиться к этому виртуальному железу на уровне привилегированных команд, в действительности происходит системный вызов реальной ОС, которая и производит все необходимые действия (рис.1.3). Такой подход позволяет каждому пользователю загрузить свою собственную ОС на виртуальную машину и делать с ней все, что он пожелает. Рисунок 1.3 - Вариант виртуальной машины.
Первой реальной ОС такого рода была система CP/CMS или VM/370 для семейства машин IBM/370. 32-битные Windows также реализуют виртуальную машину. Недостатком таких ОС является снижение эффективности виртуальных машин по сравнению с реальной машиной, и, как правило, они очень громоздки. Преимуществом – использование на одной КС программ, написанных для разных операционных систем.
Микроядерная архитектура Современная тенденция в разработке ОС это перенесение значительной части системного кода на уровень пользователя и одновременной минимизации ядра. Речь идет о подходе к построению ядра, называемом микроядерной архитектурой (microkernel architecture) ОС, когда большинство ее составляющих являются самостоятельными программами. В этом случае взаимодействие между ними обеспечивает специальный модуль ядра, называемый микроядром. Микроядро работает в привилегированном режиме и обеспечивает взаимодействие между программами, планирование использования процессора, первичную обработку прерываний, операции ввода-вывода и базовое управление памятью (рис.1.4). Остальные компоненты системы взаимодействуют друг с другом путем передачи сообщений через микроядро. Рисунок 1.4 - Микроядерная архитектура операционной системы
Основное достоинство микроядерной архитектуры высокая степень модульности ядра ОС. Это существенно упрощает добавление в него новых компонент. В микроядерной ОС можно, не прерывая ее работы, загружать и выгружать новые драйверы, файловые системы и т.д. Существенно упрощается процесс отладки компонент ядра, так как новая версия драйвера может загружаться без перезапуска всей ОС. Компоненты ядра операционной системы ничем принципиально не отличаются от пользовательских программ, поэтому для их отладки можно применять обычные средства. В то же время, микроядерная архитектура ОС вносит дополнительные накладные расходы, связанные с передачей сообщений, что существенно влияет на производительность. Для того чтобы микроядерная ОС по скорости не уступала ОС на базе монолитного ядра, требуется очень аккуратно проектировать разбиение ОС на компоненты, стараясь минимизировать взаимодействие между ними. Таким образом, основная сложность при создании микроядерных ОС необходимость очень аккуратного проектирования. Например, Windows NT содержит элементы монолитных систем.
Смешанные системы Все рассмотренные подходы к построению ОС имеют свои преимущества и недостатки. В большинстве случаев современные операционные системы используют различные комбинации этих подходов. Примером смешанного подхода может служить возможность запуска операционной системы с монолитным ядром под управлением микроядра. Так устроены 4.4BSD и MkLinux, основанные на микроядре Mach. Микроядро обеспечивает управление виртуальной памятью и работу низкоуровневых драйверов. Все остальные функции, в том числе взаимодействие с прикладными программами, осуществляется монолитным ядром. Данный подход возник в результате попыток использовать преимущества микроядерной архитектуры, сохраняя по возможности хорошо отлаженный код монолитного ядра. Наиболее тесно элементы микроядерной архитектуры и элементы монолитного ядра переплетены в ядре Windows NT. Хотя Windows NT часто называют микроядерной ОС, это не совсем так. Микроядро NT слишком сложно и велико (более 1 Мб), чтобы носить приставку микро. Компоненты ядра Windows NT располагаются в вытесняемой памяти и взаимодействуют друг с другом путем передачи сообщений, как и положено в микроядерных ОС. В тоже время все компоненты ядра работают в одном адресном пространстве и активно используют общие структуры данных, что свойственно ОС с монолитным ядром. Кроме того, в Windows NT существует разделение между режимом ядра и режимом пользователя еще одна черта монолитного ядра. Причина всего этого проста. По мнению Microsoft, причина проста: чисто микроядерный дизайн коммерчески непрактичен, так как слишком неэффективен. Таким образом, Windows NT можно с полным правом назвать гибридной ОС.
Классификация ОС Существует несколько схем классификации ОС. Ниже приведена классификация по некоторым признакам с точки зрения пользователя: 1) Реализация многозадачности По числу одновременно выполняемых задач ОС могут быть разделены на два класса: а) многозадачные (Unix, OS/2, Windows). б) однозадачные (например, MS-DOS) Многозадачная ОС, решая проблемы распределения ресурсов и конкуренции, полностью реализует мультипрограммный режим. Приблизительность классификации очевидна из приведенных примеров. Так в ОС MS-DOS можно организовать запуск дочерней задачи и одновременное сосуществование в памяти двух и более задач. Однако эта ОС традиционно считается однозадачной, главным образом из-за отсутствия защитных механизмов и коммуникационных возможностей. 2) Поддержка многопользовательского режима. По числу одновременно работающих пользователей ОС делят на: а) однопользовательские (MS-DOS, Windows 3.x); б) многопользовательские (Windows NT, Unix). Наиболее существенно отличие заключается в наличии у многопользовательских систем механизмов защиты персональных данных каждого пользователя. 3) Многопроцессорная обработка Многопроцессорные системы состоят из двух или более центральных процессоров, осуществляющих параллельное выполнение команд. Поддержка мультипроцессирования является важным свойством ОС и приводит к усложнению всех алгоритмов управления ресурсами. Многопроцессорная обработка реализована в таких ОС, как Linux, Solaris, Windows NT и др. Многопроцессорные ОС разделяют на симметричные и асимметричные. В симметричных ОС на каждом процессоре функционирует одно и то же ядро и задача может быть выполнена на любом процессоре, то есть обработка полностью децентрализована. В асимметричных ОС процессоры неравноправны. Обычно существует главный процессор (master) и подчиненные (slave), загрузку и характер работы которых определяет главный процессор. 4) Системы реального времени. В разряд многозадачных ОС, наряду с пакетными системами и системами разделения времени, включаются также системы реального времени, не упоминавшиеся до сих пор. Они используются для управления различными техническими объектами или технологическими процессами. Такие системы характеризуются предельно допустимым временем реакции на внешнее событие, в течение которого должна быть выполнена программа, управляющая объектом. Система должна обрабатывать поступающие данные быстрее, чем те могут поступать, причем от нескольких источников одновременно. Столь жесткие ограничения сказываются на архитектуре систем реального времени, например, в них может отсутствовать виртуальная память, поддержка которой дает непредсказуемые задержки в выполнении программ.
Контрольные вопросы 1) Приведите структуру компьютерной системы 2) Приведите основные части программного обеспечения 3) Дайте определение операционной системе и приведите ее состав 4) Дайте определение управляющей программе и приведите ее состав 5) Для чего предназначены системные обрабатывающие программы и приведите их состав 6) Для чего предназначены пакеты прикладных программ и технического обслуживания 7) Приведите структуру однопроцессорной компьютерной системы 8) Для чего предназначен процессор, опишите его основные элементы 9) Для чего предназначена внутренняя память, опишите ее основных частей 10) Для чего предназначены устройства ввода, вывода, внешняя память 11) Приведите основные функции ОС 12) Опишите концепцию монолитного ядра 13) Опишите концепцию слоеных систем 14) Опишите концепцию виртуальной машины 15) Опишите концепцию микроядерной архитектуры 16) Приведите примеры смешанных систем
Лекция №2 Введение в Компьютерные и операционные системы План: 1) Структура компьютерной системы 2) Программное обеспечение компьютерной системы 3) Аппаратное обеспечение компьютерной системы 4) Основные функции и архитектурные особенности ОС 5) Классификация ОС
|
Последнее изменение этой страницы: 2017-04-12; Просмотров: 917; Нарушение авторского права страницы