Новосибирский технологический институт Московского государственного университета дизайна и технологии (филиал) ©Составитель: проф. Степанов Б.Ф. Новосибирск.

Презентация:



Advertisements
Похожие презентации
История развития языков программирования. Терминологический словарь: ПРОГРАММИРОВАНИЯЯЗЫК Знаковая система совокупность условных знаков и правил их взаимосвязи.
Advertisements

ВЫПОЛНЕНИЕ АЛГОРИТМОВ КОМПЬЮТЕРОМ. Алгоритм, записанный на «понятном» компьютеру языке программирования, называется программой. Программа данные, предназначенные.
История языков программирования 9 класс. Языки программирования Даже при наличии десятков тысяч программ разработанных для IBM PC пользователям может.
Этапы решения задач на компьютере 1. Постановка задачи. 2. Построение математической модели. 3. Составление алгоритма. 4. Запись алгоритма на языке программирования(кодирование)
Языки программирования. Программа - это алгоритм, записанный на языке программирования. Программирование – процесс создания программы.
Уильям (Билл) Гейтс. Информатика Hard Ware (технические средства) Soft Ware (программные средства) Brain Ware (алгоритмические средства) MS Windows MS.
Программы для первых ЭВМ программисты писали на языках машинных команд. Это очень трудоемкий и длительный процесс. Проходило значительное время между.
Язык программирования формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических.
Язык программирования формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических.
Алгоритмизация и программирование. Языки программирования высокого уровня. Технологии программирования Алгоритмизация и программирование. Языки программирования.
Язык программирования формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических.
АНАСТАСИЯ ТКАЧУК PK11-PV TEKO 1 Языки программирования.
Домашнее задание (от ) § 2.2 1, 5. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ КОМПЬЮТЕРА КОМПЬЮТЕР КАК УНИВЕСАЛЬНОЕ УСТРОЙСТВО ДЛЯ РАБОТЫ С ИНФОРМАЦИЕЙ Информатика.
Программа Виды программ Языки программирования. ПК – это электронный прибор, предназначенный для автоматизации создания, хранения, обработки и передачи.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ КОМПЬЮТЕРА КОМПЬЮТЕР КАК УНИВЕСАЛЬНОЕ УСТРОЙСТВО ДЛЯ РАБОТЫ С ИНФОРМАЦИЕЙ Информатика и ИКТ.
Объектно-ориентированное программирование Карпов В.Э. Смолток. Лекция 4. Байт-код.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ КОМПЬЮТЕРА КОМПЬЮТЕР КАК УНИВЕСАЛЬНОЕ УСТРОЙСТВО ДЛЯ РАБОТЫ С ИНФОРМАЦИЕЙ Информатика и ИКТ.
Тема урока: Классификация языков программирования.
Язык высокого уровня компилятор Программа компиляторов Сделал:Студент группы:Ис-2о(очная)Воротов Валентин.
Автор: Евтина М. Г.1 Структура программного обеспечения компьютера.
Транксрипт:

Новосибирский технологический институт Московского государственного университета дизайна и технологии (филиал) ©Составитель: проф. Степанов Б.Ф. Новосибирск 2009 Кафедра АиВТ

Системное программное обеспечение Системное программное обеспечение

История операционных систем История операционных систем В истории операционных систем (software) важное место отводится ОС Unix. Unix был разработан в середине 70- х годов прошлого века. В настоящее время Unix используется в корпоративной среде, а также нередко применяется в системах клиент - сервер сетей intranet. Однако Unix уступал Windows по доступности и богатству созданных на его платформе прикладных программ для персональных компьютеров. Для устранения этих недостатков был разработан Linux широкодоступная ОС, аналогичная Unix. Над проектом с середины 80- х работал Ричард Столман (Richard Stallman). Ядро Linux разработал финн Линус Торвальдс (Linus Torvalds). Дата его создания 1992 г. считается датой рождения Linux г. создана MS-DOS.

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

Операционная система Операционная система Классические ( несетевые ) ОС должны выполнять следующие функции : Планирование заданий и использования процессора, динамическая компоновка выполняемых программ, Обеспечение программ средствами коммуникации и синхронизации ( обработка прерываний и обеспечение многозадачной работы ).. Управление памятью. Управление файловой системой. Управление вводом - выводом. Обеспечение безопасности

