SPO_tema_1_vvedenie.pptx
- Количество слайдов: 32
СИСЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Тема 1. Введение
Введение Исполнилось более 40 лет с момента создания операционной системы UNIX. Изначально созданная для компьютера PDP-7 с 4 килобайтами оперативной памяти, сегодня UNIX работает на множестве аппаратных платформ, начиная с обыкновенного PC и заканчивая мощными многопроцессорными системами и суперкомпьютерами. Система UNIX была создана небольшой группой разработчиков, тысячи людей вложили в нее свой талант, десятки тысяч обогатили приложениями, и сегодня сотни тысяч людей используют эту операционную систему в своей деятельности.
Введение За время своего существования система UNIX претерпела значительные изменения, стала мощней, сложней и удобней. Однако основные идеи сохранились, удивляя нас своим изяществом и простотой. Именно они определяют "генотип" операционной системы, позволяя увидеть за красивыми названиями различных версий лаконичное слово UNIX. Именно изящество и простота этих идей являются основой жизненной силы UNIX, ее способности всегда идти в ногу со временем.
1. ИСТОРИЯ СОЗДАНИЯ История UNIX началась с разработки ОС MULTICS (Bell Telephone Laboratories), которая задумывалась как ОС разделения времени, способная обеспечить одновременную работу нескольких сотен пользователей. Позже часть разработчиков продолжила работать над созданием удобной среды программирования, используя идеи и разработки MULTICS. В итоге они получили небольшую ОС с файловой системой, подсистемой управления процессами и небольшим набором утилит. Система была написана на ассемблере, применялась на компьютере PDP-7 и получила название UNIX. Официальная дата рождения UNIX – 1 января 1970 года. С этого момента любая UNIX отсчитывает свое системное время.
1. ИСТОРИЯ СОЗДАНИЯ Ранняя версия UNIX нашла применение в системе обработки текста в патентном отделе Bell Labs. В 1973 году ядро ОС было переписано на языке высокого уровня С. Это означало, что теперь система UNIX может быть перенесена на другие аппаратные платформы за считанные месяцы, кроме того, упростилась задача модернизации ОС. Для сопровождения UNIX была сформирована группа UNIX System Group (USG).
1. 1. Исследовательские версии UNIX С 1974 года UNIX начала передаваться университетам для образовательных целей. Наиболее важные версии: Первая редакция (1971). Первая версия UNIX, написанная на ассемблере для PDP-11. Включала компилятор B. Использовалась как инструментальное средство обработки текстов для патентного отдела. Третья редакция (1973). Включала компилятор C. Четвертая редакция (1973). Первая система, ядро которой было написано на языке высокого уровня С. Шестая редакция (1975). Первая версия, доступная за пределами Bell Labs. Полностью переписана на языке С. С нее начинается рост популярности UNIX. На ее основе выпущена первая версия BSD UNIX.
1. 1. Исследовательские версии UNIX Седьмая редакция (1979). Включала командный интерпретатор Bourne Shell и компилятор С от Кернигана и Ритчи. Ядро было переписано для упрощения переноса на другие платформы. Лицензия на эту версию куплена Microsoft, на ее базе разработана ОС XENIX. К 1977 году число работающих систем превысило 500. В этом же году система была портирована с незначительными изменениями на компьютер, отличный от PDP.
2. ГЕНЕАЛОГИЯ UNIX Стандартной системы UNIX не существует. Вместо этого вы столкнетесь с множеством ОС, имеющих свои особенности и свое название. Но за всем этим стоит архитектура, пользовательский интерфейс и среда программирования UNIX. 1. System V UNIX Эта система стала продолжением System III, созданной для распространения за пределами Bell Labs и AT&T и положившей начало мощной ветви UNIX. System V была создана в 1983 году. Вскоре была выпущена ее новая модификация – System V Release 2 (SVR 2). В ней были реализованы замещение страниц и копирование при записи, система межпроцессного взаимодействия с семафорами, разделяемой памятью и очередью сообщений.
2. ГЕНЕАЛОГИЯ UNIX В 1987 году появилась SVR 3, включающая: Подсистему ввода/вывода, основанную на архитектуре STREAMS. Переключатель файловой системы (File system Switch), обеспечивающий поддержку разных файловых систем. Разделяемые библиотеки. Программный интерфейс сетевых приложений Transport Layer Interface (TLI).
2. ГЕНЕАЛОГИЯ UNIX В 1989 году выпущена новая основная версия - SVR 4. Она объединила возможности нескольких версий UNIX: Sun. OS (Sun Microsystems), BSD UNIX (Berkeley Software Distribution) и предыдущих версий System V. Ее новые черты: Командные интерпретаторы Korn и C (BSD) Символические ссылки Система терминального ввода/вывода, основанная на STREAMS (System V) Отображаемые в память файлы (Sun. OS) Сетевая файловая система NFS и система вызова удаленной процедуры RPC (Sun. OS)
2. ГЕНЕАЛОГИЯ UNIX Быстрая файловая система FFS (BSD) Сетевой программный интерфейс сокетов (BSD) Поддержка диспетчеризации реального времени
2. ГЕНЕАЛОГИЯ UNIX от Berkeley Software Distribution. C момента установки в Калифорнийском университете в Беркли четвертой редакции UNIX (1974) начинает свою историю ветвь UNIX под названием BSD UNIX. Первая версия BSD (1978) основывалась на Шестой редакции. 3 BSD(1979) основывалась на Седьмой редакции и была перенесена на ЭВМ VAX. В ней были реализованы страничное замещение по требованию и виртуальная память. 4. 2 BSD (1983) разрабатывалась для министерства обороны США как ОС с поддержкой протоколов TCP/IP. 2.
2. ГЕНЕАЛОГИЯ UNIX 4. 2 BSD включала поддержку работы в сетях, в т. ч. в сетях Ethernet. Это способствовало широкому распространению локальных сетей. Широкая доступность этой ОС обеспечила ее популярность в исследовательских кругах. Большое количество нововведений привело к тому, что система получилась сырой, содержала ошибки и имела проблемы с быстродействием. В 1986 году была выпущена более надежная 4. 3 BSD. Позже в систему были внесены дополнения, в частности, сетевая файловая система NFS, виртуальная файловая система VFS, отладчик ядра и мощная поддержка сети. Последние версии, выпущенные в Беркли – 4. 4 BSD и BSD Lite (1993).
2. ГЕНЕАЛОГИЯ UNIX OSF/1. Была создана как противовес UNIX System V. OSF происходит от Open Software Foundation – организации, объединившей IBM, DEC, Hewlett-Packard для создания операционной системы, независимой от AT&T. 3.
2. ГЕНЕАЛОГИЯ UNIX Версии UNIX, использующие микроядро. Идея микроядра – сведение к минимуму функций, выполняемых ядром ОС. При этом основные компоненты ОС являются модулями, работающими на базе микроядра. Такой подход делает ядро более универсальным и упрощает настройку и конфигурирование. Известны следующие версии: Микроядро Match – используется в системе OSF/1 фирмы DEC для серверов с процессорами Alpha и в ОС Workplace фирмы IBM. Микроядро Chorus. На его базе созданы системы Chorus/Mi. X V. 3 и V. 4 – «серверизация» SVR 3 и SVR 4. Ядро UNIX разделено на множество серверов под управлением микроядра. 4.
2. ГЕНЕАЛОГИЯ UNIX Свободно распространяемая система UNIX. Minix была разработана Энди Тэненбаумом как приложение к книге по архитектуре UNIX. Книга содержит полные листинги исходных текстов системы. Все большую популярность приобретает свободно распространяемая система Linux, разработанная Линусом Торвальдсом. Изначально разработанная для процессора Intel i 386, сегодня она перенесена на многие другие аппаратные платформы. 5.
3. ОСНОВНЫЕ СТАНДАРТЫ Чем больше появлялось версий UNIX, тем очевиднее становилась необходимость стандартизации системы. Для этого был создан ряд организаций и ими были разработаны стандарты, оказывающие влияние на развитие UNIX.
3. ОСНОВНЫЕ СТАНДАРТЫ IEEE и POSIX (Portable Operating System Interface for Computing Environment) – переносимый интерфейс ОС для вычислительной среды – был создан в 1985 году В 1988 году был разработан стандарт POSIX 1003. 11988, который определил программный интерфейс приложений (Application Programming Interface, API). Он нашел широкое применение в различных архитектурах ОС, в т. ч. отличных от UNIX. Спустя 2 года стандарт принят как IEEE 1003. 1 -1990. Он не делает различий между системными вызовами и библиотечными функциями, называя все элементы программного интерфейса просто функциями. 1.
3. ОСНОВНЫЕ СТАНДАРТЫ POSIX 1003. 2 -1992 включает определение командного интерпретатора и набора утилит POSIX 1003. 1 b-1993 содержит дополнения относительно поддержки приложений реального времени POSIX 1003. 1 c-1995 включает определение «нитей» (threads) POSIX, известных также как pthreads.
3. ОСНОВНЫЕ СТАНДАРТЫ X/Open. Создана для разработки общего набора интерфейсов ОС, согласованного между разными производителями, и создание открытых систем с легкой переносимостью. В 1992 году появился стандарт X/Open Portability Guide версии 3 или XPG 3, включающий POSIX 1003. 1 -1988 и стандарт на графическую систему X Window System. Позже он был расширен, включив базовые API BSD и System V, в том числе архитектуру STREAMS, и выпустился как спецификация Spec 11/70, в 1994 году получив название XPG 4. 2. 2.
3. ОСНОВНЫЕ СТАНДАРТЫ SVID После выхода SVR 2 группа USG выпустила документ под названием System V Interface Definition, в котором описывались внешние интерфейсы UNIX версий System V. 4. ANSI В конце 1989 года Американский национальным институтом стандартов (American National Standarts Institute, ANSI) был утвержден стандарт X 3. 159 -1989 языка программирования С. Цель – улучшение переносимости программ, написанных на С, в различные ОС. Стандарт определяет синтаксис и семантику языка, а так же содержимое стандартной библиотеки. 3.
4. НЕКОТОРЫЕ ИЗВЕСТНЫЕ ВЕРСИИ UNIX AIX – версия UNIX фирмы IBM на базе SVR 2 с чертами SVR 4, BSD и OSF/1. Собственная система администрации. 2. HP-UX - версия UNIX фирмы Hewlett-Packard. 3. IRIX - версия UNIX фирмы Silicon Graphics, предназначенная для аппаратной платформы этого производителя (MIPS). Полностью 64 -разрядная. 4. Digital UNIX - версия OSF/1 фирмы Digital Equipment Corporation (DEC). 64 -разрядная, разработанная в первую очередь для платформы Alpha, мощная поддержка сети. 1.
4. НЕКОТОРЫЕ ИЗВЕСТНЫЕ ВЕРСИИ UNIX SCO UNIX - версия System V фирм Santa Cruz Operation, Microsoft и Interactive Systems для Intel 386. C 1995 года поддерживает более 900 аппаратных платформ и более 2000 периферийных устройств. 6. Solaris - версия UNIX фирмы Sun Microsystems. 64 разрядная архитектура, поддержка многих распространенных аппаратных платформ. 5.
5. ПРИЧИНЫ ПОПУЛЯРНОСТИ UNX Код системы написан на языке высокого уровня С, что сделало ее открытой, простой для понимания, легко модифицируемой и переносимой. 2. UNIX – многозадачная многопользовательская система с широким спектром услуг. 3. Наличие стандартов. 4. Простой и мощный модульный пользовательский интерфейс. 5. Единая, легко обслуживаемая иерархическая файловая система. 6. Большое количество приложений, в т. ч. свободно распространяемых. 1.
6. ОБЩИЙ ВЗГЛЯД НА АРХИТЕКТУРУ UNIX
6. ОБЩИЙ ВЗГЛЯД НА АРХИТЕКТУРУ UNIX В центре находится ядро системы (kernel). Ядро взаимодействует с аппаратной частью, изолируя от этого прикладные процессы. Ядро имеет набор услуг, которые предоставляются процессам с помощью системных вызовов. Второй уровень системы – приложения, системные или прикладные. Схемы их взаимодействия с ядром одинаковы.
6. ОБЩИЙ ВЗГЛЯД НА АРХИТЕКТУРУ UNIX Ядро обеспечивает базовую функциональность ОС: создает процессы и управляет ими, разделяет память и обеспечивает доступ к файлам и периферийным устройствам. Взаимодействие прикладных процессов с ядром происходит с помощью интерфейса системных вызовов – набора услуг ядра с определенным форматом запроса на услуги. Процесс запрашивает услугу посредством системного вызова определенной функции ядра. Ядро от имени процесса выполняет запрос и возвращает процессу необходимые данные.
6. ОБЩИЙ ВЗГЛЯД НА АРХИТЕКТУРУ UNIX Ядро состоит из трех основных подсистем: 1. Файловая подсистема 2. Подсистема управления процессами и памятью 3. Подсистема ввода/вывода.
6. ОБЩИЙ ВЗГЛЯД НА АРХИТЕКТУРУ UNIX Файловая подсистема обеспечивает доступ к данным, находящимся на дисковых накопителях, или к периферийным устройствам. Она контролирует права доступа к файлам, выполняет операции размещения и удаления файла, выполняет чтение/запись данных файла. Она же обеспечивает перенаправление запросов, адресованных периферийным устройствам, соответствующим модулям подсистемы ввода/вывода.
6. ОБЩИЙ ВЗГЛЯД НА АРХИТЕКТУРУ UNIX Подсистема управления процессами контролирует: Создание и удаление процессов Распределение системных ресурсов (памяти, вычислительных ресурсов) между процессами Синхронизацию процессов Межпроцессное взаимодействие В каждый момент времени на компьютере может выполняться только один процесс. Подсистема управления процессами создает иллюзию многозадачности, распределяя во времени выполнение процессов.
6. ОБЩИЙ ВЗГЛЯД НА АРХИТЕКТУРУ UNIX Планировщик процессов (sheduler) разрешает конфликты процессов в конкуренции за системные ресурсы. Модуль управления памятью обеспечивает распределение оперативной памяти для прикладных задач. Каждый процесс выполняется в своем собственном логическом адресном пространстве – это виртуальная память, механизм которой поддерживают все современные ОС. Модуль межпроцессного взаимодействия отвечает за уведомление процессов о различных событиях и возможность передачи данных между процессами.
6. ОБЩИЙ ВЗГЛЯД НА АРХИТЕКТУРУ UNIX Подсистема ввода/вывода выполняет запросы файловой подсистемы и подсистемы управления процессами для доступа к периферийным устройствам (дискам, терминалам и т. п. ). Она обеспечивает необходимую буферизацию данных и взаимодействует с драйверами устройств – специальными модулями ядра, непосредственно обслуживающими внешние устройства.
SPO_tema_1_vvedenie.pptx