Как лучше всего добавлять устройства в компьютерную систему

Обновлено: 04.07.2024

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

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

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

BIOS — Basic Input/Output System — (Базовая Система Ввода/Вывода) — первичный программный код, который записан в постоянное запоминающее устройство, находящееся на материнской плате. По своей сути BIOS это первичный язык (азбука) компьютера, который позволяет ему обнаруживать все внутренние подключенные к материнской плате устройства, работать с ними, а также содержит первичные базовые команды, которые позволяют компьютеру осуществлять загрузку более серьезного программного обеспечения.

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

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

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

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

Жесткий диск в обиходе имеет несколько названий. Иногда его называют HDD — сокращение от Hard Disk Drive, а также можно услышать: Винчестер, Винт, Хард или Хард-диск . Жесткий диск является постоянным запоминающим устройством, которое способно хранить информацию даже при полном отключении электроэнергии.

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

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

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

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

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

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

CD/DVD-ROM это устройство чтения компакт-дисков формата CD или DVD. Устройство используется для воспроизведения (чтения) аудио или видеофайлов, просмотра фотоальбомов, а также — установки операционной системы с загрузочного компакт диска на жесткий диск компьютера. Помимо чтения дисков, такое устройство может производить запись на CD или DVD диск.

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

Использование стандарта USB широко применяется в ноутбуках. Как правило, ноутбук может иметь два и более внешних порта USB, доступных пользователю. На самом же деле, таких портов гораздо больше, они находятся внутри ноутбука, не имеют стандартного внешнего разъема, поскольку, к ним постоянно подключены второстепенные внутренние устройства ноутбука: веб-камера, тачпад, встроенный микрофон, встроенные модули Wi-Fi и Bluetooth, а также устройства чтения карт памяти. Использование стандарта USB широко применяется в ноутбуках. Как правило, ноутбук может иметь два и более внешних порта USB, доступных пользователю. На самом же деле, таких портов гораздо больше, они находятся внутри ноутбука, не имеют стандартного внешнего разъема, поскольку, к ним постоянно подключены второстепенные внутренние устройства ноутбука: веб-камера, тачпад, встроенный микрофон, встроенные модули Wi-Fi и Bluetooth, а также устройства чтения карт памяти.

Принцип работы

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

В классической настройке BIOS приоритеты были расставлены следующим образом: В первую очередь производится загрузка с диска "A" или "B" - эти буквы всегда отводились под дискету (флоппи-диск). Если указанные дисководы пусты, осуществить загрузку с диска "C" - Жесткий диск компьютера. Позже, когда дискеты практически вышли из обихода, настройку BIOS изменили. Приоритет загрузки отдали устройству чтения компакт-дисков CD-ROM. Если в этом устройстве нет диска, произвести загрузку, опять же, с диска "C". Подобная настройка BIOS позволяла без лишних хлопот установить операционную систему с загрузочного диска. Достаточно было вставить компакт-диск с установочными файлами операционной системы в дисковод, и компьютер начинал загружаться с компакт-диска, выходил в режим установки операционной системы. Позже, когда компьютеры стали продаваться с уже заранее установленной операционной системой, настройку BIOS поменяли и принудили компьютер в любом случае загружаться с диска "C", игнорируя другие устройства. Итак, загрузив BIOS, определив подключенные устройства, компьютер начинает загрузку операционной системы. В большинстве случаев это происходит с жесткого диска "C" или из раздела "C" находящегося на жестком диске. Помимо загрузки самой операционной системы, производится загрузка всех необходимых драйверов для обнаруженных устройств, подключенных в данный момент к компьютеру. В процессе работы, компьютер четко следует заданному алгоритму.

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

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

Двоичный код

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

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

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

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

Один бит (ноль или единица) занимает одну ячейку памяти. Правда, из одного бита информации, даже из двух — много пользы не выжмешь. Можно поиграть с их чередованием. Скажем, выражение 00 имеет одно значение, выражению 01 можно присвоить — другое, следовательно, появляется возможность записать ещё два значения: 10 и 11. Всего четыре комбинации из двух битов.

