С какой информацией работает компьютер

Обновлено: 01.07.2024

- Что такое информация? (Это сведения, которые помогают нам ориентироваться в окружающем мире).

- Как человек воспринимает информацию? (С помощью органов чувств)

- Какие вы знаете органы чувств? (зрение - глаза, слух- ухо, обоняние- нос, осязание – кожа, вкус – язык)

Б) Практика – проверка. (Учащиеся отгадывают предметы с помощью органов чувств)

- Какие вы знаете виды информации (Числовая, текстовая, графическая, звуковая, видеоинформация)

Практика – проверка. (На столах лежат карточки, которые содержат определенный вид информации)

- Покажите карточку, которая содержит текстовую информацию, числовую информацию, графическую информацию).

- Что можно делать с информацией? (Принимать, обрабатывать, хранить, выдавать).

- Что, значит, уметь работать с информацией? (Это значит уметь принимать, обрабатывать, хранить, выдавать эту информацию).

3. Новый материал + Поэтапное закрепление

А) Проблемный вопрос - С какой информацией компьютер может работать?

Б) Давайте договоримся, что уметь работать с информацией – это значит уметь принимать, обрабатывать, хранить и выдавать эту информацию. А теперь посмотрим, с какой информацией компьютер может это делать, а с какой – нет.

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

- С какой информацией не работает компьютер? (Которую нельзя превращать с сигналы. Которую мы воспринимаем с помощью обоняния, вкуса и осязания).

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

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

В) Великолепная пятерка мультимедиа

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

Задание №1. Работаем с числовой информацией.

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

Задание №2. Работаем с текстовой информацией.

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

Задание №3. Работаем с графической информацией.

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

Задание №4. Психологическая физкультминутка под музыку.

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

Задание №5. Просмотр небольшого видеоролика.

Вывод: Итак, современные компьютеры могут работать с пятью видами информации. Какими? (Числовая, Текстовая, Графическая, Звуковая, Видеоинформация).

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

4. Итог урока

– Какую информацию не может обрабатывать компьютер?

Какую информацию обрабатывает компьютер?

– Как называют компьютер, если он работает с числовой, текстовой, графической, звуковой и видеоинформацией?

5. Домашнее задание

Провести исследование. Предмет исследования – компьютер.

Объект исследования – виды информации. Является ли ваш компьютер мультимедийным.

Знания – это зафиксированная и проверенная практикой обработанная информация, которая использовалась и может многократно использоваться для принятия решений.

Знания – это вид информации, которая хранится в базе знаний и отображает знания специалиста в конкретной предметной области. Знания – это интеллектуальный капитал.

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

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

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

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

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

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

Экономическая информация может быть:

управляющая (в форме прямых приказов, плановых заданий и т.д.);

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

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

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


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

Преобразование, целенаправленная обработка информации — важнейший из информационных процессов.

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

Рассмотрим с этих позиций, как осуществляется процесс управления на примере управления автомобилем.

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

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

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

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

Виды информации:

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

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

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

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

Вывод:

  • Вся информация, поступающая к человеку, состоит из сигналов.
  • Человек эти сигналы получает, обрабатывает и либо исполняет, либо запоминает.
  • Человеку трудно потреблять информацию. Он может делать это только очень маленькими порциями. Любая перегрузка превращается в информационный шум, и. она становиться бесполезной, то есть не превращается в знания.
  • Человеку трудно обработать информацию. От этого он устает.
  • Человек можем, ошибиться. Из-за информационного шума он можем неправильно обработать информацию и превратить её ложное знание.
  • Человек необъективен (т.е. воспринимает информацию не такой, какой она есть, а такой, какой она ему кажется). Если информация совпадает с его личным мнением, он принимает, обрабатывает и усваиваем её очень легко. Если информация ему неприятна, он усваивает ее с большим трудом и многое остается без внимания.
  • Человек не может долго хранить информацию. Если не закреплять знания постоянными упражнениями, информация очень быстро забывается.

2. Виды компьютерной информации

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

1 килобайт (Кб) = 2 10 = 1024 байта;

1 мегабайт (Мб) = 2 20 = 1 млн. байт;

