Читайте также: |
|
Компьютер как программируемая система.
Понятие ресурса. Понятие вычислительной системы и
информационно-вычислительной системы.
Работа компьютера возможна только в том случае, если существует программа, состоящая из последовательности команд процессора, описывающая последовательность действий, необходимых для достижения результата. При этом программа должна быть доступна процессору, следовательно, она должна находиться в оперативной памяти, и процессору должен быть известен адрес первой команды программы. Каким образом программа может оказаться в оперативной памяти? Она может быть записана туда с периферийного устройства, либо находиться в памяти постоянно. В зависимости от типа компьютера процесс начальной загрузки компьютера может выполняться по-разному. Рассмотрим последовательность действий для типового персонального компьютера. При включении компьютера в процессоре автоматически устанавливается адрес первой команды в программе, записанной в той части оперативной памяти, информация в которой не меняется никогда, даже при выключении компьютера. Такая память называется ПЗУ- постоянное запоминающее устройство, адреса этой памяти являются частью адресов оперативной памяти. Программа, записанная в ПЗУ, предназначена для начальной инициализации компьютера и загрузки других программ с внешних устройств ввода-вывода. Она записывается с помощью специальных технических средств на заводе-изготовителе и называется BIOS. (Рис.1)
Записывая на внешние устройства различные программы можно обеспечить разные виды работ одного и того же компьютера без внесения в него каких бы то изменений оборудования. Чаще всего первая программа, которая загружается с внешних устройств, предназначена для организации среды выполнения программ по требованию пользователя компьютера. Такая программа называется операционной системой. Вместо операционной системы может быть загружена любая другая программа, например, программа установки операционной системы. Эта программа служит для записи операционной системы на диск с какого-нибудь другого устройства (обычно, оптического диска) и ее настройки для управления конкретным компьютером. На один и тот же компьютер могу быть установлены различные операционные системы и даже несколько различных операционных систем. В этом случае при загрузке пользователь выбирает, какая именно операционная система будет загружена. Операционная система организует взаимодействие пользователя с компьютером, обеспечивает загрузку и выполнение одной или нескольких программ, указанных пользователем, и обеспечивает доступ этих программ к внешним устройствам, памяти и данным. Все эти элементы, а также сами выполняемые программы называются ресурсами, а сама операционная система предназначена для управления этими ресурсами. Все ресурсы можно разделить на технические и информационные. Существует две группы задач, предназначенных для решения на компьютере – выполнение большого объема вычислений и доступ к хранящейся на внешних устройствах информации больших объемов. Совокупность технических и программных средств для решения задач первой группы называют вычислительной системой, а для решения задач второй группы – информационно-вычислительной системой. Различия между этими системами заключаются в характеристиках технических средств и наборах алгоритмов выполняемых программ, в том числе и алгоритмов операционной системы.
1. Информационные ресурсы ИВС. Понятие файла и файловой системы. Файл — поименованная совокупность байтов. Файловая система — порядок, определяющий способ организации, хранения и именования данных на носителях информации в компьютерах, а также в другом электронном оборудовании: цифровых фотоаппаратах, мобильных телефонах и т. п.
Все виды информации в компьютере и на внешних устройствах представлены в форме двоичных чисел. Перевод символьной, графической и другой информации в форму двоичных чисел называется кодированием. Двоичные числа кодов могут иметь различный размер, однако минимально адресуемым является 8-ми разрядное двоичное число, называемое байтом. Для удобства использования байты группируются. Например, все байты кодов символов какого-то документа. Такие группы байтов образуют единицы хранения. Размещенные на внешних устройствах эти группы называются файлами. Файлом называется поименованная совокупность байт. Сами файлы могут быть сгруппированы по каким-либо признакам, например, все файлы операционной системы или все документы по проекту и размещены в отдельных папках. Папка представляет собой файл, содержимое которого описывает находящиеся в этой папке файлы. Папка, как и любой файл, имеет свое имя и так же, как и любой файл, может быть указана в какой-либо другой папке. Таким образом, образуется некоторая структура хранения (Рис.2). Для доступа к файлам, их поиску, чтению, записи и других операций используют некоторый набор программ, входящих в состав операционной системы. Помимо файлов для работы этих программ может быть необходима специальная информация, в которой описываются характеристики и состояние внешнего устройства. Совокупность этих программ, информация и характеристиках и состоянии внешних устройств, а также файлы с их организацией на внешнем устройстве называют файловой системой. В зависимости от методов организации хранения файлов, методов доступа к ним и физических характеристик внешних устройств существует множество файловых систем. Каждая файловая система имеет свои характеристики и ограничения. Так, например, в различных файловых системах имена файлов могут иметь различные ограничения на длину имени, виды символов, из которых может составляться имя, количество имен одного и того же файла и т.д. А в зависимости от типа внешнего устройства мы можем по разному получать доступ к тому или иному файлу. В любой файловой системе все файлы могут делиться на обычные файлы, файлы-каталоги (папки) и специальные файлы. Специальными файлами называются файлы, связанные или ассоциируемые с устройствами, например, клавиатурой. На самой клавиатуре никаких файлов хранить нельзя, но в виде файла можно читать последовательность символов, вводимых с нее. Так как в файлах может храниться информация различной природы (тексты, рисунки, музыка, программы и т.д.), то желательно как-то различать файлы с разным типом информации. Для этого кроме имени файла используется расширение имени, которое может занимать от 0 до 3 байт. Существует набор «стандартных» расширений – txt, doc, exe, jpg и т.д., которые предполагают вполне определенные действия при попытке доступа к файлу. Например, если мы обращаемся к файлу с расширением «exe», операционная система предполагает, что в таком файле хранится программа и пытается выполнить все действия, необходимые для выполнения этой программы. При обращении к файлу «txt» операционная система считает, что в файле находится текстовая информация и запускает программу работы с текстовыми файлами, чтобы с помощью этой программы произвести обработку указанного файла. Для каждого расширения файла может быть указана своя программа обработки этого файла. Кроме имени и расширения у каждого файла существует еще несколько характеристик, предназначенных для разных целей. Например, все файлы имеют характеристику «Дата создания», которая используется, если мы просим файловую систему найти все файлы, созданные в какой-то конкретный день или какой-то диапазон дат. А характеристика «Только для чтения» не позволяет случайно внести изменения в файл. Доступ к файлам на внешних устройствах происходит существенно медленнее, чем доступ к байтам в оперативной памяти компьютера. Для снижения негативных последствий данного факта применяются специальные методы и средства, которые называются опережающим чтением, кэшированием и буферизацией. Опережающее чтение производится при первом обращении к файлу. Сама обратившаяся к файлу программа может не содержать в данный момент времени команд чтения информации из файла, а файловая система сама читает порцию информации из файла в надежде, что в ближайшее время такая команда в программе появится, т.е. это программный способ оптимизации доступа к файлам. Кэширование представляет собой процесс, когда при чтении информации с внешнего устройства в специальную память устройства читается не только запрошенная информация, ни и весь физический блок хранения информации на устройстве, несмотря на то что в этом блоке может присутствовать информации не только затребованного файла, но и других файлов. При дальнейшем обращении к данным файла информация устройством берется не с медленного устройства, а из памяти кэша, если таковая там присутствует, что уменьшает время доступа. Таким образом, кэш является физической оптимизацией доступа к информации. Буферизация представляет собой процесс, при котором в оперативную память читаются или заносятся программой несколько последовательных порций информации файла. Каждая порция информации размещается в своей области памяти, называемой буфером. Совокупность буферов образуют буферный пул. В процессе работы содержимое буфера может быть изменено на новую порцию информации по мере необходимости. Таким образом, буферизация является программным способом оптимизации доступа.
2. Интерфейс — совокупность средств, методов и правил взаимодействия между элементами системы. Интерфейсы взаимодействия ИВС. Пользовательский интерфейс. Сетевой интерфейс.
Передача информации от источника к потребителю в вычислительных системах осуществляется в соответствии с некоторыми наборами правил. Для разных пар источников и потребителей информации существует свой набор таких правил. Совокупность средств, методов и правил взаимодействия между элементами системы называют интерфейсом. Чаще всего производители стремятся к тому, чтобы реализовать элементы системы с взаимодействием по какому-то из стандартных интерфейсов, чтобы при подключении элемента не возникало проблем обмена информацией в существующей системе. Такими стандарными интерфейсами являются, например, интерфейс общей шины, интерфейс последовательного или параллельного порта, USB-интерфейс и т.д. Помимо интерфейса между техническими средствами компьютера существует также интерфейс взаимодействия пользователя компьютера с работающими на нем программами. Принципиально различаются два вида пользовательского интерфейса – консольный и графический. Консольный интерфейс предусматривает такой способ взаимодействия пользователя с компьютером, при котором пользователь вводит информацию как бы с печатной машинки. Графический интерфейс более богат на способы взаимодействия. Он включает в себя не только ввод команд и данных, но и выбор варианта из возможных, предложенных программой, графический ввод информации, наглядное отображение результатов своего воздействия на работу программы и т.д. Сами результаты работы программы могут быть представлены не только в форме чисел и сообщений, но и форме графиков, диаграмм, показаний графических приборов и т.п. Особым видом интерфейса является сетевой интерфейс, позволяющий организовать взаимодействие подсоединенных к сети компьютеров.
3. Алгоритм — точный набор инструкций, описывающих порядок действий исполнителя для достижения результата решения задачи за конечное время. Понятие программы. Программа - термин, в переводе означающий «предписание», т.е. предварительное описание предстоящих событий или действий. Компьютерная программа — последовательность инструкций, предназначенная для исполнения устройством управления вычислительной машины. Программа — данные, предназначенные для управления конкретными компонентами системы обработки информации в целях реализации определенного алгоритма. Языки программирования.
Как мы уже говорили, компьютер является программно управляемой системой. Выполняемые компьютером программы должны точно описывать последовательность действий, необходимых для решения конкретной задачи. Разработка любой программы начинается с разработки алгоритма решения соответствующей задачи. Алгоритм — точный набор инструкций, описывающих порядок действий исполнителя для достижения результата решения задачи за конечное время. Таким образом, алгоритм должен обладать свойствами однозначности, достижимости и конечности. Описание алгоритма должно выполняться на языке, понятном разработчику алгоритма и позволяющем сделать алгоритм наглядным для его анализа и понимания другими разработчиками. Разговорный язык не подходит для этих целей, т.к. в нем присутствует неопределенность и двусмысленность. Существует два вида средств для разработки алгоритмов – языковые и графические (Рис.3). Под языковыми средствами понимается некоторый формальный язык, каждое предложение которого однозначно интерпретируется и может быть выполнено многократно с одинаковым результатом. Графические средства представляют собой набор графических изображений стандартно возможных действий с правилами соединения этих изображений и возможностью описания объектов воздействия и операций. Такие описания алгоритмов называют блок-схемами. Как и любое графическое изображение, блок-схемы более информативны и проще для восприятия, чем алгоритмы, написанные на формальном языке (или псевдоязыке). Алгоритмы используются для разработки программ. Программа — данные, предназначенные для управления конкретными компонентами системы обработки информации в целях реализации определенного алгоритма. Она должна представлять собой последовательность инструкций, предназначенная для исполнения процессором компьютера. Однако, написание программы в формате команд процессора является занятием достаточно трудоемким и привязывает программу к компьютеру, процессор которого содержит именно такой набор команд. Для повышения производительности разработчиков программ и обеспечения переносимости программ с компьютера с одной системой команд на компьютер с другой системой команд были разработаны специальные языки для написания программ по алгоритмам – алгоритмические языки программирования. При этом программа, написанная на алгоритмическом языке, может быть автоматически переведена на язык команд процессора с помощью специальной программы – компилятора, а сам процесс преобразования в этом случае называется компиляцией. В принципе, преобразование программы, написанной на алгоритмическом языке, возможно в любой другой формальный язык, который не обязательно должен быть языком команд процессора. Такой процесс называется трансляцией, а программа, выполняющая трансляцию – транслятором. С помощью транслятора становится возможным написание отдельных частей программы на разных алгоритмических языках с последующей трансляцией этих частей в какой-то один промежуточный язык и последующей компиляцией всех частей в язык команд процессора. Наконец, существует еще один метод, с помощью которого может быть выполнена работа написанной нами программы – симуляция и эмуляция. Симуляция предполагает воспроизведение поведения программы. Симулироваться может как текст программы на языке программирования высокого уровня программирования, так и текст программы на языке инструкций процессора. Эмуляция предполагает точное моделирование поведения не только программы, но и всей системы. Это позволяет выполнять программы, написанные для одной системы, в другой системе. Например, программы, написанные для мобильных телефонов, могут отлаживаться на обычном персональном компьютере. Существует множество алгоритмических языков программирования. Это определяется множеством сфер применения компьютеров и, как следствие, множеством классов решаемых на компьютере задач. Среди этого множества можно отметить такие языки, как: Fortran (Formula translator), ориентированный на написание программ, решающих научные или вычислительные задачи; COBOL, предназначенный для разработки бизнес-приложений; Pascal, язык общего назначения; С, являющийся стандартным процедурным языком программирования. Существенным упрощением разработки программ является наличие библиотек стандартных программ. Эти библиотеки можно разделить на системные и прикладные. К системным библиотекам относятся такие библиотеки, в которых содержатся стандартные программы для выполнения работы с устройствами и файлами, программы работы с памятью, т.е. те стандартные программы, которые работают с ресурсами системы. Прикладные библиотеки обычно включают в себя реализацию различных математических вычислений: интегрирование, статистическая обработка, различные преобразования и т.п. Особое место занимают библиотеки, в состав которых входят программы, предназначенные для организации интерфейса между программой и пользователем, а также библиотеки построения графических изображений. Библиотеки могу быть встроены в состав компилятора или подключаться в процессе компиляции или связывания (линковки), а также подключаться к программе в процессе ее выполнения – динамические библиотеки. Наличие библиотек позволяет сократить время разработки программ за счет повторного использования ранее написанных программ, реализующих необходимые нам функции. Таким образом, любая программа может находиться в нескольких формах представления: в форме алгоритма, программы на алгоритмическом языке программирования, программы на промежуточном языке программирования и программы на языке команд процессора.
4. Программное обеспечение компьютера. Типовой состав программного обеспечения ИВС.
Набор программ, записанных на компьютере, составляет программное обеспечение данного компьютера (Рис.4). Все программы при этом можно разделить на: системное программное обеспечение и прикладные программы. К системному программному обеспечению относятся: операционная система, программы тестирования компьютера и периферийных устройств, программы обслуживания вычислительной системы (системы резервного копирования информации, программы дефрагментации дискового пространства и т.п.). Прикладные программы предназначены для решения конкретных задач и представляет собой довольно обширную группу. В зависимости от назначения компьютера в эту группу могут входить, например, программы автоматизации управления предприятием или системы бухгалтерского учета, программы для проектирования и дизайна изделий и конструкций или программы обработки текстов и верстки полиграфической продукции, программы, моделирующие различные физические процессы, или программы, имитирующие реакцию на управление транспортными средствами. Отдельную группу составляет программное обеспечение, предназначенное для разработки программ – инструментальные средства. К ним относятся все программы, предназначенные для поддержки и автоматизации разработки программного обеспечения: компиляторы, трансляторы, средства тестирования и отладки, средства разработки и анализа алгоритмов, системы поддержки версий, библиотеки стандартных программ и т.п. Часть программ из всего программного обеспечения компьютера начинает выполняться автоматически при загрузке компьютера, часть начинает выполняться автоматически по заранее заданному расписанию. Начало работы третьих программ инициирует пользователь компьютера, операционная система или какая-то другая программа, работающая на данном компьютере или на компьютере сети. В зависимости от назначения компьютера состав его программного обеспечения может быть различным. При этом чаще всего в составе программного обеспечения присутствуют операционная система, набор прикладных программ для выполнения задач и набора вспомогательных программ, необходимых для выполнения типовых работ (тестирование компьютера и его внешних устройств, архивация информации и т.п.).
5. Системное программное обеспечение. Операционные системы. Операционная система — комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны — предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений. Это определение применимо к большинству современных ОС общего назначения.
Основным элементом системного программного обеспечения является операционная система. Наиболее популярными на данный момент времени являются операционные системы семейства Microsoft Windows и операционные системы класса UNIX, особенно Linux и MacOS. Эти ОС относятся к классу универсальных операционных систем разделения времени. Практически все реализации операционных систем перечисленных систем поставляются в виде специально подготовленных для установки на жесткий диск компьютера специально подготовленных наборов программ, включающих в себя специальную программу установки операционной системы. Помимо самой операционной системы, в наборы включаются также: программы, предназначенные для работы с текстовыми и мультимедийными файлами (изображения, звук, видео); программы для работы в сети (браузер, почтовая программа и т.п.); простейшие офисные программы (калькулятор, календарь, заметки и т.п.), а также утилиты поддержки работы системы. Все операционные системы по их применению можно разделить на системы разделения времени, системы пакетной обработки и системы реального времени. Кроме того, они могут быть универсальными и специализированными. Системы разделения времени предназначены для выполнения программ под управлением пользователя. К ним относятся все перечисленные выше системы. Системы пакетной обработки ориентированы, прежде всего, на выполнение программ с большим количеством вычислений. Такие системы предназначены для работы на высокопроизводительных компьютерах. К таким системам можно отнести Solaris, VMS, серверные решения UNIX и Microsoft. Системы реального времени предназначены для использования в системах управления физическими объектами. К таким системам относятся RTOS, NUCLEUS, QNX, OS-9 и другие. Особым классом операционных систем являются встраиваемые операционные системы. Они используются в таких устройствах как мобильные телефоны, коммуникаторы, планшетные устройства. К ним относятся Palm OS, Windows Mobile, Symbain OS, Android, Maemo и другие.
6. Пользовательское программное обеспечение.
Основным применением вычислительных систем является автоматизация труда человека. В настоящее время сложно найти такую область деятельности человека, где не нашли бы применения вычислительные системы. Для каждого вида деятельности человека разработаны и продолжают разрабатываться новые программы. Рассмотрим, например, программы, предназначенные для автоматизации труда инженера. Для выполнения инженерных расчетов может быть использован пакет Mathcad или ANSYS. Кроме того, существует огромное количество специализированных программ для разных видов инженерных расчетов. Для конструирования можно использовать CAD-системы: AutoCAD, P CAD, SolidWorks и т.д. Для изготовления документации могут быть использованы офисные системы, например, Microsoft Office.
Рис.1
Рис.2
Рис.3
Рис.4
Дата добавления: 2015-08-21; просмотров: 166 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
системные программы | | | III. Обеспечение безопасности участников и зрителей |