Управление файлами и внешними устройствами
Способность ОС к «экранированию» сложностей реальной аппаратуры очень ярко проявляется в одной из основных подсистем ОС — файловой системе. Операционная система виртуализирует отдельный набор данных, хранящихся на внешнем накопителе, в виде файла — простой неструктурированной последовательности байтов, имеющей символьное имя. Для удобства работы с данными файлы группируются в каталоги, которые, в свою очередь, образуют группы — каталоги более высокого уровня. Пользователь может с помощью ОС выполнять над файлами и каталогами такие действия, как поиск по имени, удаление, вывод содержимого на внешнее устройство (например, на дисплей), изменение и сохранение содержимого.
Чтобы представить большое количество наборов данных, разбросанных случайным образом по цилиндрам и поверхностям дисков различных типов, в виде хорошо всем знакомой и удобной иерархической структуры файлов и каталогов, операционная система должна решить множество задач. Файловая система ОС выполняет преобразование символьных имен файлов, с которыми работает пользователь или прикладной программист, в физические адреса данных на диске, организует совместный доступ к файлам, защищает их от несанкционированного доступа.
При выполнении своих функций файловая система тесно взаимодействует с подсистемой управления внешними устройствами, которая по запросам файловой системы осуществляет передачу данных между дисками и оперативной памятью.
Подсистема управления внешними устройствами, называемая также подсистемой ввода-вывода, исполняет роль интерфейса ко всем устройствам, подключенным к компьютеру. Спектр этих устройств очень обширен. Номенклатура выпускаемых накопителей на жестких, гибких и оптических дисках, принтеров, сканеров, мониторов, плоттеров, модемов, сетевых адаптеров и более специальных устройств ввода-вывода, таких как, например, аналого-цифровые преобразователи, может насчитывать сотни моделей. Эти модели могут существенно отличаться набором и последовательностью команд, с помощью которых осуществляется обмен информацией с процессором и памятью компьютера, скоростью работы, кодировкой передаваемых данных, возможностью совместного использования и множеством других деталей.
Программа, управляющая конкретной моделью внешнего устройства и учитывающая все его особенности, обычно называется драйвером этого устройства (от английского drive — управлять, вести). Драйвер может управлять единственной моделью устройства, например модемом U-1496E компании ZyXEL, или же группой устройств определенного типа, например любыми Hayes-совместимыми модемами. Для пользователя очень важно, чтобы операционная система включала как можно больше разнообразных драйверов, так как это гарантирует возможность подключения к компьютеру большого числа внешних устройств различных производителей. От наличия подходящих драйверов во многом зависит успех операционной системы на рынке (например, отсутствие многих необходимых драйверов внешних устройств было одной из причин низкой популярности OS/2).
Созданием драйверов устройств занимаются как разработчики конкретной ОС, так и специалисты компаний, выпускающих внешние устройства. Операционная система должна поддерживать хорошо определенный интерфейс между драйверами и остальной частью ОС, чтобы разработчики из компаний-производителей устройств ввода-вывода могли поставлять вместе со своими устройствами драйверы для данной операционной системы.
Прикладные программисты могут пользоваться интерфейсом драйверов при разработке своих программ, но это не очень удобно — такой интерфейс обычно представляет собой низкоуровневые операции, обремененные большим количеством деталей.
Поддержание высокоуровневого унифицированного интерфейса прикладного программирования к разнородным устройствам ввода-вывода является одной из наиболее важных задач ОС. Со времени появления ОС UNIX такой унифицированный интерфейс в большинстве операционных систем строится на основе концепции файлового доступа. Эта концепция заключается в том, что обмен с любым внешним устройством выглядит как обмен с файлом, имеющим имя и представляющим собой неструктурированную последовательность байтов. В качестве файла может выступать как реальный файл на диске, так и алфавитно-цифровой терминал, печатающее устройство или сетевой адаптер. Здесь мы опять имеем дело со свойством операционной системы подменять реальную аппаратуру удобными для пользователя и программиста абстракциями.
Управление файлами и внешними устройствами — мегаобучалка
Способность ОС к «экранированию» сложностей реальной аппаратуры очень ярко проявляется в одной из основных подсистем ОС — файловой системе. Операционная система виртуализирует отдельный набор данных, хранящихся на внешнем накопителе, в виде файла — простой неструктурированной последовательности байтов, имеющей символьное имя. Для удобства работы с данными файлы группируются в каталоги, которые, в свою очередь, образуют группы — каталоги более высокого уровня. Пользователь может с помощью ОС выполнять над файлами и каталогами такие действия, как поиск по имени, удаление, вывод содержимого на внешнее устройство (например, на дисплей), изменение и сохранение содержимого.
Чтобы представить большое количество наборов данных, разбросанных случайным образом по цилиндрам и поверхностям дисков различных типов, в виде хорошо всем знакомой и удобной иерархической структуры файлов и каталогов, операционная система должна решить множество задач. Файловая система ОС выполняет преобразование символьных имен файлов, с которыми работает пользователь или прикладной программист, в физические адреса данных на диске, организует совместный доступ к файлам, защищает их от несанкционированного доступа.
При выполнении своих функций файловая система тесно взаимодействует с подсистемой управления внешними устройствами, которая по запросам файловой системы осуществляет передачу данных между дисками и оперативной памятью.
Подсистема управления внешними устройствами, называемая также подсистемой ввода-вывода, исполняет роль интерфейса ко всем устройствам, подключенным к компьютеру. Спектр этих устройств очень обширен. Номенклатура выпускаемых накопителей на жестких, гибких и оптических дисках, принтеров, сканеров, мониторов, плоттеров, модемов, сетевых адаптеров и более специальных устройств ввода-вывода, таких как, например, аналого-цифровые преобразователи, может насчитывать сотни моделей. Эти модели могут существенно отличаться набором и последовательностью команд, с помощью которых осуществляется обмен информацией с процессором и памятью компьютера, скоростью работы, кодировкой передаваемых данных, возможностью совместного использования и множеством других деталей.
Программа, управляющая конкретной моделью внешнего устройства и учитывающая все его особенности, обычно называется драйвером этого устройства (от английского drive — управлять, вести). Драйвер может управлять единственной моделью устройства или же группой устройств определенного типа. Для пользователя очень важно, чтобы операционная система включала как можно больше разнообразных драйверов, так как это гарантирует возможность подключения к компьютеру большого числа внешних устройств различных производителей.
Защита данных и администрирование
Безопасность данных вычислительной системы обеспечивается средствами отказоустойчивости ОС, направленными на защиту от сбоев и отказов аппаратуры и ошибок программного обеспечения, а также средствами защиты от несанкционированного доступа. В последнем случае ОС защищает данные от ошибочного или злонамеренного поведения пользователей системы.
Первым рубежом обороны при защите данных от несанкционированного доступа является процедура логического входа. Операционная система должна убедиться, что в систему пытается войти пользователь, вход которого разрешен администратором. Функции защиты ОС вообще очень тесно связаны с функциями администрирования, так как именно администратор определяет права пользователей при их обращении к разным ресурсам системы — файлам, каталогам, принтерам, сканерам и т. п. Кроме того, администратор ограничивает возможности пользователей в выполнении тех или иных системных действий. Например, пользователю может быть запрещено выполнять процедуру завершения работы ОС, устанавливать системное время, завершать чужие процессы, создавать учетные записи пользователей, изменять права доступа к некоторым каталогам и файлам. Администратор может также урезать возможности пользовательского интерфейса, убрав, например, некоторые пункты из меню операционной системы, выводимого на дисплей пользователя.
Обработка исключений.
Неформально исключение – это аномальное событие, прерывающее выполнение программы. Термины «исключение» и «прерывание» в большинстве случаев являются синонимами.
Прерывания являются основной движущей силой любой операционной системы. Периодические прерывания от таймера вызывают смену процессов в мультипрограммной ОС, а прерывания от устройств ввода-вывода управляют потоками данных, которыми вычислительная система обменивается с внешним миром.
Система прерываний переводит процессор на выполнение потока команд, отличного от того, который выполнялся до сих пор, с последующим возвратом к исходному коду. Из сказанного можно сделать вывод о том, что механизм прерываний очень похож на механизм выполнения процедур. Это на самом деле так, хотя между этими механизмами имеется важное отличие. Переключение по прерыванию отличается от переключения, которое происходит по команде безусловного или условного перехода, предусмотренной программистом в потоке команд приложения. Переход по команде происходит в заранее определенных программистом точках программы в зависимости от исходных данных, обрабатываемых программой. Прерывание же происходит в произвольной точке потока команд программы, которую программист не может прогнозировать. Прерывание возникает либо в зависимости от внешних по отношению к процессу выполнения программы событий, либо при появлении непредвиденных аварийных ситуаций в процессе выполнения данной программы. Сходство же прерываний с процедурами состоит в том, что в обоих случаях выполняется некоторая подпрограмма, обрабатывающая специальную ситуацию, а затем продолжается выполнение основной ветви программы.
В зависимости от источника прерывания делятся на три больших класса:
– внешние;
– внутренние;
– программные.
Внешние (аппаратные) прерывания могут возникать в результате действий пользователя или оператора за терминалом или же в результате поступления сигналов от аппаратных устройств – сигналов завершения операций ввода-вывода, вырабатываемых контроллерами внешних устройств компьютера, такими, как принтер или накопитель на жестких дисках, или же сигналов от датчиков управляемых компьютером технических объектов. Внешние прерывания называют также аппаратными, отражая тот факт, что прерывание возникает вследствие подачи некоторой аппаратурой (например, контроллером принтера) электрического сигнала, который передается (возможно, проходя через другие блоки компьютера, например контроллер прерываний) на специальный вход прерывания процессора. Данный класс прерываний является асинхронным по отношению к потоку инструкций прерываемой программы. Аппаратура процессора работает так, что асинхронные прерывания возникают между выполнением двух соседних инструкций, при этом система после обработки прерывания продолжает выполнение процесса уже начиная со следующей инструкции.
Внутренние прерывания, называемые также исключениями (exception), происходят синхронно выполнению программы при появлении аварийной ситуации в ходе исполнения некоторой инструкции программы. Примерами исключений являются деление на нуль, ошибки защиты памяти, обращения по несуществующему адресу, попытка выполнить привилегированную инструкцию в пользовательском режиме и т. п. Исключения возникают непосредственно в ходе выполнения тактов команды (“внутри” выполнения).
Программные прерывания отличаются от предыдущих двух классов тем, что они по своей сути не являются “истинными” прерываниями. Программное прерывание возникает при выполнении особой команды процессора, выполнение которой имитирует прерывание, т.е. переход на новую последовательность инструкций. Причины использования программных прерываний вместо обычных инструкций вызова процедур будут изложены ниже, после рассмотрения механизма прерываний.
Прерываниям приписывается приоритет, с помощью которого они ранжируются по степени важности и срочности. О прерываниях, имеющих одинаковое значение приоритета, говорят, что они относятся к одному уровню приоритета прерываний.
Прерывания обычно обрабатываются модулями операционной системы, так как действия, выполняемые по прерыванию, относятся к управлению разделяемыми ресурсами вычислительной системы – принтером, диском, таймером, процессором и т. п. Процедуры, вызываемые по прерываниям, обычно называют обработчиками прерываний, или процедурами обслуживания прерываний (Interrupt Service Routine, ISR). Аппаратные прерывания обрабатываются драйверами соответствующих внешних устройств, исключения – специальными модулями ядра, а программные прерывания – процедурами ОС, обслуживающими системные вызовы. Кроме этих модулей, в операционной системе может находиться так называемый диспетчер прерываний, который координирует работу отдельных обработчиков прерываний.
http://sga-gos.narod.ru/os.htm
§
Значительная часть устройств внешней памяти (внешние жесткие диски, приводы CD и DVD), а также периферийные устройства (принтер, сканер) обладают небольшим объемом кэш-памяти (в основном 2, 4, 8 либо 16 Мб), что позволяет увеличить скорость доступа к данным.
Кроме того, кэширование широко распространено в сетевых технологиях.
http://www.megabook.ru/Article.asp?AID=606215
Внешняя память предназначена для долговременного хранения программ и данных. Устройства внешней памяти (накопители) являются энергонезависимыми, выключение питания не приводит к потере данных. Они могут быть встроены в системный блок или выполнены в виде самостоятельных блоков, связанных с системным через его порты. Важной характеристикой внешней памяти служит ее объем. Объем внешней памяти можно увеличивать, добавляя новые накопители. Не менее важными характеристиками внешней памяти являются время доступа к информации и скорость обмена информацией. Эти параметры зависят от устройства считывания информации и организации типа доступа к ней.
По типу доступа к информации устройства внешней памяти делятся на два класса: устройства прямого (произвольного) доступа и устройства последовательного доступа. При прямом (произвольном) доступе время доступа к информации не зависит от ее места расположения на носителе. При последовательном доступе время доступа зависит от местоположения информации.
Скорость обмена информацией зависит от скорости ее считывания или записи на носитель, что определяется, в свою очередь, скоростью вращения или перемещения этого носителя в устройстве.
Внешняя (долговременная) память – это место хранения данных, не используемых в данный момент в памяти компьютера.
Устройства внешней памяти – это, прежде всего, магнитные устройства для хранения информации.
По способу записи и чтения накопители делятся, в зависимости от вида носителя, на магнитные, оптические и магнитооптические.
Раньше в вычислительной технике к внешним устройствам (ВЗУ) относили устройства хранения дискретной информации, главным образом, на магнитных лентах, барабанах, дисках.
http://2balla.ru/index.php?option=com_ewriting&Itemid=69&func=chapterinfo&chapter=47091&story=32187
Использование внешних устройств в компьютерной сети. Сетевые устройства ввода/вывода, хранение информации на сервере, файлообменники и внешние ресурсы.
Сетевые устройства
Устройства, подключенные к какому-либо сегменту сети, называют сетевыми устройствами. Их принято подразделять на 2 группы:
1. Устройства пользователя. В эту группу входят компьютеры, принтеры, сканеры и другие устройства, которые выполняют функции, необходимые непосредственно пользователю сети;
2. Сетевые устройства. Эти устройства позволяют осуществлять связь с другими сетевыми устройствами или устройствами конечного пользователя. В сети они выполняют специфические функции.
Адресация в сети
У каждого компьютера, который подключен к сети, есть два основных адреса: IP-адрес и MAC-адрес. Если вспомнить пример с студентами, то MAC-адрес будет соответствовать имени студента, а IP адрес будет указывать на каком факультете, курсе, группе учится студент и какой он по списку. Основная задача MAC-адреса – это однозначная идентификация конкретного устройства. По MAC-адресу можно однозначно идентифицировать устройство, которое подключено в сеть. MAC-адреса имеют линейную структуру, то есть по имени студента невозможно сказать где он учится, с кем он учится итд. MAC-адрес прошит в сетевую плату и его изменить невозможно (хотя существуют разные методы обхода этого ограничения
). MAC-адрес состоит из 48 бит, которые сгруппированы в 12 шестнадцатиразрядных чисел. Первые 6 задают производителя сетевой карты, последние 6 задают конкретное устройство.
Примечание: MAC-адреса используются для адресации на канальном уровне модели OSI в рамках одной сети. Всего в этой модели 7 уровней. Ее создали для упрощения понимания работы сети. Более-подробно о ней сказано в Википедии. Сетевую модель OSI не стоит путать со стеком протоколов OSI, это разные вещи. Сейчас активно на практике используется стек протоколов TCP/IP
Уровни модели OSI
Прикладной уровень
Представительский уровень
Сеансовый уровень
Транспортный уровень
Сетевой уровень
Канальный уровень
Физический уровень
§
Сетевые карты
Устройства, которые связывают конечного пользователя с сетью, называются такжеоконечными узлами или станциями (host). Примером таких устройств является обычный персональный компьютер или рабочая станция (мощный компьютер, выполняющий определенные функции, требующие большой вычислительной мощности. Например, обработка видео, моделирование физических процессов и т.д.). Для работы в сети каждый хост оснащен платой сетевого интерфейса (Network Interface Card — NIC), также называемой сетевым адаптером. Как правило, такие устройства могут функционировать и без компьютерной сети.
Сетевой адаптер представляет собой печатную плату, которая вставляется в слот на материнской плате компьютера, или внешнее устройство. Каждый адаптер NIC имеет уникальный код, называемый MAC-адресом. Этот адрес используется для организации работы этих устройств в сети. Сетевые устройства обеспечивают транспортировку данных, которые необходимо передавать между устройствами конечного пользователя. Они удлиняют и объединяют кабельные соединения, преобразуют данные из одного формата в другой и управляют передачей данных. Примерами устройств, выполняющих перечисленные функции, являются повторители, концентраторы, мосты,коммутаторы и маршрутизаторы.
Повторители (repeater) представляют собой сетевые устройства, функционирующие на первом (физическом) уровне эталонной модели OSI. Для того чтобы понять работу повторителя, необходимо знать, что по мере того, как данные покидают устройство отправителя и выходят в сеть, они преобразуются в электрические или световые импульсы, которые после этого передаются по сетевой передающей среде. Такие импульсы называются сигналами (signals). Когда сигналы покидают передающую станцию, они являются четкими и легко распознаваемыми. Однако чем больше длина кабеля, тем более слабым и менее различимым становится сигнал по мере прохождения по сетевой передающей среде. Целью использования повторителя является регенерация и ресинхронизация сетевых сигналов на битовом уровне, что позволяет передавать их по среде на большее расстояние.
Концентратор — это один из видов сетевых устройств, которые можно устанавливать на уровне доступа сети Ethernet. На концентраторах есть несколько портов для подключения узлов к сети. Концентраторы — это простые устройства, не оборудованные необходимыми электронными компонентами для передачи сообщений между узлами в сети. Концентратор не в состоянии определить, какому узлу предназначено конкретное сообщение. Он просто принимает электронные сигналы одного порта и воспроизводит (или ретранслирует) то же сообщение для всех остальных портов.
Маски подсети и шлюзы
Сервер – это служба (программа, если хотите), которая запущена на компьютере.
Репитер (повторитель) – это устройство, которое предназначено для усиления сигнала. Используется для увеличения дальности соединения.
Хаб (концентратор) – это устройство, которое содержит несколько портов. При подаче сигнала на один порт – он усиливается и передается на остальные порты. Хаб – это по сути многопортовый репитер. И хаб, и репитер работают на первом (физическом) уровне модели OSI.
Бридж (мост) – это устройство, которое служит для фильтрации трафика по MAC-адресам. Он разделяет домены коллизий.
Свич (коммутатор) – это по сути многопортовый мост. Основной задачей коммутатора служит создание “виртуальных” каналов между устройствами на основе MAC-адресов.
http://acerfans.ru/faq/146-kompjuternye-seti.-vvedenie.html
Сетевые принтеры – выгодная альтернатива принтерам персональным. Один большой и производительный аппарат способен гораздо быстрее справляться с заданиями печати, чем несколько мелких. Кроме того, каждый отпечатанный на таком принтере лист будет обходиться заметно дешевле, чем тот же лист, сделанный на персональном маленьком аппарате, что даст возможность значительно сокращать затраты офиса на печать. Чтобы всем этим пользоваться, принтер должен быть доступен всем пользователям сети, другими словами – быть сетевым.
Существует несколько способов “превращения” обычного принтера в сетевой: через общий доступ, через внешний принт-сервер или через внутренюю сетевую карту принтера.
1. Разделённый (расшаренный) принтер для общего доступа
Это самый простой в исполнении, но самый ограниченный по возможностям вариант сетевого использования принтера. Он подразумевает, что принтер, который должен быть доступен нескольким пользователям сети, подключен к одному из компьютеров и сделан общедоступным сетевым ресурсом (на жаргоне – “расшарен” от англ. share – разделение). После этого пользоваться этим принтером могут все пользователи данной сети.
2. Подключение через внешний принт-сервер стороннего производителя. Существует множество производителей, которые предлагают различные реализации внешних принт-серверов, позволяющих подключать обычные принтеры к сети. Представлять из себя эти принт-серверы могут либо простейшую “коробочку”, в которой с одной стороны есть разъём RJ-45 для подключения сетевого кабеля, а с другой разъём параллельного порта, либо разъём для подключения USB-кабеля. Либо это может быть более
современное, комбинированное решение, представляющее из себя, к примеру, точку доступа к беспроводной сети, сетевой концентратор, клиента VPN и принт-сервер, подключаемый к принтеру через USB-порт.
3. Подключение через “родную” сетевую карту/принт-сервер.
Многие принтеры подразумевают установку в них внутренней сетевой платы, сделанной специально для этой модели (или для нескольких моделей этого производителя). В этом случае плата устанавливается на внутреннюю системную шину принтера и потому данные передаются на принтер на максимально возможной для сети скорости. Кроме того, внутренняя сетевая плата позволяет осуществлять управление принтером через сеть и с другой стороны, через панель управления принтером можно изменять настройки сетевой платы. Как несложно догадаться, “родная” сетевая плата является атрибутом не самых дешёвых моделей принтеров и, являясь не универсальным устройством, производимым в сравнительно небольших количествах, имеет достаточно высокую стоимость.
Если наш принтер оснащён сетевой платой (штатно или добавленной в него в качестве опции), то производитель, скорее всего, предлагает вариант автоматической установки сетевого принтера с диска, поставляемого вместе с принтером. В этом случае достаточно указать, что принтер является сетевым и программа-установщик настроит всё автоматически. Возможно придётся лишь указать IP-адрес принтера.
http://www.immperium.ru/new_page_234.htm
Файлообменник, файлхостинг или файловый хостинг — сервис, предоставляющий пользователю место под его файлы и круглосуточный доступ к ним через web, как правило по протоколу http. Такой сервис позволяет удобно «обмениваться» файлами. На специальной странице файлообменника (чаще всего на главной) пользователь загружает файл на сервер файлообменника, а файлообменник отдает пользователю постоянную ссылку, которую он может рассылать по e-mail, публиковать в блогах, на форумах или пересылать через системы IM. Перейдя по такой ссылке любой другой пользователь может скачать изначальный файл.
§
В настоящее время наиболее популярны такие высокоскоростные интерфейсы для подключения периферийных устройств к настольным ПК и ноутбукам, как Universal Serial Bus (USB) и IEEE 1394, который также называют i.LINK или FireWire. Каждый интерфейс доступен в двух версиях: USB 1.1 и USB 2.0; IEEE 1394а и IEEE 1394b (FireWire 800). Порты USB и IEEE 1394 представляют собой высокоскоростные коммуникационные порты, по своим возможностям значительно выигрывающие у своих предшественников — обычных последовательных и параллельных портов. Их также можно считать альтернативой интерфейсу для периферийных устройств SCSI. Помимо более высокого быстродействия, данные порты обеспечивают консолидацию устройств ввода-вывода, что означает возможность подключения к ним периферийных устройств любого типа.
Преимущества последовательного соединения
Как уже отмечалось, по своей природе интерфейсы USB и IEEE 1394 являются последовательными. При этом данные передаются по одному проводу по одному биту за такт. В то же время параллельные порты (SCSI, ATA и LPT) предполагают одновременное использование 8, 16 и более проводов. Можно предположить, что за одно и то же время через параллельный канал передается больше данных, чем через последовательный, однако на самом деле увеличить пропускную способность последовательного соединения намного легче, чем параллельного.
Параллельное соединение обладает рядом недостатков, одним из которых является фазовый сдвиг сигнала, из-за чего длина параллельных каналов, например SCSI, ограничена (не должна превышать 3 м). Проблема в том, что, хотя 8- и 16-разрядные данные одновременно пересылаются передатчиком, из-за задержек одни биты прибывают в приемник раньше других. Следовательно, чем длиннее кабель, тем больше время задержки между первым и последним прибывшими битами на принимающем конце. Этот эффект называют перекосом сигнала; он не дает возможности использовать длинные кабели, а также высокие тактовые частоты. Способность сигнала достигать на втором конце провода определенного напряжения с небольшими колебаниями в течение короткого промежутка времени называют флуктуацией.
Последовательная шина позволяет единовременно передавать 1 бит данных. Благодаря отсутствию задержек при передаче данных значительно увеличивается тактовая частота. Например, максимальная скорость передачи данных параллельного порта ЕРР/ЕСР — 2,77 Мбайт/с, в то время как порты IEEE 1394 (в которых используется высокоскоростная последовательная технология) поддерживают скорость передачи данных, равную 400 Мбит/с (около 50 Мбайт/с), т.е. в 25 раз выше. Скорость передачи данных современных интерфейсов IEEE 1394b (FireWire 800) достигает 800 Мбит/с (или около 100 Мбайт/с), что в 50 раз превышает скорость передачи параллельного порта! Наконец, быстродействие интерфейса USB2.0 достигает 480 Мбит/с (около 60 Мбайт/с).
Еще одно преимущество последовательного способа передачи данных — возможность использования только одно- или двухпроводного канала, поэтому помехи, возникающие при передаче, очень малы, чего нельзя сказать о параллельном соединении.
Стоимость параллельных кабелей довольно высока, поскольку провода, предназначенные для параллельной передачи, не только используются в большом количестве, но и специальным образом укладываются, чтобы предотвратить возникновение помех, а это весьма трудоемкий и дорогостоящий процесс. Кабели для последовательной передачи данных, напротив, очень дешевые, так как состоят из нескольких проводов и требования к их экранированию намного ниже, чем у используемых для параллельных соединений.
Именно поэтому, а также учитывая требования внешнего периферийного интерфейса Plug and Play и необходимость устранения физического нагромождения портов в портативных компьютерах, были разработаны эти две высокоскоростные последовательные шины, используемые уже сегодня. Шиной USB оснащен практически каждый компьютер. Благодаря своей универсальности этот порт используется для всех внешних подключений устройств общего назначения. Несмотря на то что шина IEEE 1394 (больше известная как FireWire) изначально была предназначена для узкоспециализированного использования (например, с цифровыми видеокамерами), в настоящий момент она применяется и с другими устройствами, например с профессиональными сканерами и внешними жесткими дисками.
http://www.island-formoza.ru/ustroystvo-i-remont-pc/posledovatelnii-parallelnii-i-drugie-interfeisi-vvoda-vivoda_2.html
Процессор ЭВМ как система управляющего и операционного автоматов. Этапы дешифрации и исполнения команды. Использование процессором командного КЭШа и КЭШа данных. Современные суперскалярные процессоры.
Арифме́тико-логи́ческое устро́йство (АЛУ) (англ. arithmetic and logic unit, ALU) — блок процессора, который под управлением устройства управления (УУ) служит для выполнения арифметических и логических преобразований (начиная от элементарных) над данными называемыми в этом случае операндами. Разрядность операндов обычно называют размером машинного слова.
В современных ЭВМ АЛУ и УУ объединены в общее устройство и называютсяцентральным процессором.Процессор или микропроцессор является основным устройством ЭВМ онпредназначен для выполнения вычислений по хранящейся в Запоминающемустройстве программы и обеспечения общего управления ЭВМ. Быстродействие ЭВМ в значительной мере определяется скорость работы процессора. Для еёувеличения процессор использует собственную память небольшого объёмаименуемую местной или сверхоперативной, что в некоторых случаях исключаетнеобходимость обращения к запоминающему устройству ЭВМ. Вычислительныйпроцесс должен быть предварительно представлен для ЭВМ в виде программы, последовательности инструкций (команд) записанных в порядке выполнения. ЭВМвыбирает определённую команду расшифровывает её, определяет какие действия инад какими операциями следует выполнить. Эту функцию осуществляет устройствоуправления, оно же помещает выбранные из ЗУ операнды в АЛУ, где ониобрабатываются. Само АЛУ работает под управлением УУ.Обрабатываемае данные и выполняемые программы должны находиться в ЗУ –памяти ЭВМ, куда вводятся ч/3 устройство ввода. Ёмкость памяти измеряется ввеличинах кратких байту. Память представляет собой сложную структуру,построенную по иерархическому принципу и включает в себя ЗУ различных типов,функционально она делится на 2 части: внутреннюю и внешнюю.Внутренняя или основная память – это ЗУ напрямую связанная с процессором ипредназначенная для хранения выполняемых программ и данных непосредственноучаствующих вычислению. Обращение к внутренней памяти ЭВМ осуществляется свысоким быстродействием, но она имеет ограниченный объём определяемой системыадресации машин. В свою очередь делится на оперативную ОЗУ и постоянную ПЗУпамять. Оперативная память по объёму составляющая большую часть внутреннейпамяти и служит для приёма хранения и выдачи информации. При включениипитания ЭВМ содержимое оперативной памяти в большинстве случаев теряется.Постоянная память обеспечивает хранение и выдачу информации в отличии отсодержимого оперативной памяти содержимое постоянной памяти заполняется приизготовлении ЭВМ и не может быть изменено в обычных условиях эксплуатации. Впостоянной памяти хранятся часто используемые (универсальные) программы.Пример: некоторые программы операционной системы, программы тестированияоборудования ЭВМ и другие, при выключении ПК содержимое постоянной памятисохраняется.Внешняя память предназначена для размещения больших объёмов информации (диски и ленты), которые к тому же являются переносимыми. Ёмкость этой памятипрактически не имеет ограничений, а для обращения к ней требуется большевремени, чем ко внутренней. В ЗУ конструктивно отделены от центральныхустройств ЭВМ процессора и внутренней памяти имеют собственное управление ивыполняет запросы процессора без его непосредственного вмешательства. Вкачестве ВЗУ используют накопители на магнитных и оптических дисках, а так женакопители на магнитных лентах. ВЗУ по принципам функционирования разделяютсяна устройство прямого доступа ( накопители на оптических и магнитных дисках)и устройство последовательно доступа (накопители на магнитных лентах). Устройство прямого доступа обладает большим быстродействием поэтому ониявляются основными внешними запоминающими устройствами постоянноиспользуемыми в процессе функционирования ЭВМ. Устройство последовательногодействия используется для резервирования информации. Устройство ввода/вывода (УВВ) служит для ввода информации ЭВМ и вывода изнеё, а так же для обеспечения общения пользователя с машиной. Процессор ввода/вывода протекает с использованием внутренней памяти ЭВМ иногдаустройство ввода/вывода называют периферийными к ним в частности относят дисплеи (мониторы), клавиатура, манипуляторы типа мышь, алфавитно цифровые печатающие устройство (принтер), графонакопители, сканеры и т.д. Для управления внешними устройствами в том числе и ВЗУ и согласование с их системным интерфейсом служат групповые устройства управления внешними устройствами, адаптеры или контролёры.Системный интерфейс – это конструктивная часть ЭВМ предназначенная длявзаимодействия её устройств и обмена информации между ними. В больших средних и супер ЭВМ в качестве системного интерфейса используются сложные устройстваимеющие встроенные процессоры ввода/вывода именуемые началами такиеустройства обеспечивают высокую скорость обмена данными между компонентамиЭВМ является использованием в качестве системного интерфейса системных шин.Различают ЭВМ с многошинной структурой и с общей шиной.
Обработку команды можно разбить на ряд функционально завершенных действий (этапов), составляющих ее цикл.

