Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Программное обеспечение. Ранее в общих чертах было рассмотрено устройство компьютера (естественно



Ранее в общих чертах было рассмотрено устройство компьютера (естественно, подразумевается наличие корпуса с блоком питания). Однако этот набор «же­лезок» не имеет практической ценности без программного обеспечения (ПО), которое в компьютере имеет многоуровневую организацию.

Неотъемлемой от компьютера частью программного обеспечения является ба­зовая система ввода-вывода (Basic Input-Output System, BIOS), которая хра­нится в постоянной (энергонезависимой) памяти ROM BIOS (ПЗУ базовой системы ввода-вывода). В ROM BIOS находится программа инициализации, на­зываемая POST (PowerOn Self Test — самотестирование по включению), кото­рая обеспечивает тестирование и запуск компьютера при включении, а также загрузку операционной системы. В ROM BIOS содержатся процедуры для ра­боты со стандартными устройствами, реализующие связь операционной систе­мы и прикладных программ с аппаратными средствами компьютера. BIOS пре­доставляет такие сервисы, как ввод символа с клавиатуры, вывод на экран или принтер, чтение-запись сектора на диске и ряд других (см. главу 5). BIOS находится на самым нижнем уровне ПО, который обеспечивает изоляцию выше­стоящих уровней от подробностей реализации аппаратных средств компьютера. В ROM BIOS имеется также утилита CMOS Setup, обеспечивающая настройку аппаратных средств компьютера.

Следующий уровень — операционная система (ОС), основным назначением ко­торой является загрузка прикладных программ и предоставление им некоторых сервисов. Сервисы ОС функционируют на более высоком уровне — если BIOS работает с физическими устройствами, то ОС предоставляет возможность ра­боты на логическом уровне. Сервисы ОС, обслуживающие стандартные устрой­ства, могут обращаться к соответствующим сервисам BIOS; они расширяют функциональность сервисов BIOS, а также выполняют обработку ошибок фи­зических устройств. ОС может работать с системными устройствами и в обход BIOS, через собственные драйверы. В MS-DOS все сервисы ОС обслуживались через BIOS, что обеспечивало высокий уровень совместимости и переносимо­сти ПО с машины на машину, но ценой невысокой эффективности. Более со­временные ОС работают в обход BIOS — это эффективнее с точки зрения про­изводительности, но осложняет переносимость ПО. ОС ведает распределением системных ресурсов. На устройствах хранения она организует файловую систе­му. Операционная система, как правило, загружается с устройства внешней па­мяти (локального или сетевого диска), хотя для специальных применений (во встроенных компьютерах) встречаются и так называемые резидентные ОС, «за­шитые» в ПЗУ. Для загрузки ОС требуется специально подготовленный сис­темный диск. В самом начале системного диска располагается загрузчик — короткая программа, загружающая несколько файлов ядра операционной сис­темы в память и передающая им управление. Эти файлы находятся на том же системном диске в месте, известном загрузчику (он должен найти файлы еще до того, как будет обеспечена поддержка файловой системы со стороны ОС). Программный код загрузчика привязан к загружаемой ОС и файловой системе диска, но сам загрузчик для любых ОС и дисков запускается единым способом (см. 9.6). Если загрузчик на своем диске находит необходимые файлы опера­ционной системы (например, IO.SYS и MSDOS.SYS), он загружает их в оператив­ную память и передает управление по определенному адресу. С этого момента работой компьютера управляет ОС, она загружает все свои компоненты, вы­полняет нужные настройки и подготавливается для загрузки и исполнения приложений, предоставляя им сервисы файловой системы (см. 9.11). Естест­венно, чем сложнее ОС, тем больший объем памяти ей требуется. Первые ОС помещались на гибких дисках небольшого объема (180 Кбайт) и довольно бы­стро с них загружались. ОС Windows (и другие современные ОС) занимают де­сятки (а то и сотни) мегабайт и загружаются довольно долго (минуты) даже на самых быстрых ПК. Но, к счастью, на гибком диске вполне умещается мини­мальный вариант ОС, достаточный для «понимания» файловой системы Win­dows и запуска приложений и утилит восстановления. Так что на случай ава­рии «большой» ОС можно иметь «спасательную» дискету, достаточную для начала «аварийно-спасательных работ». И наконец, верхний уровень иерархии ПО — прикладное программное обеспече­ние, ради исполнения которого и «городился весь этот огород». Прикладные программы могут пользоваться сервисами ОС, BIOS, а также обращаться к ап­паратным средствам компьютера напрямую, адресуясь к портам и ячейкам па­мяти. Чем ближе прикладная программа к «железу», тем эффективнее она может с ним работать (вызовы сервисов BIOS, а тем более ОС вносят дополнительные накладные расходы на организацию программных интерфейсов). Однако ис­пользование сервисов высокого уровня (BIOS, а тем более ОС) страхует от воз­можных проблем совместимости программного обеспечения с аппаратными средствами компьютера. Прикладные программы, как и ОС как правило, загру­жаются с устройств внешней памяти. Именно возможность загрузки любой прикладной программы в совокупности с неограниченным ассортиментом под­ключаемых устройств и позволяет считать персональный компьютер универ­сальным инструментом с неограниченными возможностями.

Важными компонентами программного обеспечения являются драйверы (dri­ver — буквально, «водитель») — программные модули, содержащие процедуры работы с устройствами. Необходимость выделения драйверов в отдельные мо­дули вполне очевидна: устройство определенного назначения (к примеру, дис­плейный адаптер) может иметь самые разные реализации — от MDA до совре­менных видеокарт с трехмерными акселераторами. Если бы не было драйверов, то программист, разрабатывающий прикладную программу, должен был бы включать в нее множество аппаратно-зависимых процедур, причем для всех из­вестных ему моделей дисплейных адаптеров. На написание этих процедур он потратил бы массу времени, программа неимоверно «распухла» бы, а появление новых дисплейных адаптеров потребовало бы модернизации прикладной про­граммы. К этому добавим еще и богатые возможности для ошибок (надо заме­тить, что ошибки на стыке программ и «железа» довольно трудно «ловить»). Выделение драйверов в отдельные модули избавляет от этих и других не­удобств. Драйвер хорошо «знает» программную модель и особенности эффек­тивной работы со своим устройством. Для прикладных программ или операци­онной системы драйвер представляет набор сервисов с интерфейсом, понятным «потребителю». Для каждого сервиса известны способ вызова (программное прерывание или точка входа в процедуру), а также местоположение входных и выходных данных. Если говорить о дисплейных адаптерах, то базовые серви­сы (например, очистка экрана, вывод символа в определенную позицию в теле­тайпном режиме) вызываются через прерывание Int 10h, которое обслуживает BIOS, а параметры передаются через регистры процессора. В зависимости от типа установленного дисплейного адаптера этот сервис обслуживается либо системной микросхемой BIOS, либо микросхемой ROM BIOS, расположенной на графической карте (см. главу 10). Драйверы, обслуживающие данный сер­вис, специально загружать не требуется — они подставляются автоматически на этапе инициализации BIOS. Однако более сложные сервисы графической кар­ты, которыми, например, пользуется ОС Windows, реализуются отдельными за­гружаемыми драйверами, «предъявляемыми» на этапе установки ОС. Плохой драйвер может быть источником самых разных неприятных эффектов, вплоть до «зависания» компьютера и даже разрушения ОС. А если речь идет о драйвеpax устройств хранения, то под угрозой оказываются и файлы, хранящиеся на этих устройствах. Плохие драйверы часто появляются из-за желания произво­дителей побыстрее выпустить новый продукт, пускай даже в еще «сыром» виде. Качественный драйвер работает без побочных эффектов, а очень качествен­ный — еще и быстро. Хорошим тоном для производителей устройств является поддержка своих изделий для постоянно меняющихся версий операционных систем и прикладных программ. К сожалению, некоторые модели со временем оказываются заброшенными, и их не удается использовать с новыми продукта­ми не потому, что последние для них непригодны, а только из-за отсутствия нужного драйвера.

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.