Этого явно недостаточно для передачи и сохранения сложной информации. Если же использовать не два, а три бита, то возможных вариантов становится уже не четыре, а восемь: 000, 001, 010, 100, 101, 110, 011, 111. Увеличение количества бит всего на один — увеличивает количество возможных вариантов вдвое. Использование восьми бит даёт уже 256 вариантов комбинаций и этого вполне достаточно для того, чтобы присвоить каждому варианту свой собственный символ или определенную команду. Получается, что восемь бит уже могут иметь определенное значение и смысл. По этой причине, запись, состоящая из восьми бит, получила название байт .

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

Не работает клавиатура на ноутбуке Windows 10

Без этого оборудование и компьютер просто не найдут общий язык и не смогут работать вместе. В данной статье рассмотрены способы установки компонентов с помощью стандартных инструментов от Microsoft.

Установка устройства Windows — два типа устройств

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

Достаточно подсоединить разъем и система автоматически определит и произведет настройку. По этому принципу работает большинство периферии: мышки, клавиатуры, геймпады.

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

Второму типу жизненно необходимы сопровождающие программы. Эта служебная утилита «знакомит» компоненты с программным обеспечением и «объясняет» как работать с ним.

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

ОС попросит вставить диск. В основном дополнительный софт требуют устройства вывода ( мониторы, принтеры и т.д.).

Установка устройства Windows с помощью Plug-n-play

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

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

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

Включить обновление можно следующим образом:

  • Зайти в панель управления через меню пуск;
  • Далее нажать на «Включение и отключение автоматического обновления»;
  • открыть первый список и выбрать «Устанавливать обновления автоматически».

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

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

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

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

Установка устройства WIndows — мастер установки

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

установка программного обеспечения windows

Установка устройства Windows на старую ОС

Установка устройств вывода и ввода, выпущенных до выхода windows 7 может стать проблематичной. Дело в том, что современные операционные системы несовместимы со старыми версиями драйверов.

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

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

установка драйверов

Установка устройства Windows — отслеживание состояния

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

  • кликнуть по ярлыку Компьютер правой кнопкой мыши;
  • открыть свойства компьютера;
  • в левом столбике выбрать пункт Диспетчер устройств и нажать на него.

В открывшемся окне представлен список всех подключенных к ПК компонентов, начиная от процессора и заканчивая геймпадами.

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

В список функций и возможностей Диспетчера устройств входят:

  • Обновление программного обеспечения;
  • Подключение и отключение периферии;
  • Поиск нового оборудования;
  • Технические сведения.

список компонентов windows

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

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

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

Установка устройства Windows — свойства

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

свойства драйверов

Содержит название и текущее состояние. Здесь можно прочитать о причине неполадки. Если все в порядке, будет видна надпись «Устройство работает нормально».

Если есть какие-либо проблемы, окно уведомления обязательно сообщит об этом, написав возможную причину, код ошибки и способ решения;

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

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

Установка устройства Windows — диагностика

Принтеры и сканеры

Для них выделен отдельный раздел. Найти его можно в панели управления. «Устройства и принтеры» отображают всю подключенную периферию, связанную с выводом (различные МФУ). Также здесь показываются подключенные через вход USB телефоны, фотоаппараты и так далее.

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

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

Устройства и принтеры

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

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

Это гарантирует надежность и работоспособность ПК. Однако, большинство проблем можно решить с помощью стандартных инструментов, описанных в статье.

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.

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

Подключение системного блока к электросети

Блок питания оснащён кнопкой включения/отключения подачи электроэнергии — переведите её в положение выключено и подсоедините сетевой кабель, но не спешите вставлять вилку в розетку.

Внимание. Все последующие действия выполняются при полном отключении системного блока от сети.

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

Для начала, рассмотрим варианты подключения стандартного набора компьютерной периферии:

  • клавиатура и мышь;
  • монитор;
  • аудиоустройства: колонки, наушники;
  • прочие устройства ввода/ввода: сканер, принтер, МФУ, веб-камера.

А также, не забудем о подключении интернет-кабеля к системному блоку.

Подключение периферии к системному блоку

Подключение клавиатуры и мыши к системному блоку

Существует два варианта подключения клавиатуры и мыши — для этого используются два вида интерфейсных разъёмов — USB и PS/2 (устаревший).

Разъёмы PS/2 и USB для подключения клавиатуры и мыши к системному блоку

