Компьютер – сложная система, состоящая из совокупности электронных компонентов, управляемых многоуровневым комплексом программ. Для лучшего понимания устройства компьютера предлагаю разобраться с тем, какие уровни в нем представлены.
Мало кто догадывается, что первые вычислительные устройства были придуманы задолго до древнего Египта, еще в каменном веке. Разумеется, они работали не на электричестве и использовали совсем другие принципы работы и типы используемой информации. Не верите? Тогда прочитайте книгу под названием «Считающие чертежи» и узнаете, что современные инженерные расчеты вполне можно производить с помощью листа бумаги, карандаша, циркуля и линейки без делений. Архимед и Аристотель для этих целей успешно использовали палку и прибрежный песочек.
Археолог Н. Злобин предположил и доказал принципиальную возможность подобных построений-расчетов в пределах мегалитических построек, типа Стоунхенджа. Для этого он руководил 20-30 добровольцами с «шаманского места». Внешне это выглядело как танец дикого племени, но в итоге определенный человек занимал определенное место, соответствующее, например, фазе Луны на заранее заданную дату. Также доказана возможность использования для вычислений специальных каналов с перегородками-шиберами.
Первые вычислители времен Паскаля, Ньютона и Лейбница были механическими, а в конце 19 века использовался пар. Современные ученые пытаются использовать пучки света и квантовые состояния элементарных частиц. А есть чудаки, которые доказали принципиальную возможность использования для вычислений игры «Жизнь», моделирующей поведение колонии микроорганизмов. Как видите, существует множество принципов выполнения расчетов, и современные компьютеры реализуют всего лишь только один из них. Энергия не существует сама по себе, обязательно должен быть носитель. Будь то папуас в юбке из пальмовых листьев, линия на песке, шестеренка, электрический импульс, фотон в оптоволоконном кабеле, группа колебаний в радиосигнале или микрочастица в квантовом микромире.
Элементарный уровень отвечает за то, что означает тот или иной сигнал, причем система исчисления не всегда ограничивается «0» и «1». Механические арифмометры были десятеричными, а графические коды (линии и дуги на земле или бумаге) вообще трудно отнести к какой-либо системе исчисления. Минимальная единица информации – это бит. В компьютерах это двоичная система исчисления – «0» и «1». Но в других системах это не так.
В привычной десятичной системе – это одна цифра, в устной речи – звук, в письменной – буква, в танцах на Стоунхедже – положение человека на воображаемой линии. Бит – это минимальная неделимая единица информации. Попробуйте написать половину буквы или цифры и ответьте, что это означает? На битовом уровне компьютер работает с отдельными битами двоичной системы, как самой простой. Вы удивитесь, но все многообразие компьютерных действий состоит из семи однобитных операций: И, ИЛИ, НЕ, ДА (пустая операция), XOR (исключающее ИЛИ, сравнение), 0 (сброс) и 1 (выставление бита).
Причем каждая операция выполняется одним элементом из 2-4 транзисторов. Подобно тому, как числа складываются из цифр, а слова – из букв, биты складываются в байты. IBM-совместимые компьютеры оперируют 8-битными байтами, но это было не всегда так. Например, байты в калькуляторах состоят из 4 бит, а компьютеры начала и середины прошлого века использовали от 6 до 14 бит. Многие сети до сих пор используют пакеты по 7 бит, но большинство – 9 (8 бит информации + 1 бит четности для проверки правильности переданной информации). Для современных компьютеров 8 бит – это мало. Они оперируют сразу 32 или 64 битами. Фактически это и есть их байт.
Но ячейки памяти все равно 8-битные, да и внешние устройства работают с 8-битными байтами. Поэтому размерность байта менять не стали, а для обозначения сборок из нескольких байтов используют термин «компьютерное слово».
Мы рассмотрели логический уровень, который присутствует в компьютере в качестве идеи – объекта метафизического мира.
1-й уровень – физический
На физическом уровне компьютер работает как набор устройств: процессор и память – основное устройство, звуковая плата – другое, принтер – третье, и т.д. Устройства между собой обмениваются байтами через центральную шину. Причем, в зависимости от устройства, один и тот же байт будет вызывать различные действия.
Например, принтер напечатает символ, а звуковая карта издаст определенный звук, никак не связанный с символом из принтера. Какую букву и какой звук сгенерируют устройства, будет зависеть от прошивки, которая хранится в ПЗУ – специальной памяти устройства. Здесь мы приходим к пониманию, что в одном корпусе находится сразу несколько устройств.
Подобно тому, как человеческое тело состоит из органов, выполняющих обособленные функции. В принтере, например, есть печатающая головка, выполняющая печать; знакогенератор, сопоставляющий каждому коду символа определенный графический знак; буферная память, хранящая поступившие коды символов... И так далее.
Звуковая карта также состоит из нескольких устройств: микшера каналов, MIDI-синтезатора, цифро-аналогового преобразователя, усилителя выходного сигнала, аналого-цифрового преобразователя микрофонного входа и др. Каждый такой набор устройств управляется встроенной в ПЗУ программой – прошивкой. Именно она определяет, что принтер будет печатать русские буквы, а не греческие; а MIDI– синтезатор генерирует звуки рояля, а не виолончели.
Соответственно, меняя прошивку, можно менять некоторые функции составного устройства или исправлять ошибки в его работе.
2-й уровень – виртуальное устройство, драйвер
Если в готовом сложном устройстве все простые блоки связаны между собой жестко и нет нужды определять его состав каждый раз при включении, то компьютер – дело иное. Разные устройства могут быть подключены к компьютеру и отключены от него как в моменты его выключения, так и во время работы. Заранее неизвестно, какие устройства и в какой разъем будут подключены.
Эту неизвестность разрешают драйверы – они описывают, какое устройство куда подключено и как обрабатывать данные. Для примера очень упрощенно можно представить воспроизведение музыки с CD на звуковую карту так: – луч лазера считывает очередной кусок данных с поверхности диска и передает их в порт CD; – драйвер CD считывает данные из порта, отделяет полезную информацию от служебной, передает «чистые данные» в память и дает указание считать следующий кусок данных; – драйвер звуковой карты берет данные из памяти, наделяет их управляющими командами, нарезает на куски и передает их в звуковую карту; – по переданным данным звуковая карта генерирует звук.
Это очень упрощенный вариант с понятными устройствами. А пока задумаемся вот о чем: к компьютеру, в принципе, может быть подключено несколько CD-приводов. Возникает проблема их идентификации. А если на звуковую карту попытаются выводить звук несколько программ, то как быть в этом случае? Вот тут-то и приходит на помощь виртуальное устройство. Виртуальное устройство – это программа, типа драйвера. Она занимает некоторое промежуточное место между драйверами и «решает», какое устройство и как задействовать.
Например, звук из нескольких источников для одной реальной звуковой карты виртуальная замикширует (смешает). Виртуальный принтер примет данные для печати и будет хранить их, пока реальный принтер занят. Если к компьютеру подключено несколько однотипных принтеров, то пул (pool) принтеров распределит, какой документ на какой принтер отправить так, чтобы они не перемешались. И так далее. То есть в рамках вышеописанной модели определит, какую обработку произвести над данными, передаваемыми из одного драйвера в другой.
Обращаю внимание на то, что, начиная со 2-го уровня, мы уходим из физического уровня в программный. Программа, как информация, более относится к миру идей. И далее все рассматриваемые уровни будут программными.
Компьютер устроен сложно и в то же время – просто. Он имеет несколько уровней: логический (теоретический), физический, виртуальный. В этой статье заканчивается рассмотрение уровней организации компьютера. Мы ознакомимся с остальными уровнями – программными (системный и прикладной) и уровнем данных.
3-й уровень – операционная система
Операционная система, сама по себе, – это некоторое количество работающих вместе программ, которые управляют работой всех устройств компьютера и осуществляют связь между пользователем и компьютером. Она также управляет работой всех других программ, которые находятся в компьютере.
Операционная система связывает компьютер воедино. Например, вы указываете мышкой картинку, которую хотите посмотреть, а операционная система уже решает, чем и как будет показана картинка. Вам незачем думать о том, как она определяет позицию курсора, выбирает ярлык, по которому вы щелкнули, ищет файл с картинкой (да и вообще, что такое файл?), как он считывается с диска и загружается в память, как размер изображения подгоняется под размер экрана и, наконец, выводится на экран…
Всё просто: щелчок – результат. И никаких понятий о драйверах мышки, винчестера, памяти и монитора. Правда, удобно? Вот это удобство и обеспечивает операционная система. Операционная система задает общие правила работы программ. Например, в операционной системе Windows каждый файловый носитель имеет собственное буквенное имя, а в Linux-образных системах – все носители объединяются в одно «дерево», и необходимо знать, кто какой веткой является. Различаются способы выбора, какую программу включить/выключить в каждый конкретный момент. И как должен быть «оформлен» код программы, из-за чего программа для Linux не запустится в Windows, и наоборот…
Существует достаточно большое количество операционных систем. Большинство из них разработаны для работы на специфических устройствах. Мало кто задумывался над тем, что SIM-карта в вашем сотовом телефоне имеет свою собственную операционную систему, а сам сотовый – другую. Соответственно, операционных систем существует великое множество. Для компьютера на слуху Windows, Linux и MacOS, но есть и другие.
4-й уровень – прикладные программы
Операционная система может многое, но не всё. В нее включаются только те возможности, которые нужны большинству пользователей. Остальное реализуется прикладными программами. Если вдруг какая-то прикладная программа становится нужной большинству пользователей, то она включается в состав операционной системы. Говорить о прикладных программах можно очень долго.
Существуют сотни тысяч (!!!) программ для Windows и тысячи для Linux. Причем программы существуют как исполняемые самостоятельно, так и с помощью разного рода интерпретаторов. Во втором случает речь идет не о полноценных программах, о приложениях на JavaScript, Perl или макросах. Соответственно, необходимый интерпретатор должен быть установлен на компьютере. Макросы Excel не будут работать, если у вас не стоит сам Excel или отключено выполнение макросов; конфигурация 1С-Торговля не работает без платформы 1С; видео-ролики на YouTube не будут показываться без FlashPlayer; и т.д.
5-й уровень – личные данные
Последним уровнем этой пирамиды идут ваши личные данные, личные файлы и прочее. Вы сами их создаете, вы единственный, кто точно знает, что в них находится. Именно их вы должны хранить пуще своего глаза. Если они пропадут, то взять их будет неоткуда. Например, один студент жаловался мне, что ему задали реферат по геологии про реку Ржавка, а в Интернете такого реферата скачать не удалось. Ну, конечно, не удалось, раз еще никто не написал этот реферат. Ему и предлагалось выполнить эту работу, а не переписать чью-то чужую.
Итак, пройдемся по иерархии на этом конкретном примере, но уже в обратную сторону. Допустим, что вы хотите прочитать реферат про геологию реки Ржавки. Для этого он должен существовать в виде какого-то файла, например TXT. Но этого мало. Чтобы его увидеть, нужна программа, работающая с файлами такого типа. Это может быть MS-Word или Блокнот. Мало того, программа должна быть установлена в операционной системе, например, в Windows. Иначе программа не сможет получить данных и отослать их на устройство вывода.
Далее: в системе должны быть установлены какие-нибудь драйверы устройства отображения – видео-карты или мультимедийного проектора. А на сервере печати, например, может не быть монитора. Тогда Windows автоматически примет решение о выводе реферата на принтер. И тогда, если у вас есть это самое устройство отображения и оно включено, и в розетке есть электроэнергия, то вы увидите свой реферат. Вот такая сложная цепочка.
Автор: Вадим Поспелов
- Главная
- →
- Выпуски
- →
- Компьютеры
- →
- Обзоры
- →
- Как устроен компьютер?
Обзоры
Группы по теме:
Популярные группы
- Рукоделие
- Мир искусства, творчества и красоты
- Учимся работать в компьютерных программах
- Учимся дома делать все сами
- Методы привлечения денег и удачи и реализации желаний
- Здоровье без врачей и лекарств
- 1000 идей со всего мира
- Полезные сервисы и программы для начинающих пользователей
- Хобби
- Подарки, сувениры, антиквариат