== CPU limits and aggressive throttling in Kubernetes
https://medium.com/omio-engineering/cpu-limits-and-aggressive-throttling-in-kubernetes-c5b20bd8a718
- A primer on containers & kubernetes
- How CPU request and limit is implemented
- How CPU limit works in multi-core environments
- How do you monitor CPU throttling
- How do you recover
https://medium.com/omio-engineering/cpu-limits-and-aggressive-throttling-in-kubernetes-c5b20bd8a718
- A primer on containers & kubernetes
- How CPU request and limit is implemented
- How CPU limit works in multi-core environments
- How do you monitor CPU throttling
- How do you recover
Medium
CPU limits and aggressive throttling in Kubernetes
A deep dive into Kubernetes CPU throttling and its impact on service performance and reliability.
== Что такое быстрая USB зарядка и как она работает в современных смартфонах?
https://youtu.be/zoTYmZZWIeo
Очень толковый видос, очень много для себя узнал.
- делители напряжения для детекта режимов заряда.
- и что главное ток определяет сам смартфон а не зарядка.
- зарядка является ограничителем максимального тока
= USB PD
- USB Direct Charge
- а эппл в ЮСБ-Ц использует еще 2 сигнальных провода для того что бы сам ноут мог бы управлять током и напряжением
- самсунг наоборот использует другие 2 пина. веселуха
== Как работает DC-DC преобразователь напряжения с накопительным дросселем - Buck Converter?
https://youtu.be/Ly-rezvQI5U
https://youtu.be/zoTYmZZWIeo
Очень толковый видос, очень много для себя узнал.
- делители напряжения для детекта режимов заряда.
- и что главное ток определяет сам смартфон а не зарядка.
- зарядка является ограничителем максимального тока
= USB PD
- USB Direct Charge
- а эппл в ЮСБ-Ц использует еще 2 сигнальных провода для того что бы сам ноут мог бы управлять током и напряжением
- самсунг наоборот использует другие 2 пина. веселуха
== Как работает DC-DC преобразователь напряжения с накопительным дросселем - Buck Converter?
https://youtu.be/Ly-rezvQI5U
YouTube
Что такое быстрая USB зарядка и как она работает в современных смартфонах?
ПОДДЕРЖАТЬ КАНАЛ (ЮMoney): https://musicboy.ru/majortomworkshop
КАРТА СБЕР: 5336 6900 6775 7700
ПОДДЕРЖАТЬ (ежемесячно): https://www.youtube.com/majortomworkshop/join
https://boosty.to/majortom
https://news.1rj.ru/str/majortomworkshop
ЗАКАЗАТЬ Футболку, Кепку, Аксессуары…
КАРТА СБЕР: 5336 6900 6775 7700
ПОДДЕРЖАТЬ (ежемесячно): https://www.youtube.com/majortomworkshop/join
https://boosty.to/majortom
https://news.1rj.ru/str/majortomworkshop
ЗАКАЗАТЬ Футболку, Кепку, Аксессуары…
Forwarded from DevBrain
2 классные python батарейки для реализации retry-механизма:
— Tenacity, https://github.com/jd/tenacity
— backoff, https://github.com/litl/backoff/
— Tenacity, https://github.com/jd/tenacity
— backoff, https://github.com/litl/backoff/
GitHub
GitHub - jd/tenacity: Retrying library for Python
Retrying library for Python. Contribute to jd/tenacity development by creating an account on GitHub.
== Частота, тайминги, ранги, каналы, чипы. Самый полный гайд.
https://youtu.be/1Chc21etvqI
14-15-14-34 = это колличество тактов
tCL - tRCD - tRP - tRAS
tCL - задержка между выбором столбца и началом передачи данных
tCRD - задержка между активацией строки и выбором столбца
tRP - задержка на зарядку строки командой precharge и активацией новой строки
tRAS задержка между активацией строки и срабатывание команды на подзарядку PRECHARGE
SAMSUNG B-DIE самый раскачиваемый чип памяти
двухранговая память это по факту два виртуальных модулей на одной плате - 10%-20% быстрей. дороже. не гонится
T-TOPOLOGY (параллельная адресация) - лучше работают с 4мя модулями, хуже с двумя
DAISY-CHAIN (последовательная адресация) - лучше с двумя и хуже с 4мя модулями
действительно самый полный гайд что находил)
https://youtu.be/1Chc21etvqI
14-15-14-34 = это колличество тактов
tCL - tRCD - tRP - tRAS
tCL - задержка между выбором столбца и началом передачи данных
tCRD - задержка между активацией строки и выбором столбца
tRP - задержка на зарядку строки командой precharge и активацией новой строки
tRAS задержка между активацией строки и срабатывание команды на подзарядку PRECHARGE
SAMSUNG B-DIE самый раскачиваемый чип памяти
двухранговая память это по факту два виртуальных модулей на одной плате - 10%-20% быстрей. дороже. не гонится
T-TOPOLOGY (параллельная адресация) - лучше работают с 4мя модулями, хуже с двумя
DAISY-CHAIN (последовательная адресация) - лучше с двумя и хуже с 4мя модулями
действительно самый полный гайд что находил)
== Inductive bias и нейронные сети
https://telegra.ph/Inductive-bias-i-nejronnye-seti-1-11-09
Inductive bias — это априорные знания о природе данных, которые человек некоторым образом вкладывает в модель машинного обучения.
сделать модель без inductive bias в принципе невозможно
https://telegra.ph/Inductive-bias-i-nejronnye-seti-1-11-09
Inductive bias — это априорные знания о природе данных, которые человек некоторым образом вкладывает в модель машинного обучения.
сделать модель без inductive bias в принципе невозможно
Telegraph
Inductive bias и нейронные сети
В этой статье я расскажу, что такое inductive bias, зачем он нужен и где встречается в машинном обучении. Спойлер: везде. Любая нейросеть имеет inductive bias (даже та, что в человеческом мозге, хе-хе) Также вы узнаете: почему inductive bias — это очень хорошо…
== От RS232 до USB
https://youtu.be/46mumUSiIXA
- RS232 четкие значения напряжения для нуля и единицы. до 15метров
- RS422 дифференциальная пара, имеет значение только разница потенциалов. до 5км.
- USB-- до 127 устройств . полудуплекс
- USB 2.0 увеличена скорсть
- USB 3.0 Полный дуплекс!
- USB-C более продуманная версия и более технологичная чем 3.0
== RS232. Теория
https://youtu.be/BTDYAvUEFV8
https://youtu.be/46mumUSiIXA
- RS232 четкие значения напряжения для нуля и единицы. до 15метров
- RS422 дифференциальная пара, имеет значение только разница потенциалов. до 5км.
- USB-- до 127 устройств . полудуплекс
- USB 2.0 увеличена скорсть
- USB 3.0 Полный дуплекс!
- USB-C более продуманная версия и более технологичная чем 3.0
== RS232. Теория
https://youtu.be/BTDYAvUEFV8
YouTube
От RS232 до USB
Иногда кажется невероятным как у крайне непохожих друг на друга интерфейсов передачи данных находятся родственные связи.
Интерфейс RS232: https://youtu.be/BTDYAvUEFV8
Статьи на Пульс: https://pulse.mail.ru/source/3768777279273129127/
Интерфейс RS232: https://youtu.be/BTDYAvUEFV8
Статьи на Пульс: https://pulse.mail.ru/source/3768777279273129127/
== Реляционная СУБД. Взгляд изнутри
https://youtu.be/ubKN7pMcMpk
самая главная в БД проблема это интерфейс и общение между ОЗУ и ПЗУ
большинство БД работают поверх существующей ФС - двойная буферизация. но это не проблема
https://youtu.be/ubKN7pMcMpk
самая главная в БД проблема это интерфейс и общение между ОЗУ и ПЗУ
большинство БД работают поверх существующей ФС - двойная буферизация. но это не проблема
YouTube
Открытая лекция Сергея Резника «Реляционная СУБД. Взгляд изнутри»
Сергей — ведущий разработчик в компании «Kofax», выпускник и преподаватель CS центра.
Работать с СУБД, как с инструментом, разработчики учатся довольно быстро.
А в этой лекции мы заглянем под капот и поговорим о том, как реляционные СУБД устроены внутри…
Работать с СУБД, как с инструментом, разработчики учатся довольно быстро.
А в этой лекции мы заглянем под капот и поговорим о том, как реляционные СУБД устроены внутри…
== Машинное обучение. Байесовская классификация
https://youtu.be/qMndsltzNGA
https://youtu.be/qMndsltzNGA
YouTube
Машинное обучение. Байесовская классификация. К.В. Воронцов, Школа анализа данных, Яндекс.
Восстановление плотности распределения по выборке – важный класс задач машинного обучения. В частности, к ним сводится построение байесовского классификатора. Рассматриваются три подхода к восстановлению плотности. Самый простой – непараметрический, это оценка…
== Сети X.25. Начало глобальных сетей
https://youtu.be/WA8wI6AI2bM
- 255 адресов всего
- сложность изменением топологией и динамической конфигурацией.
- важен порядок добавления компьютеров в сеть
https://youtu.be/WA8wI6AI2bM
- 255 адресов всего
- сложность изменением топологией и динамической конфигурацией.
- важен порядок добавления компьютеров в сеть
YouTube
Сети X.25. Начало глобальных сетей
Вашему вниманию предложена одна из самых простых сетей передачи данных. Простота сети это простота в понимании принципов работы, а эти принципы легли в основу работы сетей следующих поколений.
Статьи на Пульс: https://pulse.mail.ru/source/3768777279273129127/…
Статьи на Пульс: https://pulse.mail.ru/source/3768777279273129127/…
Forwarded from oleg_log (Oleg Kovalov)
Поехали новую IDE тестить https://blog.jetbrains.com/blog/2021/11/29/welcome-to-fleet/
The JetBrains Blog
Welcome to Fleet! | The JetBrains Blog
Update (Dec 3, 2021): We’ve received an overwhelming number of requests for the Fleet Early Preview program. Unfortunately we can't accept any new requests, but we will continue sending invites to tho
oleg_log
Поехали новую IDE тестить https://blog.jetbrains.com/blog/2021/11/29/welcome-to-fleet/
YouTube
Meet JetBrains Fleet — The Next-generation IDE by JetBrains
We’re revealing our latest project: Fleet –— the next-generation IDE from JetBrains.
Fleet is an IDE and a lightweight editor. It's flexible, smart, and polyglot with support for collaboration and remote workflows. Fleet is built from scratch but uses the…
Fleet is an IDE and a lightweight editor. It's flexible, smart, and polyglot with support for collaboration and remote workflows. Fleet is built from scratch but uses the…
Forwarded from Tech Talk
В США рассекретили документ от ноября 2020 года о том, какой доступ к каким мессенджерам имеет ФБР. iMessage и Whatsapp выдают больше всего, причем iMessage выдает расшифрованные бэкапы сообщений из iCloud (если они там есть), зато Whatsapp делится информацией о новых действиях в нужных аккаунтах почти в реальном времени.
▪️Signal: содержания сообщений не предоставляет, предоставляет дату регистрации аккаунта и когда пользователь в последний раз соединялся.
▪️Telegram: содержания сообщений не предоставляет, информацию по решению суда не выдает. В документе есть ссылка на политику Telegram, что он может выдать IP-адрес и номер телефона по расследованиям подтвержденных случаев терроризма.
▪️Viber: содержания сообщений не предоставляет, предоставляет номер телефона и IP-адрес на момент регистрации, по запросу предоставляет метаданные (какой номер телефона на какой когда писал и звонил).
▪️iMessage: содержание сообщений предоставляет "ограничено" (что это значит, в документе не объясняют). Предоставляет основную информацию о пользователе. По ордеру на обыск выдает бэкапы iCloud. Если пользователь бэкапит iMessage в iCloud, то выдает и этот бэкап сообщений iMessage (они в облаке зашифрованы, но у Apple есть ключи). При этом Apple, в отличие от Whatsapp, не предоставляет pen register - это когда ФБР почти в реальном времени получает новую информацию о действиях пользователя в аккаунте.
▪️Whatsapp: содержание сообщений можно получить, если у пользователя iPhone и архив Whatsapp бэкапится в iCloud (то есть выдает фактически Apple). Предоставляет основную информацию о пользователе. По решению суда представляет список заблокированных аккаунте пользователей. По ордеру на обыск представляет адресную книгу. При этом предоставляет pen register (фактически, такой вариант прослушки на уровне метаданных) - сообщает о новых действиях в нужном аккаунте с задержкой в 15 минут, то есть кто кому когда писал и звонил.
Еще в таблице есть информация про Line, Threema, Wechat и Wickr, но это уже сами почитайте) Интересно, что у всех мессенджеров вроде почти одинаковое шифрование (кроме Telegram, дада), но метаданные все выдают по-разному.
https://propertyofthepeople.org/document-detail/?doc-id=21114562
▪️Signal: содержания сообщений не предоставляет, предоставляет дату регистрации аккаунта и когда пользователь в последний раз соединялся.
▪️Telegram: содержания сообщений не предоставляет, информацию по решению суда не выдает. В документе есть ссылка на политику Telegram, что он может выдать IP-адрес и номер телефона по расследованиям подтвержденных случаев терроризма.
▪️Viber: содержания сообщений не предоставляет, предоставляет номер телефона и IP-адрес на момент регистрации, по запросу предоставляет метаданные (какой номер телефона на какой когда писал и звонил).
▪️iMessage: содержание сообщений предоставляет "ограничено" (что это значит, в документе не объясняют). Предоставляет основную информацию о пользователе. По ордеру на обыск выдает бэкапы iCloud. Если пользователь бэкапит iMessage в iCloud, то выдает и этот бэкап сообщений iMessage (они в облаке зашифрованы, но у Apple есть ключи). При этом Apple, в отличие от Whatsapp, не предоставляет pen register - это когда ФБР почти в реальном времени получает новую информацию о действиях пользователя в аккаунте.
▪️Whatsapp: содержание сообщений можно получить, если у пользователя iPhone и архив Whatsapp бэкапится в iCloud (то есть выдает фактически Apple). Предоставляет основную информацию о пользователе. По решению суда представляет список заблокированных аккаунте пользователей. По ордеру на обыск представляет адресную книгу. При этом предоставляет pen register (фактически, такой вариант прослушки на уровне метаданных) - сообщает о новых действиях в нужном аккаунте с задержкой в 15 минут, то есть кто кому когда писал и звонил.
Еще в таблице есть информация про Line, Threema, Wechat и Wickr, но это уже сами почитайте) Интересно, что у всех мессенджеров вроде почти одинаковое шифрование (кроме Telegram, дада), но метаданные все выдают по-разному.
https://propertyofthepeople.org/document-detail/?doc-id=21114562
== gobang
A cross-platform TUI database management tool written in Rust
https://github.com/TaKO8Ki/gobang
A cross-platform TUI database management tool written in Rust
https://github.com/TaKO8Ki/gobang
GitHub
GitHub - TaKO8Ki/gobang: A cross-platform TUI database management tool written in Rust
A cross-platform TUI database management tool written in Rust - TaKO8Ki/gobang
== Microservices & API Gateways | Mashape
https://youtu.be/zs_QyRTIpDM
- монолит VS микросервисы
- паттер API Gateway
- KONG + NGINX
== Welcome to Kong
https://docs.konghq.com/
https://youtu.be/zs_QyRTIpDM
- монолит VS микросервисы
- паттер API Gateway
- KONG + NGINX
== Welcome to Kong
https://docs.konghq.com/
YouTube
Microservices & API Gateways | Mashape
Software developers have been looking at different ways of building software and different architectural patterns have emerged. In this sort of revolution, Microservices and APIs have increasingly assumed greater importance as both a technology and a design…
== What are certificates?
https://youtu.be/LRMBZhdFjDI
- Digital Signature
- Certificate Trust Model
- Certificate Hierarchy
== SSL and Certificates Explained
https://youtu.be/cLnMr2OuXFI
https://youtu.be/LRMBZhdFjDI
- Digital Signature
- Certificate Trust Model
- Certificate Hierarchy
== SSL and Certificates Explained
https://youtu.be/cLnMr2OuXFI
YouTube
What are certificates?
Certificates are used to prove identity and used for creating secure communication. Check out http://itfreetraining.com for more of our always free training videos. This video looks at how a certificate works, what is a certificate and how they are used for…
== Whonix: руководство для начинающих
https://habr.com/ru/company/alexhost/blog/532980/
https://habr.com/ru/company/alexhost/blog/532980/
Хабр
Whonix: руководство для начинающих
Whonix — это дистрибутив Linux на основе Debian, который разработан для обеспечения повышенной безопасности и конфиденциальности. Высокая анонимность достигается средствами VirtualBox и Tor. Whonix...
BufWriter<Master<'_>>
== Whonix: руководство для начинающих https://habr.com/ru/company/alexhost/blog/532980/
== КАК РАБОТАЕТ ПАМЯТЬ КОМПЬЮТЕРА
https://youtu.be/Wh22_O8jXVQ
- байтовая адресация
- словестная адресация (специализированные устройства, не для общих масс)
размер регистра определяет максимальный адрес в ОЗУ
отрицательное число: -5
1) 5
= 0101
2) добавляем бит знака
= 1101
3) инвертируем все кроме знакового бита
= 1010
4) добавляем единицу
-5 = 1011
5) оставшиеся биты будут заполнены битами знака
= 11111011 (для слова в 1 байт)
== КАК РАБОТАЮТ СИСТЕМЫ СЧИСЛЕНИЯ
https://youtu.be/kG_ipMygRUc
хороший канал, кстати говоря https://www.youtube.com/channel/UCIn6hza5Ai119FJnLMJzECQ
https://youtu.be/Wh22_O8jXVQ
- байтовая адресация
- словестная адресация (специализированные устройства, не для общих масс)
размер регистра определяет максимальный адрес в ОЗУ
отрицательное число: -5
1) 5
= 0101
2) добавляем бит знака
= 1101
3) инвертируем все кроме знакового бита
= 1010
4) добавляем единицу
-5 = 1011
5) оставшиеся биты будут заполнены битами знака
= 11111011 (для слова в 1 байт)
== КАК РАБОТАЮТ СИСТЕМЫ СЧИСЛЕНИЯ
https://youtu.be/kG_ipMygRUc
хороший канал, кстати говоря https://www.youtube.com/channel/UCIn6hza5Ai119FJnLMJzECQ
YouTube
КАК РАБОТАЕТ ПАМЯТЬ КОМПЬЮТЕРА | ОСНОВЫ ПРОГРАММИРОВАНИЯ
Чтобы понять, что из себя представляет программа на самом деле, нужно разобраться с тем, кто и как ее выполняет в конечном итоге.
Этим занимается процессор, но без понимания того, как организована оперативная память компьютера, как в ней хранятся данные и…
Этим занимается процессор, но без понимания того, как организована оперативная память компьютера, как в ней хранятся данные и…
== КАК РАБОТАЕТ КЭШ ПРОЦЕССОРА
https://youtu.be/7n_8cOBpQrg
полный обьем кэша вычисляется как сумма
1) ПОЛЕЗНЫЙ размер кэша
2) СЛУЖЕБНЫЕ данные
полезный размер = 128 байт
32 х 4 + 4 х 4 = 144 байта
кэш прямого отображения = каждая строка ОЗУ соответствует определенной строке в КЭШ памяти. поделив сегменты ОЗУ на количество строк в кэше. очень быстро становится понятно соотвествие кэша и ОЗУ
+ быстрый поиск
= тег (старшая часть адреса) + индекс строки + смещение
наборно ассоциативный кэш
бьется на сегменты прямого кэша
медленней чем больше сигментов
полностью ассоциативный кэш
- низкая производительный
кэшконтроллер должен сам предсказывать и загружать автоматически из ОЗУ в кэш
LRU - last recently used (заменяются те данные которые дольше всех лежат без дела)
MFU - most frequently used (заменяются те что только что использовались)
LFU - least frequently used (заменяются данные которые используются реже всех)
несколько маленьких кэшей лучше одного большого
L1 и L2 пренадлежит каждому ядру ЦПУ поотдельности.
L3 делится между всеми ядрами
архитектуры L2:
- inclusive (дублирование с Л1) озу -> L2 -> L1 (копирует)
- exclusive (не дублируется) озу -> L2 -> L1 -> L2 (возвращает то что переполнилось)
если L3 inclusive - то можно не искать. если Exclusive - то искать надо
inclusive хранит МЕНЬШЕ данных. но быстрей
exclusive хранит БОЛЬШЕ данных. но медленней
!!! большие типы данных читаются быстрей всех
НО больше кэшмиссов (так как забьются кэши бестрей)
И лучше иметь массив который полностью помещается в кэш.
выбор типа всегда трейдофф и баланс
РАСШИРЕНИЕ ЧИСЛЕННОГО ТИПА
- явное или неявное (компилятором) приведение типов до машинного слова
Когерентность кэша
- совпадает ли копия в кэше с копией в ОЗУ
механизмы когерентности описываются правилами и протоколами в каждом из ЦПУ
S - shared
I - invalid
M - modified
= MSI протокол
E - exclusive
= MESI протокол
O - owned
= MOESI протокол
F - Forward (вместо Owned)
= MESIF
https://youtu.be/7n_8cOBpQrg
полный обьем кэша вычисляется как сумма
1) ПОЛЕЗНЫЙ размер кэша
2) СЛУЖЕБНЫЕ данные
полезный размер = 128 байт
32 х 4 + 4 х 4 = 144 байта
кэш прямого отображения = каждая строка ОЗУ соответствует определенной строке в КЭШ памяти. поделив сегменты ОЗУ на количество строк в кэше. очень быстро становится понятно соотвествие кэша и ОЗУ
+ быстрый поиск
= тег (старшая часть адреса) + индекс строки + смещение
наборно ассоциативный кэш
бьется на сегменты прямого кэша
медленней чем больше сигментов
полностью ассоциативный кэш
- низкая производительный
кэшконтроллер должен сам предсказывать и загружать автоматически из ОЗУ в кэш
LRU - last recently used (заменяются те данные которые дольше всех лежат без дела)
MFU - most frequently used (заменяются те что только что использовались)
LFU - least frequently used (заменяются данные которые используются реже всех)
несколько маленьких кэшей лучше одного большого
L1 и L2 пренадлежит каждому ядру ЦПУ поотдельности.
L3 делится между всеми ядрами
архитектуры L2:
- inclusive (дублирование с Л1) озу -> L2 -> L1 (копирует)
- exclusive (не дублируется) озу -> L2 -> L1 -> L2 (возвращает то что переполнилось)
если L3 inclusive - то можно не искать. если Exclusive - то искать надо
inclusive хранит МЕНЬШЕ данных. но быстрей
exclusive хранит БОЛЬШЕ данных. но медленней
!!! большие типы данных читаются быстрей всех
НО больше кэшмиссов (так как забьются кэши бестрей)
И лучше иметь массив который полностью помещается в кэш.
выбор типа всегда трейдофф и баланс
РАСШИРЕНИЕ ЧИСЛЕННОГО ТИПА
- явное или неявное (компилятором) приведение типов до машинного слова
Когерентность кэша
- совпадает ли копия в кэше с копией в ОЗУ
механизмы когерентности описываются правилами и протоколами в каждом из ЦПУ
S - shared
I - invalid
M - modified
= MSI протокол
E - exclusive
= MESI протокол
O - owned
= MOESI протокол
F - Forward (вместо Owned)
= MESIF
YouTube
КАК РАБОТАЕТ КЭШ ПРОЦЕССОРА | ОСНОВЫ ПРОГРАММИРОВАНИЯ
Как работает КЭШ?
Одна из важных частей всего компьютера, которая зачастую остается в тени, так как напрямую мы взаимодействовать с кэшем не можем.
Зато он весьма сильно влияет на скорость выполнения программ.
Как, что и почему - смотрим в видео.
ПЛЕЙЛИСТ…
Одна из важных частей всего компьютера, которая зачастую остается в тени, так как напрямую мы взаимодействовать с кэшем не можем.
Зато он весьма сильно влияет на скорость выполнения программ.
Как, что и почему - смотрим в видео.
ПЛЕЙЛИСТ…
== КАК РАБОТАЕТ ПРОЦЕССОР
https://youtu.be/k9wK2FThEsk
разрядность = размер машинного слова = количество памяти которым опирируется процессор за раз
регистры - маленькие быстрые ячейки памяти прямо в процессоре
максимальный размер регистра = разрядность
регистры
- специального назначение
- общего назначения (переменные, параметры, временное хранилище)
AH=8 AL=8
AX=16
EAX=32
RAX=64
сегментные регистры SS CS DS ...
регистры для работы со стеком BP, CP, ...
флаговые регистры FLAGS...
указатель команд (instruction pointer) IP
регистры могут ПЕРЕПОЛНЯТЬСЯ !!!
БИОС
- найти первое ПЗУ
- найти нулевой сектор
- загрузить команду в ЦПУ
- передать управление команде
работа с трансляцией адресов
1) режим реальных адресов = 16бит
2) защищенный = 32бит
3) 64 разрядный
ИЛИ
1) режим реальных адресов + защищенный = legacy mode = 32бит
2) 64 разрядный + режим совместимости = long mode = 64бит
уровни привелегий
0 - привелегированный - ОС
1
2
3 - юзерспейс - прикладные программы
вся ОЗУ поделена на сегменты!
логический адрес = адрес начала сегмента + смещение в сегменте
в режиме реальных адресов = 2^20 = 1мб
физический адрес = адрес начала << 4 + смещение
в защищенном режиме
происходит виртуализация адреса !
логический адрес = селектор дескриптора + смещение в сегменте
селектор дескриптора (16бит) = уровень привелегий + таблица + индекс строки в таблице
таблица это структура = индекс + начальний адрес сегмента + уровень привелегий + размер сегмента
виртуальная память = страничная организация памяти.
- Каталог таблиц страниц,
- таблица страниц
- страница
64ьитный режим
- ОТКЛЮЧЕНА СИГМЕНТАЦИЯ
- есть ограничение на адресацию физической 2^52 и виртуальной памяти 2^48. изза ограничений ОС и процессоров
программа получает логический адрес
и в зависимости от режима памяти транслируется сразу в физический адрес или в виртуальный а затем в физический
получив сигнал процессор генерирует прерывание и обрабатывается обработчиком прерывания
типы прерывания
- исключение
- программный
- аппаратный
не все ОС разрешают вызывать программам прерывания напрямую
https://youtu.be/k9wK2FThEsk
разрядность = размер машинного слова = количество памяти которым опирируется процессор за раз
регистры - маленькие быстрые ячейки памяти прямо в процессоре
максимальный размер регистра = разрядность
регистры
- специального назначение
- общего назначения (переменные, параметры, временное хранилище)
AH=8 AL=8
AX=16
EAX=32
RAX=64
сегментные регистры SS CS DS ...
регистры для работы со стеком BP, CP, ...
флаговые регистры FLAGS...
указатель команд (instruction pointer) IP
регистры могут ПЕРЕПОЛНЯТЬСЯ !!!
БИОС
- найти первое ПЗУ
- найти нулевой сектор
- загрузить команду в ЦПУ
- передать управление команде
работа с трансляцией адресов
1) режим реальных адресов = 16бит
2) защищенный = 32бит
3) 64 разрядный
ИЛИ
1) режим реальных адресов + защищенный = legacy mode = 32бит
2) 64 разрядный + режим совместимости = long mode = 64бит
уровни привелегий
0 - привелегированный - ОС
1
2
3 - юзерспейс - прикладные программы
вся ОЗУ поделена на сегменты!
логический адрес = адрес начала сегмента + смещение в сегменте
в режиме реальных адресов = 2^20 = 1мб
физический адрес = адрес начала << 4 + смещение
в защищенном режиме
происходит виртуализация адреса !
логический адрес = селектор дескриптора + смещение в сегменте
селектор дескриптора (16бит) = уровень привелегий + таблица + индекс строки в таблице
таблица это структура = индекс + начальний адрес сегмента + уровень привелегий + размер сегмента
виртуальная память = страничная организация памяти.
- Каталог таблиц страниц,
- таблица страниц
- страница
64ьитный режим
- ОТКЛЮЧЕНА СИГМЕНТАЦИЯ
- есть ограничение на адресацию физической 2^52 и виртуальной памяти 2^48. изза ограничений ОС и процессоров
программа получает логический адрес
и в зависимости от режима памяти транслируется сразу в физический адрес или в виртуальный а затем в физический
получив сигнал процессор генерирует прерывание и обрабатывается обработчиком прерывания
типы прерывания
- исключение
- программный
- аппаратный
не все ОС разрешают вызывать программам прерывания напрямую
YouTube
КАК РАБОТАЕТ ПРОЦЕССОР | ОСНОВЫ ПРОГРАММИРОВАНИЯ
Как работает процессор?
Чтобы понять что из себя представляют программы и как они выполняются, нужно иметь представление об организации работы компьютера, которая включает в себя работу процессора, памяти, операционных систем.
Это одно из самых важных видео…
Чтобы понять что из себя представляют программы и как они выполняются, нужно иметь представление об организации работы компьютера, которая включает в себя работу процессора, памяти, операционных систем.
Это одно из самых важных видео…
== КАК РАБОТАЕТ СТЕК
https://youtu.be/MXoMuymbfo8
SP (stack pointer) указатель вершины
BP (base pointer) адрес начала фрейма
push - поместить на вершину
pop - извлечь из вершины
call - перед прыжком заносит в регистр адресс возврата
ret - возвращается обратно по адресу который положил call
фрейм - место в стеке
вызов функции
- пролог (сохранение данных ДО старта функции, создание нового стэка)
-
-
-
- код
-
-
- ....
- эпилог (возврат обратно в родительский стэк)
-
-
-
Передача параметров функции (stdcall)
- передаются в стэк параметры в обратном порядке
-
-
-
-
-
-
-
-
-
- передать можно через
- стэк
- регистры
- глобальные переменные (нельзя вызывать себя рекурсивно)
область локальных переменных - стэковый кадр (фрейм)
https://youtu.be/MXoMuymbfo8
SP (stack pointer) указатель вершины
BP (base pointer) адрес начала фрейма
push - поместить на вершину
pop - извлечь из вершины
push 3jmp - просто прыгает внужную строку кода
pop AX - кладет на AX значение из вершины. смещает вершину ниже
call - перед прыжком заносит в регистр адресс возврата
ret - возвращается обратно по адресу который положил call
фрейм - место в стеке
вызов функции
- пролог (сохранение данных ДО старта функции, создание нового стэка)
-
call proc-
push bp-
mov bp, sp- код
-
push 4-
push 5.5- ....
- эпилог (возврат обратно в родительский стэк)
-
mov sp, bp-
pop bp-
retПередача параметров функции (stdcall)
- передаются в стэк параметры в обратном порядке
-
push 3 # arg[2]-
push 2 # arg[1]-
push 1 # arg[0]-
call fn-
push bp-
mov bp, sp-
mov ax, [bp + 4]-
mov bx, [bp + 6]-
mov cx, [bp + 8]- передать можно через
- стэк
- регистры
- глобальные переменные (нельзя вызывать себя рекурсивно)
область локальных переменных - стэковый кадр (фрейм)
YouTube
КАК РАБОТАЕТ СТЕК | ОСНОВЫ ПРОГРАММИРОВАНИЯ
Как работает стек, что это вообще такое и почему он напрямую связан с работой функций мы разберем в этом видео.
ССЫЛКИ ИЗ ВИДЕО:
1. Как работает память компьютера - https://www.youtube.com/watch?v=Wh22_O8jXVQ
2. Как работает процессор - https://www.you…
ССЫЛКИ ИЗ ВИДЕО:
1. Как работает память компьютера - https://www.youtube.com/watch?v=Wh22_O8jXVQ
2. Как работает процессор - https://www.you…