programming

Развитие вычислительной техники

Поколение 1

На базе электронно-вакуумных ламп

  • Середина 1940-х - вторая половина 1950-х
  • Один из первых - ENIAC (Electronic Numerical Integrator and Computer)
  • Требует много энергии и отдаёт много тепла
  • Лампы часто выходят из строя (20тыс. ламп -> замена 2тыс. ламп в месяц)
  • Возможны ошибки из-за нагрева места контакта и потери сигнала в нём
  • Охлаждение водой могло приносить конденсат, опасный для техники
  • Ручная загрузка в оперативную память и перфокарты
  • Требовали высочайшей квалификации для работы
  • Приоритетное направление - военные задачи

Особенности

  • Однопользовательский, персональный
  • Зарождение класса сервисных, управляющих программ
  • Зарождение языков программирования

Поколение 2

Диодно-транзисторные

  • Вторая половина 1950-х - вторая половина 1960-х
  • БЭСМ-6 - один из лучших (Сергей Александрович Лебедев, ИТМ и ВТ)
    • конвейерный центральный процессор с отдельными конвейерами для устройства управления и арифметического устройства.
    • 8-слойная физическая организация памяти.
    • система команд - 50 24-битных команд (по 2 в слове)
  • Значительно меньше габариты
  • Значительно меньше энергопотребление
  • Долговечность компонентов
  • Революция в габаритах -> меньше длина проводников и выше производительность
  • Пайка устранила проблему неконтакта элементов
  • Появление многослойных печатных плат
  • Нет необходимости находиться в машинном зале программисту
  • Одновременно выполняется только одна программа

Особенности

  • Пакетная обработка заданий (через диспетчер пакетов и прерывания, в случае ошибки)
  • Мультипрограммирование (процессор - самое дорогое -> процессор должен работать постоянно)
  • Языки управления заданиями
  • Файловые системы (системы именованного хранения данных. также является виртуальным устройством)
  • Виртуальные устройства (аппаратная поддержка виртуальных устройств, например виртуальная оперативная память)
  • Операционные системы

Поколение 3

Интегральные схемы малой интеграции

  • Ещё более компактные и производительные
  • Меньше энергопотребление
  • Меньше тепла
  • Выше надёжность (большая интеграция компонентов)
  • Появление C
  • Появление Unix
  • Развитие сетевых технологий
  • Появление tcp/ip

Особенности

  • Аппаратная унификация узлов и устройств (компоненты стали более универсальными. ранее проектировались под конкретную машину.)
  • Создание семейства компьютеров (отличаются по производительности и мощности подключаемых устройств, но имеют программную преемственность снизу-вверх.)
    • IBM 360
      • 32-разрядные
      • 32-64-разрядное слово
      • Бизнес-задачи
    • Digital equipment - PDP-11
      • Научные задачи
  • Унификация компонентов программного обеспечения (из-за аппаратной унификации)

Поколение 4

Интегральные схемы большой/сверх большой интеграции (микропроцессоры)

  • Начало 1970-х - настоящее время
  • Микропроцессоры
    - Первый - intel-4004 - 2250 транзисторов - 1971г
    - Первый универсальный - intel-8080 - 4500 транзисторов - 1974г
    - 16-bit - motorolla-68000
    - 32-bit
  • Высокая надёжность
  • Высокая компактность
  • Возможность создания специфических
  • Первый ПК - Altair-8800 на базе intel-8080
  • Apple-1
  • Osborne I - один из первых ноутбуков

Особенности

  • “Дружественность” пользовательских интерфейсов
  • Сетевые технологии
  • Безопасность хранения и передачи данных
  • Параллелизм

Основы архитектуры вычислительной системы

Вычислительная система - совокупность аппаратных и программных средств, функционирующих в единой системе и предназначенных для решения задач определённого класса.

Структура вычислительной системы

Прикладная система - программная система, ориентированная на решение или автоматизацию решения задач из конкретной предметной области.

Система программирования - комплекс программ, обеспечивающий поддержание жизненного цикла программы в вычислительной системе.

Жизненный цикл программы в вычислительной системе

  1. Проектирование
  2. Кодирование (те самые “грузчики” в IT)
  3. Тестирование и отладка
  4. Ввод программной системы в эксплуатацию (внедрение) и сопровождение

Управление логическими ресурсами

  • Логическое (виртуальное) устройство (ресурс) - устройство (ресурс), некоторые эксплуатационные характеристики которого (возможно все) реализованы программным образом. (например, виртуальный принтер)
  • Драйвер логического (виртуального) ресурса - программа, обеспечивающая существование и использование соответствующего ресурса.
  • Ресурсы вычислительной системы - совокупность всех физических и виртуальных ресурсов.
  • Операционная система - комплекс программ, обеспечивающий управление ресурсами вычислительной системы.

Управление физическими ресурсами

Систематизация и стандартизация правил программного использования физических ресурсов (уровень драйверов физических устройств).

  • Драйвер физического устройства - программа основанная на использовании команд управления конкретного физического устройства и предназначенная для организации работы с данным устройством.

Аппаратные средства ЭВМ

Характеристики физических ресурсов (устройств)
  • правила программного использования
  • производительность и/или ёмкость
  • степень занятости или используемости
Средства программирования, доступные на аппаратном уровне
  • система команд компьютера
  • аппаратные интерфейсы программного взаимодействия с физическими ресурсами