Организация и функционирование компьютеров


              

в технологии сохранения данных на


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

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

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

Содержание  Назад  Вперед