BufWriter<Master<'_>> – Telegram
BufWriter<Master<'_>>
105 subscribers
451 photos
28 videos
34 files
1.7K links
https://www.patreon.com/alxe_master

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

#os, #cloud, #rust, #golang, #python, #javaScript, #cpp, etc
Download Telegram
Forwarded from addmeto (Grigory Bakunov)
Что произошло с фейсбуком Пролистал большую статью от https://blog.cloudflare.com/october-2021-facebook-outage/ клаудфлер про сегодняшнее падение фейсбука, решил написать свою, сильно более простую. Сегодня приблизительно в 19:45 по Москве оглушительно рухнул Фейсбук и почти все его внешние и внутренние сервисы. Лежал Facebook, Messenger, Instagram, WhatsApp, лежали корпоративные и бизнес-сервисы фейсбука, не отвечали ни сайты ни мобильные приложения.

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

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

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

При этом крепко досталось всему интернету. Лежали почти все крупные соцсети, которым внезапно достался трафик фейсбука - люди не найдя привычной инсты и вотсапа пошли искать спасения в твиттере и телеграмме. Получившие новый трафик поначалу радовались, но потом начали стонать под полученной неожиданно нагрузкой. Сильно пострадали все публичные DNS сервера - мобильные клиенты facebook и все сайты, где была авторизация через facebook или кнопка like безостановочно DDoSили свои днс запросами к несуществующему фейсбуку. Трафик некоторых мобильных приложений вырос в 30-50 раз. Впечатляет?

Будет ли такое повторяться? Будет. Потому что современный интернет все еще базируется на принципах, которые были выработаны 30, а иногда и больше лет назад. Никто тогда не думал о глобальной мировой сети, за прошедшие годы человечество построило интернет таким, какой он есть сейчас - централизованным, уязвимым, и потому не устойчивым. Последние выключения cloudflare, amazon, facebook и других крупных интернетообразующих сервисов показали, насколько хрупкая конструкция этот наш интернет. И кажется это то, что срочно пора исправить.
Шикарная картинка, которая прекрасно отображает состояние, когда потратив неделю, всеже, нашел баг. и осознал как именно ты это делал что бы всеже найти. и конечно же баг был на уровне точки с запятой
== Hardware, характеристики, numbers you should know
https://youtu.be/aOWSJxl4MYc
хорошая лекция про цифры в Computer Science которые надо знать
Шикарнейшая лекция по LLVM

== Компиляторы, LLVM
https://youtu.be/lgzxifLoY4E

блин. на полке целая книжка про LLVM все никак не доползу почитать
минмалистичный доклад про мап редьюс, хадупы и проблемы этого подхода https://youtu.be/aceBLW_cmuQ
== Адресное пространство
https://youtu.be/P-MRbkePbyE
- логический адрес (для ассемблера)
- адресные регистры (Page Address Register) нужен для вычисления реального адреса =
- регистры атрибутов страниц (говорит о том где именно находится эта страница) = перемещаемость, чтение, запись, выполнение
- регистры присутствия страниц и дескриптор процесса
- привилегированность процесса (можно все, ограничения)

х86:
- биос
- таблицы символов
- видеопамять
- свободная память
- данные биос
- вектора прерываний

== Менеджер памяти
https://youtu.be/_mDAMquAwPY
- динамическое выделение памяти
maloc/free
- фрагментация памяти

== Дисковая подсистема
https://youtu.be/MeRIcJs-pnI
v = bytes * sectors * disks * i

== SSD накопитель
https://youtu.be/-dKku_EfnMk
SLC - одна ячейка = 1 бит
MLC - одна ячейка = 2 бит
TLC - одна ячейка = 3 бит

== Файловая система SSD накопителя.
https://youtu.be/Q7drAKYkj00

FAT: boot, reserv, fat, fat backup, root, data
boot:
- кол-во байт в секторе
- кол-во секторов в кластере
- кол-во секторов в дорожке
- кол-во FAT таблиц
- кол-во секторов всего
- метка тома
- ...

root это список файлов и адрес первого кластера файла в FAT

в FAT лежит уже указатель на следующий кластер в FAT. если больше нет то записано FFFF а если FFF7 то файл поврежден

так же про EXT
так же про F2FS
== Строим 16-битный компьютер
https://youtu.be/0SGeL8q6Diw
- архитектура
- инструкции и базовый список команд, дешефратор
* префикс 2 бит
* команда 5бит
* 2-3 регистра

== Процессы. Многозадачность.
https://youtu.be/Xa_LcBLfy6g

сохранение контекста процесса это как заморозить мяса в холодильнике (с) =)
... и так каждый квант времени

== Поток. Многопоточность.
https://youtu.be/-52NxdPgbXE
функция ядра для блокировки
== Функциональные узлы цифровых устройств.
https://youtu.be/M-SNYCgKqZE
1) мультиплексор = N входнов, M управляющих входов, 1 выход
2) демультиплексор = 1 вход, M управляющих входов, N выходов
3) Шифратор - говорит какой вход получил 1.
4) Дешифратор - по адресу входа выводит на конкретный выход 1
5) декодер (кодопреобразователь) - преобразует код входа в код выхода

== АЛУ
https://youtu.be/ded0iOVZhSA
1) полусумматор - 2 входана которые подаются два однобитных числа и выходом суммы и выходом переноса
2) полный сумматор

== Базовый элемент памяти. Триггер.
https://youtu.be/1e2WcPn4cKA
D-триггер

== Память со случайным доступом. Оперативная память. RAM.
https://youtu.be/To6L93LvxtQ
Random Access Memory
Static RAM
Dynamic RAM
более плотная, но при этом полный адрес ячейки определяется двумя адресами за два тата RAS (row address select) и CAS (column address select)

== Как работает процессор
https://youtu.be/deQ7BlznZhE

== Первая программа на ассемблере.
https://youtu.be/sAfajgahNF8
Ассемблер это НЕ ЯЗЫК а программа которая переводит мнемонику в машинный код.

== Цикл https://youtu.be/S4UkoxDayVE

== Массивы https://youtu.be/EDA1G0gu-1M

== Функции. Передача параметров. Возврат результата. ABI.
https://youtu.be/kDTk8Mq3Bn8
стековый фрейм
SP - Stack Pointer
ABI - Application Binary Interface

== Рекурсивные функции
https://youtu.be/OvGwfHWcJ0c
Жестокое надругательство над психикой, но детей от экранов можно не убирать (с)

== Структуры. Первый шаг к объектно-ориентированному программированию.
https://youtu.be/5inZ1T2mEeU

== Указатели в Си. Второй шаг к объектно-ориентированному программированию.
https://youtu.be/uHNw_6TIM_4
шикарнейший плейлист про историю и архитектуру старых вычислительных систем.

== Микропроцессоры и архитектуры прошлого
https://www.youtube.com/playlist?list=PL5NHx3fCeyvsHbGENJn6hpij9FrrGb92r