Главная » Java, Web » Основы Java. Вводная часть

0

Компьютер — сложная система, состоящая из многих частей. Одна из главнейших составляющих компьютера — это центральный процессор (ЦП). Именно процессор производит вычисления. В современном компьютере процессор — это одна отдельная микросхема, один чип, квадрат, сторона которого составляет несколько сантиметров. Задача процессора — выполнять программы. Программа — это набор инструкций, которые компьютер выполняет автоматически. Компьютер реализован таким образом, что он понимает инструкции, которые написаны на специальном языке — машинном языке. Каждый тип компьютеров имеет свой машинный язык. Компьютер может выполнять программу, если она написана на его машинном языке. Он может выполнять также программы, созданные на других языках, если первоначально эти программы будут переведены на машинный язык.

Во время выполнения программы компьютером, программа хранится в оперативной памяти компьютера (память прямого доступа, RAM, Random Access Memory, ОЗУ, оперативное запоминающее устройство). Кроме команд программы память может содержать данные, которые необходимы для работы программы. Доступ к памяти осуществляется по адресам. Когда процессор требует выполнения инструкции программы или ему необходимо получить данные из памяти, он посылает адрес в виде сигнала к памяти, а память в ответ посылает содержимое, хранимое по этому адресу. Процессор подбирает инструкции из памяти машины одну за другой по порядку и выполняет их.

Работа процессора состоит в том, что он получает инструкции из памяти компьютера и выполняет их. Помимо процессора компьютер включает в свой состав жесткий диск. Жесткий диск используется для хранения программ и данных в виде файлов. Для работы с компьютером к нему подключают различные периферийные устройства: клавиатуру, мышь, монитор, принтер, модем, сетевую карту, сканер и т. д. Клавиатура и мышь нужны для того, чтобы можно бьло осуществлять ввод информации в компьютер. Монитор и принтер служат для вывода информации пользователю. Модем позволяет компьютерам общаться друг с другом по телефонной линии. Сетевая карта используется для объединения двух или нескольких компьютеров в сеть. При помощи сканера можно осуществлять перевод изображений в двоичные данные и хранить их на компьютере. Для каждого их этих устройств используются драйверы устройств, которые представляют собой программное обеспечение, при помощи которого происходит взаимодействие процессора с тем или иным устройством. Устройства присоединяются к компьютеру, образуя с ним единое целое. Присоединение устройств осуществляется при помощи одной или нескольких шин. Шина — это набор проводников, которые несут на себе различную нагрузку, исполняя те или иные функции, передавая от одного устройства к другому информацию разного назначения: данные, адреса, управляющую информацию (рис. П4.1). Адреса направляют данные к конкретному устройству и в конкретное место этого устройства. Сигналы управления могут, например, служит для передачи служебных сообщений от одного устройства к другому.

Рис. П4.1. Ввод-вывод происходит через шину

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

Прерывания позволяют процессору работать с асинхронными сообщениями. При обычном ходе выполнения программы все инструкции выполняются синхронно, т. е. в заранее установленной последовательности, прерывания позволяют обрабатывать асинхронные сообщения, которые процессор получает непредсказуемым образом в произвольный момент. Еще один пример работы с прерываниями — получение данных с жесткого диска. Процессор может читать данные напрямую только из оперативной памяти. Перед тем как данные, хранимые на жестком диске, станут доступны, их необходимо скопировать в оперативную память компьютера. По сравнению со скоростью работы процессора и оперативной памяти жесткий диск работает чрезвычайно медленно. Если процессору требуются данные с жесткого диска, то он посылает сообщение драйверу диска о том, чтобы требуемые данные были найдены и приготовлены для чтения. Этот запрос посылается синхронно, в составе обьиного потока выполнения программы. После этого процессор продолжает работу, не выделяя ресурсов для ожидания данных с жесткого диска. Когда данные становятся готовы, процессору посылается сигнал прерывания, после чего обработчик прерывания может прочитать полученные данные.

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

?      процесс отдает управление другому процессу;

?      процесс должен подождать наступления тех или иных асинхронных событий, до наступления которых процесс блокируется. Когда наступает ожидаемое асинхронное событие, процесс возобновляет работу;

? процесс превышает лимиты времени и останавливается.

Работа с потоками и событиями является важной частью при программировании на языке Java. Программисту нет необходимости работать с прерываниями, программист сосредоточен на работе с обработчиками событий.

Программное обеспечение, которое занимается работой, связанной с обработкой прерываний от устройств, называется операционной системой. Помимо операционной системы существует богатый выбор программного обеспечения, включая программы для работы с текстами (текстовые процессоры), программы для просмотра ресурсов Интернета (браузеры) и т. п. Наиболее распространенными операционными системами в настоящее время являются системы FreeBSD, Linux, DOS, Windows 98, Windows 2000, Windows XP, Macintosh OS.

Машинный язык состоит из набора простых инструкций, которые выполняются центральным процессором. Большинство программ создаются на языках высокого уровня, например, на языках Java или С++. Программа, написанная на языке высого уровня, не может быть непосредственно выполнена на машине. Для трансляции такой программы, перевода ее на машинный язык требуется компилятор. Компилятор читает высокоуровневую программу и переводит ее на язык машинных команд. После завершения компиляции программа на машинном языке может быть выполнена. Для выполнения программы на другом типе компьютера требуется скомпилировать программу заново, переведя ее на другой машинный язык.

Источник: Будилов В. А. Интернет-программирование на Java. — СПб.: БХВ-Петербург, 2003. — 704 е.: ил.

По теме:

  • Комментарии