1 гигабайт (Гб) =2 30 = 1 млрд. байт.

Байтом можно закодировать 2 8 = 256 различных символов. Одна страница машинописного текста занимает примерно 4 Кб в памяти компьютера.

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

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

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

Давно научились превращать в сигналы то, что мы слышим. Делают это с помощью микрофона.

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

Вывод: Компьютер может, работать только с той информацией, которую мы видим и слышим.

Пять видов компьютерной информации

Современные компьютеры могут работать с пятью видами информации:

Числовой информацией (числа);

Текстовой информацией (буквы, слова, предложения, тексты);

Графической информацией (картинки, рисунки, чертежи);

Звуковой информацией (музыка, речь, звуки);

Видеоинформацией (видеофильмы, мультфильмы, кинофильмы).

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

Если компьютерная программа использует все эти виды информации, то её называют мультимедийной.

Числовая информация

Текстовая информация

Рис.1. Кодировка символов

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

Г- 195- 11000011 и так далее.

Графическая информация

Компьютеры могут работать с графической информацией. Это могут быть рисунки или фотографии. Для того чтобы картинка могла храниться и обрабатываться в компьютере, ей превращают в сигналы. Такое превращение называют оцифровкой .

Для оцифровки графической информации служат специальные цифровые фотокамеры или специальные устройства – сканеры.

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

Если картинка сделана на бумаге, то для того, чтобы превратить её в сигналы, используют сканеры. Картинку кладут в сканер. Сканер просматривает каждую точку этой картинки и передает в компьютер числа (байты), которыми зашифрован цвет каждой точки. Например:

Черная точка: 0, 0, 0;

Белая точка: 255, 255, 255;

Коричневая точка:153, 102, 51;

Светло-серая точка: 160, 160, 160;

Темно-серая точка: 80, 80, 80.

У каждого цвета свой шифр (его называют цветовым кодом).

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

Звуковая информация

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

Видеоинформация

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

Выводится видеоизображение на экран компьютерного монитора. При этом вместе с изображением может выводиться и звук.


В данный момент вы не можете посмотреть или раздать видеоурок ученикам

Чтобы получить доступ к этому и другим видеоурокам комплекта, вам нужно добавить его в личный кабинет, приобрев в каталоге.

Получите невероятные возможности



2. Раздавайте видеоуроки в личные кабинеты ученикам.


3. Смотрите статистику просмотра видеоуроков учениками.

Конспект урока "Устройства компьютера и их функции"

· Устройства ввода и вывода информации.

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

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

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

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

Человек хранит информацию в памяти и на носителях информации. А компьютер хранит информацию в оперативной и долговременной памяти.

Человек осмысливает, обдумывает, преобразует информацию, делает выводы с помощью головного мозга, а компьютер обрабатывает информацию с помощью процессора.

Человек передаёт информацию другим людям с помощью речи, мимики, жестов. А компьютер выводит информацию с помощью устройств вывода: монитора, принтера и других устройств.


Но всё же не стоит равнять человека с компьютером. Человек управляет своими действиями сам, а компьютером управляет человек, программируя его.

Сегодня на уроке мы с вами узнаем:

· Для чего в компьютере процессор;

· Как работает память компьютера;

· Что относится к устройствам ввода и вывода информации.

Компьютер – это аппаратно-программный комплекс, служащий для приёма, передачи, хранения и обработки информации.

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

Основной набор включает следующие функциональные блоки: системный блок, монитор, клавиатуру, мышь.


Системный блок представляет собой корпус с размещёнными внутри него системной платой, блоком питания и другими устройствами, которые называют внутренними: например, дисковод для оптических дисков.

Не входящие в системный блок устройства называют внешними.


Основной компонент системного блока — системная (или материнская) плата. На ней размещаются процессор, устройства памяти, набор микросхем, управляющих работой устройств, разъёмы для подключения устройств.


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

Процессор строит свою работу следующим образом:

1) получает данные, то есть считывает из оперативной памяти команды;

2) анализирует их;

3) затем выполняет;

4) отправляет результаты работы на требуемое устройство.

