Системное программирование примеры программ

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

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

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

Цель работы — описать современные системы программирования.

Пишем файловую систему | Системное программирование С++

1. Системы программирования как неотъемлемая часть ЭВМ

1.1 Определение системы программирования

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

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

Системой программирования называется комплекс программ, предназначенный для автоматизации программирования задач на ЭВМ (2, 569). Система программирования освобождает проблемного пользователя или прикладного программиста от необходимости написания программ решения своих задач на неудобном для него языке машинных команд, и предоставляют им возможность использовать специальные языки более высокого уровня. Для каждого из таких языков, называемых входными или исходными, система программирования имеет программу, осуществляющую автоматический перевод (трансляцию) текстов программы с входного языка на язык машины. Обычно система программирования содержит описания применяемых языков программирования, программы-трансляторы с этих языков, а также развитую библиотеку стандартных подпрограмм. Важно различать язык программирования и реализацию языка.

Алексей Веселовский — Go и мир системного программирования

Язык программирования – это набор правил, определяющих систему записей, составляющих программу, синтаксис и семантику используемых грамматических конструкций. Реализация языка – это системная программа, которая переводит (преобразует) записи на языке высокого уровня в последовательность машинных команд.

1.2 Классификация систем программирования

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

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

Машинно-ориентированные системы программирования имеют входной язык, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.). Машинно-ориентированные системы позволяют использовать все возможности и особенности машинно-зависимых языков:

· высокое качество создаваемых программ;

· возможность использования конкретных аппаратных ресурсов;

· предсказуемость объектного кода и заказов памяти;

· для составления эффективных программ необходимо знать систему команд и особенности функционирования данной ЭВМ;

· трудоемкость процесса составления программ (особенно на машинных языках и ЯСК), плохо защищенного от появления ошибок;

· низкая скорость программирования;

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

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

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

1.3 Средства создания программ

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

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

Читайте также:
Лучшие программы на телефон для дизайна

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

3. Объектный код модулей и подключенные к нему стандартные функции обрабатывает специальная программа – редактор связей. Данная программа объединяет объектные коды с учетом требований операционной системы и формирует на выходе работоспособное приложение – исполнимый код для конкретной платформы. Исполнимый код это законченная программа, которую можно запустить на любом компьютер, где установлена операционная система, для которой эта программа создавалась. Как правило, итоговый файл имеет расширение .exe или .com.

4. В современных системах программирования имеется еще один компонент – отладчик, который позволяет анализировать работу программы во время ее исполнения. С его помощью можно последовательно выполнять отдельные операторы исходного текста последовательно, наблюдая при этом, как меняются значения различных переменных.

5. В последние несколько лет в программировании (особенно для операционной среды Windows) наметился так называемый визуальный подход. Этот процесс автоматизирован в средах быстрого проектирования. При этом используются готовые визуальные компоненты, свойства и поведение которых настраиваются с помощью специальных редакторов. Таким образом, происходит переход от языков программирования системного уровня к языкам сценариев.

2. Современные системы программирования

2.1 Microsoft Visual Basic

Microsoft Visual Basic — средство разработки программного обеспечения, разрабатываемое корпорацией Microsoft и включающее язык программирования и среду разработки. Язык Visual Basic унаследовал дух, стиль и отчасти синтаксис своего предка — языка Бейсик, у которого есть немало диалектов. В то же время Visual Basic сочетает в себе процедуры и элементы объектно-ориентированных и компонентно-ориентированных языков программирования. Среда разработки VB включает инструменты для визуального конструирования пользовательского интерфейса.

Источник: smekni.com

Системное программирование примеры программ

Основные этапы разработки программных систем. Системное проектирование. Системное программирование. Примеры разработки программного обеспечения автоматизированных систем управления и проектирования.

2. Компьютерная сеть как объект проектирования

Основные принципы организации и функционирования информационных компьютерных сетей (ИКС). Обобщенная структурная схема ИКС. Локальные и территориальные компьютерные сети (ТКС). Коммуникационные подсети. Магистральные сети – базовые сети передачи данных (СПД) ТКС. Сети доступа. Маршрутизаторы.

Коммутаторы. Абонентские комплексы: серверы, рабочие станции.
Проблемы и задачи проектирования ИКС.

3. Основы проектирования сетей передачи данных

