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

Энциклопедия PC

.pdf
Скачиваний:
30
Добавлен:
13.03.2015
Размер:
8.94 Mб
Скачать

1.4. Подсистемыпамятиихраненияданных 27

недостаток дисковой памяти — большое время доступа и низкая скорость обмена

— устраняется с помощью виртуального диска, представляющего собой своеобразно используемую область оперативной памяти. В этой области хранятся файлы, и с точки зрения операционной системы (и, тем более, прикладной программы) она выглядит как обычный, но очень быстрый диск. Конечно же, его объем ограничен, и этот объем вычитается из объема физически установленной памяти, доступной процессору в качестве обычной оперативной. Кроме того, виртуальный диск в отличие от реального не является энергонезависимым. Более того, информация на нем не переживет даже перезагрузки операционной системы. Однако, несмотря на эти ограничения, виртуальный диск во многих случаях может повысить эффективность работы компьютера при интенсивном дисковом обмене. В операционной системе виртуальный диск реализуется загрузкой программного драйвера, как правило, с именем RAMDRIVE.SYS (в некоторых версиях — VDISK.SYS). Другим способом решения проблем быстродействия дисковой памяти за счет оперативной является кэширование дисков — хранение образов последних из использованных блоков дисковой памяти в оперативной в надежде на то, что к ним вскоре будет следующий запрос, который удастся удовлетворить из памяти. В Windows 9x/NT кэширование возложено на операционную систему, в MS-DOS кэшированием дисков занимается загружаемый драйвер SMARTDRV.EXE, но даже и без этого драйвера «неглубокое» кэширование выполняет операционная система (ОС), и этим процессом можно управлять с помощью строки BUFFERS=xxx файла CONFIG.SYS. Если затребованный блок с диска уже находится в одном из буферов, ОС не будет «беспокоить» диск, а удовлетворит запрос из буфера. Чем больше параметр ххх, тем больше блоков может держать ОС в оперативной памяти, но область памяти для буферов, естественно, уменьшает объем памяти, доступной программам.

Основной недостаток оперативной памяти заключается в том, что конструктивно достижимый ее объем во много раз меньше, чем дисковой (пока что это было справедливо на всех ступенях технического прогресса). Решить проблему увеличения объема оперативной памяти за счет дисковой позволяет виртуальная память, которую можно считать кэшированием оперативной памяти на диске. Суть ее заключается в том, что программам предоставляется виртуальное пространство оперативной памяти, по размерам превышающее объем физически установленной оперативной памяти. Это виртуальное пространство разбито на страницы фиксированного размера, а в физической оперативной памяти в каждый момент времени присутствует только часть из них. Остальные страницы хранятся на диске, откуда операционная система может их «подкачать» в физическую память на место предварительно выгруженных на диск страниц. Процесс замещения страниц называется свопингом (swaping), а области дисковой памяти, выделяемые для этих целей, — файлами подкачки или своп-файлами (swap file). Для прикладной программы этот процесс прозрачен (если только она не критична ко времени обращения к памяти). Для пользователя этот процесс заметен по работе диска в те моменты, когда не требуется обращение к файлам. Расплатой за почти безмерное увеличение объема доступной оперативной памяти является снижение средней производительности памяти и некоторый расход дисковой памяти на файл подкачки. Естественно, размер виртуальной памяти не

28 Глава1. Основыкомпьютернойтехники

может превышать суммы размеров ОЗУ и дисковой памяти. Виртуальная память реализуется операционными системами (и оболочками) защищенного режима (например, OS/2, MS Windows) на основе аппаратных средств процессоров класса нениже286, анаиболееэффективно— 32-разрядныхпроцессоров386 ивыше.

Таково в общих чертах устройство подсистемы памяти. Здесь для упрощения изложения опущена система кэширования оперативной памяти, которая для современных процессоров чаще всего является двухуровневой. Об этом подробнее можно прочесть в главах 5 и 6. Кроме того, не упоминалось автономное кэширование дисковых устройств, реализуемое в самих накопителях и их высокопроизводительных контроллерах. Обэтомможнопрочесть вглаве7.

Вобщем случае в подсистему памяти обязательно входит оперативная память

