Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Малый ШАД_Что такое программная инженерия_3.10.15

.pdf
Скачиваний:
19
Добавлен:
16.03.2016
Размер:
3.05 Mб
Скачать

Как правило, программа сперва создается («разрабатывается»), а потом – работает («исполняется»); поэтому, различают статику (то, что происходит с программой до ее выполнения) и динамику (то, что происходит с ней во время ее выполнения).

Как в аппаратуре, так и в программном обеспечении за всю их историю наблюдается постепенный переход от «статики» к «динамике»:

Появляется больше (служебных, вспомогательных) действий, которые

выполняются в динамике (какие можно привести примеры?)...

При этом соблюдается компромисс между производительностью и динамичностью (которая не дается даром).

Соответственно, различаются используемые при этом программные компоненты. Бывают компоненты, используемые:

на этапе разработки (в статике);

на этапе выполнения (в динамике);

и в статике, и в динамике...

Эти различия определяются архитектурой вычислительной системы и средствами, предоставленными системным программным обеспечением (т.н. «платформой», как теперь говорят)...

1-Oct-15

Software Engineering

31

Системное программирование – что это?

Системное программное обеспечение – занятие программных инженеров - специалистов в области системного программирования.

Мы, находясь в Высшей Школе Экономики, говорим так, чтобы было понятно экономистам; они знают, что бывает:

Производство средств производства (группа "А") и производство предметов

потребления (группа "Б") характеризуются в соответствии с фактическим

использованием продукции.

При этом одни виды продукции целиком относятся к группе "А", (станки,

оборудование, руды черных и цветных металлов, минеральные удобрения, и т.п.),

другие виды продукции целиком относятся к группе "Б" (швейные и трикотажные готовые изделия, пищевая рыбопродукция, хлеб и хлебобулочные изделия, бытовые холодильники, радиоприемники, мебель и др.).

Ряд видов продукции, которые могут быть использованы на производственные и непроизводственные цели (электроэнергия, уголь, готовые ткани, мука, мясо,

животное масло и др.), распределяется между группой "А" и группой "Б" по их фактическому использованию.

1-Oct-15

Software Engineering

32

Средства производства и предметы потребления. Производство и потребление. Вся совокупность производимых продуктов и услуг распадается на две крупные группы в зависимости от характера их потребления:

Блага, которые предназначены для использования (потребления) непосредственно в процессе производства, являются средствами производства, или благами производственного назначения.

Блага, используемые для удовлетворения потребностей самих людей и

обеспечивающие условия для их воспроизводства, относятся к предметам

потребления, или благам непроизводственного назначения.

В то же время многие блага могут выступать в качестве и средств производств, и

предметов потребления. Например, сахар, используемый для личного потребления, является благом непроизводственного назначения (предметом потребления), но если

он направляется в пищевую промышленность для получения кондитерских изделий и

выступает в качестве сырья (например, для варенья), то он относится к благам производственного назначения (средствам производства).

1-Oct-15

Software Engineering

33

Когда-то в Туле ученику оружейника давали набор напильников, обычно из Штирии, а прочий инструмент он делал ими сам. Штучные ружья таких мастеров брали золотые

медали в Париже и Лондоне…

А потом в истории нашей страны был период быстрого промышленного развития - индустриализация. Связывать ее принято с первыми или довоенными пятилетками. Третье издание БСЭ утверждало, что к 1940 году валовая продукция промышленности

СССР возросла по сравнению с 1928-м годом в 6,5 раза. По объёму промышленной

продукции Советский Союз в 1937 вышел на первое место в Европе и второе в мире.

Условием, обеспечивающим такие темпы роста, было ускоренное развитие производства средств производства (так называемой группы «А»): оно за это время увеличилось в 10 раз.

Системное программирование – это производство средств

производства программ

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

1-Oct-15

Software Engineering

34

Название «системное программирование» происходит от присутствия слова «система» в таких областях программирования, как

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

К сожалению, происхождение этого названия имеет слабое отношение к математичнской теории систем (почему?), и над этим надо работать...