Разъём PS/2 имеет цветную маркировку:

  • фиолетовый — используется для подключения клавиатуры,
  • зелёный — для подключения мыши.

Так же есть универсальный PS/2-интерфейс, к нему можно подключать клавиатуру или мышь.

В любом случае, лучше использовать USB-интерфейс, который устроен так, что при подключении клавиатуры/мыши устройство задействуется автоматически, в то время как, подключение к разъёму PS/2 требует перезагрузки компьютера.

Цветная маркировка не обошла и USB-порты, она указывает на версию USB-интерфейса:

Подключение монитора к системному блоку

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

Разъёмы VGA, DVI-I, DVI-D, HDMI, DisplayPort

На данный момент, используются следующие видеоразъёмы:

  • VGA (D-SUB) — аналоговый разъём (устаревший);
  • DVI-I — цифровой разъём с возможностью передачи аналоговых сигналов — при использовании переходника DVI-I/D-SUB, сохраняется возможность подключения VGA-мониторов;
  • DVI-D — строго цифровой разъём — не поддерживает переходники DVI/VGA;
  • HDMI — цифровой разъём для передачи видеоданных высокой чёткости с защитой от копирования — подойдет для подключения системного блока к телевизору;
  • DisplayPort — современный цифровой разъём для подключения мониторов к системному блоку — поддерживает большие разрешения с высокой частотой кадров — до 240 Гц для 1-4K, до 120 Гц для 5K и 60 Гц для 8K.

Кабели VGA, DVI-I, DVI-D, HDMI, DisplayPort и переходник DVI-VGA

Подключение аудиоустройств к системному блоку

Для подключения колонок или наушников к системному блоку, применяется специальный аудиоинтерфейс материнской платы. В зависимости от звуковой схемы (2.x, 3.1, 4.x, 5.x, 6.1 и 7.1), на материнскую плату устанавливают аудиопанель с 3-мя или 6-ю гнёздами.

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

Подключение системного блока к колонкам

Подключение к системному блоку устройств ввода/вывода

Компьютерная периферия универсальна и использует для подключения USB-интерфейс.

Внешние устройства компьютера работающие через USB-интерфейс

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

Пример подключения принтера к системному блоку и сети

Что делать, если закончились USB-порты

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

USB-концентратор с блоком питания и без

Главное, что нужно учитывать при покупке USB-концентратора, он должен быть активным, то есть, иметь отдельный блок питания. Только в этом случае, вы будете спокойно работать с периферией — устройства не будут периодически «отваливаться» из-за недостатка питания.

Подключение системного блока к интернету

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

Разъём RJ-45 и патч-корд для подключения системного блока к роутеру

Интернет-кабель (витая пара) или патч-корд подсоедините к роутеру, а второй его коннектор к разъёму RJ-45 на материнской плате. При включении компьютера, роутер назначит IP-адрес вашему ПК, а операционная система автоматом настроит встроенную сетевую карту материнской платы.

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

Настраиваем локальную сеть дома: оборудование, доступ к общим папкам и принтерам

Локальная сеть (Local Area Network, сокращенно LAN) — несколько компьютеров и гаджетов (принтеры, смартфоны, умные телевизоры), объединенных в одну сеть посредством специальных инструментов. Локальные сети часто используются в офисах, компьютерных классах, небольших организациях или отделениях крупных компаний. Локальная сеть дает большой простор для деятельности, например, создание умного дома с подключением саундбаров, телефонов, кондиционеров, умных колонок. Можно перебрасывать с телефона фотографии на компьютер без подключения по кабелю, настроить распознавание команд умной колонкой. Преимуществом является то, что локальная сеть — это закрытая система, к которой посторонний не может просто так подключиться.

Для чего нужна локальная сеть

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

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

Что нужно для создания локальной сети

