Скачать презентацию Рекомендуемая литература l l 1 Гордеев А В Скачать презентацию Рекомендуемая литература l l 1 Гордеев А В

ОС_лекция1.ppt

  • Количество слайдов: 19

Рекомендуемая литература: l l 1. Гордеев, А. В. Операционные системы : Учебник для вузов. Рекомендуемая литература: l l 1. Гордеев, А. В. Операционные системы : Учебник для вузов. 2 -е изд. / А. В. Гордеев. – СПб. : Питер, 2009. – 416 с. 2. Таненбаум, Э. Современные операционные системы : пер. с англ. / Э. Таненбаум. – 3 -е изд. – СПб. : Питер, 2010. – 1120 с. 3. Ли И. В. Операционные системы. Основы работы в ОС Linux: учебно-методическое пособие. -СПб. : СПГУВК, 2010, -183 с. 4. Скотт Граннеман Linux. Карманный справочник. – справочник. - М. : OOO “И. Д. Вильямс”, 2007. -416 с. 5. Эви Немет, Гарт Снайдер, Трент Хейн, Бэн Уэйли. UNIX И LINUX: РУКОВОДСТВО СИСТЕМНОГО АДМИНИСТРАТОРА, 4 -е издание. -M. : OOO “И. Д. Вильямс”, 2012. -1312 с. Рекомендуемое ПО (свободно распространяется): 1. VM Virtual Box 4. 1. 18 (производитель: Oracle) 2. Ubuntu Desktop 14. 04 LTS http: //www. ubuntu. com/download/

Тема 1. Операционные системы. Основные понятия и определения. § 1. 1. Обзор современных операционных Тема 1. Операционные системы. Основные понятия и определения. § 1. 1. Обзор современных операционных систем (ОС). В настоящее время наблюдается небывалый расцвет ОС, а именно выпускаются новые операционные системы для настольных компьютеров, кластеров компьютеров и параллельных вычислений, мобильных устройств и облачных вычислений. Кластер компьютеров (cluster – анг. , скопление) — это группа компьютеров, объединенных высокоскоростными каналами связи, представляющие с точки зрения пользователя единую машину (единый вычислительный ресурс). Они используются для высокопроизводительных параллельных вычислений. Параллельные вычисления — это способ организации компьютерных вычислений при котором программы разрабатываются, как набор взаимодействующих вычислительных процессов работающих параллельно (одновременно). Перечислим наиболее распространенные современные ОС: 1. 1. ОС семейства Windows Корпорация Microsoft на сегодняшний момент является бесспорным лидером в выпуске ОС, а именно за последние 11 лет вышла целая серия ОС семейства Windows: - -Windows XP(2001); -Windows 2003; -Windows Vista (2006); -Windows 2008 High-Performance Computing(HPC) - ОС для кластеров компьютеров; -Windows 7(2009); -Windows 8 - поступление в продажу запланировано на 26 октября 2012 года.

Обзор современных операционных систем. Наиболее распространенные современные ОС (продолжение): 1. 2. Диалекты ОС Linux. Обзор современных операционных систем. Наиболее распространенные современные ОС (продолжение): 1. 2. Диалекты ОС Linux. 2. Также сейчас активно развиваются, такие как Red Hat, Ubuntu, Su. SE, Fedora, Mandrake и др. - сотни диалектов). Linux - операционная система типа UNIX, ядро которой свободно распространяется с исходными кодами. 3. ОС Solaris. 1. Разработкой и выпуском данной ОС до 2010 года занималась фирма Sun Microsystems, которая в январе 2010 года вошла в состав фирмы Oracle Corporation. 2. ОС Solaris - одна из наиболее современных ОС типа UNIX с развитой поддержкой параллельного программирования, новыми видами файловых систем, отличающаяся своей повышенная надежностью. 4. ОС Mac. OS (Macintosh Operating System). 1. Данная ОС очень популярна в США и Канаде, т. к. на данных территориях большое распространение получили компьютеры семейства Macintosh фирмы Apple Inc. Mac. OS занимает лидирующее положение в области графических пользовательских интерфейсов и обмена мультимедийной информацией, например речевого ввода. 5. ОС фирмы IBM для суперкомпьютеров и компьютеров общего назначения (mainframes). l Мейнфре йм (также мэйнфрейм, от англ. mainframe) —большая универсальная ЭВМ — высокопроизводительный компьютер со значительным объёмом оперативной и внешней памяти, предназначенный для организации централизованных хранилищ данных большой ёмкости и выполнения интенсивных вычислительных работ. К ним относятся компьютеры c архитектурой IBM System/360, 370, 390, z. Series, System/ z 9, z 10, z. Enterprise 196.