Цикл выполнения команды
http://www.excode.ru/art6449.html
Кэш-память
Кэш-память представляет собой быстродействующее ЗУ, размещенное на одном кристалле с ЦП или внешнее по отношению к ЦП. Кэш служит высокоскоростным буфером между ЦП и относительно медленной основной памятью. Идея кэш-памяти основана на прогнозировании наиболее вероятных обращений ЦП к оперативной памяти. В основу такого подхода положен принцип временной и пространственной локальности программы.
Если ЦП обратился к какому-либо объекту оперативной памяти, с высокой долей вероятности ЦП вскоре снова обратится к этому объекту. Примером этой ситуации может быть код или данные в циклах. Эта концепция описывается принципом временной локальности, в соответствии с которым часто используемые объекты оперативной памятидолжны быть “ближе” к ЦП (в кэше ).
Для согласования содержимого кэш-памяти и оперативной памяти используют три метода записи:
- Сквозная запись (write through) – одновременно с кэш-памятью обновляется оперативная память.
- Буферизованная сквозная запись (buffered write through) – информация задерживается в кэш-буфере перед записью в оперативную память и переписывается воперативную память в те циклы, когда ЦП к ней не обращается.
- Обратная запись (write back) – используется бит изменения в поле тега, и строка переписывается в оперативную память только в том случае, если бит изменения равен 1.
Как правило, все методы записи, кроме сквозной, позволяют для увеличения производительности откладывать и группировать операции записи в оперативную память.
В структуре кэш-памяти выделяют два типа блоков данных:
- память отображения данных (собственно сами данные, дублированные из оперативной памяти );
- память тегов (признаки, указывающие на расположение кэшированных данных в оперативной памяти ).
Для организации кэш-памяти можно использовать принстонскую архитектуру (смешанный кэш для команд и данных, например, в Intel-486). Это очевидное (и неизбежное для фон-неймановских систем с внешней по отношению к ЦП кэш-памятью) решение не всегда бывает самым эффективным. Разделение кэш-памяти на кэш команд и кэш данных (кэш гарвардской архитектуры) позволяет повысить эффективность работы кэша по следующим соображениям:
- Многие современные процессоры имеют конвейерную архитектуру, при которой блоки конвейера работают параллельно. Таким образом, выборка команды и доступ к данным команды осуществляется на разных этапах конвейера, а использование раздельной кэш-памяти позволяет выполнять эти операции параллельно.
- Кэш команд может быть реализован только для чтения, следовательно, не требует реализации никаких алгоритмов обратной записи, что делает этот кэш проще, дешевле и быстрее.
Именно поэтому все последние модели IA-32, начиная с Pentium, для организации кэш-памяти первого уровня используют гарвардскую архитектуру.
http://www.intuit.ru/department/hardware/csorg/9/csorg_9.html
Суперскалярный процессор представляет собой нечто большее, чем обычный последовательный (скалярный) процессор. В отличие от последнего, он может выполнять несколько операций за один такт. Основными компонентами суперскалярного процессора являются устройства для интерпретации команд, снабженные логикой, позволяющей определить, являются ли команды независимыми, и достаточное число исполняющих устройств. В исполняющих устройствах могут быть конвейеры. Суперскалярные процессоры реализуют параллелизм на уровне команд.
http://cs.mipt.ru/docs/comp/rus/develop/parallel/masspar-prog/g2.2.2.html
§
Сигналы внешних аппаратных прерываний поступают в микропроцессор не непосредственно, а через контроллер прерываний. В качестве него используется микросхема Intel8259a, которая имеет 8 входных линий, называемых линиями запроса прерывания (Interrupt Request, IRQ). Обычно в системе бывает 2 таких микросхемы, одна из которых (ведущая) подключается непосредственно к микропроцессору, а вторая (ведомая) – к входу IRQ2 ведущей микросхемы. Таким образом, всего рассматривается 15 входных линий запросов прерываний от внешних устройств. Иногда этого не хватает, и на одной линии запроса «висят» несколько устройств, вследствие чего операционной системе приходится прилагать дополнительные усилия, чтобы разобраться, откуда пришёл сигнал.
Выходами микросхемы контроллера являются сигнал INT, идущий на вход микропроцессора (CPU), и номер вектора прерывания. Обратная связь микропроцессора с контроллером осуществляется с помощью сигнала INTA. Схема сопряжения контроллера (CIED, Controller Interrupts of External Units, назовём его так) и CPU (Central Processing Unit, центрального процессора) приводится на следующей схеме функционирования (рис.1)

