- •Московский государственный институт
- •Лекция 1. Базовые понятия информации Введение
- •Информация, энтропия и избыточность при передаче данных
- •Информационные процессы
- •Основные структуры данных
- •Обработка данных
- •Способы представления информации и два класса эвм
- •Кодирование информации
- •Представление данных в эвм.
- •Форматы файлов
- •Кодирование чисел
- •Кодирование текста
- •Кодирование графической информации
- •Кодирование звука
- •Типы данных
- •Вопросы и задания
- •Лекция 2. Компьютер – общие сведения
- •Материнская плата
- •Интерфейсные шины
- •Основные внешние устройства компьютера
- •Вопросы и задания
- •Лекция 3. Многоуровневая компьютерная организация
- •Архитектура компьютера
- •Классическая структура эвм - модель фон Неймана
- •Особенности современных эвм
- •Вопросы и задания
- •Библиотеки стандартных программ и ассемблеры
- •Высокоуровневые языки и системы автоматизированного программирования
- •Диалоговые ос и субд
- •Прикладные программы иCase– технологии
- •Компьютерные сети и мультимедиа
- •Операционные системы
- •Лекция 5.Вычислительные системы - общие сведения Введение
- •Общие требования
- •Классификация компьютеров по областям применения
- •Персональные компьютеры и рабочие станции
- •Суперкомпьютеры
- •Увеличение производительности эвм, за счет чего?
- •Параллельные системы
- •Использование параллельных вычислительных систем
- •Закон Амдала и его следствия
- •Вопросы и задания
- •Лекция 6. Структурная организация эвм - процессор Введение
- •Что известно всем
- •Микропроцессорная система
- •Что такое микропроцессор?
- •Назначение элементов процессора
- •Устройство управления
- •Микропроцессорная память
- •Структура адресной памяти процессора
- •Интерфейсная часть мп
- •Тракт данных типичного процессора
- •Базовые команды
- •Трансляторы
- •Архитектура системы команд и классификация процессоров
- •Микроархитектура процессораPentiumIi
- •512 Кбайт
- •Вопросы и задания
- •Лекция 7. Структурная организация эвм - память Общие сведения
- •Верхняя
- •Расширенная
- •Верхняя память (Upper Memory Area) – это 384 Кбайт, зарезервированных у верхней границы системной памяти. Верхняя память разделена на несколько частей:
- •Первые 128 Кбайт являются областью видеопамяти и предназначены для использовании видеоадаптерами, когда на экран выводится текст или графика, в этой области хранятся образы изображений;
- •Видеопамять
- •Иерархия памяти компьютера
- •Оперативная память, типы оп
- •Тэг Строка Слово (байт)
- •Способы организации кэш-памяти
- •1. Где может размещаться блок в кэш-памяти?
- •2. Как найти блок, находящийся в кэш-памяти?
- •3. Какой блок кэш-памяти должен быть замещен при промахе?
- •4. Что происходит во время записи?
- •Разновидности строения кэш-памяти
- •Вопросы и задания
- •Лекция 8. Логическая организация памяти
- •Виртуальная память
- •Основная память
- •Дисковая память
- •Страничная организация памяти
- •Преобразование адресов
- •Сегментная организация памяти.
- •Свопинг
- •Вопросы и задания
- •Лекция 9. Методы адресации
- •Лекция 10. Внешняя память компьютера Введение
- •Жесткий диск (Hard Disk Drive)
- •Конструкция жесткого диска
- •Основные характеристики нмд:
- •Способы кодирования данных
- •Интерфейсы нмд
- •Структура хранения информации на жестком диске
- •Кластер
- •Методы борьбы с кластеризацией
- •Магнито-оптические диски
- •Дисковые массивы и уровни raid
- •Лазерные компакт-дискиCd-rom
- •Вопросы и задания
- •Лекция 11. Основные принципы построения систем ввода/вывода
- •Физические принципы организации ввода-вывода
- •Интерфейс
- •Магистрально-модульный способ построения эвм
- •Структура контроллера устройства
- •Опрос устройств и прерывания. Исключительные ситуации и системные вызовы
- •Организация передачи данных
- •Прямой доступ к памяти (Direct Memory Access – dma)
- •Логические принципы организации ввода-вывода
- •Структура системы ввода-вывода
- •Буферизация и кэширование
- •Структура шин современного пк
- •Мост pci
- •Вопросы и задания
- •Лекция 12. Особенности архитектуры современных высокопроизводительных вс
- •Классификация архитектур по параллельной обработке данных
- •Вычислительные Системы
- •Параллелизм вычислительных процессов
- •Параллелизм на уровне команд – однопроцессорные архитектуры
- •Конвейерная обработка
- •Суперскалярные архитектуры
- •Мультипроцессорные системы на кристалле
- •Технология Hyper-Threading
- •Многоядерность — следующий этап развития
- •Вопросы и задания
- •Лекция 13. Архитектура многопроцессорных вс Введение
- •Smp архитектура
- •MpPархитектура
- •Гибридная архитектура (numa)
- •Организация когерентности многоуровневой иерархической памяти.
- •Pvp архитектура
- •Кластерная архитектура
- •Проблемы выполнения сети связи процессоров в кластерной системе.
- •Лекция 14. Кластерные системы
- •Концепция кластерных систем
- •Разделение на High Availability и High Performance системы
- •Проблематика High Performance кластеров
- •Проблематика High Availability кластерных систем
- •Смешанные архитектуры
- •Лекция 15 Многомашинные системы – вычислительные сети Введение
- •Простейшие виды связи сети передачи данных
- •Связь компьютера с периферийным устройством
- •Связь двух компьютеров
- •Многослойная модель сети
- •Функциональные роли компьютеров в сети
- •Одноранговые сети
- •Сети с выделенным сервером
- •Гибридная сеть
- •Сетевые службы и операционная система
- •Лекция 17. Сети и сетевые операционные системы Введение
- •Для чего компьютеры объединяют в сети
- •Сетевые и распределенные операционные системы
- •Взаимодействие удаленных процессов как основа работы вычислительных сетей
- •Основные вопросы логической организации передачи информации между удаленными процессами
- •Понятие протокола
- •Многоуровневая модель построения сетевых вычислительных систем
- •Проблемы адресации в сети
- •Одноуровневые адреса
- •Двухуровневые адреса
- •Удаленная адресация и разрешение адресов
- •Локальная адресация. Понятие порта
- •Полные адреса. Понятие сокета (socket)
- •Проблемы маршрутизации в сетях
- •Связь с установлением логического соединения и передача данных с помощью сообщений
- •Синхронизация удаленных процессов
- •Заключение
- •Список литературы:
Компьютерные сети и мультимедиа
Компьютерные сети начали развиваться исподволь с начала 70-х годов, но именно в 90-е годы скорость их распространения превысила некоторый критический порог. Произошло то, что специалисты предсказывали давно: вычислительная техника и техника связи, слившись воедино как две половинки атомного заряда, привели к подлинному информационнму взрыву. Миллионы компьютеров, разбросанных по всему свету, оказались связанными всемирной паутиной Интернета. Гигантские объемы научной, культурной и всякой другой информации сделались доступными любому рядовому пользователю, оказались, по меткому выражению Билла Гейтса «на кончиках пальцев».
Появление «сети сетей» — Интернета — вызвало рождение целой отрасли нематериального производства — сетевого бизнеса. Тысячи фирм делают деньги «из воздуха», занимаясь предоставлением доступа в Интернет (Internet providing) и предоставляя различные услуги по организации электронной почты, публикации и поиску информации в сети, размещению рекламы, электронной торговле и т. д. Годовой оборот таких гигантов сетевой индустрии как America On Line (AOL), Yahoo, Amazon измеряется миллиардами долларов, и это только начало.
Развитие сетевых технологий потребовало разработки соответствующего слоя общего программного обеспечения. Историю и современное состояние компьютерных сетей, а также их программного обеспечения мы будем рассматривать в главе 4, а сейчас несколько слов скажем еще об одном важном достижении, которое в 90-х годах перешло из разряда экспериментальных в общедоступные. Речь идет о мультимедиа-технологиях. Буквальный перевод слова multimedia — «многие среды». Имеются в виду типы объектов, с которыми имеет дело компьютер. В прежние времена вариантов было немного: стандартный компьютер вводил, обрабатывал и выводил только строки символов или неподвижные картинки, на большее не хватало ни мощности процессора, ни объема памяти, ни возможностей устройств вввода-вывода. Однако в последние годы эти характеристики достигли такого состояния, что появилась возможность существенно рас-
ширить класс обрабатываемых объектов.
Операционные системы
История операционных систем начинается в 60-е годы, когда для облегчения труда операторов и экономии машинного времени были созданы первые программы-автооператоры и мониторные системы. Впоследствии они развились в операционные системы следующих основных типов:
• пакетные (однозадачные и с мультипрограммированием);
• диалоговые (с разделением времени — ОС РВ);
• системы реального времени.
Пакетные операционные системы, поддерживающие режим мультипрограммирования, были разработаны в начале 60-х годов. Наиболее совершенной системой такого типа было OS/360 MVT для IBM S/360. Следующий этап в развитии ОС для больших ЭВМ — диалоговые операционные системы с разделением времени (ОС РВ). Экспериментальные ОС такого типа, сформировавшие идеологию систем, были созданы в Массачусетском технологическом институте. Сама идея была высказана Джоном Маккарти в 1961 году, проект Multics под руководством Фернандо Корбато реализовывался во второй половине 60-х годов. Промышленные ОС РВ появилсь в 70-х годах, их разработка и доводка выполнялась как правило фирмами-производителями соответствующих ЭВМ, например, OS/VM для IBM S/360 или RSX-11 для PDP-11. Для отечественной ЭВМ БЭСМ-6 также было разработаны ОС «Диспак» и «Дубна». Среди ОС РВ особое место занимает система Unix, первый вариант которой был разработан Кеннетом Томпсоном и Деннисом Ричи в Bell Laboratories в 1969 году. Написанная на машинно-независимом языке Си, она является портируемой, то есть допускает перенос на различные аппаратные платформы. Это свойство, а также доступность и бесплатность исходного кода, сделали Unix чрезвычайно популярной в 80-х и 90-х годах. Однако доступность исходного кода привела к тому, что единая система перестала существовать, образовалось множество хоть и близких по существу, но различающихся в деталях Unix-подобных систем, как бесплатных, так и коммерческих, например, Solaris от Sun, AIX от IBM, Xenix от Microsoft.
Появление персональных ЭВМ в 80-х годах породило новый класс настольных операционных систем, которые на первыхпорах относились к классу простейших пакетных однозадачных ОС. Для первого поколения 8-битовых ПК характерной была ОС CP/M, разработанная в 1976 году Гэри Килдолом. Второе поколение, ознаменовавшиеся выпуском 16-битовой IBM PC, оснащалось в основном операционной системой MS-DOS, выпущенной фирмой Microsoft в 1981 году. Эта система стала классической ОС для 80-х годов, однако ей присущи принципиальные недостатки, вытекающие из ограниченности аппаратных ресурсов:
• однозадачный режим работы,
• отсутствие встроенных средств управления расширенной памятью и внешними устройствами, прикладная программа должна решать эти задачи сама;
• отсутствие унифицированного графического интерфейса, каждое приложение имеет свою логику взаимодействия с пользователем.
Третье поколение 32-битовых персональных компьютеров, появившееся к концу 80-х годов, обладало достаточными аппаратными возможностями для организации графического человеко-машинного интерфейса. Идеи этого интерфейса, разработанные еще в 70-х годах в Xerox PARC, были впервые широко использованы фирмой Apple в операционной системе Mac OS для ЭВМ Macintosh, выпущенной в 1984 году. Фирма Microsoft, отставшая в этом отношении от Apple, выпустила в 1985 году графическую надстройку над DOS под названием Windows. Первые две версии коммерческого успеха не имели, и только Windows 3.0, появившаяся в 1990 году, стала завоевывать рынок. К концу века Microsoft с настольными ОС Windows-95/98/Me, поддерживающими многозадачный режим работы, стала фактическим монополистом на рынке ОС для платформы Intel, победив в конкурентной войне фирму IBM с ее OS/2.
Кроме настольных ОС, в 90-е годы разрабатывались серверные операционные системы, являющиеся прямыми потомками ОС с разделением времени 70-х и 80-х годов. На рынке доминировали NetWare фирмы Novell, Windows NT фирмы Microsoft и различные версии Unix, среди которых наиболее активно развивалась бесплатная система Linux, первая версия которой была создана в 1991 году финским студентом Линусом Торвальдсом.
Особый класс операционных систем — системы реального времени. Они применяются в системах управления технологическими процессами, в которых критическим является время реакции системы на запросы внешних устройств.
Системы управления базами данных (СУБД), появившиеся в середине 60-х годов, имеют ряд преимуществ по сравнению с прежней схемой независимой работы программ с данными:
• однократный ввод данных,
• независимость программ от данных,
• сокращение затрат на программирование.
Основные функции СУБД:
• описание логической структуры данных,
• манипулирование данными,
• обеспечение целостности данных,
• обеспечение многопользовательского доступа,
• защита данных.
Существуют три основных типа СУБД, различаюшиеся логической организацией данных: иерархические, сетевые и реляционные. Первыми были иерархические СУБД (первая промышленная СУБД IMS была разработана фирмой IBM в 1968 году), затем в результате теоретических исследований, предпринятых рабочей группой КОДАСИЛ, появилась сетевая модель данных. Наиболее совершенными и распространенными в настоящее время являются реляционные СУБД, основанные на табличной (реляционной) модели данных, предложенной в 1970 году сотрудником IBM Эдгаром Коддом. Стандартным языком запросов в такой СУБД является язык SQL, разработанный в 1974 году Чемберленом и Бойсом.
Современные промышленные СУБД являются очень дорогими и долгоживущими программными продуктами, соизмеримыми по сложности с операционными системами. К концу века на рынке лидирует «большая шестерка»: Oracle, DB2, Informix, Sybase, Ingres, MS SQL Server.
Микрокомпьютерная революция и появление персональных ЭВМ в корне изменили ситуацию на рынке программного обеспечения. Из профессионального инструмента оно превратилось в товар массового спроса, доступный миллионам неквалифицированных пользователей. В 80-е годы на рынок было выброшено множество пакетов прикладных программ (ППП) для персональных компьютеров, расцвел софтверный бизнес, авторы удачных разработок в одночасье делали миллионные состояния. К наиболее популярным ППП относятся текстовые редакторы, электронные таблицы и настольные СУБД.
Рынок текстовых редакторов делится на три основных сектора: простейшие текстовые редакторы, текстовые процессоры широкого применения типа MS Word и настольные издательские системы, берущие начало от пакета Page Maker, разработанного в 1985 году для Apple Macintosh. Особое место среди издательских пакетов занимает система TeX, созданная классиком информатики Дональдом Кнутом и принятая в качестве стандарта многими научными журналами Электронные таблицы были изобретены сотрудником Digital Equipment Corp. Дэниэлом Бриклином и впервые реализованы им совместно с Робертом Фрэнкстоном в 1979 году для персонального компьютера Apple-II. Лидером рынка электронных таблиц в среде MS DOS был пакет Lotus 1-2-3, разработанный основателем фирмы Lotus Development Митчелом Кэпором в 1982 году. После появления Windows наиболее распространенной стала система Excel фирмы Microsoft.