Обзор современных операционных систем. Справочная информация: Большим толчком к созданию новых более усовершенствованных ОС Обзор современных операционных систем. Справочная информация: Большим толчком к созданию новых более усовершенствованных ОС послужил факт открытия исходных кодов ОС крупными компаниями разработчиками. В 2003 году корпорация Microsoft положила начало этому движению объявив о старте академической программы которая называлась Windows Embedded Share Source и открытый исходный код Windows для встроенных систем. Под встроенными системами как правило понимается любое ПО управляющее разнообразными устройствами и встроенное внутрь данных устройств, т. е. записанные в энергонезависимую память. А в 2006 году компания открыла исходный код ядра ОС Windows семейства NT (NT/2000/XP/2003/2008/7) и предоставило в распоряжение университетов и академических организаций Windows Research Kernel (WRK). Это самодокументируемый исходный код «исследовательского» ядра Windows, таким образом, каждый желающий имеет возможность изучать систему Windows изнутри и развивать её, но только для целей обучения, а не для коммерции. Летом 2005 года Sun Microsystems (Oracle) также начала проект, который называется Open. Solaris, открыв исходный текст ядра ОС Solaris, сетевых компонентов, системных библиотек и базовых программ. До 2010 года результаты этого академического проекта использовались при выпуске новых версий коммерческой версии ОС Solaris. Разработка Open. Solaris была закрыта Oracle в 2010 году после покупки компании Sun. Open. Indiana – преемником Solaris-дистрибутива, созданный в рамках сообщества illiumos Foundation. Планируется, что развитие ОС будет вестись исключительно силами развития сообщества не допуская влияния коммерческих компаний. Open. Indiana является открытым исходным кодом свободно используемым, разрабатываемым сообществом и подходит для серверов и настольных ПК. С начала 90 -х годо ядро ОС Linux также распространяется свободно с исходными кодами. Данный факт вызвал появление целой волны работ по созданию новых диалектов Linux, а также по разработки новых ОС для мобильных устройств на базе ядра Linux (OS Android).

Обзор современных операционных систем. 1. Наиболее распространенные современные ОС (продолжение): 6. ОС для мобильных Обзор современных операционных систем. 1. Наиболее распространенные современные ОС (продолжение): 6. ОС для мобильных устройств. 2. На протяжении нескольких последних лет на данном рынке лидирующие позиции занимала ОС семейства Symbian (разработчик: Nokia), однако сейчас её активно теснят Windows Mobile (разработчик: Microsoft), OC Android — портативная (сетевая) операционная система для коммуникаторов, планшетных компьютеров, электронных книжек, цифровых проигрывателей, наручных часов, нетбуков и смартбуков, основанная на ядре Linux. Изначально разрабатывалась компанией Android Inc. , которую затем купила Google. Впоследствии Google инициировала создание альянса Open Handset Alliance (OHA), который сейчас и занимается поддержкой и дальнейшим развитием платформы. 1. 7. ОС для облачных вычислений. 2. Это принципиально новый вид ОС, отражающий современную тенденцию к организации вычислений как облачных. 3. Облачные вычислений — (cloud computing – анг. ) это технология распределенной обработки данных, в которой компьютерные ресурсы и мощности предоставляются пользователю как интернет сервис. При ОВ пользователь со своего компьютера получает обычно платный доступ через интернет к веб-сервису, работающем на компьютерах мощных центров обработки данных. При этом не только используемое программное обеспечение, но и сами обрабатываемые данные хранятся на серверах «облачного» центра обработки данных. На своём компьютере пользователь имеет лишь простой и удобный, не требующий больших ресурсов облачный веб-интерфейс. 4. Windows Azure (разработчик: Microsoft) — название платформы «облачных сервисов» от Microsoft, с помощью которой можно размещать в «облачных» датацентрах Microsoft и «виртуально» -неограниченно масштабировать вебприложения. Windows Azure реализует модель Platform as a service, когда платформа предоставляется клиенту как сервис. Платформа Windows Azure предоставляет возможность разработки и выполнения приложений и хранения данных на серверах, расположенных в распределенных датацентрах.