Системный анализ проблемы проектирования СПД ТКС.
Технологии проектирования СПД. Этапы проектирования СПД.
Структурно-топологическое проектирование. Выбор маршрутов передачи данных. Выбор пропускных способностей узлов коммутации и каналов передачи данных.
Алгоритмы проектирования.

4. Разработка программных систем

Общая структура процесса разработки программных систем. Основные этапы.
Документирование процесса разработки программной системы.
Подготовка технического задания (ТЗ) на разработку системы оптимизации проектирования (СОПР) СПД ТКС. Структура ТЗ. Основные требования к ТЗ. Технический проект. Рабочий проект.

5. Система оптимизации проектирования СПД

Разработка системы оптимизации проектирования СПД ТКС. Архитектура системы. Основные внешние и внутренние функции системы. Организация хранения данных. База данных проектов и вариантов решений. База данных нормативно-справочной информации. Логическая структура процесса проектирования СПД ТКС в СОПР.

Работа с вариантами проектных решений.

6. Разработка программного обеспечения СОПР СПД

Разработка программного обеспечения (ПО) СОПР СПД ТКС на языках Delphi и С++. Основные средства Delphi и С++, используемые при разработке ПО СОПР.Основные требования к ПО СОПР. Общая структура ПО СОПР. Функциональные и обеспечивающие подсистемы. Организация взаимодействия подсистем.

Основные программные модули СОПР СПД.

Источник: gvmax.ru

Системное программирование — презентация

  • Системное программирование

Первый слайд презентации: Системное программирование

Элементы архитектуры ПК и Ассемблер для IBM PC

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

Изображение слайда

Слайд 2

Основная литература: Бройдо В.Л., Ильина О.П. «Архитектура ЭВМ и систем», учеб. для вузов. -2-е изд., М.; СПб. [и др.]: Питер, 2009, 720 с.(52+3) экз Калашников О.А. «Ассемблер? Это просто! Учимся программировать»,: СПб.: БХВ-Петербург, 2007 365, +1 эл. опт. диск (CD-ROM) (в медиазале)+ (4+1)экз http://www.kalashnikoff.ru/Assembler Федорова А.Г. Электронный учебник «Основы программирования на языке Ассемблер для процессора INTEL » на сервере http :// course. sgu. ru Вахлаева К.П. Интернет-пособие для проведения лабораторных занятий на сервере http :// course. sgu. ru

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

Изображение слайда

Слайд 3: Литература

В.Н. Пильщиков «программирование на языке Ассемблера» В.И. Пустоваров «Язык Ассемблера в информационных и управляющих системах программирования» О.В. Бурдаев, М.А. Иванов, И.И. Тетерин «Ассемблер в задачах защиты информации» С.В.

Зубков «Ассемблер – язык неограниченных возможностей. Программирование под DOS, Windows, Unix » А. Жуков, А. Авдюхин «Ассемблер. Самоучитель» С.К. Фельдман «Системное программирование»

Литература

Изображение слайда

Слайд 4: История развития ПК

1948 год – создание транзистора…. 1958 год – 1-я микросхема…. 1971 год – 1-ый МП, МП, реализованный в виде 1 интегральной микросхемы. Intel 4004 — …. 1974 г. – 8-разрядный МП Intel 8080 … 1975-1976 – 1-я ПЭВМ, созданная фирмой APPLE … 1978 г. – 16-й МП 8088… 1979 г. – 16-й МП 8086…29000 транзисторов, 3Мкр технология, МП – 33мм 2 площадь кристалла 1981 г. – IBM PC 1983 г. – IBM PC XT (Extended Technology) 1984 г. – IBM PC AT (Advenced Technology) – 2 -е поколение 1987 г. – 32-й i386 1990 г. – i486 …1,5 млн транзисторов, 1Мкр технология, 5-ти стадийный конвейер для выполнения команд кэш-память на кристалле процессора 8Кбайт

Читайте также:
Программа которая считает количество слов в предложении

История развития ПК

Изображение слайда

Слайд 5: История развития ПК

1993 г. – 64-й МП « Pentium » — 5-е поколение: 3,1 млн. транзисторов, 0,8 Мкм технология 6-е поколение – Pentium Pro, Pentium 2, Pentium 3 c такт частотой 300 – 600 МГц 7-е поколение – « Willamate » 800 – 1200 МГц, кэш до 1 Мбайт 2000 г. С 2002 г. – P4 : 0,13 Мкм, 146мм 2, 55 млн транзисторов В 2002 году обещали к 2005-у МП: 0,03 Мкм, на 1 см 12 млн транзисторов, размер транзистора в 100000 раз меньше толщины листа папиросной бумаги, такт частота – 10ГГц, более 400 Млн транзисторов и напряжение питания меньше 1в., может питаться от батарейки. Но….