Основные характеристики процессора, определяющие его быстродействие: тактовая частота и разрядность.

Процессор обрабатывает поступающие к нему электрические сигналы (импульсы).

Промежуток времени между двумя последовательными электрическими импульсами называется тактом. На выполнение процессором каждой операции выделяется определённое количество тактов.

Тактовая частота — это число тактов, которые процессор выполняет за одну секунду. Различные операции могут занимать один или несколько тактов. Тактовая частота измеряется в герцах.

У современных процессоров тактовая частота достигает нескольких миллиардов герц. Поэтому её измеряют в производных единицах:

1 МГц = 1000000 Гц

1 ГГц = 1000000000 Гц

Процессоры выполняют операции не над десятичными числами, а над двоичными. Как вы помните двоичные числа записываются цифрами 0 и 1, которым соответствуют единицы информации, называемые битами.

Разрядность процессора — это количество двоичных цифр (битов), которые одновременно обрабатывает процессор.

Большинство современных процессоров имеет разрядность 32 бит или 64 бит.

Производительность процессора может быть повышена за счёт одновременного выполнения нескольких последовательностей операций (потоков).

Процессоры, способные одновременно обрабатывать несколько потоков, являются многоядерными.

Другое важнейшее устройство компьютера — это память.

Память компьютера предназначена для приёма, записи, хранения и выдачи данных.

Чтобы понять принцип работы памяти компьютера давайте представим лист бумаги в клеточку. Каждая клеточка этого листа ¾ это наименьший элемент памяти компьютера, 1 бит. В каждой клеточке может храниться одно из двух значений: 0 или 1.


То есть в 1 бите памяти содержится 1 бит информации.

Для хранения информации используются различные виды памяти или запоминающие устройства. Различают внутреннюю и внешнюю память.

Внутренняя память – это память, которая встроена в компьютер и напрямую управляется процессором.


Внутренняя память компьютера передаёт и принимает от процессора данные с такой же скоростью, с какой процессор их обрабатывает. Поэтому её ещё называют оперативной (быстрой).

Оперативная память (ОЗУ — оперативное запоминающее устройство) предназначена для хранения данных и программ во время их выполнения.

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


ОЗУ представляет собой набор микросхем, которые собраны в модули. Для установки модулей на материнской плате имеются соответствующие разъёмы.


Для постоянного хранения информации даже при выключенном компьютере предназначено постоянное запоминающее устройство (ПЗУ).

Хранимые в ПЗУ данные и программы обеспечивают запуск компьютера и работу с клавиатурой, монитором и другими устройствами.

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

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


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


Для переноса данных используют съёмные носители: оптические диски (СD и DVD), флэш-память и другие.


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

Максимальный объём информации, который может быть записан на носитель, называют его ёмкостью.

За единицу измерения объёма информации принят байт. Ёмкость носителей измеряют в производных единицах.

1 Кбайт = 1024 байт

1 Мбайт = 1024 Кбайт

1 Гбайт = 1024 Мбайт

1 Тбайт = 1024 Гбайт.

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

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

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

К устройствам ввода информации относятся:

1. Клавиатура. Она служит для ввода в компьютер текстовой информации и команд управления при помощи клавиш.


2. Манипуляторы, например, мышь, джойстик и другие. Это специальные устройства, которые используются для управления курсором.

· Мышь перемещает указатель мыши по экрану и вводит команды пользователя. Управление курсором осуществляется путём перемещения мыши по поверхности стола или коврика для мыши. Клавиши и колёсико мыши вызывают определённые действия, например, активация указанного объекта, вызов контекстного меню, вертикальная прокрутка веб-страниц и электронных документов.


· Джойстик – это стержень-ручка, отклонение которой от вертикального положения приводит к передвижению курсора в соответствующем направлении по экрану монитора. Часто применяется в компьютерных играх.


· Трекбол – небольшая коробка с шариком, встроенным в верхнюю часть корпуса. Пользователь рукой вращает шарик и перемещает курсор.


3. Сканер – устройство для ввода графической информации в компьютер.


4. Микрофон – устройство для ввода звуковой информации.


5. Веб-камера – видео- или фотокамера, способная в реальном времени фиксировать изображения, предназначенные для дальнейшего использования.


К устройствам вывода относятся:

1. Монитор служит для вывода информации пользователю на экран.


2. Принтер – устройство для вывода информации на бумагу.


3. Звуковые колонки и наушники предназначены для воспроизведения звуковой информации.


Практическая часть урока.

На флеш-память объёмом 1 Гигабайт загрузили максимально возможное число фотографий. Каждое фото занимает 500 Килобайт. Нужно выяснить, сколько времени займёт просмотр всех фотографий на флеш-памяти, если на просмотр одной уходит 6 секунд.


Пришло время подвести итоги урока.

Сегодня на уроке:

Современный компьютер — универсальное электронное программно-управляемое устройство для работы с информацией.

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

Функции, выполняемые этими устройствами, в некотором смысле подобны функциям мыслящего человека.

image

Меня зовут Андрей Артемьев, я работаю в Microsoft над ядром ОС Windows 10, ранее я работал над Windows 10x (WCOS), XBox, Windows Phone и Microsoft Edge. Я хочу популярно в образовательных целях рассказать о том как работает компьютер на примере клавиатурного ввода и Windows 10. Данный цикл статей рассчитан в первую очередь на студентов технических специальностей. Мы рассмотрим какой путь проходит информация о нажатой клавише от клавиатуры до отображения в Notepad.exe. В виду обширности и междисциплинарности темы в статьях могут быть неточности, о которых сообщайте в комментариях. Какая-то информация может быть устаревшей в виду скорости с которой развивается Windows.

Насколько глубоко мы погрузимся в тему?

Давайте для начала в общих чертах поговорим об уровнях на которых можно рассматривать компьютер. Каждый уровень основывается на предыдущем. Начнём с самого верха.

Уровень операционной системы. ОС можно рассматривать как:

  • Менеджер ресурсов — память, жёсткие диски, принтеры, экран, клавиатура ограниченные ресурсы которые совместно используются запущенными на компьютере программами.
  • Виртуальная машина — файл это наглядный пример виртуального объекта. Он представляет абстракцию данных на диске, API для работы с ним и так же добавляет концепцию прав доступа. Вместо файла могла быть концепция контейнера данных и совершенно другого API. Таких виртуальных объектов в ОС много.
  • Платформа — ОС предоставляет программные модели и примитивы для построения программ. К примеру Windows Drivers Framework позволяет быстро разрабатывать драйвера, окна в Windows используются для построения сложных пользовательских интерфейсов. Dll — предоставляет модель расширения функционала программы через плагины, а так же механизм для реализации читалки экрана через ловушки клавиатуры (см. LowLevelKeyboard hook).

image

Уровень архитектуры компьютера. Он представлен материнской платой, которая имеет определённый форм-фактор, встроенные функции закодированные в микросхемах называемых чип-сетом и порты, через которые можно расширять функционал компьютера подключив графическую карту, сетевую карту, дополнительную оперативную память (RAM), жёсткие диски, клавиатуру и пр. Порты влияют на скорость работы и возможности компьютера, что и будет определять его назначение будь то сервер для обработки тысяч запросов в секунду, планшет для пользования Интернетом или игровой ПК с несколькими видеокартами. ОС абстрагирует особенности материнской платы.

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

image

Материнскую плату можно рассматривать как колонию микросхем которые общаются между собой через шины и через них циркулируют данные от подключенных устройств к процессору и обратно. Чип-сет — это своего рода нервная система компьютера. Все чипы на материнской плате были изначально созданы чтобы работать друг с другом. Некоторые из них могут иметь особые функции, к примеру таймер или хранение настроек BIOS. Пожалуй самый важный из них тот что имеет встроенную программу (прошивку, BIOS, UEFI) которая начинает выполняться как только появляется электричество. Она находит жёсткий диск с загрузчиком Windows и передаёт тому управление который в свою очередь запускает исполняемый файл ОС, который можно назвать Windows10.exe, на самом деле NtOsKrnl.exe. BIOS знает что искать благодаря соглашению между производителями железа и операционных систем.

Вокруг материнской платы можно собрать мобильный телефон, игровую приставку, серверную станцию или умное устройство. На картинке ниже распространённые форм-факторы материнских плат.

image

Уровень микроархитектуры представлен процессором (CPU), это сердце материнки и весь чип-сет нужен для обслуживания CPU. Процессор это компьютер в компьютере, более мощный и продвинутый микроконтроллер которому не нужна прошивка, потому как поток команд подаётся на лету, когда планировщик потоков поменял контекст процессора. Функционал процессора делится на подсистемы, к примеру компонент занимающийся математическими и логическими операциями, математический сопроцессор, кэш. Какие-то из них раньше были отдельным чипом на материнской плате, но сейчас их сделали частью ЦПУ, например контроллер прерывания и микросхема под названием “Северный мост” что увеличило скорость работы.

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

image

Архитектура процессора это по сути документ который описывает какой функциональностью он должен обладать для того чтобы соответствовать к примеру архитектуре x86, x64 или ARM применяемой на мобильных устройствах. В этом документе описано какие должны поддерживаться команды, назначения регистров и логика работы. Создатели процессоров Intel, AMD, Эльбрус могут реализовывать эту функциональность как угодно и добавлять к ней новые возможности в виде команд, регистров, флагов, прерываний и если ОС знает о них то может использовать. В терминах ООП архитектура ЦПУ — это интерфейс, а микроархитектура — его реализация.

Логические схемы. Цветные прямоугольники с блок-схемы CPU состоят из логических схем, которые производят свои операции на последовательностях нулей и единиц. Процессор видит все данные и команды в виде битов (0 и 1), по формуле любое десятичное число можно представить в виде последовательности 0 и 1, а вот что значит конкретное число зависит от контекста. Это может быть код, цифра, буква. Арифметическое и логическое устройство (ALU) умеет производить сложение двух чисел через побитовые операции. Побитовые алгоритмы сложения, вычитания, умножения и деления давно известны, разработчикам логической схемы их только надо эффективно реализовать.

image

image


Уровень радиоэлементов. Физически аналоговые схемы полагаются на радиоэлементы, которые собственно и эксплуатируют законы физики. Преимущественно это полупроводники, т.е. в определённых условиях они могут проводить электричество, а могут и нет. Диод проводит ток только в одном направлении, если его выпаять, развернуть на 180 и впаять обратно, то ток через него проходить не будет. Транзистор пропускает ток только если есть напряжение на управляющей ножке. Человечество научилось делать транзисторы микроскопическими и потому их можно размещать на маленькой плате миллионами. На картинках ниже полупроводниковые радиоэлементы и обычный транзистор рядом с нано транзистором под электронным микроскопом.

image

Уровень законов физики. И наконец самый нижний уровень — это уровень законов физики которые заключены в полупроводниковые радиоэлементы.

image

Мы будем много говорить про уровень ОС и чуть меньше про архитектуру компьютера, микроархитектуру, аналоговые схемы и радиоэлементы. К последней части у вас должно быть понимание как это всё работает вместе.

Основы Операционной Системы

Когда мы проходили в универе программирование на ассемблере у многих студентов был ступор от таких умных слов как “режимы ядра и пользователя”, под которыми на самом деле скрывается хорошо всем известная ролевая система аутентификации, на всех сайтах есть как минимум “Админ” имеющий доступ ко всем страницам и “Пользователь” имеющий ограниченный доступ. Точно так же роль “Ядро” имеет доступ ко всем возможностям CPU, а роль “Пользователь” может вызывать не все команды процессора и не со всеми аргументами. Поверх этой ролевой модели по принципу клиент-серверной архитектуры построена операционная система, где сервер это ядро, которое и реализовывает функционал ОС, а клиент — это пользовательские программы. В мире Web клиент и сервер разделены физически — это два разных компьютера общающихся по сети. В ОС клиент и сервер живут на одной машине и на одном железе. У сервера есть некий API который позволяет клиентам изменять его состояние, к примеру Twitter API позволяет создавать посты, логиниться и загружать ленту твитов в мобильный клиент. У Windows есть Win API, только более громоздкий в виду более широкого круга задач, на сегодняшний день у винды примерно 330 000 API плюс API для UWP apps. Если концепции Твитера более менее всем понятны — пост, пользователь, фид — то концепции ОС могут потребовать некоторого углубления в её внутренности. Поэтому API Windows могут быть трудно понятными без понимания внутреннего устройства ОС.

На самом деле под ядром понимают три разные вещи. Ядро как весь код ОС. Ядро как подсистема которая отвечает за механизмы ОС, такие как планировщик потоков, переключение контекста, обработка прерываний, свап виртуальный памяти на физическую (Kernel) и ядро подсистемы для поддержки других ОС — CSRSS.exe (Windows), PSXSS.exe (POSIX), OS2SS.exe (OS/2) или WSL (Windows SubSystem for Linux). В данном контексте понимается первый смысл — весь код ОС.

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

  • Executive — здесь логика работы ОС. В этом слое проверяется что могут и не могут делать процессы. Здесь хранится инфа о родительском процессе, параметры старта процесса (Process Environment Block), привязанный аккаунт пользователя, имя exe файла процесса.
  • Kernel — здесь реализованы механизмы ОС, такие как планировщик потоков. Здесь хранится сколько времени процесс проводит в режиме пользователя и ядра, к каким процессорам привязаны его потоки, базовый приоритет потоков процесса.
  • Windowing subsystem — инфа о GDI объектах которые используются для рисования в окне. Это такие примитивы как кисти, pen и пр.
  • DirectX — всё что имеет отношение к DirectX: шейдеры, поверхности, DX-объекты, счётчики производительности GPU, настройки памяти графической памяти.
  • Подсистема Windows которая представлена процессом CSRSS.exe (Client Server Runtime SubSystem). Windows ранее поддерживал ОС POSIX (процесс PSXSS.exe) и OS/2 (OS2SS.exe). В те времена возникла идея сделать и Windows такой же подсистемой, но эта было медленно и поэтому скоро часть CSRSS.exe перенесли в win32k.sys, который сейчас разбит на несколько файлов — win32k.sys, win32kbase.sys и win32kfull.sys. Здесь хранится информация о Process Group Data, Shutdown level, Session Data и пр.

Что такое компонент? Это логически сгруппированный функционал. Компонентом можно назвать ООП-класс, dll, папку, набор функций с общим префиксом, пространство имён, слой в архитектуре.

Более подробно о разделении на клиент-сервер

Разделение на клиент и сервер реализовано при помощи встроенной функциональности CPU, разделения памяти и программных проверок.

Производители оборудования сотрудничают с разработчиками ОС, поэтому в процессоре есть механизмы созданные с учётом потребностей создателей операционных систем. Во всех современных процессорах реализован механизм ролей пользователя, где под пользователем понимается исполняемый в данный момент код. В веб приложениях роль залогиненого пользователя хранится в какой-то переменной и помимо понятного названия Admin или User имеет Id этой роли который чаще и используется при авторизации, потому как сравнивать числа быстрее и проще чем строки. В процессоре роль текущего пользователя хранится в поле которое называется “кольцо безопасности” (Security Ring), а не “CurrentUser.Role.Id”. В большинстве процессоров это поле принимает четыре значения от 0 до 3. Windows использует 0 для роли которая называется “Режим Ядра”, потому как это самый привилегированный режим и самое большое значение для роли “Режим Пользователя”, потому как это самая ограниченная роль. Остальные роли не используются потому как различие между 0 и 1, 2 и 3 незначительное. Эти роли ограничивают страницы памяти которые могут быть адресованы, нельзя вызывать некоторые инструкции или же нельзя их вызывать с определёнными аргументами. Так же есть ограничения на использование технологии I/O Ports для обмена данными с устройствами такими как клавиатура, но она уже лет 10 не используется. Переключение в режим ядра происходит через команду syscall, которая по индексу находит в массиве указателей на APIs Windows функцию которую надо вызвать. Указатель на этот массив сохраняется в специальном регистре процессора во время загрузки ОС.

image

Прерывания могут генерироваться не только процессором но и внешними устройствами (клавиатура, мышь) или программным кодом. Планировщик потоков устанавливает таймер который с интервалами равными одному кванту (по умолчанию около 15мс, в Windows Server больше) генерирует прерывание чтобы по внутреннему алгоритму назначить другой поток на исполнение. Пошаговое исполнение программы в Visual Studio так же полагается на механизм прерываний — у процессора устанавливается флаг, который после каждой команды вызывает прерывание которое обрабатывает Windows Debugging Engine и уведомляет через API Visual Studio.

Разделение памятью реализовано благодаря виртуальной памяти. Ранее я говорил что ОС это менеджер ресурсов и виртуальная машина. Даже если у вас 1Гб RAM 32х битный Windows будет работать так как если бы у вас было 4Гб оперативки, т.е. реально у вас 1Гб, а виртуально 4Гб. Современные компьютеры основаны на теоретической модели машины Тьюринга или же архитектуре фон Неймана (с некоторыми изменениями). Согласно этим моделям память в компьютере это лента состоящая из ячеек размером один байт. Эти ячейки сгруппированы в страницы как правило по 4096 байт (4Кб), потому как:

image
image

64 битный адрес позволяет адресовать 16 экзабайт, это 18,446,744,073,709,551,616 ячеек памяти. Современные процессоры пока что не поддерживают так много RAM и поэтому используют только младшие 48 бит адреса, остальные 16 заполняются старшим разрядом. Поэтому Win x64 попросту не использует часть адресов, которые помечены на рисунке выше чёрным. Но это не значит, что 64х битный Windows “видит” 256 Tb оперативки. Максимум 8TB виртуальной памяти на архитектуре IA64 и 7TB на x64. Предел физической памяти поддерживаемой Windows 10 — 2TB, потому как с большим количеством Винда не тестировалась. Объём поддерживаемой RAM в Windows 10 определяется во многом редакцией ОС, чем дороже тем больше.

Почему ячейки памяти пронумерованы шестнадцатиричными (HEX) числами, а не десятичными или двоичными? Адрес ячейки это не просто порядковый номер, в нём закодировано три числа по которым эту ячейку можно отобразить на физическую память. Первые два это индексы по которым находится конкретная страница виртуальной памяти, а третье число — смещение от начала страницы. CPU и ОС здесь работают в связке — ОС предоставляет структуру данных по которой CPU находит страницу виртуальной памяти и копирует её в физическую. По HEX номеру можно сразу увидеть как выровнен в памяти адрес. Формат двоичного числа слишком громоздкий, 32 бита (или 64) трудны для восприятия. Десятичный формат — показывает слишком мало информации, тогда как HEX удобный компромисс между десятичной и двоичной системами, средами людей и машин.

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

Из чего состоит Windows?

Абстракция или же разбиение на компоненты есть во всех сферах программирования и интуитивно понятно что Windows тоже делится на какие-то компоненты. Под компонентом понимается какая-то единица функциональности — ООП класс, файл, dll, папка. Компоненты на диаграмме ниже могут быть как индивидуальными *.sys, *.dll файлами, так и просто набором API сгруппированным логически через добавление префикса к имени функции, старая часть системы написана на C, а он не поддерживает классы. Новые части пишутся нередко на C++. В укрупнённом виде Винда выглядит так:

image

Давайте быстренько пробежимся по её компонентам снизу вверх:

  • Hyper-V Hypervisor — слой виртуализации благодаря которому в Windows можно создать виртуальную машину. Иногда говорят, что Hyper-V это минус первый уровень привилегий, однако реализован он в одном уровне привилегий и адресном пространстве что и ядро ОС, за счёт использования слоёной архитектуры ОС ничего не знает о нём.
  • HAL.dll — Hardware Abtraction Layer — изначально задумывался как абстракция над железом — чипсет, материнская плата, процессор — для того чтобы можно было перенести Windows на новую платформу реализовав новый HAL.dll, который будет выбран и скопирован во время установки. По сути это драйвер к устройствам материнской платы, к примеру таймерам, контроллеру прерываний. Сейчас его роль снижена, потому как многие драйвера материнки и чип-сета реализованы в ACPI.sys.

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