WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     | 1 || 3 | 4 |   ...   | 32 |

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

1. ПОНЯТИЕ И ЭВОЛЮЦИЯ ОПЕРАЦИОННЫХ СИСТЕМ 1.1 Основные понятия, назначения и функции ОС Для того, чтобы ответить на вопрос, что представляет собой операционная система, необходимо сначала рассмотреть вопрос, из чего состоит вычислительная система (ВС) в целом. Обобщенно структура вычислительной системы представлена на рис. 1.

Пользователь Прикладные программы Прочие Программное системные обеспечение программы Системные программы Операционная система Техническое обеспечение Рисунок 1 – Пользователь и обобщенная структура вычислительной системы Во-первых, ВС состоит из того, что называют аппаратным или техническим обеспечением (англ. hardware): процессоры, память, мониторы, дисковые устройства, накопители на магнитных лентах, сетевая коммуникационная аппаратура, принтеры и т.д., объединенные магистральным соединением (шиной).

Во-вторых, ВС состоит из программного обеспечения (ПО), в котором выделяют две части – системное и прикладное. Системное ПО – это набор программ, которые управляют компонентами ВС, такими как процессор, коммуникационные и периферийные устройства, и предназначены для обеспечения функционирования и работоспособности системы в целом. Большинство из них отвечают непосредственно за контроль и объединение в единое целое различных компонентов аппаратного оборудования ВС, обеспечение работы компьютера самого по себе и выполнение различных прикладных программ. Системное ПО противопоставляется прикладному ПО, которое напрямую решает проблемы пользователя и предназначено для выполнения определенных пользовательских задач и рассчитано на непосредственное взаимодействие с пользователем. К прикладному ПО, как правило, относят разнообразные вспомогательные программы (игры, текстовые процессоры и т.п.).

Следует отметить, что деление на прикладное и системное ПО является отчасти условным и зависит от того, кто осуществляет такое деление. Так, обычный пользователь, неискушенный в программировании, может считать текстовый процессор Microsoft Word системной программой, а с точки зрения программиста, это – приложение. Компилятор языка С для обычного программиста – системная программа, а для системного – прикладная.

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

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

Главными целями разработчиков операционных систем являются следующие:

1. Эффективное использование всех компьютерных ресурсов.

2. Повышение производительности труда программистов.

3. Простота, гибкость, эффективность и надежность организации вычислительного процесса.

4. Обеспечение независимости прикладного ПО от аппаратного ПО.

Операционная система (ОС) – это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом.

ОС – базовый комплекс компьютерных программ, обеспечивающий управление аппаратными средствами компьютера, работу с файлами, ввод и вывод данных, а также выполнение прикладных программ и утилит.

Кроме различных определений ОС, два из которых приведены выше, пользователи выделяют ряд различных «точек зрения» на ОС:

ОС как виртуальная машина;

ОС как система управления ресурсами;

ОС как защитник пользователей и программ;

ОС как постоянно функционирующее ядро.

Для более полного представления об ОС рассмотрим основные «точки зрения» пользователей более подробно.

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

также может требовать при программировании знания и учета большого количества деталей.

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



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

Не менее актуальная проблема – проблема управления ресурсами для многопользовательских компьютеров.

Таким образом, ОС как менеджер ресурсов осуществляет упорядоченное и контролируемое распределение процессоров, памяти и других ресурсов между различными программами.

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

сохранность информации на диске, защиту от повреждения или удаления файлов;

разрешение программам одних пользователей произвольно вмешиваться в работу программ других пользователей;

пресечение попыток несанкционированного использования вычислительной системы.

Эти задачи, как правило, возложены на ОС как организатора безопасной работы пользователей и их программ.

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

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

1.2 Эволюция вычислительных и операционных систем 1.2.1 История развития ОС Поколения ОС, так же как и аппаратные средства связаны с достижениями в области создания электронных компонентов: ламп (1-е поколение), транзисторов (2-е поколение), интегральных микросхем (ИС, 3-е поколение), больших и сверхбольших интегральных схем (БИС и СБИС, 4-е и 5-е поколения). Рассмотрим эволюцию ОС более подробно.

