Войти через соцсеть:
Войти через email:
В этом докладе мы пройдемся по жизненный циклу программы, начиная с исходного кода который мы написали. Как исходный код превращается в исполняемый файл компилятором.
Узнаем как операционная системы (ОС) грузит его и запускает. Как программа общается с ОС. И попробуем разобраться, из чего состоит ОС.
И последняя часть, что такое ядро ОС и какие они бывают. Вещи на самом деле о которых за частую не все знают. И даже индустрия которые, иногда из-за этого незаслуженно недооценивает, хотя некоторые из этих технологий для энтерпрайс-компаний могут кардинально снизить затраты.
В докладе мы обсудим:
- Что такое компиляция
- Что такое линковка
- Поговорим про формат исполняемого файла на примере ELF
- Какой код бывает: позиционно зависимый и позиционно независимы (PIC)
- Релокации
- Модели памяти
- Как происходит загрузка нашего кода
- AOT, JIT и интерпретация, кто они такие
- Что такое виртуальная память
- Что такое процесс
- Что такое поток
- Как программа взаимодействует с ОС: syscall и библиотеки
- Что такое ОС и для чего нужна
- Что такое рантайм
- Что такое ядро ОС
- Монолитное ядро
- Микро-ядро
- Взглянем вскользь на устройство микро-ядра на примере KasperkyOS
- Что такие RTOS
- Что такой Гипервизор
- Unikernel
Статический анализ - очень полезная технология поиска ошибок в коде, имеющая на сегодняшний день множество возможностей.
В этом докладе я расскажу вам про эти возможности, а так же за что программисты, преуспевшие в использовании технологий, её уважают.
Будет приведено много интересных примеров из нашей практики, как стат. анализатор:
- может быть внимательнее программистов;
- обучает людей;
- замечает нашу лень;
- может помочь оптимизировать код;
- экономит наше время.