Операционная система Операционная система Операционные системы привязывают к процессорам, на основе которых разрабатываются компьютеры. Для IBM- совместимых компьютеров различают операционные системы : - однозадачные, - многозадачные, - сетевые - системы реального времени. Иногда операционные системы делят на 32 и 64- разрядные по размеру одновременно обрабатываемого слова в микропроцессоре.

ВЗАИМОДЕЙСТВИЕ ПРОГРАММНОГО И ТЕХНИЧЕСКОГО ОБЕСПЕЧЕНИЯ Операционная система Операционная система

Операционная система Операционная система МОНОЛИТНОЕ ЯДРО Модуль i Модуль N Модуль 2 Модуль 1 … …

Операционная система Операционная система Дейкстрой (Dijkstra ),1968 г. Слоеная система Technishe Hogeschool Eindhoven (THE) Слоеная система Technishe Hogeschool Eindhoven (THE)

Операционная система Операционная система ОС - виртуальная машина

Операционная система Операционная система МНОГОЯДЕРНАЯ СТРУКТУРА ОС

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

Программирование Ада Лавлейс ( ) написала комментарии к статье о машине Чарльза. Бэббеджа, которые можно считать первым трудом по программированию. Описала ряд примеров применения машины, разработала программу вычисления на ней чисел Бернулли.

Программирование История алгоритмических языков Одна из первых попыток создания алгоритмического языка программирования, предпринятой К. Цузе в 1945 г. для электрорелейной ЦВМ "Z-4". Это язык PLANKALKHL, который мог применяться для формализации разнообразных сложных вычислительных процедур. Первые алгоритмические языки эпохи ЭВМ относятся к середине 50- х годов. Джону Бэкусу (J.Backus) принадлежит фундаментальный вклад в создание в 1954 г. языка Фортран (FORTRAN FORmular TRANslation) и в разработку компилятора для IBM 705 (1958 г.). Коллектив под руководством Бэкуса разработал не только спецификацию языка, но и создал компилятор для него. Кроме того, Фортран был первым языком, для которого были созданы компиляторы для многих ЭВМ. Это обеспечило достаточно быструю и широкую распространенность языка. Язык Алгол с первоначальным названием IAL и с более поздним ALGOL-58 был разработан в 1958 г. международным комитетом под руководством Питера Наура (P.Naur).

Программирование Джон Бэкус и Питер Наур

Программирование Язык Кобол (COBOL – Common Business Oriented Language), представленный в 1960 г., был предназначен для расчетов в сфере бизнеса. Язык ЛИСП для исследований в области искусственного интеллекта (LISP сокращение от LISt Processing обработка списков ), предназначенный для работы со списками и лямбда – выражениями, создан Маккарти в МТИ в 1960 г. Разработка языка PL/1 относится к 1964 г. Его разработчики из английского отделения IBM стремились в этом языке совместить возможности Алгола и Кобола. Язык моделирования Simula-67 разработан в Норвегии Найгардом (Nygard) и Далом (Dahl). В нем уже используются многие черты объектно - ориентированного программирования.

Программирование Заметным вкладом в создание технологий разработки программного обеспечения стала концепция структурного программирования, основанная на положениях блочно- иерархического подхода к программированию. Ее автором является голландский ученый Эдстер Дейкстра ( ), внесший заметный вклад в разработку информационных технологий. Ему принадлежат также определения стека, семафора, разработка ряда алгоритмов (например, поиск кратчайшего пути) и т.п.

Программирование Язык программирования Паскаль (Pascal) создан швейцарцем Н.Виртом (Niclaus Wirth) на кафедре информатики Стэнфордского университета на базе структурного программирования. Первая публикация описания языка относится к 1970 г. Особенность языка его четкая структурированность, ясная логика определений, лаконичность описаний. Популярность язык приобрел после создания Андерсом Хейльсбергом (Anders Hejlsberg) в компании Borland версии Турбо Паскаль, в которой компилятор был объединен с редактором текста. Хейльсберг руководил разработкой среды Delphi, в которой Pascal стал объектно-ориентированным языком Object Pascal.

Программирование Язык Си (C) создан в 1972 г. Д.Ритчем (D.Ritchie) и К.Томпсоном (K.Thompson) из Bell Labs/Lucent Technologies при поддержке Б.Кернигана. Ими же в 1973 г. на языке Си представлена операционная система UNIX. В рекламных целях UNIX в университетах распространялся почти бесплатно, вместе с UNIX распространялся и Си. Благодаря эффективности исполнения программ, написанных на этом языке, он получил широкое распространение. До сих пор Си – один из лучших языков для системного программирования. Он стандартизован в 1989 г., стандартная версия языка обозначается ANSI C.