Для создания собственной LAN-сети минимальной конфигурации достаточно иметь пару компьютеров, Wi-Fi роутер и несколько кабелей:

  • непосредственно сами устройства (компьютеры, принтеры и тд).
  • Wi-Fi-роутер или маршрутизатор. Самое удобное устройство для создания домашней сети, поскольку Wi-Fi-роутер есть практически в каждом доме.
  • Интернет-кабели с витой парой. Раньше было важно использование crossover-кабелей при соединении компьютеров напрямую, без роутеров и switch-коммутаторов. Сейчас же в них нет нужды, поскольку сетевые карты сами понимают как подключен кабель и производят автоматическую настройку.
  • Switch-коммутаторы или hub-концентраторы. Служат для объединения устройств в одну сеть. Главный «транспортный узел». Необязательное, но удобное устройство, давно вытесненное Wi-Fi маршрутизаторами из обычных квартир.
  • NAS (англ. Network Attached Storage). Сетевое хранилище. Представляет собой небольшой компьютер с дисковым массивом. Используется в качестве сервера и хранилища данных. Также необязательная, но удобная вещь.

Нужное оборудование у нас есть, что дальше?

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


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

Настройка обнаружения

Просто подключить оборудование друг к другу недостаточно, поэтому идем дальше:

    Все устройства должны находиться в одной «рабочей группе». Этот параметр легко настраивается в ОС Windows 10.
    Для этого проходим по пути: Панель управления — Система и безопасность — Система — Дополнительные параметры системы — Свойства системы. В открывшемся окошке надо указать, что компьютер является членом определенной рабочей группы и дать ей название. Это действие повторить на всех остальных ПК из сети.






Теперь наступает важный этап работы: настроить сетевое обнаружение и общий доступ к файлам

Важно убедиться, чтобы у всех компьютеров были правильные IP-адреса. Обычно система автоматически настраивает данный параметр, но если при работе LAN появятся сбои, то нужно будет указать адреса вручную. Проверить IP можно с помощью «настроек параметров адаптера». Заходим в «Центр управления сетями и общим доступом» и оттуда нажимаем «Изменение параметров адаптера».

Нажимаем ПКМ по подключению и открываем свойства. Дальше открываем свойства IP версии 4 TCP / IPv4 (может иметь название «протокол Интернета версии 4»). IP-адрес — то, что нам нужно. Смотрим, чтобы у первого компьютера был адрес, отличный от второго. Например, для первого будет 192.168.0.100, 192.168.0.101 у второго, 192.168.0.102 у третьего и т.д. Для каждого последующего подключенного компьютера меняем последнюю цифру адреса. Стоит учесть, что у разных роутеров могут быть разные, отличные от указанных IP-адреса. На этом этапе локальная сеть уже готова и функционирует.



Заходим в раздел «Сеть» проводника. Если все подключено правильно, то мы увидим подключенные к сети устройства. Если же нет, то Windows предложит нам настроить сетевое обнаружение. Нажмите на уведомление и выберите пункт «Включить сетевое обнаружение и доступ к файлам». Стоит учесть, что брадмауэр может помешать работе LAN, и при проблемах с работой сети надо проверить параметры брадмауэра. Теперь надо только включить нужные папки и файлы для общего доступа.

Как открыть доступ к папкам?

Нажимаем ПКМ по нужной папке и заходим во вкладку «Доступ». Нажимаем «Общий доступ» и настраиваем разрешения. Для домашней локальной сети легче всего выбрать вариант «Все». Выбираем уровень доступа для остальных участников «чтение или чтение + запись».

Теперь из свойств папки заходим во вкладку безопасности. Нажимаем «Изменить» и «Добавить». Выбираем «Все» и активируем изменения. В списке разрешений для папки должна находиться группа «Все». Если нужно открыть доступ не к отдельной папке, а всему локальному диску, то нужно зайти в свойства диска, нажать «Расширенная настройка» и поставить галочку в поле «Открыть общий доступ». Командой «\localhost» можно посмотреть, какие папки данного компьютера имеют общий доступ для локальной сети. Чтобы просмотреть файлы из общих папок нужно в проводнике найти раздел «Сеть» и открыть папку нужного компьютера.

Как подключить принтер в локальную сеть

В «Устройствах и принтерах» нужно выбрать принтер и нажав ПКМ перейти в свойства принтера. Во вкладке «Доступ» нажать на галочку «Общий доступ». Принтер должен отображаться иконкой, показывающей, что устройство успешно подключено к LAN.



Если нужно закрыть доступ к папке, то в свойствах надо найти пункт «Сделать недоступными». Если же нужно отключить весь компьютер от LAN, то легче всего изменить рабочую группу ПК.

Администрирование и создание локальных сетей с помощью программ

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

RAdmin

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


Hamachi

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

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