Ресурсы вычислительных систем
ОСНОВЫ ПОСТРОЕНИЯ
ОПЕРАЦИОННЫХ
СИСТЕМ
Учебное пособие
РЫБИНСК
УДК 681.3.06
Михайлов Н.Л. Основы построения операционных систем : Учебное пособие. - Рыбинск, РГАТА, 2000. - 170 с.
Учебное пособие посвящено операционным системам и составляющим их управляющим программам и ориентировано преимущественно на тех, кто впервые знакомится с программными системами. В нем на доступном уровне излагаются основные понятия операционных систем, их назначение, принципы работы. Основное внимание уделяется управлению ресурсами вычислительной системы, свойственном всем управляющим программам. Пособие в первую очередь рассчитано на студентов младших курсов, но будет полезным для многих пользователей ЭВМ.
Ил. 71 Табл. 6 Библиогр. 12
Рецензенты :
кафедра вычислительных систем Санкт-Петербургского государственного университета аэрокосмического приборостроения ;
докт.физ.-мат.наук, профессор Угланов А.В.
ã Н.Л. Михайлов, 2000
ã Рыбинская государственная
авиационная технологическая
академия , 2000
ВВЕДЕНИЕ
Данное пособие посвящено операционным системам и составляющим их управляющим программам. Оно ориентировано преимущественно на тех, кто впервые знакомится с программными системами. Из всех студентов, изучающих ЭВМ и их использование, лишь немногим придется непосредственно заниматься модификацией управляющих программ, но пользоваться возможностями, предоставляемыми операционными системами, будут все без исключения. Поэтому знать о назначении и работе операционных систем, о принципах, лежащих в основе их разработки, полезно всем.
В условиях, когда время, отведенное на изучение таких сложных инженерных конструкций, как операционные системы, ограничено, возникает вопрос: изучать ли детально какую-нибудь одну конкретную операционную систему или менее детально несколько систем? В данном пособии излагаются основные функции управляющих программ, поскольку актуальность различных систем будет со временем меняться. В работе изложение материала ведется на некотором среднем уровне: не совсем тривиальном, но и не на очень глубоком. Предпочтение отдается формулировкам основных принципов, а не обсуждению деталей построения или реализации. Пособие подобного описательного характера, с одной стороны, дает достаточно основных сведений для тех студентов, которые не нуждаются в более детальном изучении, а с другой - создает основу для последующих курсов, ориентированных на обучение проектированию.
Из-за ограниченности объема настоящего пособия в нем не рассматриваются подходы к организации распределенных и сетевых операционных систем, ставших популярными в последнее время, хотя влияние коммуникационных подсистем на управляющие программы настолько существенно, что они должны изучаться в первую очередь.
Основное внимание в пособии уделяется управлению ресурсами вычислительной системы, свойственном всем управляющим программам. При этом сделана попытка соразмерно рассматривать различные виды ресурсов. Поскольку в пособии преимущественно обсуждаются основные принципы, то это ориентирует студентов на понимание того, что именно делают операционные системы и как они это делают, а не на способы разработки реальной операционной системы.
Данное пособие в первую очередь рассчитано на студентов младших курсов. Студентам более подготовленным, но не имеющим представления об управляющих программах, оно позволит быстро ознакомиться с предметом и послужит основой для более детального изучения. Так как пособие носит в основном описательный характер, оно будет полезным для многих пользователей ЭВМ. Предполагается, что студенты имеют некоторый опыт программирования и смогут понять короткие программы, составленные на языке, подобном Паскалю.
В основу данного пособия положен курс лекций “Operating Systems”, прочитанный автором во время летнего семестра в Фитчбургском государственном колледже (Массачусетс, США), а также материалы лекций по курсам “Операционные системы” и “Системное программное обеспечение” для студентов специальностей 071900 “Информационные системы в экономике” и 220100 “Электронно-вычислительные машины, комплексы, системы и сети”.
ОСНОВНЫЕ АСПЕКТЫ ОПЕРАЦИОННЫХ СИСТЕМ
Программы, выполняемые на компьютере, по функциональному назначению подразделяются на два класса: прикладные и системные. Важную часть программ второго класса составляют операционные системы, одной из функций которых является распределение ресурсов ЭВМ, предоставляемых пользователю. В связи с большим многообразием операционных систем в данном разделе будет приведена классификация операционных систем.
Программные системы
Любая вычислительная система состоит из трех компонентов:
- аппаратного обеспечения;
- программного обеспечения;
- пользователей.
Во многих случаях аппаратное обеспечение подразделяется на два или более уровней. Самый простой (нижний) составляют физические приборы (интегральные микросхемы, источники питания, устройства ввода-вывода и т.д.). Их устройство и принципы их работы изучаются в других курсах. Следующий уровень составляют программы, постоянно управляющие этими приборами и устройствами и организующие интерфейс со следующим уровнем. Эти программы обычно записаны в постоянном запоминающем устройстве (ПЗУ) и представляют собой внутренние драйверы. Они выполняют следующие функции:
- принимают запросы на обращение к устройству;
- преобразуют запросы в команды управления устройством с учетом всех деталей его конструкции и особенностей работы в реальном времени;
- обрабатывают прерывания от обслуживаемого устройства.
Без программного обеспечения компьютер - просто бесполезная груда железа. Будучи оснащенным программным обеспечением, компьютер становится способен выполнять свою основную функцию - преобразовывать информацию.
Программное обеспечение (ПО) ЭВМ по функциональному признаку традиционно делится на системное и прикладное.
Системным называется ПО, используемое для разработки и выполнения программных продуктов, а также для предоставления пользователю ЭВМ определенных услуг. Оно является необходимым дополнением к техническим средствам ЭВМ. Без системного программного обеспечения компьютер, по сути, безжизнен.
Прикладным называют ПО, предназначенное для решения определенной целевой задачи или класса таких задач. К этим задачам относятся производство вычислений по заданному алгоритму, подготовка того или иного текстового документа и т.п.
Структура системного программного обеспечения ЭВМ, отражающая его классификацию по функциональному признаку, приведена на рис.1.1.
Рис.1.1. Структура программного обеспечения
Операционные системы являются неотъемлемым обязательным дополнением ЭВМ, организуя выполнение программ и взаимодействие пользователя с компьютером.
Другие компоненты СПО являются факультативными. Их состав определяется потребностями и желаниями пользователя.
Сервисные системы расширяют возможности ОС, предоставляя пользователю, а также выполняемым программам набор дополнительных услуг.
По функциональному назначению сервисные системы делят на:
1) интерфейсные системы (interface), в основном, графического типа, модифицирующие как пользовательский, так и программный интерфейс ОС, а также иногда реализующие и дополнительные возможности по распределению ресурсов ЭВМ; вследствие этого они считаются естественным продолжением ОС;
2) оболочки (shell) ОС, модифицирующие только пользовательский интерфейс, повышая его уровень (главным образом за счет меню и использования функциональных клавиш), а также предоставляя дополнительные возможности;
3) утилиты (utility) - обслуживающие программы, которые предоставляют пользователю сервисные услуги, т.е. обогащают пользовательский интерфейс ОС.
Разница между оболочками и развитыми утилитами зачастую состоит лишь в универсальном характере первых и специализации вторых.
Некоторые сервисные системы таковы, что изменяют облик ОС до неузнаваемости, а поэтому иногда называются операционными системами. Сказанное имеет отношение в особенности к интерфейсным системам.
Гораздо менее однородной группой системных программных средств являются инструментальные системы. Объединяет их то, что все они предназначены для разработки ПО, хотя часть из них может применяться и для решения прикладных задач. Использование большинства инструментальных систем связано с составлением программ, поэтому они могут считаться системами программирования. Однако собственно к системам программирования традиционно относят такие системы, с помощью которых можно запрограммировать и решить любую задачу, допускающую алгоритмическое решение. Иными словами, системы программирования обладают универсальностью. Другие же типы инструментальных систем являются специализированными в том смысле, что они служат для создания ПО определенного функционального назначения. При этом эффективность разработки ПО по сравнению с использованием для этой же цели универсальных инструментальных средств возрастает.
Системы технического обслуживания предназначены для облегчения тестирования оборудования и поиска неисправностей. Они являются инструментом специалистов по эксплуатации аппаратной части компьютеров и в данном пособии рассматриваться не будут.
Ресурсы вычислительных систем
Рассмотрим, какие ресурсы предлагает вычислительная система. Двумя основными ресурсами являются пространство и время; в контексте вычислительной системы - это пространство памяти и время исполнения команд.
К основным характеристикам памяти относятся время прямого доступа (время доступа к произвольному месту в памяти), время последовательного доступа к данным в условиях существования отношения следования между ними, объем памяти (обычно измеряемый в битах или словах), стоимость бита памяти, энергозависимость (т.е. возможность потери данных при выключении напряжения). Память обычно организована иерархически, так что скорость прямого и последовательного доступов и стоимость битов памяти с понижением уровня уменьшаются. Исполняемой можно назвать любую память, из которой процессор может выполнять команды. Важной характеристикой исполняемой памяти является то, что времена последовательного и прямого доступа к ней равны. Исполняемая память всегда включает оперативную. Это самый высокий уровень памяти, находящийся под контролем программиста.
Следующий уровень памяти - внешняя память, которую часто называют "вторичной" памятью. Время прямого доступа к внешней памяти обычно больше, чем время последовательного доступа к ней, возможно на несколько порядков, но и то, и другое обычно больше соответствующих затрат времени у самой медленно исполняемой памяти. Наиболее часто используемой внешней памятью являются дискеты (гибкие магнитные диски) и жесткие магнитные диски (винчестеры); распространены также магнитные барабаны и ленты. Некоторые устройства внешней памяти имеют сменную память на носителях, таких как пакеты дисков, кассеты и бобины с магнитной лентой. Для правильного использования этой памяти необходима своевременная установка нужного носителя.
И у сменной, и у постоянной внешней памяти надо различать собственно память и доступ к ней. Под первой понимается память, отводимая под данные, в то время как второе обозначает процесс обращения к данным. Память и доступ являются разными ресурсами, поскольку каждый из них может предоставляться независимо от другого. Но для полной работы с внешней памятью необходимы оба этих ресурса.
То, что мы называем устройствами внешней памяти, долгое время называлось периферийными устройствами, поскольку первоначально они стояли вдали от вычислительной системы, окружая размещаемый в центре и физически большой центральный процессор. Их также называют устройствами ввода-вывода, поскольку с точки зрения оперативной памяти и процессора передача данных из внешней памяти рассматривается как ввод, а передача во внешнюю память - как вывод. Сейчас термин "ввод-вывод" употребляется только для "чистого" ввода-вывода, когда источник или получатель данных - человек или управляется человеком. Примерами устройств ввода-вывода информации являются клавиатура и экран терминала, устройства сенсорного ввода, оптического распознавания знаков и т.д. Как внешняя память, так и устройства ввода-вывода обычно подсоединяются к ЭВМ с помощью других устройств, начиная от программируемых периферийных процессоров до простых каналов ввода-вывода. Между последними и собственно устройствами могут в качестве посредников находиться контроллеры, концентраторы, мультиплексоры и т. д.
Важным ресурсом является и сам процессор. Этот ресурс доступен на уровне машинных команд, когда становится возможным исполнение команд. Поэтому определяющим при использовании процессора является счетчик команд. Основным временным ресурсом является время исполнения команд, а не астрономическое время. В системах с несколькими процессорами каждый из них - самостоятельный ресурс, подлежащий распределению. Процессоры выделяются процессам, под которыми мы пока будем понимать исполнение отдельных программ (более подробно управление процессами будет рассмотрено в следующих разделах). Даже если все процессы вынуждены совместно использовать единственный процессор, возможна ситуация, когда несколько процессов активны одновременно. Тогда необходимо управлять ими, особенно если им надо совместно использовать еще и другие ресурсы, такие как программы или данные. Даже если этих данных и нет в оперативной памяти, они могут оказаться либо доступными, размещаясь на постоянной внешней памяти или на установленном носителе, либо недоступными, находясь на неустановленном носителе; при этом о неустановленных носителях может быть либо известно, либо неизвестно операционной системе.
Указанные ресурсы различаются способами их совместного использования. Некоторые из них можно в буквальном смысле делить между пользователями, которые будут работать с ними действительно одновременно. Хорошим примером действительно разделяемого ресурса является память, как оперативная, так и внешняя. Разным пользователям можно выделять разные области памяти и разные цилиндры диска. Однако большинство ресурсов нельзя делить таким образом. Их можно выделять разным пользователям попеременно с такой скоростью, что, если смотреть на исполнение программ со стороны, создается ощущение, что эти пользователи работают с данным ресурсом одновременно. Такое параллельное совместное использование ресурсов характерно для диска и для использования повторно входимых программ. Некоторые ресурсы не могут совместно использоваться даже параллельно, а используются только последовательно. К ним относятся печатающее устройство, процессор, повторно используемые программы, память на магнитной ленте и доступ к ней. Иногда предоставляемый пользователю ресурс может быть изменен: увеличен его объем или заменено имя. Это достигается введением виртуального ресурса, чья внешняя, пользовательская, сторона отличается методом использования, объемом и именем от фактического ресурса, используемого для обеспечения виртуального. Например, виртуальные процессоры, работающие как бы параллельно, могут выделяться нескольким пользователям единственного последовательно используемого процессора за счет увеличения астрономического времени исполнения их программ. Примером увеличения объема ресурса является виртуальная память, по крайней мере в одной из ее форм, когда внешней памятью имитируется оперативная (опять же за счет увеличения времени выполнения программ). Как предоставление виртуальных ресурсов не обходится без затрат, так же не обходится без них и предоставление фактически разделяемых ресурсов. Все управляющие программы сами используют память, требуя времени для исполнения и других ресурсов. Иначе говоря, они конкурируют с теми же самыми пользователями, которых они призваны обслуживать.
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|