Интегральные схемы и другие электронные компоненты, а также внешние устройства составляют "аппаратное обеспечение" персонального компьютера (от англ. hardware - хардвэр - жесткая оснастка). Компьютер способен решать различные задачи, если оснащен соответствующими программами. Совокупность таких программ называют программным обеспечением (от англ. software - софтвер - мягкая оснастка).
Ядро программного обеспечения - операционная система (ОС). Она наиболее тесно взаимодействует с аппаратной частью компьютера: организовывает процесс решения задачи и управляет последовательностью операций. ОС выполняет роль "автоматического посредника" между человеком-пользователем и компьютером. С одной стороны, она воспринимает и интерпретирует задачу, вводимую человеком с помощью клавиатуры дисплея, а с другой, загружает в оперативную память те прикладные программы, которые необходимы для ее решения. Благодаря этому оказывается возможным решать многие задачи, алгоритмы решения которых обычно хранятся в виде прикладных программ в периферийной памяти на магнитных дисках.
Хранилищем данных и программ является файловая система (ФС), состоящая из файлов, участков памяти на дисках, где хранится необходимая для решения задачи информация. Каждый файл имеет свое имя, зарегистрированное в ФС.
Организуют работу с ФС специальные команды ОС, обеспечивающие чтение файлов, их загрузку, удаление, переименование и т. п. В развитых ОС (например, MS - DOS и UNIX) понятие "файл" трактуется шире. Под файлом подразумевается любой источник или потребитель информации в компьютере (например, дисплей, принтер, канал связи и т. п.). Это упрощает обмен информацией с внешними устройствами.
Центральный процессор персонального компьютера способен воспринимать лишь ограниченную систему команд, каждая из которых должна быть представлена в виде двоичного кода. К примеру, если поступил код команды "переписать файл (массив данных) с адресом 1" из основной памяти во внутренний регистр памяти микропроцессора, то он сразу же исполняется. Однако программирование в "машинных кодах" весьма утомительно и часто приводит к ошибкам. Поэтому прибегают к различным по уровню абстракции языкам программирования - от ассемблера (автокода) до алгоритмических языков высокого уровня.
Алгоритмические языки и ОС освобождают пользователя от необходимости программировать в "машинных кодах" (системе команд) микропроцессора и знать все анатомические особенности его аппаратной части. Например, если требуется загрузить прикладную программу с идентификатором (именем) А в основную память с магнитного диска, достаточно обратиться к ОС и задать лишь эту операцию. При включении компьютера программа первичной загрузки заносится в основную память и справочник файлов, в котором содержатся данные о размещении всех прикладных программ на диске. Затем ОС находит на диске интерпретатор языка (например, БЕЙСИКА) и, выяснив, достаточно ли места в основной памяти, загружает его. При этом пользователь получает на мониторе уведомление о готовности интерпретатора. Далее автоматически вырабатывается инструкция ОС на загрузку прикладной программы А, после чего она готова к исполнению этой программы под управлением интерпретатора. Полученный в результате выполнения программы А новый файл может передаваться обратно в дисковую память.
Принцип и последовательность действия ОС при выполнении данного задания представлены на рис. на с. 52.
Для трансляции (перевода) программ с языка высокого уровня в "машинный код" используются интерпретаторы или компиляторы. Интерпретатор - это программа, которая транслирует друг за другом все команды интерпретируемой программы в "машинный код", после чего они немедленно обрабатываются. При использовании же программ-компиляторов сначала транслируются все команды программы, записанной на языке высокого уровня, а затем они выполняются. Преимущество интерпретатора заключается в том, что он позволяет проконтролировать результат выполнения каждой команды.
Рис. 7. Принцип действия операционной системы при загрузке прикладной программы
Функция ОС
1. Загрузка ОС.
2. Загруска ФС.
3. ОС выводит на монитор сообщение о готовности.
4. ОС читает ФС и находит интерпретатор.
5. ОС загружает интерпретатор.
6. ОС загружает прикладную А.
7. Интерпретатор декодирует программу А.
8. ОС выводит на монитор сообщение о том, что задание выполнено.
ОС управляет обменом информацией с дисплеем, принтером, накопителем на дисках, а также с такими внешними устройствами, как графопостроитель, манипулятор типа "мышь" и т. п. Для этого используются специальные программы - драйверы, ориентированные на работу с этими устройствами. Драйверы стандартных устройств обычно хранятся в ПЗУ, а драйверы дополнительного оборудования - в ФС.
Загрузка необходимых прикладных программ и драйверов в основную (оперативную) память компьютера осуществляется ОС. Для этого используется командный язык ОС. Задавая команды этого языка, пользователь может инициировать необходимые действия - обращение к ФС, размеру дисков и т. п. Тем самым в основной памяти формируется операционная среда, необходимая для решения данной задачи. Таким образом, ОС выполняет функции своеобразного "дирижера", обеспечивающего согласованную работу всех программ в процессе решения задач.