§ 1. 2. Структура вычислительной системы Из чего состоит любая вычислительная система? Во-первых, из § 1. 2. Структура вычислительной системы Из чего состоит любая вычислительная система? Во-первых, из аппаратного (технического) обеспечения (hardware): процессор, память, монитор, дисковые устройства и т. д. , объединенные магистральным соединением, которое называется шиной. Во-вторых, вычислительная система состоит из программного обеспечения. Все программное обеспечение принято делить на две части: - прикладное (application software); - системное (system software). Системное ПО — это комплекс программ, которые обеспечивают эффективное управление компонентами компьютерной системы, такими как процессор, оперативная память, устройства ввода-вывода, сетевое оборудование, выступая как «межслойный интерфейс» , с одной стороны которого аппаратура, а с другой - приложения пользователя. Под системным программным обеспечением обычно понимают программы, способствующие функционированию и разработке прикладных программ. К прикладному ПО - программы, предназначенные для выполнения определенных пользовательских задач и рассчитанные на непосредственное взаимодействие с пользователем. К прикладному программному обеспечению, как правило, относятся разнообразные банковские и прочие бизнес-программы, игры, текстовые процессоры и т. п.

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

§ 1. 3. Назначение ОС (ИСТОЧНИК: http: //www. intuit. ru/department/os/osintro/1/osintro_1. html + учебник Таненбаума) § 1. 3. Назначение ОС (ИСТОЧНИК: http: //www. intuit. ru/department/os/osintro/1/osintro_1. html + учебник Таненбаума) Большинство пользователей имеет опыт эксплуатации операционных систем, но тем не менее они затруднятся дать этому понятию точное определение. Давайте кратко рассмотрим основные точки зрения. 1. Операционная система как расширенная машина (или виртуальная машина) При разработке ОС широко применяется абстрагирование, которое является важным методом упрощения и позволяет сконцентрироваться на взаимодействии высокоуровневых компонентов системы, игнорируя детали их реализации. В этом смысле ОС представляет собой интерфейс между пользователем и компьютером. Архитектура большинства компьютеров на уровне машинных команд очень неудобна для использования прикладными программами. Например, работа с диском предполагает знание внутреннего устройства его электронного компонента – контроллера для ввода команд вращения диска, поиска и форматирования дорожек, чтения и записи секторов и т. д. Ясно, что средний программист не в состоянии учитывать все особенности работы оборудования (в современной терминологии – заниматься разработкой драйверов устройств), а должен иметь простую высокоуровневую абстракцию, скажем, представляя информационное пространство диска как набор файлов. Файл можно открывать для чтения или записи, использовать для получения или сброса информации, а потом закрывать. Это концептуально проще, чем заботиться о деталях перемещения головок дисков или организации работы мотора. Аналогичным образом, с помощью простых и ясных абстракций, скрываются от программиста все ненужные подробности организации прерываний, работы таймера, управления памятью и т. д. Более того, на современных вычислительных комплексах можно создать иллюзию неограниченного размера оперативной памяти и числа процессоров. Всем этим занимается операционная система. Таким образом, операционная система представляется пользователю виртуальной машиной, с которой проще иметь дело, чем непосредственно с оборудованием компьютера.

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

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

§ 1. 4. Функции операционных систем Как известно, ОС является наиболее фундаментальной частью программного § 1. 4. Функции операционных систем Как известно, ОС является наиболее фундаментальной частью программного обеспечения компьютера, относятся к системному программному обеспечению. ОС работает в режиме ядра (режима супервизора). Вся остальная часть ПО работает в режиме пользователя, в котором доступно лишь подмножество инструкций машины (например, им запрещено использование инструкций, управляющих машиной и осуществляющих операции ввода-вывода). Программы, с которыми взаимодействуют пользователи, (программы пользовательского интерфейса) обычно называются оболочкой или интерфейсом командной строки (когда они основаны на применении текста) и графическим пользовательским интерфейсом – GUI (Graphical User Interface) (когда в них используются значки). Фактически программы пользовательского интерфейса не являются частью ОС, хотя используют ее в своей работе.

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

Функции операционных систем Основные функции ОС (по учебнику Гордеева): l • Прием от пользователя Функции операционных систем Основные функции ОС (по учебнику Гордеева): l • Прием от пользователя (или от оператора системы) заданий, или команд, сформулированных на соответствующем языке, и их обработка. l • Загрузка в оперативную память подлежащих исполнению программ. l • Распределение памяти, а в большинстве современных систем и организация виртуальной памяти. l • Запуск программы. l • Идентификация всех программ и данных. l • Прием и исполнение различных запросов от выполняющихся приложений. l • Обслуживание всех операций ввода-вывода. l • Обеспечение работы систем управлений файлами (СУФ) и/или систем управления базами данных (СУБД). l • Обеспечение режима мультипрограммирования (организация параллельного выполнения двух или более программ на одном процессоре, создающая видимость их одновременного исполнения). l • Планирование и диспетчеризация задач в соответствии с заданными стратегией и дисциплинами обслуживания. l • Организация механизмов обмена сообщениями и данными между выполняющимися программами. l • Обеспечения взаимодействия связанных между собой компьютеров (характерно для сетевых операционных систем)

Функции операционных систем Основные функции ОС (продолжение): l • Защита одной программы от влияния Функции операционных систем Основные функции ОС (продолжение): l • Защита одной программы от влияния другой, обеспечение сохранности данных, защита самой операционной системы от исполняющихся на компьютере приложений. l • Аутентификация и авторизация пользователей (характерно для большинства диалоговых операционных систем). Под аутентификацией понимается процедура проверки имени пользователя и его пароля на соответствие тем значениям, которые хранятся в его учетной записи. Термин авторизация означает, что в соответствии с учетной записью пользователя, который прошел аутентификацию, ему (и всем запросам, которые будут идти к операционной системе от его имени) назначаются определенные права (привилегии). l • Удовлетворение жестким ограничениям на время ответа в режиме реального времени (характерно для операционных систем реального времени). Системы реального времени (Real-time systems) – вычислительные системы, предназначенные для управления различными техническими, военными и другими объектами в режиме реального времени. l • Обеспечение работы систем программирования, с помощью которых пользователи готовят свои программы. l • Предоставление услуг на случай частичного сбоя системы.

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

Операционная среда Системных функций бывает много, они определяют те возможности, которые операционная система предоставляет Операционная среда Системных функций бывает много, они определяют те возможности, которые операционная система предоставляет выполняющимся под ее управлением приложениям. Такого рода системные запросы (вызовы системных операций, или функций) либо явно прописываются в тексте программы программистами, либо подставляются автоматически самой системой программирования на этапе трансляции исходного текста разрабатываемой программы. Каждая операционная система имеет свое множество системных функций; они вызываются соответствующим образом, по принятым в системе правилам. Совокупность системных вызовов и правил, по которым их следует использовать определяет интерфейс прикладного программирования (Application Programming Interface -API). Очевидно, что программа, созданная для работы в некоторой операционной системе, скорее всего не будет работать в другой операционной системе, поскольку API у этих операционных систем, как правило, различаются. Стараясь преодолеть это ограничение, разработчики операционных систем стали создавать так называемые программные среды. Программную (системную) среду следует понимать как некоторое системное программное окружение, позволяющее выполнить все системные запросы от прикладной программы. .

Операционная среда Cистемная программная среда, которая непосредственно образуется кодом операционной системы, называется основной (естественной, Операционная среда Cистемная программная среда, которая непосредственно образуется кодом операционной системы, называется основной (естественной, или нативной (native)). Кроме основной операционной среды в операционной системе могут быть организованы дополнительные программные среды (путем эмуляции другой операционной среды). Если в операционной системе организована работа с различными операционными средами, то в такой системе можно выполнять программы, созданные не только для данной, но и для других операционных систем. Т. о. программы создаются для работы в некоторой заданной операционной среде. Например, можно создать программу для работы в среде DOS. Если такая программа все функции, связанные с операциями ввода-вывода и с запросами памяти, выполняет не сама, а за счет обращения к системным функциям DOS, то она будет (в абсолютном большинстве случаев) успешно выполняться и в MS DOS, и в PC DOS, и в Windows 9 х, и в Windows 2000, и в OS/2, и даже в Linux. Итак, параллельное существование терминов «операционная система» и «операционная среда» вызвано тем, что операционная система (в общем случае) может поддерживать несколько операционных сред. Почти все современные 32 -разрядные операционные системы, созданные для персональных компьютеров, поддерживают по нескольку операционных сред.

Операционная среда Примеры поддержания одной ОС нескольких операционных сред: • операционная система OS/2 Warp Операционная среда Примеры поддержания одной ОС нескольких операционных сред: • операционная система OS/2 Warp (разработчики IBM и Microsoft, последняя версия вышла: 4. 52 — декабрь 2001). Была в свое время одной из лучших в этом отношении. Может выполнять следующие программы: • основные программы, созданные с учетом соответствующего «родного» 32 -разрядного программного интерфейса этой операционной системы; • 16 -разрядные программы, созданные для систем OS/2 первого поколения; • 16 -разрядные приложения, разработанные для выполнения в операционной среде MS DOS или PC DOS; • 16 -разрядные приложения, созданные для операционной среды Windows 3. x; • саму операционную оболочку Windows 3. x и уже в ней — созданные для нее программы. 2. операционная система Windows ХР. Позволяет выполнять помимо основных приложений, созданных с использованием Win 32 API, 16 -разрядные приложения для Windows 3. x, 16 -разрядные DOS-риложения, 16 -разрядные приложения для первой версии OS/2.

Операционная среда Как нам известно, операционная среда может включать несколько интерфейсов: пользовательские и программные. Операционная среда Как нам известно, операционная среда может включать несколько интерфейсов: пользовательские и программные. Если говорить о пользовательских, то, например, система Linux имеет для пользователя как интерфейсы командной строки (можно использовать различные «оболочки» — shell), наподобие Norton Commander, например Midnight Commander, так и графические интерфейсы, например X-Window с различными менеджерами окон — KDE, Gnome и др. Если же говорить о программных интерфейсах, то в тех же операционных системах с общим названием Linux программы могут обращаться как к операционной системе за соответствующими сервисами и функциями, так и к графической подсистеме (если она используется). С точки зрения архитектуры процессора (и персонального компьютера в целом) двоичная программа, созданная для работы в среде Linux, использует те же команды и форматы данных, что и программа, созданная для работы в среде Windows NT. Однако в первом случае мы имеем обращение к одной операционной среде, а во втором — к другой. И программа, созданная непосредственно для Windows, не будет выполняться в Linux; однако если в операционной системе Linux организовать полноценную операционную среду Windows, то наша Windows-программа может быть выполнена. Завершая этот раздел, можно еще раз сказать, что операционная среда — это то системное программное окружение, в котором могут выполняться программы, созданные по правилам работы этой среды.