русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Текст лекции


Дата добавления: 2013-12-23; просмотров: 770; Нарушение авторских прав


Ключевые вопросы

· Цель и задачи курса.

· Основные понятия и определения: операционная система (ОС), программное обеспечение (ПО), системное программное обеспечение.

· Информационные системы, использующие ОС.

· История развития систем ОС.

· Разнообразие ОС.

· Назначение и основные компоненты ОС.

· Общие функции ОС.

 

2.2.1 Цель и задачи курса — до 5 мин.

 

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

 

2.2.2 Понятие “операционная система” — до 10 мин.

 

Стало уже избитым местом предлагать определение понятию «Операционная система».

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

Бэррон (Barron) определяет операционную систему так: "Я не знаю, что это такое, но всегда узнаю ее, если увижу". Эта фраза была сказана в первой половине 70-х годов прошлого века, когда операционные системы действительно отли­чались большим разнообразием структуры и выполняемых функций.

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

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



 

2.2.3 Разнообразие операционных систем — до 15 мин.

 

С тех времен положение мало изменилось. С одной стороны, системы "общего назначения" — Unix, Windows ХР, z/OS похожи друг на друга на­столько, что доходит до анекдотов: например, в 1998 году OS/390 прошла тесты консорциума X-Open и отныне может на законных основаниях назы­ваться UNIX (ТМ).

С другой стороны, оставив в стороне "универсальные многопользователь­ские компьютеры (которые, в действительности, всего лишь специализиру­ются в той же области, что и компьютеры первых поколений), мы обнару­живаем почти ту же картину, о которой писал Бэррон, и даже хуже. Только среди широко известных программных продуктов (как ком­мерческих, так и свободно распространяемых) можно насчитать не менее десятка программ, называемых ОС, и при этом, на первый взгляд, имеющих друг с другом довольно мало общего. В примерах кода для микроконтролле­ров PIC есть ассемблерный листинг на полторы страницы, носящий (и не без оснований!) гордое наименование Операционной Системы Реального Времени [www.microchip.com]. Те, кто постарше, могут вспомнить и еще один программный продукт, на "обычные" ОС внешне и функцио­нально мало похожий, но сообщающий при загрузке: "Loading Doom Operating System" (Загружается Операционная Система Doom).

Споры о том, является ли операционной системой Windows 95/98/МЕ не утихают с 1993 года, времени появления первых бета-версий того, что тогда еще называлось Chicago (возможно, масла в огонь этих споров доба­вил тот факт, что прямой предок Chicago, Windows 3.x, никогда не называл­ся ОС ни в документации, ни в рекламных текстах), так что, как видим, не все могут узнать ОС, даже увидев ее.

Дополнительную путаницу вносит то обстоятельство, что в наше время все менее и менее понятным становится ответ на вопрос, что же такое компью­тер. Определение, согласно которому компьютер со­стоит из системного блока, монитора, клавиатуры и манипулятора "мышь", естественно, никуда не годится — под него не подходят даже портативные компьютеры или монтируемые в стойку серверы с IBM PC-совместимой архитектурой. Если же попытаться определить компьютер как устройство, имеющее где-то внутри полностью программируемый процессор фон-неймановской архитектуры, в число "компьютеров" попадет неожиданно много устройств.

Многие из этих компьюте­ров работают под управлением того или иного продукта, позиционируемого на рынке как операционные системы: QNX, VxWorks и др. Существуют программы, разработанные полностью самостоятельно, без использования чужого кода, но некоторые их модули также называются ОС. Бывает и так, что отдельные подсистемы программного комплекса, не называясь ОС, все-таки являются ею.

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

 

2.2.4 Общие функции ОС— до 15 мин.

 

По современным представлениям операционная система должна уметь делать следующее [1]:

- обеспечивать загрузку прикладных программ в память и их исполнение,

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

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

- предоставлять более или менее стандартизованный доступ к различным периферийным устройствам, таким как терминалы, модемы, принтеры или двигатели, поворачивающие рулевые плоскости истреби­теля,

- предоставлять некоторый пользовательский интерфейс (слово некото­рый здесь сказано не случайно — часть систем ограничивается команд­ной строкой, в то время как другие на 90% состоят из интерфейсной подсистемы).

