Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Системы программирования ( Понятие системы программирования)

Содержание:

Введение

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

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

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

Системы программирования – это комплексы программ и прочих средств, предназначенных для разработки и их эксплуатации на конкретном языке программирования для конкретного вида ЭВМ.

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

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

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

Для достижения поставленной цели нами были поставлены следующие задачи:

1) систематизировать основные этапы развития языков программирования и систем программирования;

2) выделить основные виды систем программирования;

3) рассмотреть основные компоненты системы программирования; )выявить требования к системам программирования;

4) выполнить обзор современных систем программирования.

При написании работы были проанализированы различные источники научно-технической литературы и статьи Интернет

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

Глава 1. Понятие системы программирования

Системы программирования обеспечивают платформу для разработки прикладного программного обеспечения и непосредственно взаимодействуют с компьютерным оборудованием, чтобы получить необходимую производительность при выполнении задач пользователей. Платформу можно использовать для программирования приложений iPhone, iPad и операционных систем Android, используя язык программирования Java. Интерфейс Android Studio и Oracle Java SDK в сочетании с необходимыми базовыми знаниями позволяет создавать самые разнообразные приложения.

1.1 Элементы программных систем

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

Элементы классической системы программирования:

1.Операционная система - является интерфейсом между прикладным программным обеспечением и компьютером.

2.Утилиты - небольшие, но мощные программы с ограниченными возможностями для конкретных задач. Обычно применяются пользователями для обеспечения бесперебойной работы компьютерной системы[1].

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

4.Программное обеспечение перевода: ассемблер, компилятор, переводчик.

5.Интерпретатор анализирует и выполняет языковую программу высокого уровня по одной строке за раз.

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

Пример современной системы программирования включает в себя сервисное и базовое ПО.

1.2 Понятие о системе программирования и структура программы

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

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

1.Заявление о начале программы.

2.Объявление переменной.

3.Программные заявления (блоки кода).

Примеры приветствия «Hello World»

Системы программирования и примеры приветствия «Hello World» на разных программных языках четко демонстрирует базовые различия.

Примеры приветствия «Привет мир»

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

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

Объявление переменной

На следующем рисунке показан пример системы программирования для структуры цикла, который запускает набор операторов, пока условие не станет истинным.

Набор операторов

Бесконечный цикл

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

Системы программирования и примеры программ на языке C для программы сортировки строк в словаре представлены ниже. Эта программа принимает 10 слов (строк) от пользователя и сортирует их в лексикографическом порядке. Например, 10 языков программирования:

1.C.

2.C++.

3.Java.

4.PHP.

5.Python.

6.Perl.

7.Cobol.

8.Ruby.

9.R.

10.JavaScript.

Примеры программ на языке C

Результат:

1.C.

2.C++.

3.Cobol.

4.Java.

5.JavaScript.

6.PHP.

7.Perl.

8.Python.

9.R.

10.Ruby.

1.3 Основные инструменты

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

1.Текстовый редактор – средства редактирования. Этот инструмент позволяет написать исходный код. Это обычный инструмент, необходимый для программирования на любом языке. Действительно, при программировании ценят наличие таких функций, как: автозаполнение, подсветка синтаксиса, поиск, редактирование, замены части кода и редактор отступа.

2.Компилятор или интерпретатор. Этот инструмент напрямую связан с языком программирования.

3.Отладчик. Разработчики, как и все люди, могут ошибаться. Нахождение и исправление ошибок требует времени. Отладчик - это инструмент, который поможет отследить их. Он позволяет запускать программу шаг за шагом, видеть ее состояние в любой момент, а также проверять, выполняется ли часть кода или нет.

4.Библиотека подпрограмм.

5.Сопровождающая документация.

Использование шаблона дизайна состоит в том, чтобы структурировать программу или использовать инструменты языка и максимально четко обеспечить системный подход к программированию, а также связь с базой данных шаблона, создание страницы, которая будет отображать пользовательский вид. В более общем плане шаблон проектирования представляет собой многозадачное и усовершенствованное решение[3].

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

Другим примером является наличие нескольких фреймворков в JavaScript (jQuery или angular.js) с одной целью - одни и те же действия должны быть написаны по-разному в зависимости от типа браузера, используемого посетителем на веб-сайте. Они имеют уникальный интерфейс, чтобы превратить это в код, понятный каждому браузеру. На фото пример системы программирования в JavaScript для задачи по открытию нового окна после нажатия на кнопку.

