CPU, Memory Models, Concurrency, Multiprocess, Multithreading и Async (Рубрика ComputerScience)
Я часто рассказываю про то, что надо знать базу для того, чтобы развиваться в software engineering. Но обычно сложно описать, а что же входит в это определение "база" и является джентельменским набором хорошего инженера. Но тут мой коллега, Женя Козлов, крутой инженер, написал серию статей про процессоры, модели памяти, многозадачность и конкурентность. В этой серии разбираются моменты, которые полезны инженерам, что делают высоконагруженные системы, которые плотно работают с данными. Собственно, сам Женя у нас лидит команду, что занимается Statist - это наша система продуктовой аналитики, которая давно заменила нам Amplitude и по всем характеристикам тянет на data intensive application. В общем, я очень рекомендую вам эту серию статей от Жени, если вам интересно понять как компьютер обрабатывает под капотом те программы, что вы пишите на своем любимом языке программирования.
- Начальный пост про многозадачность в OS
- Про развитие процессоров и взаимодействие OS с ними
- Про Hyper Threading
- Процессы. Начало
- Процессы в Linux
- Потоки. Начало
- Потоки в Linux 😍 Модели ввода-вывода. Универсальная(блокирующая) модель ввода-вывода
- Multiplexed IO
- Asynchronous IO
#Software #ComputerScience #Engineering #SRE #Architecture