Программирование Первый полностью объектно - ориентированный язык программирования SmallTalk создан в 1972 г. Алана Кей, компания Xerox. В 1973 г. в Марсельском университете разработан язык логического программирования Пролог, в котором описываются факты и отношения между ними. Универсальный язык программирования Ада был разработан по заказу министерства обороны США в 1979 г. Список требований к языку прошел через несколько этапов утверждения. Руководителем группы разработчиков француз Жан Ихбиа. Вернувшись из Стенфорда в Швейцарию, Н. Вирт развивает методологию программирования. В 1980 г. в языке Модула -2 он реализует концепцию модульного программирования, затем в Оберон -2 – объектно - ориентированное и в Component Pascal – компонентно - ориентированное программирование. Создание объектно - ориентированного языка С ++ относят к 1982 г. Его автором является датчанин Бьерн Страуструп (Bjarne Stroustup), сотрудник лаборатории AT&T Bell Labs, в которой уже были разработаны операционная система UNIX и язык программирования Си, взятый за основу ( вместе с идеями объектной ориентированности из языка Симула 67) и для Си ++.

Программирование Язык программирования Java разработан в 1995 г. Джеймсом Гослингом из компании Sun Microsystems. В последние годы Андерс Хейльсберг, перешедший из Borland в Microsoft, разработал язык C# ( Си-шарп) и занимается развитием среды Microsoft.Net Framework. А.Хейльсберг и Б.Страуструп

Трансляция и интерпретация Трансляция и интерпретация В автоматизированных системах на разных этапах обработки информации, как правило, используется несколько разных языков. При подготовке данных для ввода в ЭВМ применяют входные языки, программы в исходном состоянии представлены на алгоритмических языках, исполнение программ происходит на машинном языке. Возникает задача перевода информации с одного языка на другой. Язык, с которого осуществляется перевод, называют исходным, а язык, на который происходит перевод, объектным. В автоматизированных системах на разных этапах обработки информации, как правило, используется несколько разных языков. При подготовке данных для ввода в ЭВМ применяют входные языки, программы в исходном состоянии представлены на алгоритмических языках, исполнение программ происходит на машинном языке. Возникает задача перевода информации с одного языка на другой. Язык, с которого осуществляется перевод, называют исходным, а язык, на который происходит перевод, объектным.

Трансляция и интерпретация Трансляция и интерпретация Для перевода программы с входного языка на объектный применяют специальные программы, называемые языковыми процессорами. Перевод может выполняться методами интерпретации или трансляции. Для перевода программы с входного языка на объектный применяют специальные программы, называемые языковыми процессорами. Перевод может выполняться методами интерпретации или трансляции.

Трансляция и интерпретация Трансляция и интерпретация Перевод, заканчивающийся получением объектной программы, называют трансляцией, а программу, используемую для трансляции, транслятором. Если объектный язык машинный или близкий к машинному, то трансляцию и транслятор называют компиляцией и компилятором соответственно. При интерпретации, выполняемой с помощью интерпретаторов, предложения исходной программы поочередно преобразуется в машинный код и тут же исполняются, т.е. объектная программа, как таковая, не формируется и не требуется отводить для нее место в памяти ЭВМ. Для интерпретации характерны меньшие затраты памяти, чем для трансляции. Однако в циклических вычислительных процессах интерпретация каждого предложения исходной программы будет повторяться многократно, поэтому, интерпретация характеризуется повышенными затратами времени. Перевод, заканчивающийся получением объектной программы, называют трансляцией, а программу, используемую для трансляции, транслятором. Если объектный язык машинный или близкий к машинному, то трансляцию и транслятор называют компиляцией и компилятором соответственно. При интерпретации, выполняемой с помощью интерпретаторов, предложения исходной программы поочередно преобразуется в машинный код и тут же исполняются, т.е. объектная программа, как таковая, не формируется и не требуется отводить для нее место в памяти ЭВМ. Для интерпретации характерны меньшие затраты памяти, чем для трансляции. Однако в циклических вычислительных процессах интерпретация каждого предложения исходной программы будет повторяться многократно, поэтому, интерпретация характеризуется повышенными затратами времени.

