Принцип работы специальная компьютерная система
Суть компьютера, его назначение и принцип работы. Возможности и области применения. Главные составные части, важные характеристики его узлов.
Компьютер представляет собой прибор, способный выполнять заранее заданную программой последовательность операций. Данная последовательность операций определяется исполняемой программой. Мы не будем рассматривать узко специализированные компьютерные системы. Чаще всего компьютер представляет универсальное устройство, и выполняет те функции, которые предусмотрены запущенной в данный момент на нем программой. В быту чаще всего используются программы для работы в интернете, для использования электронной почты, набор и редактирование текстов с последующей их распечаткой на принтере, для различных развлечений в виде компьютерных игр и просмотра фильмов.
Суть и назначение компьютера
Первые компьютеры предназначались для математических вычислений. Даже самые простые приборы этой области значительно превосходят возможности людей.
Вторым основным применением стало создание различных баз данных. Современные базы данных, например, правительства или крупного банка, содержат огромное количество информации. Работа с таким объемом информации требует применение сложных компьютеров со специальной системой ввода-вывода и надежным хранением данных.
Третьим назначением является управление различными устройствами, сложной техникой или объектами. Даже в бытовой технике встречаются компьютерные устройства. А что говорить о космических кораблях или атомных электростанциях. Компьютеры позволяют собирать большое количество информации о состоянии системы, мгновенно ее обрабатывать, и принимать оптимальное решение о дальнейшем управлении системой.
Четвёртое. Развитие компьютеров достигло такого уровня, что они стали важным информационным инструментом и в каждом офисе, и в каждом доме. Теперь многая работа с информацией производится через компьютер. Это и набор текста, и просмотр видео и фильмов, навигация в Интернете и развлечение играми.
Пятое. Достижения в данной области позволяют создавать современные суперкомпьютеры. Они предназначены для моделирования очень сложных физических и прочих процессов. Например, для расчетов ядерной реакции или глобальных климатических изменений. Еще одним направлением является создание искусственного интеллекта.
В связи с кризисом классической структуры ЭВМ дальнейшее поступательное развитие вычислительной техники напрямую связано с переходом к параллельным вычислениям, с идеями построения многопроцессорных систем и сетей, объединяющих большое количество отдельных процессоров и (или) ЭВМ. Здесь появляются огромные возможности совершенствования средств вычислительной техники. Но следует отметить, что при несомненных практических достижениях в области параллельных вычислений, до настоящего времени отсутствует их единая теоретическая база.
Термин вычислительная система появился в начале - середине 60-х гг. при появлении ЭВМ III поколения. Это время знаменовалось переходом на новую элементную базу - интегральные схемы. Следствием этого явилось появление новых технических решений: разделение процессов обработки информации и ее ввода-вывода, множественный доступ и коллективное использование вычислительных ресурсов в пространстве и во времени. Появились сложные режимы работы ЭВМ - многопользовательская и многопрограммная обработка.
Под вычислительной системой (ВС) понимают совокупность взаимосвязанных и взаимодействующих процессоров или ЭВМ, периферийного оборудования и программного обеспечения, предназначенную для сбора, хранения, обработки и распределения информации.
Отличительной особенностью ВС по отношению к ЭВМ является наличие в них нескольких вычислителей, реализующих параллельную обработку. Создание ВС преследует следующие основные цели: повышение производительности системы за счет ускорения процессов обработки данных, повышение надежности и достоверности вычислений, предоставление пользователям дополнительных сервисных услуг и т.д.
Параллелизм в вычислениях в значительной степени усложняет управление вычислительным процессом, использование технических и программных ресурсов. Эти функции выполняет операционная система ВС.
Классификация вычислительных систем
Существует большое количество признаков, по которым классифицируют вычислительные системы.
- универсальные
- специализированные.
- многомашинные
- многопроцессорные
- процессоров;
- оперативной памяти;
- каналов связи.
- однородные системы
- неоднородные системы.
- централизованные
- децентрализованные
- со смешанным управлением.
- территориально-сосредоточенные –это когда все компоненты располагаются в непосредственной близости друг от друга;
- распределенные –это когда компоненты могут располагаться на значительном расстоянии, например, вычислительные сети;
- структурно-одноуровневые –это когда имеется лишь один общий уровень обработки данных;
- многоуровневые(иерархические) структуры –это когда в иерархических ВС машины или процессоры распределены по разным уровням обработки информации, некоторые машины (процессоры) могут специализироваться на выполнении определенных функций.
- Магистральные (конвейерные) МПВС, у которых процессор одновременно выполняет разные операции над последовательным потоком обрабатываемых данных. По принятой классификации такие МПВС относятся к системам с многократным потоком команд и однократным потоком данных (МКОД или MISD — Multiple Instruction Single Data).
- Векторные МПВС, у которых все процессоры одновременно выполняют одну команду над различными данными — однократный поток команд с многократным потоком данных (ОКМД или SIMD — Single Instruction Multiple Data).
- Матричные МПВС, у которых микропроцессор одновременно выполняет разные операции над последовательными потоками обрабатываемых данных —многократный поток команд с многократным потоком данных (МКМД или MIMD — Multiple Instruction Multiple Data).
- структура MIMD в классическом ее варианте;
- параллельно-конвейерная модификация, иначе MMISD, то есть многопроцессорная (Multiple) MISD-архитектура;
- параллельно-векторная модификация, иначе MSIMD, то есть многопроцессорная SIMD-архитектура.
- Первый подход применяется при создании небольших кластерных систем. В кластер объединяются полнофункциональные компьютеры, которые продолжают работать и как самостоятельные единицы, например, компьютеры учебного класса или рабочие станции лаборатории.
- Второй подход применяется в тех случаях, когда целенаправленно создается мощный вычислительный ресурс. Тогда системные блоки компьютеров компактно размещаются в специальных стойках, а для управления системой и для запуска задач выделяется один или несколько полнофункциональных компьютеров, называемых хост-компьютерами. В этом случае нет необходимости снабжать компьютеры вычислительных узлов графическими картами, мониторами, дисковыми накопителями и другим периферийным оборудованием, что значительно удешевляет стоимость системы.
- высокая суммарная производительность;
- высокая надежность работы системы;
- наилучшее соотношение производительность/стоимость;
- возможность динамического перераспределения нагрузок между серверами;
- легкая масштабируемость, то есть наращивание вычислительной мощности путем подключения дополнительных серверов;
- удобство управления и контроля работы системы.
- задержки разработки и принятия общих стандартов;
- большая доля нестандартных и закрытых разработок различных фирм, затрудняющих их совместное использование;
- трудности управления одновременным доступом к файлам;
- сложности с управлением конфигурацией, настройкой, развертыванием, оповещениями серверов о сбоях и т.п.
- память: T2-P: PC1600/PC2100/PC2700/PC3200, до 2Гб, 2 DIMM слота
- память: T2-R: PC1600/PC2100/PC2700, до 2Гб, 2 DIMM слота;
- материнская плата: P4P8T, Intel 865G / ICH 5, 800/533/400МГц FSB
- материнская плата: P4R8T, ATI RS300/IXP200, 800/533/400MГц FSB;
- видео: интегрированная 64Mб
- ATI Radeon 9100, DVI, 64Mб;
- слоты: одинаковы для обеих систем: PCI, AGP 8x;
- сеть: 10/100Mбит/с, Wireless 802.11b WiFi
- сеть: 10/100Мбит/с;
- аудио: 6-канальный AC97 S/PDIF выход кнопки Audio DJ, Audio CD, FM radio studio
- аудио: 6-канальный AC97 S/PDIF выход;
- карты памяти: Compact Flash Type I/II, Microdrive, Memory Stick, Memory Stick Pro, Secure Digital, MultiMedia Card, Smart Media Card
- карты памяти: нет;
- отсеки для приводов: 3.5 FDD, 3.5 HDD, 5.25 ODD
- отсеки для приводов: 3.5 FDD, 3.5 HDD, 5.25 ODD;
- выходы на задней панели: 4xUSB 2.0, PS/2 клавиатура, PS/2 мышь, VGA (D-SUB), Game / MIDI, RJ-45 LAN (10/100 Мбит/с), Line-in/out, выход динамиков, FM антенна, антенна адаптера 802.11b, GIGA LAN, ТВ-тюнер
- выходы на задней панели: 2xUSB 2.0, PS/2 клавиатура, PS/2 мышь, VGA (D-SUB), Game / MIDI, RJ-45 LAN(10/100 Мбит/с), Line-in/out, выход наушников, FM антенна
- Обеспечение удобства, эффективности, надежности, безопасности выполнения пользовательских программ. Для пользователя самое главное – чтобы его программа работала, вела себя предсказуемо , выдавала необходимые ему правильные результаты, не давала сбоев, не подвергалась внешним атакам. Вычислительную среду для такого выполнения программ и обеспечивает операционная система.
- Обеспечение удобства, эффективности, надежности, безопасности использования компьютера. Операционная система обеспечивает максимальную полезность и эффективность использования компьютера и его ресурсов, обрабатывает прерывания, защищает компьютер от сбоев, отказов и хакерских атак . Эта деятельность ОС может быть не столь заметной для пользователя, но она осуществляется постоянно.
- Обеспечение удобства, эффективности, надежности, безопасности использования сетевых, дисковых и других внешних устройств, подключенных к компьютеру. Особая функция операционной системы, без которой невозможно использовать компьютер, - это работа с внешними устройствами. Например, ОС обрабатывает любое обращение к жесткому диску, обеспечивая работу соответствующего драйвера (низкоуровневой программы для обмена информацией с диском) и контроллера (специализированного процессора, выполняющего команды ввода-вывода с диском). Любая "флэшка", вставленная в USB- слот компьютера, распознается операционной системой, получает свое логическое имя (в системе Windows – в виде буквы, например, G) и становится частью файловой системы компьютера на все время, пока она не будет извлечена (демонтирована).
- Подчеркнем особую важность среди функций современных ОС обеспечения безопасности, надежности и защиты данных. Следует учитывать, что компьютер и операционная система работают в сетевом окружении, в котором постоянно возможны и фактически происходят атаки хакеров и их программ, ставящие своей целью нарушение работы компьютера, "взлом" конфиденциальных данных пользователя, хранящихся на нем, похищение логинов, паролей, использование компьютера как "робота" для рассылки реклам или вирусов и др. В связи с этим в 2002 г. фирма Microsoft объявила инициативу по надежным и безопасным вычислениям (trustworthy computing initiative ), целью которой является повышение надежности и безопасности всего программного обеспечения, прежде всего – операционных систем. В данном курсе мы будем подробно останавливаться на том, какие действия по обеспечению надежности, безопасности и защите данных предпринимают современные ОС.
- Аппаратура (hardware) компьютера, основные части которой – центральный процессор (Central Processor Unit - CPU ), выполняющий команды (инструкции) компьютера; память (memory),хранящая данные и программы, и устройства ввода- вывода, или внешние устройства (input-output devices, I/O devices ), обеспечивающие ввод информации в компьютер и вывод результатов работы программ в форме, воспринимаемой пользователем-человеком или другими программами. Часто на программистском слэнге аппаратуру называют "железом".
- Операционная система (operating system) – основной предмет нашего курса; системное программное обеспечение, управляющее использованием аппаратуры компьютера различными программами и пользователями.
- Прикладное программное обеспечение (applications software) – программы, предназначенные для решения различных классов задач. К ним относятся, в частности, компиляторы, обеспечивающие трансляцию программ с языков программирования, например, C++, в машинный код (команды); системы управления базами данных (СУБД ); графические библиотеки, игровые программы, офисные программы. Прикладное программное обеспечение образует следующий, более высокий уровень, по сравнению с операционной системой, и позволяет решать на компьютере различные прикладные и повседневные задачи.
- Пользователи (users) – люди и другие компьютеры. Отнесение пользователя-человека к компонентам компьютерной системы - вовсе не шутка, а реальность: любой пользователь фактически становится частью вычислительной системы в процессе своей работы на компьютере, так как должен подчиняться определенным строгим правилам, нарушение которых приведет к ошибкам или невозможности использования компьютера, и выполнять большой объем типовых рутинных действий – почти как сам компьютер. Одна из важных функций ОС как раз и состоит в том, чтобы избавить пользователя от большей части такой рутинной работы (например, резервного копирования файлов ) и позволить ему сосредоточиться на работе творческой. Другие компьютеры в сети также могут играть роль пользователей ( клиентов ) по отношению к данному компьютеру, выступающему в роли сервера, используемого, например, для хранения файлов или выполнения больших программ.
Взаимодействие на уровне оперативной памяти (ОП) сводится к программной реализации общего поля оперативной памяти, что несколько проще, но также требует существенной модификации ОС. Под общим полем имеется в виду равнодоступность модулей памяти: все модули памяти доступны всем процессорам и каналам связи.
На уровне каналов связи взаимодействие организуется наиболее просто и может быть достигнуто внешними по отношению к ОС программами-драйверами, обеспечивающими доступ от каналов связи одной машины к внешним устройствам других (формируется общее поле внешней памяти и общий доступ к устройствам ввода-вывода).
Все вышесказанное иллюстрируется схемой взаимодействия компьютеров в двухмашинной ВС, представленной на рис. 1.
Рис. 1. Схема взаимодействия компьютеров в двухмашинной ВС
Ввиду сложности организации информационного взаимодействия на 1-м и 2-м уровнях в большинстве многомашинных ВС используется 3-й уровень, хотя и динамические характеристики (в первую очередь быстродействие), и показатели надежности таких систем существенно ниже.
Многопроцессорные системы (МПС) содержат несколько процессоров, информационно взаимодействующих между собой либо на уровне регистров процессорной памяти, либо на уровне ОП. Этот тип взаимодействия используется в большинстве случаев, ибо организуется значительно проще и сводится к созданию общего поля оперативной памяти для всех процессоров. Общий доступ к внешней памяти и устройствам ввода-вывода обеспечивается обычно через каналы ОП. Важным является и то, что многопроцессорная вычислительная система работает под управлением единой ОС, общей для всех процессоров. Это существенно улучшает динамические характеристики ВС, но требует наличия специальной, весьма сложной ОС.
Однако МПС имеют и существенные недостатки. Они, в первую очередь, связаны с использованием ресурсов общей оперативной памяти. При большом количестве объединяемых процессоров возможно возникновение конфликтных ситуаций, в которых несколько процессоров обращаются с операциями типа ”чтение” и ”запись” к одним и тем же ячейкам памяти. Помимо процессоров к ОП подключаются все процессоры ввода-вывода, средства измерения времени и т.д. Поэтому вторым серьезным недостатком МПС является проблема коммутации и доступа абонентов к ОП. Процедуры взаимодействия очень сильно усложняют структуру ОС МПС. Опыт построения подобных систем показал, что они эффективны при небольшом числе объединяемых процессоров (от 2 до 10). Схема взаимодействия процессоров в ВС показана на схеме рис. 2. Типичным примером массовых многомашинных ВС могут служить компьютерные сети, примером многопроцессорных ВС — суперкомпьютеры.
Рис. 2. Схема взаимодействия процессоров в ВС
Неоднородная ВС включает в свой состав различные типы компьютеров или процессоров. При построении системы приходится учитывать их различные технические и функциональные характеристики, что существенно усложняет создание и обслуживание неоднородных систем.
В децентрализованных системах функции управления распределены между ее элементами. Каждая ЭВМ (процессор) системы сохраняет известную автономию, а необходимое взаимодействие между элементами устанавливается по специальным наборам сигналов. С развитием ВС и, в частности, сетей ЭВМ, интерес к децентрализованным системам постоянно растет.
В системах со смешанным управлением совмещаются процедуры централизованного и децентрализованного управления. Перераспределение функций осуществляется в ходе вычислительного процесса, исходя из сложившейся ситуации.
По принципу закрепления вычислительных функций за отдельными ЭВМ (процессорами) различают системы с жестким и плавающим закреплением функций. В зависимости от типа ВС следует решать задачи статического или динамического размещения программных модулей и массивов данных, обеспечивая необходимую гибкость системы и надежность ее функционирования.
На рис. 3 представлена принципиальная схема классификации вычислительных систем.
Рис. 3. Принципиальная схема классификации вычислительных систем.
Суперкомпьютеры и особенности их архитектуры
К суперкомпьютерам относятся мощные многопроцессорные вычислительные машины с быстродействием сотни миллионов — десятки миллиардов операций в секунду. Создать такие высокопроизводительные компьютеры на одном микропроцессоре (МП) не представляется возможным ввиду ограничения, обусловленного конечным значением скорости распространения электромагнитных волн (300 000 км/с), т.к. время распространения сигнала на расстояние несколько миллиметров (линейный размер стороны МП) при быстродействии 100 млрд операций/с становится соизмеримым со временем выполнения одной операции. Поэтому суперкомпьютеры создаются в виде высокопараллельных многопроцессорных вычислительных систем (МПВС).
Рис. 3. Условные структуры однопроцессорной (SISD) и названных многопроцессорных ВС
Кластерные суперкомпьютеры и особенности их архитектуры
Существует технология построения больших компьютеров и суперкомпьютеров на базе кластерных решений. По мнению многих специалистов, на смену отдельным, независимым суперкомпьютерам должны прийти группы высокопроизводительных серверов, объединяемых в кластер.
Кластер - это связанный набор полноценных компьютеров, используемый в качестве единого вычислительного ресурса.
Удобство построения кластерных ВС заключается в том, что можно гибко регулировать необходимую производительность системы, подключая к кластеру с помощью специальных аппаратных и программных интерфейсов обычные серийные серверы до тех пор, пока не будет получен суперкомпьютер требуемой мощности. Кластеризация позволяет манипулировать группой серверов как одной системой, упрощая управление и повышая надежность.
Важной особенностью кластеров является обеспечение доступа любого сервера к любому блоку как оперативной, так и дисковой памяти. Эта проблема успешно решается, например, объединением систем SMP-архитектуры на базе автономных серверов для организации общего поля оперативной памяти и использованием дисковых систем RAID для памяти внешней (SMP — Shared Memory multiprocessing, технология мультипроцессирования с разделением памяти).
Для создания кластеров обычно используются либо простые однопроцессорные персональные компьютеры, либо двух- или четырех- процессорные SMP-серверы. При этом не накладывается никаких ограничений на состав и архитектуру узлов. Каждый из узлов может функционировать под управлением своей собственной операционной системы. Чаще всего используются стандартные ОС: Linux, FreeBSD, Solaris, Unix, Windows NT. В тех случаях, когда узлы кластера неоднородны, то говорят о гетерогенных кластерах.
1 пример из «жизни» систем
Blue Gene будет установлен в Ливерморскую национальную лабораторию им. Лоуренса. Основные его задачи - моделирование погодных условий и изучение космического пространства.
Blue Gene будет состоять из 130 тысяч процессоров, и его производительность будет составлять 360 терафлопс.
Чипы IBM используются в системе, неформально называемой Big Mac. PowerPC 970 состоит из 1100 двухпроцессорных компьютеров Apple G5, занимая в общем списке третью строчку, с производительностью в 10,3 триллионов операций в секунду.
Процессоры Opteron используются в 2816-процессорном кластере, и его производительность составляет 8 триллионов операций в секунду.
Интересен факт, что общая производительность 500 лучших систем растет экспоненциально, увеличиваясь в десять раз примерно каждые четыре года. Порог в 1000 терафлопов (триллионов операций в секунду) планируется достигнуть к 2005 году.
Самые прочные позиции в списке у HP или IBM: соотношение числа систем - 165 против 159 в пользу HP
Компьютерная система включает в себя вычислительные машины, программное обеспечение и периферийные устройства, выполняющие обработку данных.
Стоит упомянуть о различиях понятий «вычислительная машина» и «компьютерная система». Понятие вычислительная машина значительно уже и включает в себя технические средства, достаточные для проведения обработки данных и получения результатов в определенной форме. В состав вычислительной машины входит системное программное обеспечение.
Архитектура компьютерных систем предназначена для решения обширного круга задач, направленных на создание комплекса аппаратных и программных средств. Предназначение архитектуры определять основные правила для обеспечения взаимодействия элементов компьютерной системы.
Безусловно, в основе современной архитектуры компьютерных систем лежат все те же основные принципы принстонской архитектуры: программного управления, однородности памяти и произвольного доступа к памяти, хотя реальная структура значительно сложнее. Можно утверждать, что в последнее время для обеспечения потребности пользователей и разработчиков в повышении качества и производительности систем в целом происходит отстранение от архитектуры фон-Неймана.
Выделим факторы, влияющие на современную архитектуру компьютерной системы
- набор команд, воспринимаемых компьютером;
- быстродействие центрального процессора;
- количество периферийных устройств подключаемых к вычислительной машине одновременно;
- количество входящих в систему компьютеров и обеспечение быстродействия совместной работы.
Стремление разработчиков учесть эти и другие факторы позволяет усовершенствовать архитектуру компьютерных систем. Рассмотрим некоторых современные принципы построения архитектуры.
Принцип открытой архитектуры. Данный принцип изначально был внедрен в миниЭВМ третьего поколения американской фирмы DEC еще в 70-х годах. Впоследствии он получил широкое распространение в компьютерах фирмы IBM тем самым обеспечив успех компьютеров IBM PC. Принцип заключается в возможности подключения устройств и программ различных производителей в одной системе.
Принцип многопроцессорной архитектуры. Основан на совместной работе нескольких процессоров одновременно, что значительно увеличивает производительность компьютера. Количество процессоров используемых в системе зависит от мощности вычислительных машин, а так же решаемых ими задач и может варьироваться от двух-четырех до нескольких десятков.
Изначально данный принцип применялся в основном в научной среде для решения инженерных расчетов, систем автоматического проектирования, решения задач в глобальном масштабе и режиме реального времени атомной энергетики, метеорологии, структурной биологии, генетики, распознавания речи и изображений и других областях, и использовался лишь на суперкомпьютерах. В настоящее время из-за существенного роста бизнеса, необходимости использования корпоративных систем и совместной работы, обработки большого объема информациии необходимостью отсутствия сбоев и простоя в работе, данный принцип архитектуры стал применяться и в таких сферах как обработка транзакций в режиме реального времени, создание хранилищ данных для организации систем поддержки принятия решений.
К типам многопроцессорных систем относятся системы высокой надежности, системы для высокопроизводительных вычислений и многопоточные системы.
Принято выделять несколько архитектур многопроцессорных систем.
- SMP (Symmetric Multi-Processing) — симметричная многопроцессорная обработка, где два или более одинаковых процессора подключены к одной общей оперативной памяти, имеют полный доступ ко всем устройствам ввода / вывода, и управляются с помощью одного экземпляра ОС, в котором все процессоры имеют равные права. Наиболее распространенные многопроцессорные системы сегодня используют именно эту архитектуру.
- MPP (Massively Parallel Processing) — использует множество отдельных процессоров которые параллельно выполняют одну программу. MPP похожа на SMP, основное отличие в том, что в системах SMP все процессоры имеют равноправный доступ к памяти, тогда как в MPP, каждый процессор имеет доступ к определенным разделам памяти, причем в рамках этих разделов могут работать различные операционные системы. MPP системы называют системами массовой параллельной обработки. Они используются в научной сфере, и в крупном бизнесе.
- NUMA (Non-Uniform Memory Access) — время доступа к памяти зависит от объема памяти самого процессора. Процессор получает доступ к своей локальной памяти быстрее, т. к. имеет к ней прямой доступ, минуя системную шину, другие же процессоры обращаются к ней через шину. Архитектура NUMA называется неоднородной, потому что доступ к памяти быстрее, когда процессор обращается к своей собственной памяти, чем когда он заимствует информацию из памяти другого процессора. NUMA компьютеры обладают масштабируемостью из MPP и простотой программирования SMP. Принципы доступа к памяти данной архитектуры встречаются в различных Unix-подобных операционных системах.
Принцип многоуровневой памяти. Память компьютерных систем, как и любой вычислительной машины находится в постоянном внимании со стороны пользователей и разработчиков, так как скорость работы компьютера напрямую связанна с быстродействием оперативной памяти. Неприемлемость с экономической точки зрения быстродействующей энергозависимой памяти привело к созданию этого принципа. Принцип состоит в организации работы памяти по определенным уровням. Для оперативной памяти основная часть имеет большую емкость состоит из мелких и достаточно дешёвых элементов, а дополнительная память или кэш-память состоит из меньших по емкости быстродействующих элементов. Данные постоянно необходимые для обращения процессора хранятся в быстродействующей кэш-памяти, а оперативная информация достаточно больших объемов в основной памяти.
Принцип прямого доступа к памяти (DMA — Direct Memory Access) позволяет некоторым аппаратным подсистемам получить доступ к памяти, без участия центрального процессора. Предназначен в основном для устройств, обменивающихся большими блоками данных с оперативной памятью, обмена данными между внешним устройством. Инициатором обмена всегда выступает внешнее устройство, процессор инициализирует контроллер DMA, и далее обмен выполняется под управлением контроллера, процессор в это время может продолжать работу. DMA также могут быть использованы для копирования или перемещения данных в самой памяти.
Принцип коллективной работы. Данный принцип позволяет правильно и четко сформировать работу коллективов направленную на совместную деятельность посредством компьютерной системы, а именно дает возможность осуществлять совместные действия с целью достижения поставленных задач, например подготавливать отчеты по реализации проектов, разрабатывать программные продукты, принимать решения и многое другое связанное с одновременной работай коллектива. Реализация принципа коллективной работы стало предпосылкой появление такого рода деятельности как удаленная работа или дистанционная трудовая деятельность.
В заключении стоит упомянуть еще два принципа, которые начали внедряться в архитектуру современных компьютерных систем в последние годы, применяемые частично в суперкомпьютерах, а возможно и представляющие им конкуренцию.
Принцип облачных решений. Определенный подход к размещению, предоставлению и потреблению приложений и компьютерных ресурсов, прикотором приложения и ресурсы становятся доступны через Интернет в виде сервисов, потребляемых на различных платформах и устройствах. Особенности: мгновенная готовность к работе, неограниченная емкость ресурсов, большой выбор ПО, виртуализация, высокая способность к масштабированию.
Принцип ориентированности на данные или компьютерные системы DIC (Data-Intensive Computing). DIC является классом параллельных вычислений приложений, использующих данные параллельного подхода к обработке больших объемов данных. Общая схема работы DIC разделяется на три фазы: сбор данных, извлечение информации из них и перевод информации в форму, удобную для восприятия человеком.
Текущая ситуация развития архитектуры компьютерных систем далеко ушла от изначальной, предложенной Фон-Нейманом, и на первый план выходят представленные принципы. Безусловно, некоторые из описанных принципов проходят лишь начальные стадии внедрения и апробации в работе, а какие-то, получив новое название, продолжают свое существование. Итак, современная компьютерная система представляет собой компьютеры со множеством параллельно работающих процессоров, с многоуровневой памятью, предусматривающей прямой доступ к многочисленным подключаемым устройствам, работа которых позволяет принимать решения, обрабатывать большие объемы данных, строить базы знаний, грамотно строить совместную, в том числе и удаленную, работу группы людей.
1. Орлов С. А., Цилькер Б. Я. Организация ЭВМ и систем. — СПб.: Питер, 2011. — 688 с.
2. Архитектуры и топологии многопроцессорных вычислительных систем. / А. В. Богданов, В. В. Корхов, В. В. Мареев, Е. Н. Станкова / — М.: ИНТУИТ.РУ «Интернет-Университет Информационных Технологий», 2004. — 176 с.
3. Черняк Л. Суперкомпьютеры, смена эпох. — Computerworld Россия. — 2013. — N25
После краткого вводного обзора перейдем к основным понятиям и их определениям. Прежде всего, дадим определение операционной системы.
Операционная система ( ОС, в англоязычном варианте - operating system ) – базовое системное программное обеспечение , управляющее работой компьютера и являющееся посредником ( интерфейсом ) между аппаратурой ( hardware ), прикладным программным обеспечением ( application software ) и пользователем компьютера ( user ). Фактически операционная система с точки зрения пользователя– это как бы продолжение аппаратуры, надстройка над ней, обеспечивающая более удобное, надежное и безопасное использование компьютеров и компьютерных сетей.
Основные цели работы операционной системы следующие.
Компоненты компьютерной системы
Чтобы лучше понять место и роль операционной системы в процессе вычислений, рассмотрим компьютерную систему в целом. Она состоит из следующих компонентов:
Девизом фирмы Sun Microsystems еще в 1982 г., при ее создании, стал афоризм " The network is the computer " ( Сеть – это компьютер ). Эту истину следует помнить всем пользователям компьютеров и их операционных систем и шире использовать возможности компьютерных сетей, распределяя различные функции между ее различными компьютерами (или хостами – hosts, как на компьютерном слэнге принято называть компьютеры в сети). Изолированный от сети компьютер ныне – это "каменный век". Отсюда – неразрывная связь операционных систем и сетей.
Общая картина функционирования компьютерной системы
увеличить изображение
Рис. 1.1. Общая картина функционирования компьютерной системы
Пользователям компьютера доступны верхние уровни программного обеспечения – системные и прикладные программы (например, компиляторы, текстовые редакторы, системы управления базами данных ). Эти программы взаимодействуют с операционной системой, которая, в свою очередь , управляет работой компьютера.
Классификация компьютерных систем
Для того, чтобы представить себе разнообразие и масштабируемость операционных систем, рассмотрим прежде всего классификацию современных компьютерных систем, для которых разрабатываются и используются ОС – от суперкомпьютеров до мобильных устройств, - и суммируем требования к ОС для этих классов компьютеров.
Суперкомпьютеры (super-computers) – мощные многопроцессорные компьютеры, наиболее современные из которых имеют производительность до нескольких petaflops (10 15 вещественных операций в секунду; аббревиатура flops расшифровывается как floating-point operations per second ). Пример – суперкомпьютер "Ломоносов", установленный в МГУ. Суперкомпьютеры используются для вычислений, требующих больших вычислительных мощностей, сверхвысокой производительности и большого объема памяти. В реальной практике это прежде всего задачи моделирования – например, моделирования климата в регионе и прогнозирования на основе построенной модели погоды в данном регионе на ближайшие дни. Особенностью суперкомпьютеров является их параллельная архитектура – как правило, все они являются многопроцессорными. Соответственно, ОС для суперкомпьютеров должны поддерживать распараллеливание решения задач и синхронизацию параллельных процессов , одновременно решающих подзадачи некоторой программы.
Многоцелевые компьютеры, или компьютеры общего назначения (mainframes) – традиционное историческое название для компьютеров, распространенных в 1950-х – 1970-х гг., еще до эпохи всеобщего распространения персональных компьютеров. Именно для mainframe -компьютеров создавались первые ОС. Типичные примеры таких компьютеров: IBM 360/370; из отечественных – М-220, БЭСМ-6. На таких компьютерах решались все необходимые задачи – от расчета зарплаты сотрудников в организации до расчета траекторий космических ракет. Подобный компьютер выглядел достаточно неуклюже и громоздко и мог занимать целый большой зал. Вспомните, например. огромный компьютер HAL на космическом корабле в фантастическом фильме 1960-х гг. Стэнли Кубрика "Космическая одиссея 2001 г." Но никакие фантасты не смогли предвидеть прогресса компьютерной техники XXI века – прежде всего, того, что мощный компьютер будет не занимать целую комнату, а помещаться в небольшом ящике. Параметры ранних mainframe -компьютеров были весьма скромными: быстродействие - несколько тысяч операций в секунду, оперативная память – несколько тысяч ячеек (слов). Недостаточно удобным был пользовательский интерфейс (интерактивное взаимодействие с компьютерами было реализовано гораздо позже, в 1960-х гг.). Тем не менее, на таких компьютерах решались весьма серьезные задачи оборонного и космического назначения. С появлением персональных и портативных компьютеров классические mainframe -компьютеры ушли в прошлое. Однако следует подчеркнуть, что в именно в операционных системах для mainframe -компьютеров были реализованы все основные методы и алгоритмы, рассмотренные в данном курсе, которые впоследствии были использованы в ОС для персональных, карманных компьютеров и мобильных устройств.
Кластеры компьютеров (computer clusters) – группы компьютеров, физически расположенные рядом и соединенные друг с другом высокоскоростными шинами и линиями связи. Кластеры компьютеров используются для высокопроизводительных параллельных вычислений . Наиболее известны в мире компьютерные кластеры, расположенные в исследовательском центре CERN (Швейцария) – том самом, где находится большой адронный коллайдер. Как правило, компьютерные кластеры располагаются в исследовательских институтах и в университетах, в том числе, например, в Петродворцовом учебно-научном комплексе СПбГУ они используются в Петродворцовом телекоммуникационном центре (ПТЦ), на нашем математико-механическом и на физическом факультетах. Операционная система для кластеров должна, помимо общих возможностей, предоставлять средства для конфигурирования кластера, управления компьютерами (процессорами), входящими в него, распараллеливания решения задач между компьютерами кластера и мониторинга кластерной компьютерной системы. Примерами таких ОС являются ОС фирмы Microsoft – Windows 2003 for clusters ; Windows 2008 High-Performance Computing ( HPC ).
Настольные компьютеры (desktops) – это наиболее распространенные в настоящее время компьютеры, которыми пользуются дома или на работе все люди, от школьников и студентов до домашних хозяек. Такой компьютер размещается на рабочем столе и состоит из монитора, системного блока, клавиатуры и мыши. Параметры современного (2010 г.) настольного компьютера, наиболее приемлемые для использования современных ОС: быстродействие процессора 1 – 3 ГГц, оперативная память – 1 – 8 гигабайт и более, объем жесткого диска ( hard disk drive – HDD ) – 200 Гб – 1 Тб и более (1 терабайт, Тб = 1024 Гб). Все разнообразие современных операционных систем ( Windows , Linux и др.) – к услугам пользователей настольных компьютеров. При необходимости на настольном компьютере можно установить две или более операционных системы, разделив его дисковую память на несколько разделов ( partitions ) и установив на каждый из них свою операционную систему, так что при включении компьютера пользователю предоставляется стартовое меню , из которого он выбирает нужную операционную систему для загрузки.
Портативные компьютеры (laptops, notebooks – дословно "компьютеры, помещающиеся на коленях"; "компьютеры-тетрадки") – это миниатюрные компьютеры, по своим параметрам не уступающие настольным, но по своим размерам свободно помещающиеся в небольшую сумку или рюкзак или, например, на коленях пользователя, летящего в самолете в командировку и не желающего терять времени даром. Ноутбуки стоят обычно в несколько раз дороже, чем настольные компьютеры с аналогичными характеристиками. На ноутбуках используются те же операционные системы, что и для настольных компьютеров (например, Windows или MacOS). Характерными чертами портативных компьютеров являются всевозможные встроенные порты и адаптеры для беспроводной связи: Wi-Fi (официально IEEE 802.11 ) – вид радиосвязи, позволяющая работать в беспроводной сети с производительностью 10-100 мегабит в секунду (используется обычно на конференциях, в гостиницах, на вокзалах, аэропортах – т.е. в зоне радиусом в несколько сотен метров от источника приема-передачи); Bluetooth – также радиосвязь на более коротких расстояниях (10 – 100 м для Bluetooth 3.0), используемая для взаимодействия компьютера с мобильным телефоном, наушниками, плейером и др. Внешние устройства (дополнительные жесткие диски, принтеры, иногда даже DVD-ROM ) подключаются к ноутбуку через порты USB . Еще лет 10 назад на ноутбуках активно использовались инфракрасные порты ( IrDA ), которые, однако, неудобны, так как требуют присутствия "ответного" IrDA – порта другого устройства на расстоянии 20-30 см от порта ноутбука, при отсутствии между ними препятствий. Другая характерная черта ноутбуков – это наличие кард-ридеров – портов для чтения всевозможных карт памяти, используемых в мобильных телефонах или цифровых фотокамерах; обеспечивается также интерфейс FireWire (официально – IEEE 1394 ) для подключения цифровой видеокамеры; таким образом, ноутбуки хорошо приспособлены для ввода, обработки и воспроизведения обработки мультимедийной информации. Ныне портативный компьютер имеется почти у каждого студента, что они и используют для подготовки к ответу на экзамене, либо для решения задач практикума, иногда прямо в университетском буфете. Один из критических параметров ноутбука – время работы его батарей без подзарядки; очень хорошо, если это время составляет порядка 10 часов, что пока сравнительно редко; на компьютерах, используемых автором, это время составляет не более 5 часов. Популярная разновидность ноутбука ныне – это нетбук - ноутбук, предназначенный для работы в сети, обычно менее мощный и поэтому более дешевый, а также более миниатюрный.
Карманные портативные компьютеры и органайзеры (КПК, handhelds, personal digital assistants – PDA) – это "игрушки для взрослых" в виде миниатюрного компьютера, помещающегося на ладони или в кармане, но по своему быстродействию иногда не уступающего ноутбуку. При всей привлекательности, серьезные недостатки КПК, с точки зрения автора, - это неудобство ввода информации (приходится пользоваться палочкой- стилусом, - ведь не носить же с собой еще и громоздкую клавиатуру, - либо микроскопической выдвижной клавиатурой, на которой фактически тем же стилусом только и можно работать), а также неудобство чтения информации на маленьком экране. Автор уже "наигрался" в подобные КПК, - например, типа PalmPilot, - предпочитает пользоваться ноутбуками, а самым надежным органайзером считает . небольшой бумажный блокнот. Однако молодежь приглашается к этой увлекательной интересной игре – через все в жизни нужно пройти. Современные КПК имеют фактически те же порты и адаптеры, что и ноутбуки – Wi-Fi , Bluetooth , IrDA , USB . Операционные системы для КПК аналогичны ОС для ноутбуков, но все же учитывают более жесткие ограничения КПК по объему оперативной памяти. В настоящее время для КПК широко используется ОС Windows Mobile – аналог Windows для мобильных устройств . До недавнего времени была также широко распространена PalmOS для органайзеров типа PalmPilot фирмы 3COM . Разумеется, для КПК имеется аппаратура и программное обеспечение для подключения к ноутбуку или настольному компьютеру с целью синхронизации данных, что обеспечивает дополнительную надежность .
Носимые компьютеры (wearable computers) – для повседневной жизни достаточно экзотические устройства, однако для специальных применений (например, встроенные в скафандр космонавта или в кардиостимулятор) они жизненно важны. Разумеется, их память и быстродействие значительно меньше, чем у настольных компьютеров, но критическим фактором является их сверхвысокая надежность , а для их операционных систем и прочего программного обеспечения – минимальное возможное время ответа (response time) – интервал , в течение которого система обрабатывает информацию от датчиков, от пользователя или из сети, превышение которого грозит катастрофическими последствиями. С этой точки зрения, ОС для носимых компьютеров можно отнести к системам реального времени.
Распределенные системы (distributed systems) – это системы, состоящие из нескольких компьютеров, объединенных в проводную или беспроводную сеть . Фактически, таковы ныне все компьютерные системы (вспомните девиз "Сеть – это компьютер "). Все операционные системы должны, таким образом, поддерживать распределенный режим работы, средства сетевого взаимодействие, высокоскоростную надежную передачу информации через сеть . Все эти вопросы подробно рассмотрены в данном курсе.
Системы реального времени (real-time systems) – вычислительные системы, предназначенные для управления различными техническими, военными и другими объектами в режиме реального времени. Характеризуются основным требованием к аппаратуре и программному обеспечению, в том числе к операционной системе: недопустимость превышения времени ответа системы, т.е. ожидаемого времени выполнения типичной операции системы. Для ОС требования реального времени накладывают весьма жесткие ограничения – например, в основном цикле работы системы недопустимы прерывания (так как они приводят к недопустимым временным затратам на их обработку). Системы реального времени – особая весьма серьезная и специфическая область, изучение которой выходит за рамки данного курса.
Приведенный обзор дает некоторое представление о разнообразии компьютерных систем в наше время. Для каждой из них должна быть разработана адекватная операционная система .
Читайте также: