Как называется контроллер, который управляет обменом данными между внешним устройством и памятью компьютера

Обновлено: 21.11.2024

Центральный процессор (ЦП) направляет компьютер на различные этапы решения проблемы.

Связанные термины:

Скачать в формате PDF

Об этой странице

Адаптация и оценка симплексного алгоритма для архитектуры потока данных

Урош Чибей, Юрий Михелич, Достижения в области компьютеров, 2017

2.2 Вид программиста

Чтобы программист мог разработать законченную программу, необходимо написать три компонента.

обычно написанный на языке программирования C, код ЦП управляет выполнением и использует DFE в качестве блока обработки, вызывая подходящие функции, предоставляемые компилятором Maxeler.

Каждое ядро ​​реализует определенную функциональность и примерно соответствует абстракции функции. Он имеет набор входных потоков и набор выходных потоков.

Менеджер — это компонент, который соединяет потоки данных от ЦП к ядрам-получателям и наоборот. Он устанавливает соединения между ядрами и LMem, а также связывает ядра между собой. Диспетчер также создает интерфейсы, с помощью которых код ЦП взаимодействует с DFE.

Диспетчер и ядра написаны на предметно-ориентированном языке MaxJ. Этот язык представляет собой надмножество языка программирования Java с несколькими расширениями, более подходящими для упрощения создания программ потока данных.

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

Схема этой архитектуры представлена ​​на рис. 1.

Рис. 1 . Схематический обзор компонентов системы потока данных. серая рамка обозначает микросхему FPGA. Взгляд программиста на архитектуру показан в виде файлов, которые необходимо реализовать для каждой программы, файл .maxj написан на языке MaxJ, тогда как поток управления обычно написан на C или C++, но поддерживаются и другие языки. .

КОМПЬЮТЕРНЫЙ ДИЗАЙН

Доминик Росато, Дональд Росато, Дизайн изделий из пластмассы, 2003 г.

Центральный процессор

Центральный процессор компьютера (ЦП) — это часть компьютера, которая извлекает и выполняет инструкции. Процессор, по сути, является мозгом CAD-системы. Он состоит из арифметико-логического блока (АЛУ), блока управления и различных регистров. Центральный процессор часто называют просто процессором. АЛУ выполняет арифметические операции, логические операции и связанные с ними операции в соответствии с инструкциями программы.

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

Оборудование

Центральный процессор управляет всем. Он извлекает программные инструкции по своей шине «на стороне инструкций» (IS), считывает данные по своей шине «на стороне данных» (DS), выполняет инструкции и записывает результаты на шину DS. ЦП может работать на частоте SYSCLK до 80 МГц, что означает, что он может выполнять одну инструкцию каждые 12,5 нс. ЦП способен умножать 32-разрядное целое число на 16-разрядное целое число за один цикл или 32-разрядное целое число на 32-разрядное целое число за два цикла. Блока с плавающей запятой (FPU) нет, поэтому вычисления с плавающей запятой выполняются программными алгоритмами, что делает операции с плавающей запятой намного медленнее, чем вычисления с целыми числами.

ЦП представляет собой ядро ​​микропроцессора MIPS32® M4K®, лицензированное компанией Imagination Technologies. ЦП работает при напряжении 1,8 В (обеспечиваемом стабилизатором напряжения, встроенным в PIC32, поскольку он используется на плате NU32). Контроллер прерываний, обсуждаемый ниже, может уведомлять ЦП о внешних событиях.

Встроенные процессоры

Внутренние шины ЦП

Шины ЦП — это механизмы, соединяющие другие компоненты ЦП: АЛУ, ЦП и регистры (см. рис. 4-22). Шины — это просто провода, которые соединяют между собой различные другие компоненты ЦП.Провод каждой шины обычно делится на логические функции, такие как данные (которые переносят данные в двух направлениях между регистрами и АЛУ), адрес (который переносит расположение регистров, содержащих данные для передачи), управление (переносит управление информацию о сигналах, такую ​​как временные и управляющие сигналы, между регистрами, ALU и CU) и т. д.

Рисунок 4-22. Ядро и шины PowerPC. [15]

В ядре PowerPC есть управляющая шина, по которой управляющие сигналы передаются между АЛУ, CU и регистрами. То, что PowerPC называет «исходными шинами», — это шины данных, передающие данные между регистрами и АЛУ. Существует дополнительная шина, называемая обратной записью, которая предназначена для обратной записи данных, полученных с исходной шины, непосредственно обратно из модуля загрузки/сохранения в фиксированные регистры или регистры с плавающей запятой.

