Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
39
Добавлен:
20.03.2015
Размер:
589.82 Кб
Скачать

3.4. Программное обеспечение

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

  • получение и интерпретация команд пользователя;

  • ввод и редактирование прикладных программ, их сохранение в файлах на вторичных запоминающих устройствах;

  • управление процессом сохранения файлов на вторичных запоминающих устройствах и извлечение их с указанных устройств;

  • запуск стандартных прикладных программ, таких как текстовые процес­соры, электронные таблицы или игры, с данными, которые предоставля­ются пользователем;

  • управление устройствами ввода-вывода для получения входной информа­ции и вывода выходных данных;

  • трансляция исходного кода программ, подготовленных ранее пользовате­лем, в объектные модули, состоящие из машинных команд;

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

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

Прикладные программы обычно пишутся на языках программирования высо­кого уровня, в том числе на С, C++, Java, Pascal, FORTRAN и т.д., позволяющих программисту задать действия, которые должна выполнить программа (скажем, математические вычисления или обработку строк текста). Такие операции описываются в фор­мате, не зависящем от типа компьютера, который будет выполнять программу.

Программисту, использующему язык высокого уровня, не нужно знать машин­ные команды и особенности их использования. Специальная системная програм­ма, называемая компилятором, транслирует программу на языке высокого уровня в программу на машинном языке, состоящую из таких команд, как Add и Load, о которых рассказывалось в разделе 3.2.

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

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

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

Итак, вы видите, что при выполнении прикладной программы управление по­стоянно передается то ей, то программам операционной системы. Процесс пооче­редного использования процессора можно проиллюстрировать линейной диа­граммой, показанной на рис. 3.4. В течение времени от момента t0 до момента t1 одна из программ операционной системы инициирует загрузку прикладной программы с диска в память, дожидается завершения процесса загрузки, а затем передает управление прикладной программе. Аналогичные процессы происходят с момента t2 до момента t3 и с момента t4 до момента t5, когда операционная систе­ма считывает файл данных с диска в основную память и когда она печатает ре­зультаты. После момента времени t5 операционная система может загрузить и вы­полнить другую прикладную программу.

Рис. 3.4. Поочередное использование процессора прикладной программой и программами операционной системы

А теперь давайте рассмотрим способ более эффективного использования ре­сурсов компьютера, заключающийся в параллельном выполнении нескольких программ. Обратите внимание, что в течение отрезка времени от момента (t4 до момента t5 ни процессор, ни диск не заняты никакой работой. В это время работа­ет только принтер, и операционная система могла бы загрузить в память следую­щую программу. Аналогичным образом, в промежуток времени от t0 до t1 опера­ционная система могла бы печатать результаты, сгенерированные предыдущей программой (пока текущая программа загружается с диска). Именно так опера­ционная система управляет параллельным выполнением нескольких прикладных программ, обеспечивая поочередное использование ими ресурсов компьютера. Такая схема параллельного выполнения программ называется многозадачностью.