иэнергонезависимая память, хранящая по крайней мере программу первоначальной загрузки компьютера. Дисковая память как таковая может и отсутствовать. Однако внешняя память с прямым доступом в том или ином виде — будь то действительно дисковые накопители, флэш-диск (не имеющий круглых, а тем более вращающихся деталей) или сетевой диск, отображающий часть диска физически значительно удаленного компьютера-сервера, — является обязательным атрибутом персонального компьютера. Благодаря применению дисковой памяти компьютер становится универсальным устройством, способным выполнять великое множество прикладных программ, интересующих пользователя. Эти программы загружаются в память именно с дисков. Без внешней памяти компьютер вырождается в узкоспециализированное устройство с ограниченным набором функций (например, эмуляции терминала или интерпретатора языка Basic), «зашитых» в его постоянную память, объем которой не можетбытьбольшим по технико-экономическим причинам. Ленточная память является необязательной

ииспользуетсяобычнодляхраненияархивов.

1.4.1. Дискиифайловыесистемы

Дисковая память в компьютере используется для хранения файлов — цепочек байт, несущих любую информацию. Для данного обсуждения содержимое файлов несущественно — в них могут быть исполняемые программные модули, данные (числовые, текстовые, мультимедийные) и их смесь. Способ размещения файлов на диске и возможности манипуляций с файлами определяется файловой системой. Каждый файл имеет набор атрибутов, состав которого определяется используемой файловой системой. «Прожиточный минимум» — это имя файла, его длина и время (и дата) последней модификации, в простейшей файловой системе MS-DOS к нему добавляются атрибуты системного, скрытого, архивированного и только читаемого файла. Имя файла может задаваться как в классической форме «8.3» (8 символов на имя и 3 символа на тип), понимаемой всеми операционными системами, так и в почти произвольной длинной форме,

характерной для более сложных ОС (OS/2, Windows 9x/NT/2000, Unix...). Фай-

ловая система включает в себя систему каталогов и систему размещения файлов на диске, простейшей из которых можно считать FAT в MS-DOS. Эти системы

1.5. Устройстваввода-выводаикоммуникаций 29

определяют возможности и эффективность манипулирования файлами — создания, записи, чтения, модификации, удаления, восстановления удаленных файлов, а также средства восстановления файловой системы после сбоев, вызванных неисправностями и некорректными действиями пользователей или программ. Для каждой операционной системы характерны свои файловые системы (одна или несколько), которые она «понимает». Компьютер с незагруженной ОС «не понимает» ни одной файловой системы (в этом его универсальность). Изначально были приняты соглашения, позволяющие «голому» компьютеру загрузить ОС с так называемого системного диска, причем самая первая фаза загрузки выполняется без какой-либофайловой системы.

1.5. Устройстваввода-вывода икоммуникаций

Устройства ввода-вывода связывают компьютер с внешним миром, и без них он был бы «вещью в себе». Список устройств, делающих компьютер «вещью для нас», практически неограничен. Сюда входят устройства ввода — клавиатура, манипуляторы «мышь» и «трекбол», джойстики, сканеры, устройства оцифровки звука и видеоизображений; устройства вывода — алфавитно-цифровые и графические мониторы, принтеры, плоттеры, акустические системы и прочие устройства в великом множестве их разновидностей. Благодаря фантазии и техническому прогрессу появляются все новые и новые устройства; так, например, шлем виртуальной реальности из области фантастики вышел в производственнокоммерческую область. К компьютеру можно подключать датчики и исполнительные устройства технологического оборудования, различные приборы — в общем все, что в конечном итоге может вырабатывать электрические сигналы и (или) имиуправляться.

Консолью компьютера называют его «выступающую часть», обращенную к пользователю. В PC стандартной консолью является клавиатура (устройство ввода) и дисплей, позволяющий отображать символьную информацию (устройство вывода). На консоль выводятся все системные сообщения; с консоли можно управлять компьютером — запускать и принудительно завершать приложения, выполнять перезагрузку ОС и управлять процессом загрузки. Вместо стандартных устройств роль консоли могут играть и иные устройства, способные выводить и вводитьсимволы, имеющиенеобходимуюпрограммнуюподдержку.

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

30 Глава1. Основыкомпьютернойтехники

1.6. Адаптеры, контроллеры, системныеипериферийные устройства

Все устройства подключаются к компьютеру через внешние интерфейсы или с помощью специализированных адаптеров или контроллеров, встраиваемых в системную плату или размещаемых на платах (картах) расширения. Адаптер является средством сопряжения какого-либо устройства с какой-либо шиной или интерфейсом компьютера. Контроллер служит тем же целям сопряжения, но при этом подразумевается его некоторая активность — способность к самостоятельным действиям после получения команд от обслуживающей его программы. Сложный контроллер может иметь в своем составе и собственный процессор. На эти тонкости терминологии не всегда обращают внимание и понятия «адаптер» и «контроллер» считают почти синонимами. Все внешние интерфейсы компьютера, естественно, тоже имеют свои адаптеры или контроллеры. Для взаимодействия с программой (с помощью процессора или сопроцессоров) адаптеры и контроллеры обычно имеют регистры ввода и вывода, которые могут располагаться либо в адресном пространстве памяти, либо в специальном пространстве портов ввода-вывода. Кроме того, используются механизмы аппаратных прерываний для сигнализации программе о событиях, происходящих в периферийных устройствах. Для обмена информацией с устройствами применяется и механизм прямого доступа к памяти DMA (Direct Memory Acces), атакжепрямоеуправлениешиной.

