Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОСиСП / ОС лекции.doc
Скачиваний:
43
Добавлен:
24.02.2016
Размер:
875.52 Кб
Скачать

Министерство связи республики беларусь

Учреждение образования

Высший государственный колледж связи

Кафедра программного обеспечения систем электросвязи

Е.С. Лукин

Операционные системы и системноепрограммирование

Учебное пособие

для студентов специальности

ПОИТ

Минск 2010

УДК 621.391.1(075)

ББК 32.811я73

Л 84

Рецензент

Лукин Е.С.

Л 84 : Учеб. пособие для студентов специальности «». — Мн.: БГУИР ИИТ. 2010. — с.

ISBN985-444-428-7

Учебное пособие содержит.

УДК 621.391.1(075)

ББК 32.811я73

 Е.С. Лукин, 2010

ISBN 985-444-428-7  БГУИР, 2010

Операционные системы и системное программирование .

Курс адресован студентам, специализирующимся в программном обеспечении (ПО) и имеет своей целью:

  • Дать принципы работы операционных систем (ОС);

  • Научить создавать прикладное программное обеспечение.

Курс потребует 102 лекционных часа и 64 часа лабораторных занятий для каждого студента. На лекциях будут изложены принципы построения системного программного обеспечения (СПО), на практических занятиях принципы будут применены к конкретным задачам с использованием Win32 API.

Классификация Системного Программного Обеспечения (СПО).

Общие принципы работы ОС;

Железо” компьютера не обладает знаниями (умениями). Они сосредоточены в ПО.

Несколько слов об аппаратуре компьютера и принципах его работы:

Сегодня любой компьютер устроен по схеме, предложенной в 1948г. Дж. фон-Нейманом.

Рис. 1. Схема фон-Неймана.

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

Программа (сумма инструкций) и начальные данные для ее работы вводятся в ОП через устройство прямого ввода, затем УУ начинает выполнять программу с ячейки, где записана первая команда. Эта команда может задавать выполнение арифметических или логических операций (выполняется Арифметическо-логическим устройством (АЛУ)), а также ввод/вывод данных из/в внешние устройства (ВУ). Вслед за выполнением первой команды, УУ выполняет следующую команду. Она будет находиться в следующей по номеру ячейке ОП, либо может встретиться команда передачи управления по другому адресу, что позволяет организовывать циклы обработки данных и осуществлять выбор ветви выполнения программы.

Классификация компьютеров:

  • Контроллеры,

  • Personal Computers (PC) (ПЭВМ), включая в это понятие ноут-буки и карманные PC,

  • рабочие станции,

  • Коммуникационные компьютеры,

  • Main frames (старое название – суперкомпьютеры).

Когда говорят «компьютер», по умолчанию подразумевается PC.

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

Прикладное – главный вид ПО для обычного пользователя (>90% пользователей PC), но для специалистов главным видом ПО является системное.

Еще недавно (≥ 5 лет назад) системное ПО подразделялось на:

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

  2. Драйверы устройств компьютера;

  3. Программы - оболочки (NC, WN, Far) и операционные оболочки (Windows 3.1);

  4. Системные утилиты (NU);

  5. Программы управления локальной сетью (ЛС) типа Novell NetWare.

Сегодня произошло совмещение основных функций ОС, драйверов, оболочек, программ управления ЛС и операционных оболочек в едином программном комплексе, сохранившем название ОС, для ПЭВМ это: Windows NT/9х, (включая новые коммерческие версии: (XP/2000/ME)), LINUX (ОС из семейства UNIX), еще кое где сохранилась OS/2, Apple’s System (на новых Apple’s computers стоит Windows for Macintosh).

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

ОС для компьютера как хозяйка дома: количество ее обязанностей неисчислимо.

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

- интерфейс (взаимодействие) с пользователем;

- интерфейс с ВУ;

- управление ресурсами компьютера (ОП, файловой системой);

- запуск, надзор за работой, завершение прикладных программ.

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

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

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

Классификация ОС:

1. Однозадачные ОС. Под задачей принято понимать совокупность программ и данных, требующих для своей реализации ресурсов ЭВМ (ВУ, ОП, процессорное время). Если требуется обработать по тому же алгоритму (программе) другие данные, то надо создать другую задачу. Однозадачные ОС целиком сосредоточены на вышеописанных проблемах и применялись на сравнительно простых компьютерах. Пример однозадачных ОС: MS DOS.

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

ОС, работающие в режиме разделения времени подразделяются на:

  • Многозадачные однопользовательские системы (OS/2, Windows 95/98), в функции системы не входит защита ресурсов от других пользователей.

  • Многозадачные многопользовательские системы (Unix, Windows NT, OS/400). Здесь ОС должна обеспечить распределение ресурсов между пользователями и их учет, а также защиту программ и данных пользователя от доступа к ним других пользователей.

  • Гигаресурсные системы (VSE, VM, OS/390), являясь также многозадачными и многопользовательскими, отличаются от предыдущего класса тем, что ресурсы, управляемые ими, на несколько порядков большие. Их аппаратной платформой являются мэйнфреймы, в которых соотношение производительность/цена существенно выше, чем в компьютерах малой и средней мощности, но для того, чтобы это преимущество проявилось, производительность должна быть востребована в полном объеме. Поэтому в таких системах значительно больше внимания уделяется эффективности управления ресурсами.

