Дипломная (вкр): Программное обеспечение ЭВМ

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

 стоимость,

 сфера применения,

 функциональные возможности,

 удобство в эксплуатации.

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

Основоположником классической архитектуры ЭВМ 1-го и 2-го поколения был Джон фон Нейман, который и сформулировал основные принципы последовательности. К такой группе относятся однопроцессорные системы, в одном случае имеющие одиночный поток данных (SISD), а во втором - множественный поток данных (SIMD). Эти виды архитектуры обусловлены одним векторным потоком команд, при том что самих потоков данных множество.

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

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

. Понятие системного программного обеспечения: назначение, возможности, структура; операционные системы

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

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

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

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

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

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

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

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

. Файловая структура. Служебное ПО

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

Виды файловой структуры:

) Одноуровневая ФС - линейная последовательность имен файлов, используется для дисков с небольшим количеством файлов;

2) Многоуровневая иерархическая ФС - представляет собой древовидную структуру, служит для хранения сотни и тысячи файлов. Каталог (Папка) верхнего уровня содержит вложенные папки 1уровня, которые могут содержать папки 2 уровня и тд

Для хранения информации каждый диск разбивается на 2 области:

) каталог (directory) или папка - содержит названия файлов и указание на начало их размещения на диске;

) область хранения файлов, содержит текст.

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

Классификация служебного программного обеспечения

Диспетчеры файлов (файловые менеджеры).

Средства просмотра и конвертации.

Средства диагностики.

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

Средства коммуникации.

Средства компьютерной безопасности.

. Моделирование как метод познания

Моделирование - это метод познания, состоящий в создании и исследовании моделей.

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

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

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

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

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

Для описания и исследования одного и того же объекта может использоваться несколько моделей.

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

Для описания и исследования разных объектов может использоваться одна и та же модель.

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

. Алгоритмизация. Понятие алгоритма и алгоритмической системы, свойства алгоритма

Алгори́тм - набор инструкций, описывающих порядок действий исполнителя для достижения результата решения задачи за конечное число действий. В старой трактовке вместо слова «порядок» использовалось слово «последовательность», но по мере развития параллельности в работе компьютеров слово «последовательность» стали заменять более общим словом «порядок». Это связано с тем, что работа каких-то инструкций алгоритма может быть зависима от других инструкций или результатов их работы. Таким образом, некоторые инструкции должны выполняться строго после завершения работы инструкций, от которых они зависят. Независимые инструкции или инструкции, ставшие независимыми из-за завершения работы инструкций, от которых они зависят, могут выполняться в произвольном порядке, параллельно или одновременно, если это позволяют используемые процессор и операционная система

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

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

Основными свойствами алгоритма являются:

детерминированность (определенность). Предполагает получение однозначного результата вычислительного процecca при заданных исходных данных. Благодаря этому свойству процесс выполнения алгоритма носит механический характер;

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

массовость. Это свойство предполагает, что алгоритм должен быть пригоден для решения всех задач данного типа;

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

. Основные понятия языков программирования. Развитие языков программирования

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

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

Задача: язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека к компьютеру, в то время как естественные языки используются для общения людей между собой. Можно обобщить определение «языков программирования» - это способ передачи команд, приказов, чёткого руководства к действию; тогда как человеческие языки служат также для обмена информацией.

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

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

Появление машинного языка

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

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

Язык ассемблера

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

Теперь, когда была нужна эффективная программа, вместо машинных языков использовались близкие к ним машинно-ориентированные языки ассемблера. К таковым относились, например, Autocode, с 1954-го г. - IPL (предшественник языка LISP) и, с 1955-го г. - FLOW-MATIC (предшественник языка COBOL). Теперь люди стали использовать мнемонические команды взамен машинных команд.

Но даже работа с ассемблером достаточно сложна и требует специальной подготовки. Например, для процессора Zilog Z80 машинная команда 00000101предписывает процессору уменьшить на единицу свой регистр B. На языке ассемблера это же будет записано как DEC B.

Языки высокого уровня

Следующий шаг был сделан в 1954 году, когда был создан первый язык высокого уровня - Фортран (англ. FORTRAN - FORmula TRANslator), а за ним и некоторые другие, как LISP, ALGOL 58, FACT (ещё один предшественник языка COBOL). Языки высокого уровня имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Эти языки более удобны для человека, с помощью них, можно писать программы до нескольких тысяч строк длиной. Конечно, это достижение было очень ценно. Условными словами можно было, как привычно человеку, гораздо более просто выразить сложную программную операцию из битов. Однако, легко понимаемый в коротких программах, этот язык становился нечитаемым и трудно управляемым, когда дело касалось больших программ. То есть, простоты по-прежнему не хватало. Решение этой проблемы пришло после изобретения языков структурного программирования (англ. structured programming language), таких как Алгол (1958), Паскаль (1970), Си (1972).

-й год - изобретён COBOL.

-й год - Симула. С него началась эпоха структурного программирования.

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

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

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

Источник: https://www.bibliofond.ru/detail.aspx?id=787361