1.4 Скомпилированные языки

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

В случае интерпретируемых языков исходный код предоставляется интерпретатору, который выполняет программу напрямую. При этом нет необходимости беспокоиться об операционной системе или типе процессора, так как он должен быть установлен на компьютере пользователя. Более того, поскольку исходный код должен быть «переведен» в машинный при каждом выполнении, интерпретируемые языки часто медленны по сравнению с эквивалентными скомпилированными языками. При этом интерпретаторы не оптимизируют генерируемый машинный код, что заставляет их работать медленнее, но процесс генерации машинного кода выполняется быстрее, чем у компиляторов.

Языки виртуальных машин

Часто сокращено их называют «языки VM» (в соответствии с аналогий английского названия виртуальной машиной). Принцип действия и назначение системы программирования заключается в том, чтобы исходный код переводился не в машинный, понятный конкретному процессору, а в «фиктивный» (байт-код), который сам будет интерпретироваться языком виртуальной машиной. Такой язык имеет свои преимущества и недостатки.

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

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

1.5 Примеры языков и систем программирования

Представляем самые известные языки программирования:

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

•C. Один наиболее часто используемых в мире. Именно этот язык дает самый полный контроль над машиной. Он используется для кодирования операционных систем. Его приличный почти полувековой возраст и огромное количество библиотек, которые подойдут для чего угодно, становятся незаменимыми как для начинающих, так и для продвинутых пользователей[4].

•Cobol. Это старый язык. Он, как правило, сложнее в использовании, чем другие. Однако по историческим причинам он по-прежнему широко используется в банковском деле, финансах и страховании.

•Fortran. Он все еще востребован в области научных вычислений, для которого и был разработан. Хотя синтаксис этого языка регулярно обновляется, ощущается его возраст. Кроме того, некоторые программные библиотеки в Fortran никогда не были сопоставлены с точки зрения эффективности.

•Java. Имеет особенность компиляции в байт-код, который затем интерпретируется виртуальной машиной. Это значительно упрощает создание программ для использования на нескольких платформах операционных систем. Например, Java является шлюзом для кодирования приложения для Android.

•Perl. Это язык, который в основном ценится в мире Linux и Unixoids. Он эффективен для создания небольших, но очень мощных приложений с командной строкой. Однако Perl не очень подходит для создания графических интерфейсов.

•PHP. Во многом доминирует в мире веб-программирования.

•Python. Этот язык рекомендуется начинающим.

•Ruby. Связан с Python, регулярно заимствует инновации. В целом они очень похожи. Можно констатировать, что Ruby предлагает больше синтаксической свободы и больше настаивает на своем объектно-ориентированном характере, а Python легче и поддерживается более крупным сообществом.

•Swift. Это довольно молодой язык, подвержен изменениям и корректировкам, подходит для продуктов Apple. В ближайшие годы он вполне может стать основным продуктом программирования приложений iOS и OSX.

Применение

Представляем пример машинного кода:

110101010010001000111001001 010101001000100001011101001 000111001101110001101101010 001111010010010101011001010 001010101111110100101010001.

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

Для серверной стороны PHP держит верхние позиции, но Python и Ruby тоже активно применяются. JavaScript также используется на стороне сервера, благодаря NodeJS. Для видеоигр в Windows применяют C ++, Python и C #. Однако они далеко не единственные. Любой язык, который делает его достаточно легким для создания графического интерфейса, может быть подходящим (C, Java, Ruby или Tcl / Tk).

Для крупных приложений на рынке доминируют C ++ и Java, хотя C # тоже набирает силу. Для небольших утилитарных приложений, в частности, в командной строке, легко найти C, Perl, Python или Ruby. В области научных вычислений Фортран остается королем. Он все чаще конкурирует с C ++, Python или со специализированными языками, такими как Matlab и R.

1.6 Программирование PASCAL

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

1.PASCAL должен закрыть или существенно сузить семантический разрыв.

2.Каждый оператор PASCAL должен быть как предложение в англоязычном тексте.

3.Программу PASCAL можно рассматривать как предложение на английском языке.

4.Имена процедур, структур данных и переменных в PASCAL должны быть легко узнаваемы.

Пример системы программирования в PASCAL

Ниже приведен пример для определения количества букв в слове.

Пример системы программирования в pascal

PASCAL облегчает модульное кодирование посредством:

1.Использования инкапсулирующего кода в процедурах и функциях.

2.Использования операторов BEGIN и END для определения функционального блока кода.

3.Строгой переменной (например, назначение типов данных, таких как integer, real или string) для поддержки передачи параметров между процедурами.

4.Дружественного синтаксиса, который сужает семантический разрыв.

Системы программирования на Паскале

В приведенном примере системы программирования на Паскале программа показывает двоичный выбор (есть только два случая: ActualMark> = 50 или ActualMark<50).

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

Необходимо избегать распространенных ошибок при кодировании. Тем самым пользователь сэкономит время и избежит проблем[5]. Виды ошибок:

1.Плохое форматирование кода. Он должен быть понятен. В нем должны быть комментарии в верхней части программы.

2.Плохое тестирование и проверка ошибок. Обработка ошибок принимает две формы: обработка структурированных исключений и функциональная проверка ошибок.

3.Плохая практика комментариев.

4.Наименование ненадежных переменных. Очень сложно работать над кодом, когда многие имена переменных короткие, а не описательного характера.

5.Выбор неправильной структуры данных.

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

При этом важно, чтобы цветовое кодирование выделялось во фрагменте кода как на примере системы программирования, написанной на Python.

Глава 2. Системные программы для ПК

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

2.1 Системные программы для компьютера: общие понятия

Как следует из названия, программы этого типа представляют собой специальные утилиты и инструменты для регуляции компьютерной системы - от диагностики всех программных и «железных» компонентов до максимального использования абсолютно всех возможностей ПК, причем даже скрытых.

В некотором смысле системные программы и приложения можно назвать прослойкой между самой ОС, установленным ПО и «железом». Ярким примером могут служить пакеты драйверов.

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

Если говорить о разделении системных программ на классы по своему назначению, можно выделить несколько основных групп. Так, к системным программам относятся (в разных вариантах классификации): управляющие (резидентные и транзитные), обрабатывающие, базовые и сервисные[6] .

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

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

Что касается операционных систем Microsoft Windows, все они имеют некий минимальный набор приложений, который устанавливается в компьютерную систему при инсталляции самой «операционки».

Если кто не знает, сами системные программы, например, в Windows 7 можно найти в меню «Пуск» в разделе «Программы / Стандартные / Служебные». Кроме того, здесь имеется еще два каталога: «Администрирование» и «Обслуживание». Во всех трех директориях и располагаются системные утилиты, предназначенные для мониторинга, оптимизации, защиты или восстановления системы, резервного копирования и т. д. Подробно их описывать смысла нет, поскольку, как правило, далеко не каждый пользователь обращается именно к ним, предпочитая приложения сторонних разработчиков. И в этом, надо сказать, есть определенный смысл.

Удаление системных программ Windows с компьютера не предусмотрено. Фокусы как в ОС Android, когда при наличии root-прав можно удалить любой системный компонент вплоть до самой «операционки», здесь не проходят. В принципе, деинсталлировать можно только приложения, установленные пользователем. В общем-то, это правильно, ведь после такого вмешательства вся система просто перестанет функционировать.

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

Но тут тоже есть свои подводные камни. Дело в том, что очень часто возникает системная ошибка «Запуск программы невозможен (по такой-то причине или вообще без причины)». Связано это только с тем, что каждая утилита может устанавливаться в системы, скажем, в силу несоответствия системных требований, разной архитектуры ОС и устанавливаемого приложения (ошибка: «... не является приложением Win32»), отсутствия необходимых драйверов и т. п .

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

2.3 Антивирусы

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

Если говорить о том, что представляет собой антивирусное программное обеспечение, то, грубо говоря, это одно приложение или комплекс программных средств, которые предназначены для защиты системы и информации от вредоносных программ, поиска и выявления вирусов, их удаления или лечения зараженных компонентов системы в виде файлов или установленных приложений[7].

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

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

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

Самым простым примером могут служить два программных продукта типа Eset NOD32 и Eset Smart Security.

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

Важное место в классификации такого ПО занимают и методы анализа. Они делятся на сигнатурный и вероятностный.

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

Какая это будет программа, пользователь решает сам. Сейчас выбор достаточно широк. Среди наиболее популярных антивирусных пакетов можно выделить самые известные: практически все программные продукты «Лаборатории Касперского», приложения корпорации Eset (NOD и Smart Security), продукты типа Dr. Web, Norton Antivirus, AVG, Avira, Panda, Avast и т. д.

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

2.4 Архиваторы

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

Самыми лучшими архиваторами, по мнению многих пользователей и юзеров, можно назвать WinRAR, WinZIP, 7-Zip и многие другие. Почему нужна их установка? Да просто потому, что сжатые архивы сейчас используются повсеместно. Даже загрузка файлов большого размера из Интернета производится в виде архивных данных.

2.5 Программы для тестирования системы и ее компонентов

Конечно, можно было бы ограничиться использованием только "родных" средств Windows, но они выдают далеко не полную информацию о состоянии системы и ее компонентов. К примеру, если войти в меню «Мой компьютер» / «Свойства», там можно увидеть только основные параметры «железа» и установленной «операционки» .

То же самое касается и DirectX. Хотя здесь информация более подробная, все равно она далека от того, что можно выжать из приложений сторонних разработчиков. Единственное что приятно, – DirectX позволяет производить специальные тесты некоторых устройств Plug&Play.

Определить загруженность системы или получить более подробную информацию можно во вкладках меню «Конфигурация системы», вызываемом командой «msconfig», использовать «Сведения о системе» в Панели управления или, наконец, применить сочетание клавиш Ctrl + Alt + Del, вызывающее Диспетчер задач (мониторинг запущенных процессов, нагрузка на центральный процессор и оперативную память и т. д.).

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

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

2.6 Оптимизаторы

Системные программы для оптимизации очень важны. Наверное, это не нужно объяснять никому. Со временем система начинает тормозить в большинстве случаев из-за накопившегося там хлама или компьютерного мусора. Кроме того, причиной может быть наличие большого количества фрагментированных данных. Конечно, можно использовать стандартные средства ОС Windows типа очистки или дефрагментации диска, но, как показывает практика, они менее действенны, чем программные продукты сторонних разработчиков[8].

С реестром и того хуже. В Windows нет ни одного инструмента для его очистки. А вручную удалять или корректировать неверные или устаревшие записи и ключи – дело абсолютно неблагодарное. Так можно и всю систему «посадить».

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

Как видим, универсальность и удобство использования таких программных пакетов налицо. Самыми известными приложениями такого типа считаются CCleaner, Advanced System Care, Glary Utilities, Ashampoo WinOptimizer и т.д.

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

2.7 Программы для резервного копирования и восстановления

Системные программы для создания резервных копий данных на жестком диске, драйверов или образа состояния «операционки» важны не меньше, чем все остальное системное ПО. С помощью таких копий можно восстановить работоспособность Windows в считанные минуты. Кроме того, при сохранении образов жесткого диска, его логических разделов или съемных носителей, можно не потерять важную информацию даже при условии выхода из строя винчестера, флэшки или съемного жесткого диска типа USB HDD .

В самих ОС Windows имеется такая возможность. Можно создать специальный диск восстановления или использовать меню «Восстановление системы», например, из Панели управления. Но и тут наблюдаются сбои. Иногда восстановление бывает невозможным из-за наличия ошибок на жестком диске, причем в той области, где был сохранен снимок, принимаемый за контрольную точку восстановления. При этом даже проверка диска с автоматическим исправлением ошибок не дает желаемого результата.

Здесь помогают специальные системные утилиты типа Acronis True Image, которая по праву считается одной из самых функциональных в плане использования возможностей в производимых операциях и тонких настройках, а также большинство приложений для работы с образами (Daemon Tools, UltraISO, Alcohol 120% или тот же пакет Nero Burning ROM).

Наконец, среди дополнительных средств для комфортной работы следует установить наборы кодеков и декодеров для просмотра видео и прослушивания аудио (помимо стандартных драйверов устройств). Самым известным пакетом считается K-Lite Codec Pack.

Обязательно должен присутствовать Adobe Flash Player для воспроизведения некоторых типов потокового видео в Интернете, а также программы типа Adobe Reader для работы с файлами формата PDF, которые сегодня являются одними из самых распространенных в своей области. Хотя второе приложение к системным и не относится, его наличие обязательно.

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

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

2.8 Среды программирования и выполнения программ

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

Специалисты говорят, что для данного случая в системное программное обеспечение входят:

•Средства для набора и редактирования текста.

•Транслятор или интерпретатор (для простейших языков).

•Редактор связей, также называемый компоновщиком.

•Отладчики.

•Полные прикладные библиотеки для выполнения программы.

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

Так как это определение понятно далеко не всем, рассмотрим данный вопрос несколько подробнее.

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