Примечание. Во избежание дублирования автобусы будут более подробно обсуждаться в главе 7 .

Микрокомпьютерная аппаратура и управление

Чтение/запись памяти

ЦП всегда контролирует направление потока данных в базе данных, поскольку, хотя он и является двунаправленным, данные могут перемещаться только в одном направлении за раз. ЦП выдает специальный сигнал управления чтением/записью (R/W) (рис. 3.2), который активирует схемы в памяти, определяющие направление потока данных. Например, когда линия чтения/записи (R/W) имеет высокий уровень, ЦП передает информацию из ячейки памяти в ЦП.

Временная диаграмма операции чтения из памяти показана на рис. 3.3.

Рис. 3.3. Время чтения/записи.

Предположим, что компьютеру была дана инструкция прочитать данные из ячейки памяти номер 10. Чтобы выполнить операцию чтения, ЦП переводит линию чтения/записи в высокий уровень, чтобы активировать схему памяти при подготовке к операции чтения. Практически одновременно на АБ размещается адрес для местоположения 10 («адрес действителен» на рис. 3.3). В память АБ отправляется число 10 в 16-битном двоичном коде (0000 0000 0000 1010). Двоичные электрические сигналы, соответствующие 10, управляют определенными цепями в памяти, чтобы заставить двоичные данные в этом месте быть помещенными в БД. ЦП имеет внутренний регистр, который активируется во время этой операции чтения для приема и сохранения данных. Затем данные обрабатываются ЦП во время следующего цикла работы в соответствии с соответствующей инструкцией.

Аналогичная операция выполняется всякий раз, когда ЦП должен отправить данные из одного из своих внутренних регистров в память, что является операцией «записи». В этом случае линия R/W будет установлена ​​на логический уровень, противоположный операции чтения (т.е. низкий в данном примере). Во время операции записи отправляемые данные помещаются в БД одновременно с адресом назначения в АВ. Эта операция перенесет данные из источника ЦП в место назначения, которым может быть место в памяти в ОЗУ или внешнее устройство (как будет объяснено позже).

Компьютерные системы

1.3.1 Работа системы

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

Декодер адреса управляет доступом к памяти и регистрам ввода-вывода для конкретного проекта. Как правило, программируемое логическое устройство (PLD) используется для выделения каждой микросхеме памяти определенного диапазона адресов. Код входного адреса в определенном диапазоне генерирует выходной сигнал выбора микросхемы, который включает это устройство. Регистры портов ввода-вывода, которые настроены для обработки передачи данных в систему и из нее, также получают определенные адреса с помощью того же механизма, и ЦП обращается к ним так же, как к ячейкам памяти. Назначение адресов конкретным периферийным устройствам называется картой памяти (рис. 1.6 б).

Процессор

ХАРВИ М. ДЕЙТЕЛЬ, БАРБАРА ДЕЙТЕЛЬ, Введение в обработку информации, 1986 г.

Сводка издателя

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

Управление энергопотреблением

5.15.2.4.2.1 Блок процессора

Это центральный процессор (ЦП) ПЛК, то есть микропроцессор по конструкции и функциональным возможностям. Основная функция этого блока состоит в том, чтобы воспринимать входные значения через свои модули ввода/вывода, генерировать управляющие сигналы в соответствии с входными сигналами и предопределенной инструкцией (хранящейся в блоке памяти в виде программы). Затем обработанное решение передается на устройства вывода, подключенные к модулям ввода/вывода, для обновления выходных переменных [51]. Типичный цикл процесса ЦП показан на рис. 40, демонстрирующем основную идею функции процесса. Время одного цикла выполнения программы называется «время сканирования». Типичные значения времени сканирования могут составлять всего 1 м/с. Входные и выходные значения обычно хранятся в единице памяти за цикл или несколько его кратных [53] .

Рис. 40 . Рабочий цикл центрального процессора (ЦП) программируемого логического контроллера (ПЛК).

Беспроводная МЭМС для носимых сенсорных сетей

5.2.2.2 Блок обработки

Рабочие процедуры промышленной системы управления

(1) адресные пространства PCI

ЦП и все устройства PCI должны иметь доступ к общей памяти. Драйверы устройств управляют устройствами PCI и передают информацию между ними, используя эту память. Как правило, эта разделяемая память содержит регистры управления и состояния устройства, которые используются для управления устройством и чтения его состояния. Например, драйвер устройства PCI SCSI может прочитать свой регистр состояния, чтобы узнать, готово ли устройство к записи блока информации, или он может записать в управляющий регистр, чтобы запустить устройство после его включения.

Системная память ЦП может использоваться для этой общей памяти, но в этом случае каждый раз, когда устройство PCI обращается к памяти, ЦП должен будет останавливаться, ожидая завершения. Доступ к памяти обычно ограничивается одним системным компонентом за раз. Это замедлит работу системы. Это не позволяет периферийным устройствам системы бесконтрольно обращаться к основной памяти. Это было бы очень опасно; неисправное устройство может сделать систему очень нестабильной.

Периферийные устройства имеют собственные области памяти. ЦП может получить доступ к этим пространствам, но доступ устройств к системной памяти очень строго контролируется с помощью каналов DMA (прямой доступ к памяти). Устройства ISA имеют доступ к двум адресным пространствам; ISA I/O (ввод/вывод) и память ISA. В большинстве современных микропроцессоров PCI должен состоять из трех элементов: ввода-вывода PCI, памяти PCI и пространства конфигурации PCI.

Некоторые микропроцессоры, например процессор Alpha AXP, не имеют естественного доступа к адресным пространствам, отличным от системного адресного пространства. Этот процессор использует наборы микросхем поддержки для доступа к другим адресным пространствам, таким как пространство конфигурации PCI, с помощью схемы разреженного отображения адресов, которая крадет часть большого виртуального адресного пространства и сопоставляет его с адресными пространствами PCI.

Одной из важных задач операционной системы является управление различными устройствами ввода-вывода, включая мышь, клавиатуру, сенсорную панель, дисководы, адаптеры дисплея, устройства USB, экран с растровым отображением, светодиод, аналого-цифровой преобразователь. , переключатель включения/выключения, сетевые подключения, аудиовходы/выходы, принтеры и т. д.

Система ввода-вывода должна принимать запрос ввода-вывода приложения и отправлять его на физическое устройство, а затем принимать любой ответ, возвращаемый устройством, и отправлять его приложению. Устройства ввода-вывода можно разделить на две категории —

Блочные устройства. Блочное устройство — это устройство, с которым драйвер взаимодействует, отправляя целые блоки данных. Например, жесткие диски, USB-камеры, Disk-On-Key и т. д.

Символьные устройства. Символьное устройство — это устройство, с которым драйвер взаимодействует, отправляя и получая отдельные символы (байты, октеты). Например, последовательные порты, параллельные порты, звуковые карты и т. д.

Контроллеры устройств

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

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

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

Любое устройство, подключенное к компьютеру, подключается через вилку и розетку, а розетка подключается к контроллеру устройства. Ниже приведена модель подключения ЦП, памяти, контроллеров и устройств ввода-вывода, в которой ЦП и контроллеры устройств используют для связи общую шину.

Синхронный и асинхронный ввод-вывод

Синхронный ввод-вывод — в этой схеме выполнение ЦП ожидает, пока выполняется ввод-вывод

Асинхронный ввод-вывод — ввод-вывод происходит одновременно с выполнением ЦП

Связь с устройствами ввода/вывода

ЦП должен иметь способ передачи информации на устройство ввода-вывода и обратно. Доступны три подхода для связи с ЦП и устройством.

  • Специальные инструкции ввода/вывода
  • Ввод-вывод с отображением памяти
  • Прямой доступ к памяти (DMA)

Специальные инструкции ввода-вывода

При этом используются инструкции ЦП, специально предназначенные для управления устройствами ввода-вывода. Эти инструкции обычно позволяют отправлять данные на устройство ввода-вывода или считывать их с устройства ввода-вывода.

Ввод-вывод с отображением памяти

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

При использовании операций ввода-вывода с отображением памяти ОС выделяет буфер в памяти и сообщает устройству ввода-вывода использовать этот буфер для отправки данных в ЦП. Устройство ввода-вывода работает асинхронно с ЦП, прерывает ЦП по завершении.

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

Прямой доступ к памяти (DMA)

Медленные устройства, такие как клавиатуры, будут генерировать прерывание для основного ЦП после передачи каждого байта. Если бы быстрое устройство, такое как диск, генерировало прерывание для каждого байта, операционная система тратила бы большую часть своего времени на обработку этих прерываний. Таким образом, типичный компьютер использует аппаратное обеспечение прямого доступа к памяти (DMA), чтобы уменьшить эти накладные расходы.

Прямой доступ к памяти (DMA) означает, что ЦП предоставляет модулю ввода-вывода полномочия на чтение или запись в память без участия. Модуль DMA сам управляет обменом данными между основной памятью и устройством ввода/вывода. ЦП задействован только в начале и конце передачи и прерывается только после передачи всего блока.

Для прямого доступа к памяти требуется специальное оборудование, называемое контроллером DMA (DMAC), которое управляет передачей данных и разрешает доступ к системной шине. Контроллеры запрограммированы указателями источника и назначения (где читать/записывать данные), счетчиками для отслеживания количества переданных байтов и настройками, которые включают типы ввода-вывода и памяти, прерывания и состояния для циклов ЦП.

Операционная система использует оборудование прямого доступа к памяти следующим образом:

Опрос и прерывания ввода/вывода

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

Опрос ввода-вывода

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

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

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

Прерывает ввод-вывод

Альтернативной схемой работы с вводом-выводом является метод, управляемый прерываниями. Прерывание — это сигнал микропроцессору от устройства, требующего внимания.

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

Подробнее об основных функциях, отличительных чертах, сильных и слабых сторонах платформ блокчейна, которые получают максимальную отдачу .

Эксперты высоко оценивают недавно предложенное Комиссией по ценным бумагам и биржам США правило раскрытия информации о климатических рисках, которое требует от компаний выявлять климатические риски .

Недавнее мероприятие Accenture Technology Vision подчеркнуло трансформационные возможности виртуальных миров, а также указало на .

Одного обвиняемого обвиняют в использовании печально известного вредоносного ПО Trisis или Triton против компаний энергетического сектора, включая домен .

Microsoft хочет сделать Defender единственным продуктом для защиты конечных точек, который нужен компаниям, но перевешивают ли преимущества недостатки? Прочтите .

В этом выпуске подкаста Risk & Repeat рассматриваются две громкие утечки, совершенные новой группой угроз Lapsus$, а также действия Microsoft и Okta.

Новейшее аппаратное обеспечение Cisco и привязка Intersight к общедоступному облаку Kubernetes расширяют возможности гибридных облачных продуктов для клиентов. Но .

Чтобы преодолеть разрыв между командами NetOps и SecOps, сетевые специалисты должны знать основы безопасности, включая различные типы .

Какова реальность новых сетевых технологий? Здесь эксперты определяют риски — реальные или предполагаемые — и преимущества, которые они несут .

Удвоив свою инициативу RPA, ServiceNow представила версию своей платформы Now для Сан-Диего, которая содержит центр RPA и a.

Nvidia представляет новую архитектуру GPU, суперкомпьютеры и чипы, которые вместе помогут разработчикам в создании аппаратного обеспечения.

Intel оптимистично настроена, что ее дорожная карта процессоров может вернуть компанию на первое место, но компания сталкивается со сложной перспективой .

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

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

Хранилище данных Apache Pinot OLAP с открытым исходным кодом стало проще в развертывании, управлении и эксплуатации в облаке благодаря улучшенному .

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

Techopedia рассказывает о шине данных

Шина данных может передавать данные в память компьютера и из нее, а также в центральный процессор (ЦП) или из него, который выступает в качестве «двигателя» устройства. Шина данных также может передавать информацию между двумя компьютерами.

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

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

Однако в компьютере все должно двигаться с одинаковой скоростью, и для этой цели служат контроллеры шины. Раньше шины данных первого поколения не имели контроллера и состояли из простых жгутов проводов, которые соединяли память компьютера с различными периферийными устройствами.

Шина данных может работать как параллельная или последовательная шина в зависимости от того, как передаются данные. Параллельная шина используется в более сложных соединениях, которые должны передавать более одного бита за раз.Типичные примеры включают соединения Peripheral Component Interconnect (PCI) Express и Small Computer System Interface (SCSI). Данные передаются по многим проводам одновременно.

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

Каждый компьютер также содержит как внутренние (или локальные) шины данных, так и внешние шины данных. Локальная шина данных соединяет все компоненты материнской платы, а внешняя шина соединяет материнскую плату со всеми остальными периферийными устройствами.

Использование термина "шина данных" в ИТ несколько похоже на использование термина "электрическая шина" в электронике. Электронная шина предоставляет средства для передачи тока примерно так же, как шина данных обеспечивает способ передачи данных.

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

Несмотря на то, что были приложены все усилия для соблюдения правил стиля цитирования, могут быть некоторые расхождения. Если у вас есть какие-либо вопросы, обратитесь к соответствующему руководству по стилю или другим источникам.