История развития ПК

Изображение слайда

Слайд 6

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

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

Изображение слайда

Слайд 7: История развития ПК

Технологический процесс производства, определяет в первую очередь структурный размер тех элементов, из которых состоит процессор. От технологического процесса производства напрямую зависят размеры транзисторов и их характеристики. Технологическим процессом производства определяется общее количество транзисторов в процессоре, разгонные возможности, максимальная тактовая частота, энергопотребление и тепловыделение процессора. Не так давно процессоры производились по 0,18-микронному технологическому процессу, затем по 0,13-микронному, и 90-нанометровой технологии.

История развития ПК

Изображение слайда

Слайд 8

В апреле 2010 года был представлен современный игровой процессор Intel Core i7-980X Extreme Edition – шестиядерный, способный обрабатывать 12 потоков команд одновременно, изготовленный на базе 32-нм технологии и предназначенный для топовых систем. Он предлагает высокий уровень производительности для создания цифрового контента, 3D-рендеринга, одновременного запуска большого числа приложений и требовательных к ресурсам видеоигр. Чип обладает 12 МБ кэш-памяти Intel® Smart Cache – на 50% больше в сравнении с существующим флагманским процессором для настольных систем. Сочетание процессора Intel Core i7-980X Extreme Edition, видеокарты ATI 5770 с 1 Gb памяти и 6 Gb оперативной памяти обеспечивает максимальную производительность для самых современных 3D игр, многозадачных приложений, кодирования видео, рендеринга, обработки графики и других ресурсоемких задач»

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

Изображение слайда

Слайд 9: Введение

Расширение сфер применения компьютерной техники обусловлено ростом производительности и информационной емкости вычислительных систем, что в свою очередь зависит от успехов в развитии аппаратуры и программного обеспечения Успехи в развитии аппаратуры определяются сегодня в первую очередь степенью интеграции элементной базы, развитием технологий параллельной обработки информации, развитием коллективного использования сетевых распределенных ресурсов. Успехи в развитии ПО требуют использования всех средств автоматизации программирования для получения максимальной эффективности, скорости выполнения критических участков программ. Для решения этой задачи большую роль играет использование машинно-ориентированных языков. Выделим две сферы их применения: 1) разработка системных программ, включаемых в состав операционных систем (ОС), например, драйверы устройств; 2) решение специализированных задач информационных и управляющих систем, к которым относят программы управления базами данных и языком интерфейса, программы сбора и обработки информации в информационно-измерительных системах и комплексах, в том числе и бортовых,…

Введение

Изображение слайда

Слайд 10

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

К классу системных программ относят специальные программы, обеспечивающие автоматизированную разработку программ и выполнение любых программ. При развитии ВС часто употребляемые функции типовых проблемных программ поднимают на уровень системных программ для использования их в различных приложениях, а в дальнейшем наиболее распространенные и критичные по временным затратам на уровень частичной или полной аппаратной реализации. Такой путь прошли в последние десятилетия средства управления многопрограммным защищенным режимом в процессорах фирмы Intel – от программной до частично аппаратной. А путь от прикладных до системных управляющих прошли, например, средства управления диалоговым взаимодействием с пользователем, реализованных в объектно-ориентированных графических программных оболочках ( Windows, например).

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

Изображение слайда

Слайд 11

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

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

Читайте также:
Как работать с программой vag

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

Изображение слайда

Слайд 12: На Ассемблере пишут:

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

На Ассемблере пишут:

Изображение слайда

Слайд 13: Архитектура ПК

Понятие «архитектура ЭВМ» включает в себя структурную организацию аппаратных средств (набор блоков, устройств, объединенных в единую вычислительную систему) и функциональную организацию, позволяющую реализовать программное управление этой системой. С точки зрения программиста архитектура ЭВМ — это набор программно-доступных средств.

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

Адресная шина однонаправленная, адреса передаются от процессора. Шина данных двунаправленная, данные передаются как от процессора, так и к процессору. В шину управления входят линии связи и однонаправленные и двунаправленные. Внешние устройства работают значительно медленнее процессора, поэтому для организации параллельной работы процессора и внешних устройств в архитектуру компьютера входит система прямого доступа к памяти (ДМА) и интерфейсные блоки, включающие в себя устройства управления внешними устройствами (контроллеры, адаптеры)…