Все устройства, занимающие какие-то свои системные ресурсы — порты вводавывода, ячейки памяти, линии запросов прерывания или каналы DMA, — называют системными устройствами^. По этим признакам к системным устройствам относится и оперативная память. Системные устройства могут располагаться на системной плате или на картах расширения, устанавливаемых в шины расширения (см. главу 12). Среди них могут быть и стандартные (известные широко распространенному ПО, включая и BIOS), и нестандартные, существующие порой вединственном, возможно макетном, экземпляре.

Периферийные устройства подключаются к тем или иным интерфейсам системных устройств. Так, например, винчестер, подключенный к контроллеру АТА системной платы, является периферийным устройством; отдельных ресурсов он не занимает — процессор к нему обращается через ресурсы контроллера АТА. А вот сам контроллер АТА является системным устройством и занимает ресурсы (порты, прерывание), независимо оттого, подключены ликнемупериферийные устройства. Точнотакжепериферийным устройствомявляется ипринтер— он подключается к системному устройству (LPT-порту, контроллеру USB и т. п.).

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

Выше в общих чертах было рассмотрено устройство компьютера (естественно, подразумевается и наличие корпуса сблоком питания). Однакоэтот набор «же-

Под системными устройствами также понимают и устройства "системного назначения", свойственные архитектуре IBM PC-совместимого компьютера. По приведенной в данном параграфе классификации они могут быть и периферийными (например, клавиатура, дисплей, винчестер), и системными (например, контроллеры прерываний ипрямогодоступакпамяти). Чтоподразумеваетсявкаждомслучаевданнойкниге— понятноизконтекста.

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

лезок» не имеет практической ценности без программного обеспечения, которое в компьютере имеетмногоуровневуюорганизацию.

Неотъемлемой от компьютера частью программного обеспечения является

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

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

— это эффективнее с точки зрения производительности, но осложняет переносимость ПО. ОС ведает распределением системных ресурсов. На устройствах хранения она организует файловую систему. Операционная система, как правило, загружается с устройства внешней памяти (локального или сетевого диска), хотя для специальных применений (во встроенных компьютерах) встречаются и так называемые резидентные ОС, «зашитые» в ПЗУ. Для загрузки ОС требуется специально подготовленный системный диск. В самом начале системного диска располагается загрузчик — короткая программа, загружающая несколько файлов ядра операционной системы в память и передающая им управление. Эти файлы находятся на том же системном диске в месте, известном загрузчику (он должен найти файлы еще до того, как будет обеспечена поддержка файловой системы со стороны ОС). Программный код загрузчика привязан к загружаемой ОС и файловой системе диска, но сам загрузчик для любых ОС и дисков запускается единым способом (см. п. 15.3). Если загрузчик на своем диске находит необходимые файлы операционной системы (например, IO.SYS и MSDOS.SYS), он загружает их в оперативную память и передает управление по определенному адресу. С этого момента работой компьютера управляет ОС, она загружает всесвоикомпоненты, выполняетнужныенастройкиистано-

32 Глава1. Основыкомпьютернойтехники

вится готовой для загрузки и исполнения приложений, предоставляя им сервисы файловой системы (см. п. 7.6). Естественно, чем сложнее ОС, тем больший объем памяти ей требуется. Первые ОС помещались на гибких дисках небольшогообъема (даже 180 Кбайт) и довольно быстро с них загружались. ОС Windows (и другие современные ОС) занимает десятки (а то и сотни) мегабайт и загружается довольно долго (минуты) даже на самых быстрых ПК. Но, к счастью, на гибкомдискевполне умещается минимальный вариант ОС, достаточный для «понимания» файловой системы Windows и запуска приложений и утилит восстановления. Так что на случай аварии «большой» ОС можно иметь «спасательную» дискету, достаточную дляначала«аварийно-спасательныхработ».

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

Важными компонентами программного обеспечения являются драйверы (driver

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

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

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

Устройство

персонального

компьютера

Персональный компьютер общего назначения имеет как минимум три составные части — системный блок, клавиатуру и дисплей. Клавиатуру с дисплеем можно назвать одним словом — консоль («выступающая» часть компьютера, обращенная к оператору-пользователю). Этот минимум может расширяться дополнительными устройствами — манипуляторами (мышь, трекбол, джойстик), устройствами вывода (принтер, плоттер), устройствами ввода (сканер, считыватели штрих-кодов и магнитных карт), мультимедийными устройствами (аудио и видео), дополнительными устройствами хранения данных (стример, дисковые устройства), коммуникационными устройствами (модем, адаптер локальной сети, телефон) и рядом других. Эти дополнительные устройства либо встраиваются в системный блок, либо являются отдельными «коробками», подключаемыми к системному блоку.

Устройства, подключаемые через интерфейсы последовательных шин (USB и FireWire), физически (кабелями) могут подключаться и к дисплею (или подставке под него), который теперь иногда выполняет и функцию кабельного центра (хаба). Это удобно, поскольку системный блок не обязательно держать под рукой (его можно и спрятать под стол), в то время какдисплей всегда должен

2.1. Настольныекомпьютеры 35

быть перед глазами. Логически все эти устройства все-таки остаются подключенными к системному блоку, но кабельное хозяйство становится «элегантнее» и переключения выполняются проще. Некоторые периферийные устройства (чаще принтеры) могут иметь беспроводное соединение с системным блоком — через инфракрасныйпортилипорадиосвязиBluetooth.

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

* системную плату (см. главу 4); т дисплейный адаптер (см. главу 8);

& устройства дисковой памяти (см. главу 7); ш наборразъемовдляподключениявнешнихустройств;

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

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

2.1. Настольныекомпьютеры

Конструктивные решения, заложенные в первую модель IBM PC образца 1981 года, без каких-либо революционных изменений дошли и до наших дней. В классическом варианте исполнения PC состоит из системного блока, к которому подключается клавиатура, видеомонитор и все периферийные устройства. 3

системном блоке (рис. 2.1) расположена системная плата (system board или motherboard — материнская плата, см. главу 4) с установленными на ней центральными компонентами компьютера — процессором, оперативной памятью,

•сломогательнымисхемамиищелевымиразъемами-слотами, вкоторыеможно

•станавливать платы расширения. В корпусе системного блока имеются отсе-oi (bay) для установки дисковых накопителей и других периферийных уст-х*ств трех- и пятидюймового формата, а также блок питания. На задней стенке «зрпуса имеются отверстия для разъемов клавиатуры и некоторых других, » также щелевые прорези, через которые из корпуса выходят внешние разъе-ю*. установленныенаплатахрасширения. Платы(карты) расширенияимеют

•сагаойпечатныйразъем, которымонисоединяютсясослотамишинввода- •"д+'-у.г? и металлическую скобу, которая закрепляет плату на корпусе. На этой яаЬемогутбытьустановленывнешниеразъемы.

36 Глава2. Устройствоперсональногокомпьютера

Габаритные и присоединительные размеры плат, способ их крепления и шины ввода-вывода унифицированы, что превращает персональный компьютер в увлекательный конструктор, вкоторый «играют» миллионы пользователей.

Рис. 2.1. Компоновкатрадиционногосистемногоблока: 1 — системнаяплата; 2— картарасширенияISA; 3— картарасширенияPCI;

4— органылицевойпанели; 5— динамик; 6, 7— отсеки3" и5"; 8— блокпитания

ВНИМАНИЕ ———————————————————————————————————————————

Играя с этим конструктором, не забывайте закреплять платы расширения полагающимся для этого винтом — небрежность в этом деле может дорого обойтись: выпадение плат, равно как и их установка и изъятие при включенном питании, обычно приводит к выгоранию большого числа компонентов(проверено!).

Унификация системных плат, корпусов и плат расширения обеспечивается следующимиконструктивнымисоглашениями:

«? стандартизация размеров, количества контактов и электрического интерфейса слотов шин расширения;

« фиксированное расстояние от слота до задней кромки платы;

*фиксированный шаг между соседними слотами, а также их привязка к крепежным точкам и положению внешних разъемов (на платах XT и AT — привязка только к разъему клавиатуры);

ж определение максимального габарита (длина и высота) карт расширения;

si определение геометрии нижнего края платы расширения, формы и размеры фиксирующейскобки.

Крепежные скобки вместе с некоторым разбросом размеров корпуса иногда доставляют немало забот. Может оказаться так, что затягивание винта выдергивает плату слота. В этом случае нужно попробовать сместить крепежную скобку