Существуют ОС, функции которых этим и исчерпываются. Одна из хорошо известных систем такого типа — дисковая операционная система MS DOS.

Более развитые ОС предоставляют также следующие возможности:

- параллельное (или псевдопараллельное, если машина имеет только один процессор) исполнение нескольких задач,

- организацию взаимодействия задач друг с другом,

- организацию межмашинного взаимодействия и разделения ресурсов,

- защиту системных ресурсов, данных и программ пользователя, испол­няющихся процессов и самой себя от ошибочных и зловредных действий пользователей и их программ,

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

 

2.2.5 Краткая история ОС— до 15 мин.

 

Более подробно функции операционных систем будут рассмотрены в следующей главе.

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

В 1950-60-х годах сформировались и были реализованы основные идеи, определяющие функциональность ОС: пакетный режим, разделение времени и многозадачность, разделение полномочий, реальный масштаб времени, файловые структуры и системы. К концу 1960-х гг. отраслью и научно-образовательным сообществом был создан целый ряд ОС, реализующих все или часть очерченных выше функций. К ним относятся «Atlas» (Манчестерский университет), «CTTS» и «ITSS» (Массачусетский технологический институт (МТИ)), «THE» (Эйндховенский технологический университет), «RS4000» (Университет Орхуса) и др. (всего эксплуатировалось более сотни различных ОС).

- Наиболее развитые ОС, такие как «OS/360» (компания «IBM»), «SCOPE» (компания «CDC») и завершённый уже в 1970-х годах «MULTICS» (МТИ и компания «Bell Labs»), предусматривали возможность исполнения на многопроцессорных компьютерах.

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

- Задуманная и реализованная в 1969 году Кеном Томсоном при участии нескольких коллег (включая Денниса Ричи, и Брайана Кернигана), ОС «Юникс» («Unix»; первоначально «UNICS», что обыгрывало название «MULTICS») вобрала в себя многие черты более ранних ОС, но обладала целым рядом свойств, отличающих её от большинства предшественниц:

- простая метафорика (два ключевых понятия: вычислительный процесс и файл);

- компонентная архитектура: принцип «одна программа — одна функция» плюс мощные средства связывания различных программ для решения возникающих задач («оболочка»);

- минимизация ядра (кода, выполняющегося в «реальном» («привилегированном») режиме процессора) и количества системных вызовов;

- независимость от аппаратной архитектуры и реализация на машиннонезависимом языке программирования (язык программирования «Си» стал «побочным продуктом» разработки «Юникс»);

- унификация файлов.

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

В конце 70-х годов XX века сотрудники Калифорнийского университета в Беркли внесли ряд усовершенствований в исходные коды UNIX, включая работу с протоколами TCP/IP. Их разработка стала известна под именем BSD — «Berkeley Systems Distribution».

Задачу разработать независимую (от авторских прав «Bell Labs») реализацию той же архитектуры поставил и Ричард Столлмен, основатель проекта «GNU».

Благодаря конкурентности реализаций архитектура ОС «Юникс» стала вначале фактическим отраслевым стандартом, а затем обрела статус и стандарта юридического — ISO/IEC 9945.

ОС, следующие стандарту или опирающиеся на него, называют «открытыми ОС» (иногда встречается словоупотребление «Юникосоподобные» или «семейство „Юникс“», но оно противоречит статусу торгового знака «Юникс», принадлежащего консорциуму «The Open Group» и зарезервированному для обозначения ОС, строго следующих стандарту).

К открытым ОС относятся системы, базирующиеся на последней версии «Юникс», выпущенной «Bell Labs» («System V»), на разработках Университета Беркли («FreeBSD», «OpenBSD», «NetBSD»), а также ОС «GNU/Linux», разработанная в части утилит и библиотек проектом «GNU» и в части ядра — сообществом, возглавляемым Линусом Торвальдсом.

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

Самым заметным эффектом существования этого стандарта стало эффективное разворачивание Интернета в 90-х годах.

 



<== предыдущая лекция | следующая лекция ==>
Лекция № 1. Типы операционных систем. Часть 1. | Текст лекции


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.