Сигнал прерывания, поступая в контроллер, доходит до микропроцессора не сразу.
Во-первых, в схеме контроллера присутствует регистр маски, биты которого могут быть установлены программно через порт 21h (A1h для ведомого контроллера). Наличие 1 в соответствующем бите этого 8-битного регистра запрещает прохождение сигнала от соответствующего устройства, 0 – разрешает.
Во-вторых, поступивший в контроллер запрос на обработку прерывания блокирует в нём прохождение сигналов от устройств текущего и более низкого приоритета до тех пор, пока микропроцессор не разблокирует их сигналом INTA, возникающим при подаче команды EOI (END OF INTERRUPT). Эта команда реализуется засылкой специального кода (20h) в порты 20h ведущего и A0h ведомого контроллера. Сигналы, поступившие на неразблокированные линии контроллера некоторое время могут ожидать обслуживания на входе, но до процессора не дойдут.
Приоритеты устройств стандартно расположены в порядке «сверху вниз» на рис1. (IRQ0 имеет наивысший приоритет, IRQ7 – наинизший, приоритеты IRQ8 – IRQ15 расположены между приоритетами IRQ1 и IRQ3. Однако контроллер прерываний – программируемое устройство, и все его регистры (маски, приоритеты, номера векторов прерываний от внешних устройств) могут быть изменены при загрузке операционной системы, и даже во время работы.
В третьих, сигнал прерывания на выходе из контроллера возбуждает линию INT, и одновременно формирует на другой линии номер вектора прерывания. Этот номер формируется из номера IRQ и так называемого «базового вектора», который равен 8 для ведущей и 70h для ведомой микросхемы (в реальном режиме; в защищённом режиме WINDOWS перепрограммирует эти номера.) По номеру прерывания CPU определяет вектор прерывания из таблицы векторов прерываний (ТВП, или IDT – Interrupt Data Table), расположенной в первом килобайте основной памяти (реальный режим). Структура ТВП следующая:
Табл. 1
| IP255 | CS255 |
| . . . | |
| IP1 | CS1 |
| IP0 | CS0 |
Каждая строка таблицы содержит два слова (4 байта) – новое содержимое регистров IP и CS при входе в программу – обработчик, то есть её косвенный адрес. Эти значения автоматически загружаются в названные регистры при поступлении запроса на обработку прерывания. Старое содержимое регистров FLAGS, CS и IP сохраняется в стеке. В новом регистре FLAGS аппаратно обнуляется бит IF, что вызывает запрет на поступление прерываний от любых внешних устройств. Программа-обработчик прерывания (ПОП), допускающая обработку вложенных прерываний (т.е. если её можно прервать для выполнения обработки более приоритетного события) должна сама установить флаг IF в 1 в той точке своего исполнения, начиная с которой её можно прерывать.
В конце своего исполнения обработчик события должен разблокировать контроллер для данного и более низких приоритетов, послав в него сигнал EOI, и вернуть управление в прерванную программу командой IRET, восстанавливающей из стека регистры FLAGS, CS и IP.
Для защищённого режима принцип обработки остаётся тем же самым, но существуют следующие отличия:
1. ТВП может быть расположена в любом месте ОП. Указателем на неё является регистр IDTR;
2. Строками ТВП являются 8-байтные записи, содержащие более подробную информацию (вместо нового IP там задается EIP, а также ряд индикаторов);
3. Сами события делятся на сбои (ошибки), ловушки и аварии;
4. В некоторых случаях в вершине стека сохраняется код ошибки.
5. При входе в обработчик учитываются так называемые «уровни привилегий» прерванной задачи и обработчика события.
Детально работу в расширенном режиме мы не рассматриваем.
Пользовательская или системная программа может создать свой собственный обработчик события, или дополнить системный обработчик своими функциями. Для этого необходимо переопределить в ТВП адрес входа в обработчик на свою программу, и при необходимости вызвать из неё системный обработчик.
§
Виртуальный диск, или образ диска (image) — файл, содержащий в себе полную копию содержания и структуры файловой системы и данных, находящихся на диске — таком как компакт-диск, дискета или раздел жёсткого диска. Термин описывает любой такой файл, причём не важно, был ли образ получен с реального физического диска или нет. Таким образом, образ диска содержит всю информацию, необходимую для дублирования структуры, расположения и содержания данных какого-либо устройства хранения информации. Обычно образ диска просто повторяет набор секторов носителя, игнорируя файловую систему, построенную на нём.
http://www.bestfree.ru/soft/sys/virtualcd.php
Виртуа́льный при́нтер — это компьютерная программа, интерфейс которой аналогичен обычному драйверу принтера, но реальным принтером она не управляет. Когда пользователь запускает печать документа на таком принтере, программа определённым образом обрабатывает полученный поток графических команд, иногда позволяя вносить в него изменения, а результат обработки обычно записывается в файл.
Обычно виртуальный принтер используется для:
· преобразования документов в формат PDF, Djvu или PostScript;
· преобразования документов в графические файлы, например, в JPEG или TIFF, для представления в универсальном, платформо-независимом формате;
· отправки документов на сервер факсимильных сообщений.
Виртуальный принтер может использоваться для проверки того, как именно будет выглядеть документ при печати.
Википедия.
Виртуальная память
В современных вычислительных системах пользовательская программа может получить в своё распоряжение весьма большой объём оперативной памяти, значительно превышающий имеющийся объём реальной (физической) оперативной памяти. Достигается это за счет организации так называемой виртуальной, т.е. кажущейся, воображаемой памяти, в которую наряду с ОП включается часть внешней (обычно дисковой) памяти. При этом пользователь работает в виртуальном адресном пространстве как в обычной памяти, а все заботы о ее имитировании берет на себя оборудование и операционная система.
Реализация виртуальной памяти (ВП) достигается за счёт двух программно-аппаратных механизмов:
· Сегментно-страничной организации памяти (ССОП);
· Механизма динамического преобразования адресов (ДПА).
Табл.1. Структура физического адреса.
| Индекс сегмента | Индекс страницы | Смещение в сегменте |
Любой формируемый в программе адрес рассматривается как состоящий из трех частей: индекса сегмента, индекса страницы и смещения в сегменте (табл.1). Операционная система ведет для каждой выполняемой в данный момент задачи каталоги сегментов и страниц. Сегмент – это довольно большой блок памяти, страница – это составная часть сегмента меньшего объёма. Часть страниц сегмента присутствует в оперативной памяти, а часть может храниться во внешней. В каждый момент времени выполняющаяся задача имеет так называемое рабочее множество страниц, которое ей используется. Если оно полностью помещается в ОП, то реализация ВП осуществляется только с помощью ДПА. Для этого сначала осуществляется поиск описателя сегмента в таблице сегментов, на который указывает один из системных регистров (локальная или глобальная таблица сегментов, таблица векторов прерываний – регистры LDTR, GDTR или IDTR). В описателе сегмента присутствует адрес таблицы страниц данного сегмента. В этой таблице по индексу страницы находится соответствующая строка, содержащая физический адрес данной страницы в оперативной памяти. К этому адресу добавляется смещение, и получается физический адрес команды или операнда.
Такой процесс вычисления адреса требует больших дополнительных затрат времени. Поэтому процессор, вычислив физический адрес виртуальной страницы помещает его в один из теневых регистров, и при всех следующих обращениях внутри данной страницы берёт их оттуда. Теневые регистры программно недоступны и используются внутри CPU.
При отсутствии нужной страницы в ОП возникает программное прерывание типа «Ошибка доступа». Номер отсутствующей страницы фиксируется, и ОС подкачивает её из внешней памяти в оперативную. Часто при этом требуется освободить место в ОП, для чего нужно перенести какую-либо страницу из ОП на внешний носитель. Чтобы при этом возникало меньше передач информации из ОП в ВП и обратно, ОС ведёт мониторинг страниц, для чего фиксируются обращения к страницам по чтению и по записи аппаратно и программно. Аппаратно при обращении к странице устанавливаются биты чтения/записи (R/W), расположенные либо в селекторе блока памяти, либо в некоторых архитектурах как часть блока оперативной памяти. ОС систематически проверяет эти отметки и обнуляет их, ведя свои собственные подсчёты статистики обращений. При выборе страницы для замещения предпочтение отдаётся неизменявшимся страницам (так как их не надо сохранять во внешней памяти), и наиболее редко используемым.
Виртуальная память позволяет также решить вопрос о защите информации одной задачи от другой, так как таблицы сегментов и страниц различных задач всегда будут ссылаться на разные блоки оперативной памяти.