Все приложения такого класса делятся на компиляторы и интерпретаторы. Первые сразу же переводят исходный модуль в машинный текст. Интерпретатор же не только выполняет переноску, но и тут же пробует протестировать программу. Исходя из этого, у него есть один громадный недостаток: медленное выполнение программы. Именно поэтому используются такие средства только в среде самых простых и примитивных языков, которые применяют для обучения основам программирования .

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

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

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

•Остановка в заданных разработчиком точках.

•Если есть такая необходимость, отладчик может полностью остановить программу в заранее заданной точке.

•Отображение всех используемых переменных.

Итак, подведем итоги. Получается, что в системное программное обеспечение входят следующие компоненты:

•Непосредственно ОС (операционные системы).

•Графические оболочки (DE) и среды выполнения программ.

•Файловые менеджеры и прочие средства управления файлами.

•Средства для разработчиков.

•Все сетевые утилиты.

•Некоторые прикладные программы.

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

Заключение

В ходе проделанной курсовой работы были изучены современные системы программирования.

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

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

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

- программа–транслятор (интерпретатор, компилятор);

- специальный редактор для ввода и изменения текста программы;

- среда разработки;

- встроенные библиотеки стандартных функций и процедур;

- пакет программ для отладки приложения;

- справка.

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

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

Нормативно-правовые документы

1. Конституция Российской Федерации от 12 декабря 1993 г. (с изм. и доп., вступ. в силу с 21.07.2014)

Произведения из многотомного издания

2. Информатика: Базовый курс/ Симонович С.В. и др. – СПб.: Питер, 2014. – 640 с

3. Моначов В. Язык программирования Java и среда NetBeans . – 2-е изд. – СПб.: БХВ-Петербург, 2018. – 720 с.

4. Моргун А.Н. Справочник по Turbo Pascal для студентов. – М.: Диалектика, 2012. – 608 с.

5. Сайлер Б., Споттс Д. Использование Visual Basic 6. Классическое издание. – М.: Вильямс, 2011. – 832 с.

6. Угринович Н. Информатика и информационные технологии. Учебник для 10 – 11 классов. 4-е изд. – М.: Бином. Лаборатория знаний, 2013. – 511с.

7. Фаронов В.В. Turbo Pascal. Наиболее полное руководство. – СПб.: Питер, 2017 – 763 с.

8. Хорстманн К.С., Корнелл Г. Java 2. Библиотека профессионала, том 1. Основы. – М.: Вильямс, 2011. – 816 с.

9. Шилдт Г. Полный справочник по С++. – М.: «Вильямс», 2010. – 800 с.

10. Гейн А.Г. Основы информатики и вычислительной техники. - М.: Просвещение, 2012.

11 Гордеев А. В., Молчанов А. Ю. Системное программное обеспечение: Учебник для вузов. - СПб.: Питер, 2019.

12 Баула В.Г. Введение в архитектуру ЭВМ и системы программирования. - М., 2014. - 144 с.

12 Волкова И.А., Головин И.Г., Карпов Л.Е. Системы программирования: Учебное пособие. - М.: Издательский отдел факультета ВМК МГУ, 2009. - 129 с.

  1. Хорстманн К.С., Корнелл Г. Java 2. Библиотека профессионала, том 1. Основы. – М.: Вильямс, 2011. – 816 с.

  2. Шилдт Г. Полный справочник по С++. – М.: «Вильямс», 2010. – 800 с.

  3. Гейн А.Г. Основы информатики и вычислительной техники. - М.: Просвещение, 2012.

  4. Гордеев А. В., Молчанов А. Ю. Системное программное обеспе-чение: Учебник для вузов. - СПб.: Питер, 2019.

  5. Баула В.Г. Введение в архитектуру ЭВМ и системы программи-рования. - М., 2014. - 144 с.

  6. Угринович Н. Информатика и информационные технологии. Учеб-ник для 10 – 11 классов. 4-е изд. – М.: Бином. Лаборатория знаний, 2013. – 511с.

  7. Гейн А.Г. Основы информатики и вычислительной техники. - М.: Просвещение, 2012.

  8. Информатика: Базовый курс/ Симонович С.В. и др. – СПб.: Питер, 2014. – 640 с

  9. Моначов В. Язык программирования Java и среда NetBeans . – 2-е изд. – СПб.: БХВ-Петербург, 2018. – 720 с.