Уровни работы с компьютером
Каждое устройство компьютера работает под воздействием своей схемы управления – адаптера или контроллера. Адаптер или контроллервыполняютспециальную программу управления устройством – драйвер. В большинстве адаптеров и контроллеров используются специализированные или простые процессоры общего назначения – устройства по обработке информации. В центральном процессоре компьютера также встроено устройство управления арифметико-логическим устройством, обрабатывающим информацию. Как мы уже упоминали в лекции 14, и центральный процессор и устройства могут выполнять ограниченное количество самых простейших действий или микроопераций. Например, адаптер накопителя на флоппи-дисках может выполнять только 18 простейших микроопераций, таких, как включить/выключить двигатель, позиционировать головки чтения/записи на заданный номер дорожки, читать/писать информацию из заданного сектора (в сектор) и т.д. Арифметико-логическое устройство тоже умеет выполнять определенный набор простейших операций, таких, как логические (сравнения, проверки двоичных чисел), пересылки (сдвиги), арифметические (сложение двоичных чисел). Все остальные арифметические операции, как известно, реализуются через операцию сложения.
Каждая микрооперация выполняется под воздействием микрокоманды. Микрокоманды в виде двоичных посылок (импульсов) поступают на входы схем управления соответствующих устройств и расшифровываются. Расшифровка состоит в том, что выбираются соответствующие данной микрокоманде выходные линии дешифратора, на которых появляются сигналы (импульсы). Они воздействуют на связанные с выбранными линиями элементы схем устройств, переключая их определенным образом и заставляя выполнять действия, соответствующие микрооперации. Подавая на вход адаптера серии таких микроопераций, можно управлять работой устройства.
Такие простые действия, как сложение двух двоичных чисел, выполняются по одной или нескольким микрокомандам. Но компьютеры уже давно превратились из “считалок” в мощные информационные системы для накопления, хранения и обработки больших массивов информации. Поэтому большинство их действий – это не простые вычислительные операции, а сложные операции с устройствами по обмену данными, упорядочиванию, группировке или определенной выборке данных и т.д., требующие выполнения больших последовательностей простейших действий устройств. Такие операции, как записать файл на диск или считать файл с диска, распечатать информацию на экран или на принтер и т.д., требуют для своего выполнения больших последовательностей простейших микроопераций, или программ в машинных кодах, о чем мы уже упоминали.
Программирование в машинных кодах и управление устройствами с помощью программ, написанных в машинных кодах, называют работой на физическом уровне.Управление на физическом или аппаратном уровне является сложной задачей – для этого надо очень хорошо знать структуру и принципы работы системы. Степень детализации при написании программ на этом уровне наиболее высока, кроме того, достигается наивысшее быстродействие выполнения таких программ. Хороший программист, в принципе, может написать программу непосредственно в машинных кодах, но обычно, в целях облегчения процесса программирования, используется язык программирования чуть более высокого уровня – ассемблер. Непосредственно в машинных кодах программы писали на заре зарождения компьютерной техники. Сейчас язык ассемблера - это тот уровень, ниже которого работать просто бессмысленно. Такие программы всегда являются строго специализированными, они жестко привязаны к аппаратуре, к конкретному оборудованию.
Таким образом, действия прикладных программ или пользователя, связанные с аппаратными средствами, должны представляться в виде выполнения стандартных наборов машинных программ. Любая из них должна запускаться по указанию пользователя или прикладной программы в виде команды. Эти машинные программы обычно записаны в постоянном запоминающем устройстве (ПЗУ) компьютера. Часть их, предназначенная для выполнения операций обмена информацией между устройствами компьютера, носит название базовой системы ввода/вывода (BIOS).
Операционная система и языки программирования высокого уровня имеют свои стандартные наборы команд, с помощью которых общаются с компьютером. В операционной системе для общения пользователя с компьютером используется пользовательский интерфейс - командный процессор или оболочка операционной системы. В MS-DOS он хранится в файле COMMAND.COM. Оболочка является той частью MS-DOS, которая обеспечивает работу системы в режиме командной строки и возможность общения пользователя с компьютером. Часть команд MS-DOS (более 20) непосредственно встроена в COMMAND.COM (их можно увидеть при просмотре этого файла на экране), например, для копирования файлов - COPY, для просмотра оглавления диска - DIR и т.д. Другая часть оформлена в виде самостоятельных программ-утилит: для форматирования дисков - FORMAT, для поиска файлов - FIND, для проверки жесткого диска и увеличения его свободного пространства - CHKDSK и другие. Графический пользовательский интерфейс Windows 9х, Windows NT или OS/2 имеет свои наборы команд для общения программ и пользователя с компьютером.
Эти команды, как и языки программирования высокого уровня, не привязаны непосредственно к конкретной аппаратуре, к конкретному типу компьютера, то есть они машинно-независимы.Они не могут управлять непосредственно устройствами компьютера. Поэтому работу пользователя в среде операционной системы и программирование на языках высокого уровня, когда управление устройствами и обращение к аппаратным средствам выполняется косвенно, называют работой на логическом уровне. Тем не менее, часто приложения, написанные на языках программирования высокого уровня, включают в себя подпрограммы, работающие непосредственно с аппаратурой. Так, компьютерные игры очень часто используют непосредственный доступ к видеоадаптерам и аудиоустройствам с целью ускорения работы с графикой и музыкальными файлами. Кроме того, существуют задачи, для решения которых программы просто обязаны обращаться непосредственно к аппаратуре. Например, программы низкоуровневого форматирования дисков должны напрямую взаимодействовать с адаптерами дисков. Другим примером являются менеджеры памяти, позволяющие управлять всей физически имеющейся в компьютере оперативной памятью, обращаясь прямо к процессору для переключения его из реального режима работы в защищенный и наоборот.
Обычно выполнение своих команд операционная система осуществляет с помощью машинных программ, записанных в ПЗУ. Следовательно, имея посредника в виде системной BIOS и стандартный интерфейс обращения к ней, операционная система, как и прикладные программы, оказывается независимой, отделенной от аппаратных средств и может работать на компьютерах любой конфигурации.Именно ПЗУ BIOS обеспечивает совместимость между аппаратными средствами и операционной системой.Для обеспечения работы операционной системы в разных моделях компьютеров устанавливаются разные микросхемы ПЗУ, содержащие машинные коды программ работы с конкретным оборудованием. Коды, записанные в ПЗУ разных типов компьютеров, естественно, разные, поэтому ПЗУ BIOS, разработанное для одной системы, нельзя устанавливать в другие, так как некоторые устройства или вообще не будут работать, или будут работать некорректно.
С учетом сказанного, упрощенно иерархические уровни работы в IBM-совместимых компьютерах, можно представить в виде схемы (рис. 19). Из рисунка видно, что не только программы пользователя, но и сама операционная система может обращаться непосредственно к аппаратным средствам.
Операционная система подключается к BIOS, и часть ее становится расширением BIOS за счет чего обеспечивается большой набор услуг для
использования другими программами. Кроме того, операционная система является сама посредником между BIOS и прикладными программами на языке высокого уровня. Программисту не нужно каждый раз изобретать ве лосипед, так как операционная система предоставляет в его распоряжение множество дополнительных служебных программ помимо тех, что включены в
системную BIOS. Стандартными
Рис. 19 процедурами обработки файлов,
включенными в состав ОС, может воспользоваться любая программа. В операционных системах Windows 9х (NT) введен запрет на прямое обращение к аппаратным средствам, минуя ПЗУ BIOS и встроенные возможности самой операционной системы. Программы, не соответствующие этим правилам, должны быть переписаны, в противном случае они не смогут работать в среде Windows 9х (NT).
В идеальном случае прикладные программы должны быть изолированы от аппаратных средств всегда посредством BIOS и ОС.
Лекция 18
Дата добавления: 2018-11-25; просмотров: 406;