3. ОС реального масштаба времени. Для систем реального времени характерно то, что они обеспечивают немедленную реакцию на предусмотренные события. Часто они работают со значительным недогрузом, так как для них важнее быть в состоянии постоянной готовности и быстро реагировать на предусмотренные события, чем просто быть занятыми большую часть времени. Работа в реальном масштабе времени означает, что поступающая в систему информация должна быть обработана в течение заданного интервала времени, с тем, чтобы результат был готов к моменту выдачи необходимых данных или управляющих воздействий. Работа в реальном масштабе времени характерна для систем управления. Примеры ОС реального времени: RT, QNX, Windows CE.

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

Иногда используется классификация ОС по решаемым задачам:

Пакетные – выполняют задания без непосредственного взаимодействия с пользователем или объектом;

Интерактивные – работают в режиме диалога с пользователем;

Серверные - работают в режиме диалога с компьютерами локальной сети (ЛС).

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

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

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

Программы управления данными реализуют ввод/вывод на ВУ и с ВУ; объединяют отдельные записи в блоки; анализируют и обрабатывают ошибки в операциях ввода/вывода; переводят условные символьные наименования ВУ в их физические адреса. Они обеспечивают независимость программ от конкретных ВУ, реализуют каталогизацию информации, ее поиск и редактирование.

Программы начальной загрузки и генерации ОС осуществляют загрузку генератора ОС в «пустую» ОП и саму генерацию ОС.

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

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

Механизм работы ОС в большинстве случаев скрыт от пользователя. Пользователь управляет ОС, выполняя какое-то действие, удобное для человека, например, перетаскивая мышью изображение, или нажимая какую-то клавишу (комбинацию клавиш). Организация однозначного перевода этих действий в длинные цепочки команд процессора или ВУ – это основная задача одной из функций ОС – интерфейса с пользователем. Такой интерфейс может показаться второстепенной мелочью, однако, рождение и становление графического интерфейса – целая эпоха в развитии ОС. Иногда это порождает иллюзию «бесплатности» работы ОС, тогда как она может использовать более половины процессорного времени. Существуют ситуации, когда следует избегать таких нагрузок на компьютер (например, при работе в реальном времени).

Введем еще два определения ОС, уже более профессиональные:

1. ОС есть набор программ, которые распределяют ресурсы процессам.

Это взгляд со стороны внутренней структуры системного ПО.

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

С точки зрения ОС процесс - это "юридическое лицо", которое получает в свое распоряжение ресурсы. Неточное, но интуитивно понятное определение процесса - "программа в стадии выполнения".

2. ОС есть набор программ, которые скрывают от пользователя детали управления оборудованием и обеспечивают ему более удобную среду.

Вопрос: зачем создавать новые ОС, почему не использовать старые, проверенные?

Ответов много. Например, графический интерфейс! Зачем? Затем, что с ним легче работать. Причем уровень «облегчения» лежит очень глубоко и дает очень много. Так человек создан, что и опознает «картинки» быстрее, чем текст, и утомляемость гораздо ниже. Те, кто колотил по клавишам, набирая длинные строки команд, очень быстро это усвоили.

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

Сила современного постиндустриального общества измеряется в первую очередь информированностью, а только затем – количеством материальных ресур­сов. Понятие “информация” является центральным понятием множества наук, искусств и ремесел.

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

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

Сегодня на первых ролях среди создателей ОС корпорация Microsoft. Её экономический гений и президент, Билл Гейтс, создал себя и компанию при работе с IBM. Он продал IBM не им созданную ОС, как первую версию ОС для никому тогда не известного IBM PC, нанял хороших специалистов, и к версии 3.3 MS DOS «заиграла». Здесь MS – сокращение от слова Microsoft. Билл хорошо усвоил основы «делания» успеха, и оказался победителем. Ныне ОС с именем Windows обладают большей монополией (в процентах), чем в свое время IBM PC среди ПЭВМ. IBM никогда не имела прибыли от PC. Билл Гейтс является самым богатым человеком мира, а корпорация Microsoft практически монополизировала создание коммерческих ОС для ПЭВМ.

Внедрение графического интерфейса, объединение под ОС огромного количества разнообразных программ также происходило с активным участием Гейтса. Он хорошо воспринял философию людей, создавших ПЭВМ (чем ПЭВМ отличается от микроЭВМ? – Принципами построения. Их три: широкое распространение графики, доброжелательное отношение ПО к пользователю и открытая архитектура). Гейтс – автор многих книг и статей, описывающих «сказочную» жизнь, в которой полностью использованы ЭВМ и Интернет, и возможности, которые приобрел человек. Вместе с тем многие его не любят из-за того, что его действия заставляют пользователей покупать всю продукцию корпорации, и хорошую и плохую. До недавнего времени Гейтс находился в бесконечных судебных разбирательствах с отдельными фирмами и целыми штатами США.

Итог: сегодня больше чем на 90% ПЭВМ стоит та или иная ОС Microsoft, имеющая название Windows. На рабочих станциях и коммуникационных компьютерах удельный вес продукции Microsoft также превышает 50% или близок к этой величине. Лишь для main frames в основном используются ОС фирм – создателей данного вида «железа».

Обозначим аппаратную платформу, для которой предназначен наш курс: компьютер линии IBM PC, способный работать под управлением ОС MS DOS.

Соседние файлы в папке ОСиСП