Pull to refresh
45
0
Андрей Артемьев @artmv32

Windows Kernel Developer

Send message

О работе ПК ч.3: От включения до полной загрузки Windows 10

Reading time20 min
Views105K
Мы продолжаем разбираться как работает ПК на примере клавиатуры и Windows 10. В этой статье поговорим о том как происходит единение софта и железа.

Старт системы


Полностью компьютер выключен когда он отключен от питания и конденсаторы на материнской плате разрядились. До эры смартфонов мобильные телефоны часто глючили и если перезагрузка не лечила проблему, то приходилось доставать батарею и ждать 10 секунд, потому что сбрасывалось программное состояние ОС, в то время как чипы на материнской плате и контроллеры устройств оставались активными сохраняя состояние, драйвера ОС к ним просто реконнектились. 10 секунд — время на разрядку конденсаторов, состояние чипов сбрасывается только при полном отключении.
Если же ПК подключен к розетке или батарее, то он находится в режиме Stand-By, это значит что по шине питания подаётся маленькое напряжения (5В) от которого запитываются некоторые чипы на материнке. Как минимум это системный контроллер, по сути это мини-компьютер запускающий большой компьютер. Получив уведомление о нажатии кнопки Power он просит блок питания/батарею подать больше напряжения и после инициализирует весь чип-сет, в том числе и процессор. Инициализация включает в себя перекачку кода и данных прошивки материнки (BIOS/UEFI) в оперативную память и настройку CPU на её исполнение.
Думать что кнопка Power это рубильник который подаёт электричество на CPU и тот начинает исполнять с заранее известного адреса прошивку BIOS неправильно. Возможно старые компьютеры так и работали. Кнопка включения находится на своей плате, вместе со светодиодами состояний и к материнке она подключается через специальный разъём. На картинке ниже видны контакты для кнопки Power, Reset, а также светодиодов с состоянием Power и чтения жёсткого диска. Нажатие кнопки включения переводится в сигнал на контакты материнки, откуда он достигает системный контроллер.

Читать дальше →
Total votes 33: ↑32 and ↓1+44
Comments57

Мой опыт стажировки в Microsoft Redmond и получения офера

Reading time11 min
Views10K

перепечатка статьи "«Каждый год Microsoft получает 2 млн резюме». Разработчик из Минска — о 7-летнем пути в компанию (+Рекомендации и список книг)" с сайта dev.by.

Андрей Артемьев — Software Development Engineer в американском офисе Microsoft в Сиэтле, работает над операционной системой Windows. Его путь в компанию занял 7 лет, за плечами — пять подач резюме, одно проваленное интервью и летняя стажировка в Microsoft Redmond. Андрей делится своим опытом с читателями dev.by.

«Мой опыт говорит, что на большом интервале побеждает упорство, а не талант»


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

Microsoft ежегодно получает порядка 2 миллионов резюме, поэтому любое сомнение в кандидате влечёт отказ. Отказ во время финального собеседования означает, что следующая попытка будет только через 6 месяцев, но фактически — лишь через год. Мой опыт говорит, что на большом интервале побеждает упорство, а не талант.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments20

О работе ПК на примере Windows 10 и клавиатуры ч.2

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


Проблема высшего программистского образования в том что студенты весьма подробно изучают отдельные аспекты вырванные из контекста не понимая как это всё увязывается вместе. Несколько семестров высшей математики, чтобы понимать физику, чтобы понимать электротехнику, электроприборы, ассемблер, ОС, алгоритмы, системное программирование и куча других предметов утрамбованных в стандартную пятилетнюю программу. Обилие деталей и никто не объясняет как это вписывается в общую картину, предполагается что через 5 лет студент сам увяжет это в голове, а потом пойдёт работать с .Net и никогда не притронется к электронике и режиму ядра. Я считаю, что не нужно так подробно знать о работе компьютера, достаточно общего понимания что происходит ниже по технологическому стеку. Если бы люди составляющие программы обучения для ВУЗов открывали автошколы, вы бы учили русский язык, каллиграфию и гидродинамику, потому как надо общаться с инспекторами, менять жидкости и писать объяснительные. В статье будут некоторые неточности, так что для сдачи экзамена по профильным предметам она не подойдёт, но после неё будет легче понять устройство ПК.

Под катом трафик.
Читать дальше →
Total votes 32: ↑20 and ↓12+17
Comments68

О работе ПК на примере Windows 10 и клавиатуры ч. 1

Reading time16 min
Views110K
image

Меня зовут Андрей Артемьев, я работаю в Microsoft над ядром ОС Windows 10, ранее я работал над Windows 10x (WCOS), XBox, Windows Phone и Microsoft Edge. Я хочу популярно в образовательных целях рассказать о том как работает компьютер на примере клавиатурного ввода и Windows 10. Данный цикл статей рассчитан в первую очередь на студентов технических специальностей. Мы рассмотрим какой путь проходит информация о нажатой клавише от клавиатуры до отображения в Notepad.exe. В виду обширности и междисциплинарности темы в статьях могут быть неточности, о которых сообщайте в комментариях. Какая-то информация может быть устаревшей в виду скорости с которой развивается Windows.
Читать дальше →
Total votes 69: ↑62 and ↓7+71
Comments412

Information

Rating
Does not participate
Location
Seattle, Washington, США
Date of birth
Registered
Activity