Общие сведения об архитектуре компьютера.
В простейшем случае процессор, память и многочисленные внешние устройства связаны большим количеством электрических соединений – линий, которые в совокупности принято называть локальной магистралью компьютера. Внутри локальной магистрали линии, служащие для передачи сходных сигналов и предназначенные для выполнения сходных функций, принято группировать в шины. При этом понятие шины включает в себя не только набор проводников, но и набор жестко заданных протоколов, определяющий перечень сообщений, который может быть передан с помощью электрических сигналов по этим проводникам.
В современных компьютерах выделяют как минимум три шины: шину данных, состоящую из линий данных и служащую для передачи информации между процессором и памятью, процессором и устройствами ввода-вывода, памятью и внешними устройствами; адресную шину, состоящую из линий адреса и служащую для задания адреса ячейки памяти или указания устройства ввода-вывода, участвующих в обмене информацией; шину управления, состоящую из линий управления локальной магистралью и линий ее состояния, определяющих поведение локальной магистрали. В некоторых архитектурных решениях линии состояния выносятся из этой шины в отдельную шину состояния. Количество линий, входящих в состав шины, принято называть разрядностью (шириной) этой шины. Ширина адресной шины, например, определяет максимальный размер оперативной памяти, которая может быть установлена в вычислительной системе. Ширина шины данных определяет максимальный объем информации, которая за один раз может быть получена или передана по этой шине. Операции обмена информацией осуществляются при одновременном участии всех шин. Рассмотрим, к примеру, действия, которые должны быть выполнены для передачи информации из процессора в память. В простейшем случае необходимо выполнить три действия. На адресной шине процессор должен выставить сигналы, соответствующие адресу ячейки памяти, в которую будет осуществляться передача информации. На шину данных процессор должен выставить сигналы, соответствующие информации, которая должна быть записана в память. После выполнения действий 1 и 2 на шину управления выставляются сигналы, соответствующие операции записи и работе с памятью, что приведет к занесению необходимой информации по нужному адресу.
Память легко можно представить себе в виде последовательности пронумерованных адресами ячеек, локализованных внутри одной микросхемы или набора микросхем, к устройствам ввода-вывода подобный подход неприменим. Внешние устройства разнесены пространственно и могут подключаться к локальной магистрали в одной точке или множестве точек, получивших название портов ввода-вывода. Тем не менее, точно так же, как ячейки памяти взаимно однозначно отображались в адресное пространство памяти, порты ввода-вывода можно взаимно однозначно отобразить в другое адресное пространство – адресное пространство ввода-вывода. При этом каждый порт ввода-вывода получает свой номер или адрес в этом пространстве. В некоторых случаях, когда адресное пространство памяти (размер которого определяется шириной адресной шины) задействовано не полностью (остались адреса, которым не соответствуют физические ячейки памяти) и протоколы работы с внешним устройством совместимы с протоколами работы с памятью, часть портов ввода-вывода может быть отображена непосредственно в адресное пространство, правда, тогда эти порты уже не принято называть портами. Надо отметить, что при отображении портов в адресное пространство памяти для организации доступа к ним в полной мере могут быть задействованы существующие механизмы защиты памяти без организации специальных защитных устройств. В ситуации прямого отображения портов ввода-вывода в адресное пространство памяти действия, необходимые для записи информации и управляющих команд в эти порты или для чтения данных из них и их состояний, ничем не отличаются от действий, производимых для передачи информации между оперативной памятью и процессором, и для их выполнения применяются те же самые команды. Если же порт отображен в адресное пространство ввода-вывода, то процесс обмена информацией инициируется специальными командами ввода-вывода и включает в себя несколько другие действия. Например, для передачи данных в порт необходимо выполнить следующее.
На адресной шине процессор должен выставить сигналы, соответствующие адресу порта, в который будет осуществляться передача информации, в адресном пространстве ввода-вывода. На шину данных процессор должен выставить сигналы, соответствующие информации, которая должна быть передана в порт. После выполнения действий 1 и 2 на шину управления выставляются сигналы, соответствующие операции записи и работе с устройствами ввода-вывода (переключение адресных пространств!), что приведет к передаче необходимой информации в нужный порт. Существенное отличие памяти от устройств ввода-вывода заключается в том, что занесение информации в память является окончанием операции записи, в то время как занесение информации в порт зачастую представляет собой инициализацию реального совершения операции ввода-вывода. Что именно должны делать устройства, приняв информацию через свой порт, и каким именно образом они должны поставлять информацию для чтения из порта, определяется электронными схемами устройств, получившими название контроллеров. Контроллер может непосредственно управлять отдельным устройством (например, контроллер диска), а может управлять несколькими устройствами, связываясь с их контроллерами посредством специальных шин ввода-вывода (шина IDE, шина SCSI и т. д.). Современные вычислительные системы могут иметь разнообразную архитектуру, множество шин и магистралей, мосты для перехода информации от одной шины к другой и т. п. Для нас сейчас важными являются только следующие моменты. Устройства ввода-вывода подключаются к системе через порты. Могут существовать два адресных пространства: пространство памяти и пространство ввода-вывода. Порты, как правило, отображаются в адресное пространство ввода-вывода и иногда – непосредственно в адресное пространство памяти. Использование того или иного адресного пространства определяется типом команды, выполняемой процессором, или типом ее операндов. Физическим управлением устройством ввода-вывода, передачей информации через порт и выставлением некоторых сигналов на магистрали занимается контроллер устройства. Именно единообразие подключения внешних устройств к вычислительной системе является одной из составляющих идеологии, позволяющих добавлять новые устройства без перепроектирования всей системы.
Надо сказать, что реализация похожих механизмов обработки внешних прерываний, исключительных ситуаций и программных прерываний лежит целиком на совести разработчиков процессоров. Существуют вычислительные системы, где все три ситуации обрабатываются по-разному.
- Связанный список. Хранение файла в виде связанного списка дисковых блоков.
- Индексные узлы.
- Управление свободным и занятым дисковым пространством.
- Структура файловой системы на диске. Примерная структура файловой системы на диске.
- Связывание файлов. Структура файловой системы с возможностью связывания файла с новым именем.
- Кооперация процессов при работе с файлами.
- Примеры разрешения коллизий и тупиковых ситуаций.
- Hадежность файловой системы.
- Целостность файловой системы.
- Порядок выполнения операций.
- Журнализация.
- Производительность файловой системы. Кэширование.
- Современные архитектуры файловых систем.
- Дополнительные возможности современных файловых систем (на примере ntfs ос Windows xp).
- Система управления вводом-выводом
- Физические принципы организации ввода-вывода.
- Общие сведения об архитектуре компьютера.
- Прямой доступ к памяти (Direct Memory Access – dma).
- Структура системы ввода-вывода. Логические принципы организации ввода-вывода.
- Структура подсистемы ввода-вывода. Драйверы.
- Функции подсистемы ввода-вывода.
- Компоненты подсистемы ввода-вывода (структурная схема).
- Диспетчер ввода-вывода.
- Типовая обработка ввода-вывода.
- Установка драйвера.
- Диспетчер электропитания.
- Сетевые и распределенные операционные системы.
- Взаимодействие удаленных процессов как основа работы вычислительных сетей.
- Основные вопросы логической организации передачи информации между удаленными процессами.
- Понятие протокола.
- Многоуровневая модель построения сетевых вычислительных систем. Семиуровневая эталонная модель osi/iso.
- Проблемы адресации в сети. Одноуровневые адреса. Двухуровневые адреса.
- Удаленная адресация и разрешение адресов. Схема разрешения имен с использованием dns-серверов.
- Основные понятия информационной безопасности. Угрозы безопасности
- Формализация подхода к обеспечению информационной безопасности.
- Криптография как одна из базовых технологий безопасности ос.
- Шифрование. Шифрование открытым ключом.
- Шифрование с использованием алгоритма rsa.
- Защитные механизмы ос. Идентификация и аутентификация
- Пароли, уязвимость паролей.
- Шифрование пароля.
- Авторизация. Разграничение доступа к объектам ос.
- Аудит системы защиты.
- Анализ некоторых популярных ос с точки зрения их защищенности: ms-dos; Windows nt/2000/xp; Windows Vista; Windows 7.
- Брандмауэр ос ms Windows.