Программное обеспечение первонального компьютера
В компьютерной системе два участника – программное
и аппаратное обеспечение.
Программное
обеспечение - это все программы, которые
установлены на компьютере.
Аппаратное обеспечение – это узлы и
оборудование, которые находятся внутри системного блока или подключены снаружи.
Взаимосвязь между участниками компьютерной
системы называют интерфейсом.
Взаимодействие между различными узлами – это аппаратный
интерфейс, взаимодействие между программами – программный интерфейс, а
взаимодействие между аппаратурой и программами – аппаратно-программный
интерфейс.
Если речь идет о персональном компьютере, то можно указать и
третьего участника работы с компьютерной системой – это человек (в информатике
его принято называть пользователем). Пользователю тоже надо взаимодействовать и
с аппаратным, и с программным обеспечением.
Способ взаимодействия пользователя с программой и программы
с пользователем называют интерфейсом пользователя.
Персональные компьютеры – это универсальные устройства
для обработки информации. В отличие от
телефона, магнитофона или телевизора, осуществляющих только заранее
заложенные в них функции, персональные компьютеры могут выполнять любые
действия по обработке информации. Для этого необходимо составить для компьютера
на понятном ему языке точную и подробную последовательность инструкций (т.е.
программу) как надо обрабатывать информацию. Сам по себе компьютер не обладает
знаниями ни в одной области своего применения, все эти знания содержатся в
выполняемых на компьютере программах.
Программы, работающие на компьютере, можно разделить на три
категории:
·
прикладные программы необходимы для выполнения
конкретных заданий;
·
системные программы позволяют обеспечить
взаимодействие программ с аппаратным обеспечением;
·
инструментальные системы (системы
программирования) создают новые программы
для компьютера.
Системные программы
Среди всех системных программ, с которыми приходится иметь
дело пользователям компьютера, особое место занимают операционные системы.
Операционная
система (ОС) управляет компьютером, запускает программы, обеспечивает защиту
данных, выполняет различные сервисные функции по запросам пользователя и
программ.
Каждая программа пользуется услугами ОС, а потому может
работать только под управлением той ОС, которая обеспечивает для нее эти
услуги. Таким образом, выбор ОС очень важен, так как он определяет, с какими
программами можно будет в дальнейшем работать.
Наиболее популярные ОС:
·
операционная система MS DOS фирмы Microsoft
(неграфическая операционная система, поддерживает интерфейс командной строки);
·
графическая операционная система Windows (95/98/2000/XP);
·
сетевая операционная система Windows NT;
·
операционная система OS/2 фирмы IBM и т.д.
Драйверы. Важным классом системных
программ являются драйверы. Они расширяют возможности ОС, например, позволяя ей
работать с тем или иным внешним устройством, обучая ее новому протоколу обмена
данными и т.д.
Вспомогательные программы (утилиты). К
системным программам также можно отнести большое количество так называемых
утилит, т.е. программ вспомогательного назначения. Чаще всего используются
следующие типы утилит:
·
программы резервирования – позволяют быстро
скопировать нужную информацию, находящуюся на жестком диске компьютера, на
дискеты, съемные диски;
·
антивирусные программы – предназначены для
предотвращения заражения компьютерным вирусом и ликвидации последствий
заражения;
·
программы-упаковщики (архиваторы) позволяют за
счет применения специальных методов "упаковки” информации сжимать информацию на
дисках;
·
программы-русификаторы приспосабливают другие
программы (обычно ОС) для работы с русскими буквами;
·
программы-кэши для диска убыстряют доступ к
информации на дисках путем организации в оперативной памяти кэш-буфера,
содержащего наиболее часто используемые участки диска и др.
Прикладные программы
Для IBM PС разработаны и используются сотни тысяч различных
прикладных программ. Наиболее широко применяются программы:
·
подготовки текстов (документов) на компьютере –
редакторы текстов;
·
обработки табличных данных – табличные
редакторы;
·
подготовки документов типографского качества –
издательские системы;
·
обработки массивов данных – системы управления
базами данных;
·
программы экономического назначения –
бухгалтерские программы, программы финансового анализа, правовые базы данных и
др.;
·
системы автоматического проектирования (САПР),
то есть программы черчения и конструирования различных предметов и механизмов;
·
программы для статистического анализа данных;
·
компьютерные игры, обучающие программы, электронные справочники
и т.д.
Системы программирования
Даже при наличии десятков тысяч программ для IBM PC
пользователям может потребоваться что-то такое, что не делают (или делают, но
не так) имеющиеся программы. В этих случаях используются системы
программирования, т.е. системы для разработки новых программ. Программа – это
упорядоченный список команд, которую пишут с помощью специальных языков. Их
называют языками программирования. Существуют сотни языков программирования, и
у каждого могут быть десятки разных версий. Каждый программист пишет программы
на том языке, который ему удобен, и нет языка программирования, считающегося
общепринятым.
Программа на языке программирования записывается с помощью
более-менее понятных человеку слов и символов. При этом получается так, что чем
ближе язык программирования к машинному коду, тем удобнее программа для
процессора – она и выполняется быстрее, и места в памяти меньше занимает. А чем
ближе язык к человеческому, тем удобнее он людям, но тем меньше в нем команд
для управления регистрами процессора. Языки, близкие к процессору, называют
языками низкого уровня, а языки, удобные для людей, - языками высокого уровня.
Язык самого низкого уровня известен – это язык машинного
кодирования (ближе к процессору не может быть). Чуть выше лежит уровень языка
ассемблера, а далее идут сотни всевозможных прочих языков.
Но у всех языков программирования есть одно общее свойство.
Они понятны программистам, но абсолютно непонятны процессору. Процессор может
работать только с числами, и потому понимает только программы, записанные в
машинном коде. Поэтому программы, записанные на любом языке программирования,
сначала «переводят» на язык процессора, т.е. превращают в машинный код. Этот
перевод выполняют специальные программы-переводчики. По-английски «перевод»
называется трансляцией (translation), поэтому программы, выполняющие перевод
программ на язык машинного кода называют трансляторами.
Программы на языке программирования записывают в обычном
текстовом редакторе и получают текстовый файл. Исходный текст программы состоит
из специальных команд (операторов языка программирования). Процессор их
исполнить не может, и исходную программу преобразуют в инструкции процессора.
Это преобразование берут на себя трансляторы.
Трансляторы – это
программы-переводчики, выполняющие перевод с языка, на котором написана
программа, на язык машинного кода.
Их работа очень похожа на работу обычного переводчика,
выполняющего перевод с одного языка на другой.
Есть два вида трансляторов: компиляторы и
интерпретаторы.
Давайте посмотрим, как работает переводчик с английского
языка на русский. Существует два совершенно непохожих друг на друга вида
переводов: синхронный перевод и литературный перевод.
Литературный переводчик имеет дело с произведением в целом:
с книгой или статьей. Он не спешит ее переводить, пока не прочитает от начала и
до конца, причем несколько раз. Прочитав книгу, он наилучшим образом подберет
слова, описывающие героев и события. Он сделает перевод так, что тот будет
соответствовать не только содержанию оригинала, но еще и духу того времени и
места, где происходит действие.
Работа программы-компилятора очень похожа на работу
литературного переводчика. Компилятор несколько раз просмотрит текст программы,
найдет общие повторяющиеся места и так переведет текст программы на язык
машинного кода, что длина программы станет минимальной, а скорость его работы –
максимальной.
Теперь посмотрим, как работает синхронный переводчик. Он занимает место между двумя людьми,
разговаривающими на разных языках, и переводит каждое услышанное слово. Он не
знает заранее, о чем будет идти речь дальше, и его перевод далек от идеально грамотного.
Затрудняясь передать смысл какого-то слова, он может заменить его длинным
предложением. Он может вставлять в речь свои пояснения и дополнения.
Работа интерпретатора похожа на работу синхронного
переводчика. Прочитав одну инструкцию из программы, интерпретатор переводит ее
на язык машинного кода и переходит к следующей.
Откомпилированные программы работают в 20-50 раз быстрее,
чем программы, выполняемые под управлением интерпретатора.
Языки программирования, для которых существуют
программы-компиляторы, называются компилируемыми языками. К ним относятся
большинство современных языков: Паскаль, С++, Delphi и многие другие.
Однако бывают случаи, когда от программы не требуется
быстродействие и она не предназначена для распространения, а сделана «для
себя». В этом случае удобно применить интерпретируемый язык программирования.
Интерпретируемые языки часто используют в качестве учебных. Для освоения
компилирующих языков программирования нужны недели и месяцы подготовки, а
писать простые программы на интерпретируемом
языке можно уже на первый-второй день после начала занятий. Простейшим
интерпретируемым языком программирования считается язык Basic.
В последнее время стали появляться системы программирования
на языке Java, которые позволяют создавать программы, вызываемые при просмотре
Web-страниц в глобальной электронной сети Internet. |