Наши редакторы рассмотрят то, что вы отправили, и решат, нужно ли пересматривать статью.

операционная система (ОС), программа, которая управляет ресурсами компьютера, особенно распределением этих ресурсов среди других программ. Типичные ресурсы включают центральный процессор (ЦП), память компьютера, хранилище файлов, устройства ввода-вывода (I/O) и сетевые соединения. Задачи управления включают планирование использования ресурсов, чтобы избежать конфликтов и помех между программами. В отличие от большинства программ, которые выполняют задачу и завершают работу, операционная система работает бесконечно и завершает работу только при выключении компьютера.

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

Как Интернет перемещает информацию между компьютерами? Какая операционная система сделана Microsoft? Войдите в этот тест и проверьте свои знания о компьютерах и операционных системах.

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

Компьютеры приобрели более мощные операционные системы в 1960-х годах с появлением разделения времени, которое требовало системы для управления несколькими пользователями, совместно использующими процессорное время и терминалы. Двумя ранними системами разделения времени были CTSS (совместимая система разделения времени), разработанная в Массачусетском технологическом институте, и базовая система Дартмутского колледжа, разработанная в Дартмутском колледже. Другие многопрограммные системы включали Atlas в Манчестерском университете, Англия, и IBM OS/360, вероятно, самый сложный программный пакет 1960-х годов. После 1972 года система Multics для компьютера General Electric Co. GE 645 (а позже и для компьютеров Honeywell Inc.) стала самой сложной системой с большинством возможностей мультипрограммирования и разделения времени, которые позже стали стандартными.

У мини-компьютеров 1970-х годов был ограниченный объем памяти и требовались операционные системы меньшего размера. Самой важной операционной системой того периода была UNIX, разработанная AT&T для больших миникомпьютеров как более простая альтернатива Multics. Он стал широко использоваться в 1980-х годах, отчасти потому, что он был бесплатным для университетов, а отчасти потому, что он был разработан с набором инструментов, которые были мощными в руках опытных программистов. Совсем недавно Linux, версия UNIX с открытым исходным кодом, разработанная частично группой под руководством финского студента информатики Линуса Торвальдса и частично группой под руководством американского программиста Ричарда Столлмана, стала популярной как на персональных компьютерах, так и на большие компьютеры.

Помимо таких систем общего назначения, на небольших компьютерах работают специальные операционные системы, управляющие сборочными линиями, самолетами и даже бытовой техникой. Это системы реального времени, предназначенные для обеспечения быстрого реагирования на датчики и использования их входных данных для управления механизмами. Операционные системы также были разработаны для мобильных устройств, таких как смартфоны и планшеты. iOS от Apple Inc., работающая на iPhone и iPad, и Android от Google Inc. — две известные мобильные операционные системы.

С точки зрения пользователя или прикладной программы операционная система предоставляет услуги. Некоторые из них представляют собой простые пользовательские команды, такие как «dir» — показать файлы на диске, а другие — низкоуровневые «системные вызовы», которые графическая программа может использовать для отображения изображения. В любом случае операционная система обеспечивает соответствующий доступ к своим объектам, таблицам расположения дисков в одном случае и подпрограммам для передачи данных на экран в другом. Некоторые из его подпрограмм, управляющие процессором и памятью, обычно доступны только другим частям операционной системы.

Современные операционные системы для персональных компьютеров обычно имеют графический интерфейс пользователя (GUI). Графический пользовательский интерфейс может быть неотъемлемой частью системы, как в более старых версиях Mac OS от Apple и ОС Windows от Microsoft Corporation; в других случаях это набор программ, которые зависят от базовой системы, как в системе X Window для UNIX и Mac OS X от Apple.

Операционные системы также предоставляют сетевые службы и возможности обмена файлами — даже возможность совместного использования ресурсов между системами разных типов, такими как Windows и UNIX. Такое совместное использование стало возможным благодаря внедрению сетевых протоколов (правил связи), таких как TCP/IP в Интернете.

Читайте также:

Шаг Описание
1 Драйвер устройства получает указание передать данные диска по адресу буфера X.
2 Драйвер устройства затем указать контроллеру диска передать данные в буфер.
3 Контроллер диска начинает передачу DMA.
4 Контроллер диска отправляет каждый байт контроллеру DMA.
5 Контроллер DMA передает байты в буфер, увеличивает память адрес, уменьшает счетчик C до тех пор, пока C не станет равным нулю.
6 Когда C становится равным нулю, DMA прерывает ЦП, чтобы сигнализировать о завершении передачи.