Первое поколение (1940-е – 50-е гг.). В эти годы ОС отсутствуют.

Первые шаги в области разработки электронных вычислительных машин были предприняты в конце Второй мировой войны. В середине 40х гг. были созданы первые ламповые вычислительные устройства и появился принцип программы, хранящейся в памяти машины (John Von Neumann, июнь 1945 г.). В то время одна и та же группа людей участвовала и в проектировании, эксплуатации и в программировании вычислительной машины. Это была скорее научно-исследовательская работа в области вычислительной техники, а не регулярное использование компьютеров в качестве инструмента решения каких-либо практических задач из других прикладных областей. Программирование осуществлялось исключительно на машинном языке. Об ОС не было и речи, все задачи организации вычислительного процесса решались вручную каждым программистом с пульта управления. За пультом мог находиться только один пользователь. Программа загружалась в память машины в лучшем случае с колоды перфокарт, а обычно с помощью панели переключателей.

Вычислительная система выполняла одновременно только одну операцию (ввод-вывод или собственно вычисления). Отладка программ велась с пульта управления с помощью изучения состояния памяти и регистров машины. В конце этого периода появляется первое системное программное обеспечение: в 1951–1952 гг. возникают прообразы первых компиляторов с символических языков (Fortran и др.), а в 1954 г. Nat Rochester разрабатывает Ассемблер для IBM-701.

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

Второе поколение (1950-е – 60-е гг.). С середины 50-х гг. начался следующий период в эволюции вычислительной техники, связанный с появлением новой технической базы – полупроводниковых элементов.

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

Началось использование ЭВМ коммерческими фирмами. Одновременно наблюдается бурное развитие алгоритмических языков (LISP, COBOL, ALGOL-60, PL-1 и т.д.). Появляются первые настоящие компиляторы, редакторы связей, библиотеки математических и служебных подпрограмм. Упрощается процесс программирования. Пропадает необходимость взваливать на одних и тех же людей весь процесс разработки и использования компьютеров. Именно в этот период происходит разделение персонала на программистов и операторов, специалистов по эксплуатации и разработчиков вычислительных машин.





Изменяется процесс отладки программ. Теперь пользователь приносит программу с входными данными в виде колоды перфокарт и указывает необходимые ресурсы. Такая колода получает название задания.

Оператор загружает задание в память машины и запускает его на исполнение. Полученные выходные данные печатаются на принтере, и пользователь получает их обратно через некоторое (довольно продолжительное) время.

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

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

Следует отметить основные недостатки, присущие вычислительным системам второго поколения:

1. Использование части машинного времени (времени процессора) на выполнение системной управляющей программы.

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

Третий период развития вычислительных машин относится к началу 1960 – 70 гг. В это время в технической базе произошел переход от отдельных полупроводниковых элементов типа транзисторов к интегральным микросхемам. Вычислительная техника становится более надежной и дешевой. Растет сложность и количество задач, решаемых компьютерами. Повышается производительность процессоров.

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

Вместо непосредственного чтения пакета заданий с перфокарт в память начинают использовать его предварительную запись, сначала на магнитную ленту, а затем и на диск. Когда в процессе выполнения задания требуется ввод данных, они читаются с диска. Точно так же выходная информация сначала копируется в системный буфер и записывается на ленту или диск, а печатается только после завершения задания. Вначале действительные операции ввода-вывода осуществлялись в режиме offline, т.е. с использованием других, более простых, отдельно стоящих компьютеров. В дальнейшем они начинают выполняться на том же компьютере, который производит вычисления (уже в режиме on-line). Такой прием получает название spooling (сокращение от Simultaneous Peripheral Operation On Line) или подкачки-откачки данных. Введение техники подкачки-откачки в пакетные системы позволило совместить реальные операции ввода-вывода (в основном – печати) одного задания с выполнением другого задания, но, в то же время потребовало разработки аппарата прерываний для извещения процессора об окончании этих операций.

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

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

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

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

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

Pages:     | 1 || 3 | 4 |   ...   | 32 |










© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.