С нового учебного года у нас отрылась базовая кафедра системного программирования под руководством академика РАН В.П.Иванникова, до середины нынешнего года - директора Института системного программирования РАН...

У него часто спрашивают: «...а остальное программирование – бессистемное?»

Программная инженерия охватывает системное и прикладное программирование, используя и предоставляя разные формы компонентного программирования при этом...

1-Oct-15

Software Engineering

35

Развитие средств [компонентного] программирования

Машинный код -> Содержательные обозначения (автокод)

Содержательное обозначения операций (инструкций), но адресация данных

машинного уровня (ручное, статическое назначение адресов).

Автокод -> Ассемблер (и загрузчик), Макро-ассемблер

Содержательное обозначение всех основных (низкоуровневых) элементов программ с атоматической настройкой адресов при загрузке.

Подпрограммы (процедуры, функции); библиотеки (это все компоненты

по разному определяемые и [пере]используемые).

Компиляторы расширяют границы использования компонент: Машиннонезависимое программирование -> Языки программирования «высокого уровня» («более или менее» высокого уровня)...

Язык С – «низкоуровневый язык высокого уровня»:

Исходная идея – не переписывать ОС снова для нового компьютера...(UNIX): code reuse – очень важный аспект компонентного программирования

Когда машины были большие, а их производительность – не очень...

Как писать OS? (супервизор, гипервизор, самовиртуализация...)

1-Oct-15

Software Engineering

36

Зимой 1974 мне довелось держать в руках первый С-компилятор и ядро ОС UNIX (и-т им.Курчатова, М.Паремский и др. – впервые в СССР...)

Повторное использование программных компонент не надо путать с их воровством (с плагиатом и другими его формами)!

ЭВМ PDP-11: Система команд PDP-11 оказала сильное влияние на язык программирования С

Тогда же, зимой 1974 года, закончив факультет прикладной математики и

написав диплом в коллективе М.А.Карцева, я пришел туда работать...

1-Oct-15

Software Engineering

37

Михаил Александрович Карцев (10 мая1923– 23 апреля 1983) — выдающийся ученый, д.т.н., профессор, главный конструктор 4-х поколений ЭВМ, основатель и первый директор НИИ ВК.

Родился в Киеве, участник Великой отечественной войны. В 1947 году поступил на Радиотехнический ф-т МЭИ. Сдал экстерном экзамены за 4-й курс, студентом 5-го курса поступил на работу в лабораторию электросистем Энергетического института АН

СССР под рук. чл.-кор. АН СССР И.С.Брука. Участвовал в создании ЭВМ М-1, в 1952 возглавил создание ЭВМ М-2, в 1957 — М-4, и ее модификаций М4-2М, М4-3М и М4-4М, ...

Автор архитектуры первой китайской ЭВМ (он сам мне показывал китайскую книгу об этом)...

1-Oct-15

Software Engineering

38

В 1967 г. М. А. Карцев выдвинул обогнавший свое время проект вычислительного комплекса М-9 (производительность ~1 миллиард оп/с);

в то время заканчивалась разработка БЭСМ-6, имевшей производительность 1 млн. оп/с (потом бытовали оценки в «бэсмах», как «в попугаях»...).

В том же году из состава созданного И. С. Бруком ИНЭУМ, на основе лаборатории Карцева, был выделен Филиал РТИ АН СССР им. Минца, который он возглавил.

В 1969 году под его руководством была начата разработка векторной вычислительной машины М-10 на микроэлектронной элементной базе.

В 1973 году первый промышленный образец М-10 заработал на 1-м этаже корпуса РТИ АН СССР (1-я ул. 8 Марта..., это - рядом с нашим корпусом ФКН НИУ ВШЭ...).

После успешных испытаний М-10 с программным обеспечением Филиал РТИ АН им. Минца был преобразован в «самостоятельный» институт - НИИ ВК.

В 1993 г. Научно-исследовательскому институту вычислительных комплексов присвоено имя его основателя — Михаила Александровича Карцева.

1-Oct-15

Software Engineering

39

1-Oct-15

Software Engineering

40