Трансляция и интерпретация Трансляция и интерпретация Различают одно- и многопроходные трансляторы. В однопроходных трансляторах трансляция происходит в несколько этапов, называемых фазами. На фазе лексического анализа исходное описание разделяется на структурные единицы лексемы (идентификаторы, числа, метки и т.п.). На этапе синтаксического анализа проверяется соблюдение синтаксиса исходного языка и при наличии ошибок выдаются соответствующие диагностические сообщения. На этапе генерации кода формируется объектная программа. Различают одно- и многопроходные трансляторы. В однопроходных трансляторах трансляция происходит в несколько этапов, называемых фазами. На фазе лексического анализа исходное описание разделяется на структурные единицы лексемы (идентификаторы, числа, метки и т.п.). На этапе синтаксического анализа проверяется соблюдение синтаксиса исходного языка и при наличии ошибок выдаются соответствующие диагностические сообщения. На этапе генерации кода формируется объектная программа.

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

ЯЗЫК ПРОГРАММИРОВАНИЯ ЯЗЫК ПРОГРАММИРОВАНИЯ Язык программирования формальная знаковая система, предназначенная для записи программ. знаковая Программа - некоторый алгоритм в форме, понятной для исполнителя ( например, компьютера ). алгоритм компьютера

ЯЗЫК ПРОГРАММИРОВАНИЯ ЯЗЫК ПРОГРАММИРОВАНИЯ Алгоритм строго детерминированная последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью понятных исполнителю команд. (Николай Дмитриевич Угринович, учебник «Информатика и информ. технологии»)

ЯЗЫК ПРОГРАММИРОВАНИЯ ЯЗЫК ПРОГРАММИРОВАНИЯ Язык программирования определяет набор лексических, синтаксических и семантических правил, используемых при составлении компьютерной программы. Он позволяет программисту точно определить то, на какие события будет реагировать компьютер, как будут храниться и передаваться данные, а также какие именно действия следует выполнять над этими данными при различных обстоятельствах. лексических синтаксических семантических компьютерной программы программисту данные

ЯЗЫК ПРОГРАММИРОВАНИЯ ЯЗЫК ПРОГРАММИРОВАНИЯ ЛЕКСИКА Лексика ( от греч. λεξικός « относящийся к слову », от греч. λέξις « слово », « оборот речи ») раздел науки о языке, изучающий значения слов. греч. греч. науки о языке слов Лексика весь словарный запас языка.

Синтаксис - раздел описания формального математического языка или языка программирования, исследующий вид, форму и структуру конструкций ( без учета их значения или практической применимости ). ЯЗЫК ПРОГРАММИРОВАНИЯ ЯЗЫК ПРОГРАММИРОВАНИЯ

СЕМАНТИКА Семантика. система правил определения поведения отдельных языковых конструкций. языковых конструкций Семантика определяет смысловое значение п редложений алгоритмического языка. алгоритмического языка Существует несколько подходов к определению семантики языков программирования. Наиболее широко распространены разновидности следующих подходов к семантике языков программирования : операционный ( математический ), деривационный ( аксиоматический ), д енотационный ЯЗЫК ПРОГРАММИРОВАНИЯ ЯЗЫК ПРОГРАММИРОВАНИЯ

ЯЗЫК ПРОГРАММИРОВАНИЯ ЯЗЫК ПРОГРАММИРОВАНИЯ Семантика. Операционная семантика интерпретирует исполнение конструкций языка программирования с помощью некоторой воображаемой ( абстрактной ) ЭВМ. Деривационная семантика описывает последствия выполнения конструкций языка с помощью языка логики и задания пред - и постусловий. Денотационная семантика оперирует понятиями, типичными для математики множества, соответствия, а также суждения, утверждения и др.

ЯЗЫК ПРОГРАММИРОВАНИЯ ЯЗЫК ПРОГРАММИРОВАНИЯ Семантика. Операционная семантика интерпретирует исполнение конструкций языка программирования с помощью некоторой воображаемой ( абстрактной ) ЭВМ. Деривационная семантика описывает последствия выполнения конструкций языка с помощью языка логики и задания пред - и постусловий. Денотационная семантика оперирует понятиями, типичными для математики множества, соответствия, а также суждения, утверждения и др.

ЯЗЫК ПРОГРАММИРОВАНИЯ ЯЗЫК ПРОГРАММИРОВАНИЯ Компью́терная програ́мма последовательность инструкций, предназначенная дляинструкций исполнения устройством управления вычислительнойвычислительной машинымашины. В зависимости от контекста, рассматриваемый термин может относиться также и к исходным текстам программы.исходным текстам