Архитектура ПК

Изображение слайда

Слайд 14: Архитектура ПК

ПК Dля устройств ввода Dля устройств вывода послед. порт парал. порт

Архитектура ПК

Изображение слайда

Слайд 15: Архитектура микропроцессора ix 86

Процессор ix86 после включения питания устанавливается в реальный режим адресации памяти и работы процессора. Большинство ОС сразу переводит его в защищенный режим, обеспечивает многозадачность, распределение памяти, ресурсов и других дополнительных возможностей. Программы пользователей в таких ОС могут работать в еще одном режиме, режиме виртуальных машин. Совокупность программно-доступных средств процессора называется архитектурой процессора, с точки зрения программиста. Начиная с 386 процессора программисту доступны 16 основных регистров, 11 регистров для работы с сопроцессором и мультимедийными приложениями, и в реальном режиме доступны некоторые регистры управления и некоторые специальные регистры.

Архитектура микропроцессора ix 86.

Изображение слайда

Слайд 16: Регистр – это набор из n устройств, способных хранить n-разрядное двоичное число

Регистр – это набор из n устройств, способных хранить n-разрядное двоичное число.

Изображение слайда

Слайд 17: Регистры общего назначения

32-х разрядные регистры общего назначения без ограничения могут использоваться для временного хранения команд, адресов и данных. Обращение к ним осуществляется по именам EAX, EBX, ECX, EDX при работе с 32-х разрядными данными, по именам AX, BX, CX, DX, при работе со словами — 16-ти разрядными данными, и при работе с байтами могут использоваться восемь 8-разрядных регистров: AL, AH, BL, BH, CL, CH, DL, DH.

Эти регистры имеют собственные имена, которые говорят о том, как они обычно используются. АХ — аккумулятор…, DX – регистр данных. BX – регистр базы используется для организации специальной адресации операндов по базе. СХ — счетчик используется автоматически для организации циклов и при работе со строками. Регистры указателей и индексов имеют специальные назначения.

Регистры индексов используются для организации сложных способов адресации операндов, а регистры указателей — для организации работы с сегментом стека.

Регистры общего назначения

Изображение слайда

Слайд 18: Рассматриваемый процессор может работать с оперативной памятью как с непрерывным массивом байтов (модель памяти flat), так и с разделенной на много массивов — сегментов

Во втором случае физический адрес байта состоит из 2-х частей: адрес начала сегмента и смещение внутри сегмента. Для получения адреса начала сегмента используются сегментные регистры DS, E S, FS, GS, CS и SS, называемые селекторами. Операционные системы могут размещать сегменты в различных областях оперативной памяти и даже временно записывать на винчестер, если ОП не хватает.

С каждым селектором связан программно-недоступный дескриптор, в котором содержится адрес сегмента, размер сегмента и некоторые его атрибуты. Это для защищенного режима работы. В реальном режиме размер сегмента фиксирован и составляет 64 Кбайта. Адрес сегмента кратен 16 и в 16-ой системе счисления может быть записан в виде XXXX0 16 и четыре старшие цифры адреса сегмента содержатся в сегментном регистре. В защитном режиме размер сегмента может изменяться до 4Гбайт. селектор дескриптор

Рассматриваемый процессор может работать с оперативной памятью как с непрерывным массивом байтов (модель памяти flat), так и с разделенной на много массивов -

Изображение слайда

Слайд 19

DS, ES, FS, GS — 16-ти разрядные сегментные регистры, используемые для определения начала сегментов данных. CS — сегментный регистр кодового сегмента. SS — сегментный регистр для определения сегмента стека. Сегментных регистров всего 6, но в любой момент пользователь может изменить содержимое этих регистров. Например,….. Специальным образом реализуется и используется сегмент стека….

Адрес начала сегмента стека определяется автоматически ОС с помощью регистра SS, а указатель на вершину стека – это регистр указателей SP ( ESP ). C тек организован таким образом, что при добавлении элементов в стек, содержимое указателя стека уменьшается. Стек растет вниз от максимального значения, хранящегося в SS (растет вниз головой). При добавлении в стек адреса уменьшаются. Такая организация необходима при использовании модели памяти flat. В этом случае программа размещается, начиная с младших адресов, а стек размещается в старших адресах

Источник: showslide.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru