Слайд 1Операционные системы
Университет Дубна, 2013
Доц. Сычев П.
Слайд 2Литература
Таненбаум Э. Современные операционные системы. – СПб.: Питер, 20013.
Олифер В.Г., Олифер
Н.А. Сетевые операционные системы. – СПб.: Питер, 2012.
Робачевский А.М. Операционная система UNIX, – СПб.: BHV – Санкт-Петербург, 2007 .
Слайд 3Введение
Что такое операционная система?
Это большая программа, обеспечивающая выполнение прикладных программ на
компьютере
Зачем она нужна?
Во-первых – обеспечение стандартного окружения для прикладных программ. Связанная с этим понятие – компьютерная платформа.
Во-вторых - эффективное управление ресурсами компьютера. Каждый компьютер содержит те или иные компоненты: процессор, оперативную память, диски, графическую карту и т.д. и т.п. Необходимо обеспечить доступ к этому оборудованию прикладным программам.
Слайд 4Введение
Hardware (AMD Phenom)
Processor architecture (IA-32)
OS kernel (Windows NT 6 (W7))
OS API
& services (Win32)
Applications (MS Word, IE)
Оболочечная модель компьютера
Слайд 5Функции ОС
Основная функция операционной системы – служить платформой для выполнения прикладных
программ. Это обеспечивает переносимость программ с одного компьютера на другой, если он снабжен совместимой операционной системой. Пользователи используют компьютер для решения своих задач с помощью прикладных программ. Таким образом ОС создает виртуальный компьютер. Например, Windows компьютер.
Другая важная задача, вытекающая из первой – управление ресурсами компьютера. Это включает:
управление процессором (процессорами),
управление оперативной памятью,
управление внешней памятью (файловая система),
управление другими устройствами (монитор, принтер, сканер и т.д.),
управление доступом к ресурсам компьютера (безопасность),
управление работой в компьютерной сети.
Слайд 6Компьютерная платформа
Компьютерная платформа определяет переносимость программного обеспечения. В процессе компиляции и
компоновки программы, она переводится с языка программирования высокого уровня (например С++) в код конкретного процессора (например IA-32), и, кроме того, в него вставляются системные вызовы конкретной операционной системы (например Windows). В результате полученный исполняемый файл привязан к:
Конкретному процессору (семейству процессоров)
Конкретной операционной системе (семейству ОС)
Самые известные компьютерные платформы:
Wintel – Windows + Intel architecture processors x86/x64
Lintel – Linux + Intel architecture processors x86/x64
Java – виртуальная машина Java
Слайд 7История ОС
Аналитическая машина Ч.Бэббиджа (Ch. Babbage) в 19-ом веке. Первый программист
– Ада Лавлейс (Ada Lovelace), дочь поэта Л.Байрона.
Первое поколение компьютеров (1944 – 1955): электронные лампы
Никаких операционных систем не имели. Каждый компьютер, как боевой корабль, был уникальным, имел собственное имя и собственную команду. Ни о какой переносимости программ речи не было.
Пример: БЭСМ (СССР, 1950)
Второе поколение компьютеров (1955 – 1965): транзисторы
Зачатки первых операционных систем.
Примеры: М-20 (СССР, 1962), интерпретирующая система ИС-2; IBM 7094, FMS (Fortran Monitor System).
Первые языки программирования – fortran (1955), algol-60 (1960), LISP (1958)
БЭСМ-6 (СССР, 1967) – самая удачная машина в СССР. Мониторная система «Дубна», развывшаяся в полноценную ОС.
Слайд 8История
ENIAC 1946-1955
17 тыс.ламп, 170 кв.м., 150 квт.
Программирование – переключатели и перемычки.
Слайд 9История ОС
UNIVAC-1
1951
5200 эл.ламп, 2 тыс оп/сек
Слайд 10История ОС
БЭСМ/БЭСМ-2, 1953
2 тыс оп/сек, 4 тыс эл.ламп, 8 экз.
Слайд 11История ОС
IBM 701, 1952 г.
19 экз.
Слайд 12История ОС
Стрела, 1953 г.
6200 ламп
2000 оп/сек
7 экз.
Слайд 13История ОС
БЭСМ-6 1968
1 млн оп/сек, 60 тыс. транзисторов
Сверху: БЭСМ-6 ЛВТА
ОИЯИ, на переднем плане МикроБ – попытка создать настольную версию БЭСМ-6 (1992)
Слайд 14История ОС
Третье поколение компьютеров (1965 – 1980). Интегральные схемы
К середине 60-х
годов была осознана ценность разработанного программного обеспечения и необходимость его многократного использования.
Серия IBM/360 (1967) – серия программно-совместимых компьютеров от простой модели IBM 360/20 до супер ЭВМ IBM 360/95. С точки зрения цены, электроники и производительности – это совершенно разные компьютеры, но программно они совместимы.
Операционная система OS/360 – бронтозавр программного обеспечения тех лет. Несколько миллионов строк кода (на ассемблере!). Смотри книгу Ф.Брукса «Мифический человеко-месяц» (F.Brooks, 1974).
Операционная система MULTICS – амбициозный проект MIT, AT&T, GE по созданию универсальной многопользовательской ОС.
Создание UNIX (1969) – ключевой этап в развитии операционных систем. Первая универсальная, многозадачная, многопользовательская и переносимая операционная система. Основные авторы – К.Томпсон (K.Thomson), Д.Ритчи (D.Ritchi).
Слайд 15История ОС
IBM Series/360
1964
Сверху System/360 mod 91 NASA
Слева System/360 mod 20
Слайд 16История ОС
PDP-7, 1969
Копьютер, на котором была создана первая версия UNIX
Слайд 17История ОС
Четвертое поколение компьютеров (1980 – н/в). ПК
IBM PC (1981) –
начало новой эры в развитии информационных технологий.
Apple Liza (1983) – первый компьютер с исключительно графическим пользовательским интерфейсом (GUI). Впоследствии Apple Macintosh/Mac OS.
Microsoft Windows (1985) – первая версия самой распространенной на сегодня операционной системы.
Linux (L.Torvalds, 1991) – первая, свободно распространяемая (в том числе в исходных текстах) операционная система.
World Wide Web – WWW (Т.Бернерс-Ли, 1989, CERN) – появление протокола HTTP и современного интернета.
Современный ПК превратился (по цене и распространенности) в бытовой прибор. С помощью Интернет он связан с информационными и вычислительными ресурсами всего мира. Современные операционные системы обеспечивают управление различными цифровыми устройствами, предоставляя пользователю удобный и понятный интерфейс управления.
Слайд 18Классификация ОС
Мы будем классифицировать операционные системы по их сфере использования:
Универсальные ОС.
Операционные системы для самых разных компьютеров, используемых для различных целей. Самые распространенные и важные универсальные ОС – MS Windows, Unix, Linux;
Специализированные ОС. В зависимости от специализации можно выделить:
Операционные системы реального времени для управления процессами. Например управление технологическим оборудованием на производстве. Примеры – QNX, VxWorks;
ОС сверхнадежных систем. В ряде случаев необходима исключительно надежная вычислительная система, например для управления воздушным движением в аэропорту. Для этого используются соответствующие вычислительные комплексы, например HP Tandem/ Tandem OS;
ОС для встроенных систем, таких как карманные компьютеры, сотовые телефоны, современные телевизоры и т.п. Примеры iOS, Android, Windows Phone ...
Слайд 19Современные ОС
Microsoft Windows – самая распространенная сегодня ОС (около 50% всех
серверов, около 90% всех ПК)
Windows 1.0(1985), 2.0(1987), 3.0(1989), 3.1(1990) – 16-ти битные оболочки OС.
Windows 95 (1995), 98 (1998), Ме (2000) – потребительские (consumer) версии 32-х битных ОС.
Windows NT 3.1 (1993), NT 4.0 (1996), 2000 (1999), XP (2002), Vista (2007), 7 (2009) – универсальные 32-х битные и 64-х битные ОС.
UNIX. Не существует операционной системы с именем UNIX, зато существует большое количество «ароматов» UNIX, более или менее совместимых между собой. Их основное назначение – управление большими информационными системами.
Коммерческие – IBM AIX, HP UX, SUN(Oracle) Solaris и другие,
Свободно распространяемые – версии FreeBSD, NetBSD…
Слайд 20Современные ОС
Linux – свободно распространяемая операционная система. Новая модель создания программного
обеспечения – свободно распространяемые исходные тексты, право пользователя изменять код.
Linux 1.0 (1993), 2.0 (1996). Линус Торвальдс (Linus Torvalds) создал первую версию Linux (версия 0.01) в 1991 году на базе учебной ОС Minix (Э.Таненбаум) и выложил в Интернет для последующего развития. Остается и сейчас лидером команды.
Linux is not Unix. Исходные тексты Linux не основаны на коде UNIX и развиваются самостоятельно. Linux, до некоторой степени, программно совместим с UNIX.
Linux получил широкое развитие:
Как относительно дешевое решение для серверов, где он успешно вытесняет UNIX;
как альтернатива Windows для государственных учреждений (Китай и ряд других стран) и компьютерных энтузиастов;
основная ОС для университетов и научных центров;
де факто стандартная ОС для высокопроизводительных компьютеров.
Слайд 21Современные ОС
Среди других современных ОС следует отметить:
IBM zOS
Несмотря на наступление эпохи
Unix и Windows, многие жизненно важные информационные системы, например большинство банков и фондовых бирж, работают на мэйнфреймах zSeries фирмы IBM, дальних наследниках IBM/360. Они стоят очень дорого, но обеспечивают очень высокий уровень надежности, масштабируемости и управляемости.
Apple Mac OS X
Компьютеры Macintosh распространены гораздо меньше, чем ПК. Основная причина этому – их делает только фирма Apple. Они имеют массу активных сторонников, являются стандартом де-факто в ряде областей применения, например в издательском деле. Большинство специалистов считают, что MacOS X и сегодня является лидером в развитии пользовательского интерфейса.
Слайд 22Размеры ОС
Сравнение размеров некоторых ОС (количество строк, взято из [1])
Таненбаум пишет:
Это
больше напоминает сравнение яблок не с апельсинами, а с телефонными аппаратами.
Распухание операционных систем, похоже, также неотвратимо, как смерть и налоги
Слайд 23Основные термины современных ОС
Основные термины операционных систем:
Процесс. Любая программ, запущенная пользователем,
исполняется в рамках процесса. Это фундаментальное понятие современных ОС.
Файл. Вся, постоянно хранимая компьютером информация, хранится в виде файлов. Файл – понятие гораздо более широкое и лежит в основе современных ОС.
Пользователь. Для того, чтобы пользователь мог работать на компьютере, он должен быть зарегистрирован. В начале работы он должен себя идентифицировать, предъявив свое имя и пароль (иногда еще смарт карту и/или отпечаток пальца). Пользователь обладает определенными правами по отношению к ресурсам компьютера.
В течении всего курса мы будем подробно изучать эти понятия и соответствующие подсистемы операционных систем.