ЯЗЫК П РОГРАММИРОВАНИЯ ЯЗЫК П РОГРАММИРОВАНИЯ КЛАССИФИКАЦИЯ

ЯЗЫК П РОГРАММИРОВАНИЯ ЯЗЫК П РОГРАММИРОВАНИЯ КЛАССИФИКАЦИЯ Машинно-зависимые языки – (Ассемблер, макроассемблер- языки низкого уровня) применяются для написания программ, явно использующих специфику конкретной аппаратуры. Машинно-ориентированные языки – (СИ ). объединяют достоинства низкоуровневых возможностей ассемблеров и мощных выразительных средств языков программирования высокого уровня. Универсальные языки (языки высокого уровня) - (Фортран, PL/I, Паскаль Turbo Pascal и др.) наиболее эффективны при численных расчетах, просты по структуре и удобны при выполнении программ, получили большое распространение при разработке прикладных программ для решения инженерных, экономических и научных задач. Самыми распространенными на ЭВМ являются различные версии языка Бейсик, простота которого делает его превосходным средством для начинающих программистов.

ЯЗЫК П РОГРАММИРОВАНИЯ ЯЗЫК П РОГРАММИРОВАНИЯ КЛАССИФИКАЦИЯ Проблемно-ориентированные языки – (Лого, CPSS, Форт и Смолток.) языки программирования, управляющие структуры и структуры данных которых отражают особенности класса решаемых задач. Например, Лого диалоговый процедурный язык, реализованный на принципе интерпретации и работающий со списками, текстами, графическими средствами и т. д. Язык очень перспективен для обучения, создания электронных игрушек и т. д. Развитием проблемно-ориентированных языков является объектно- ориентированный подход (языки Смолток, Форт, Модула и Ада). Отличительные особенности таких языков: модульность построения процедур, абстракция данных, динамическая связка программ и использование механизма наследования иерархического типа. Например, Смолток предназначен для решения нечисловых задач при построении систем искусственного интеллекта. В языке Форт применены структурное программирование и очень компактный машинный код.

ЯЗЫК П РОГРАММИРОВАНИЯ ЯЗЫК П РОГРАММИРОВАНИЯ КЛАССИФИКАЦИЯ Функциональные языки (Языки функционального программирования) (Лисп, AutoLISP, Пролог, СНОБОЛ)- языки, основным конструктивным элементом которых является математическое понятие функции. Тексты программ на функциональных языках программирования описывают «как решить задачу», но не предписывают последовательность действий для решения. Например, AutoLISP широко используется в системе автоматизированного проектирования AutoCAD.AutoLISPAutoCAD В качестве основных свойств функциональных языков программирования обычно рассматриваются следующие: краткость и простота; строгая типизация; модульность; функции объекты вычисления. Используются также для разработки систем искусственного интеллекта (языки Лисп, Пролог и СНОБОЛ – эти языки относятся к так называемым языкам представления знаний.

ЯЗЫК ПРОГРАММИРОВАНИЯ ЯЗЫК ПРОГРАММИРОВАНИЯ Используемые символы Современные языки программирования рассчитаны на использование ASCII.ASCII ASCII ( англ. American Standard Code for Information Interchange Американский стандартный код для обмена информацией. англ. Американский стандартный код информацией ASCII представляет собой 8- битную кодировку для представления десятичных цифр, латинского и национального алфавитов, знаков препинания и управляющих символов. Управляющие символы ASCII используются ограниченно.

ЯЗЫК ПРОГРАММИРОВАНИЯ ЯЗЫК ПРОГРАММИРОВАНИЯ

ЯЗЫК ПРОГРАММИРОВАНИЯ ЯЗЫК ПРОГРАММИРОВАНИЯ

ЯЗЫК ПРОГРАММИРОВАНИЯ ЯЗЫК ПРОГРАММИРОВАНИЯ Используемые символы КОИ -8 ( код обмена информацией, 8 битов ), KOI8 восьмибитовая ASCII- совместимая кодовая страница, разработанная для кодирования букв кириллических алфавитов.ASCII кодовая страница кириллических алфавитов

ЯЗЫК ПРОГРАММИРОВАНИЯ ЯЗЫК ПРОГРАММИРОВАНИЯ