Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

Вопросы с кр во вторник:

  1. Что произойдет с остальными потоками если в одном из них возникнет ошибка, например необработанное исключение?
  2. Что такое Data race, пример
  3. Процессу поступил сигнал SIGPIPE что произошло?
  4. Что такое маска сигналов, что происходит при fork()
  5. Что гарантирует TCP протокол
  6. Какие протоколы используются при DNS
  7. В чем отличие Level-Triggered and Edge-Triggered epoll?
  8. Задача придумать свое решение для передачи данных. Есть tracerout

Почитайте статьи перед кр чтобы освежить:

  1. https://medium.com/german-gorelkin/race-8936927dba20
  2. https://man7.org/linux/man-pages/man2/fork.2.html
  3. https://man7.org/linux/man-pages/man7/signal.7.html
  4. https://man7.org/linux/man-pages/man7/epoll.7.html
  5. про модель osi и какие вервисы работают на каждом уровне запись выложу ночью, как дома буду
  6. и про 4-х уровневую модель тоже

Вопросы по АКОСу для студентов 2-го курса ФИВТа.

Модуль 3.

  1. Что такое иерархия памяти? (кэш, RAM, SSD и тд, диспетчер(менеджер) памяти)
  2. Модели управления памятью? (с самой простой до самой сложной как есть сейчас) //объяснение:
модель без абстракций:

######the main points:

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

единственный способ параллельности - это использовать потоки. 3) свопинг - это ... ?

модель с абстракциями

(адресные пространства) ######the main points:

  • адресное пространство - это набор адресов, который может быть использован процессом для обращения к памяти.

  • у каждого процесса есть свое адресное пространство.

  • идея, как каждой программе выделяем адресное пространство. (т к адрес 28 есть одно место для одной программы и есть совершенно иное место для другой программы)

  • динамическое перераспределение памяти (адресное пространство каждой программы проецируется просто на какой-то участок физической памяти)

  • (базовый и ограниченный регистр) в базовый регистр загружается адрес начала программы, в ограничительный длина программы. использование этих регистров решает проблему того, что мы присваиваем базовому и ограничительному регистру некоторые блоки памяти.

  • виртуальная память это (это подход, который позволяет запускаться программам даже если они присутствуют в ОЗУ памяти только частично)

  • уплотнение памяти (зачастую не юзается, т к занимает оч много процессорного времени) свопинг имеет минус если например процесс не знает заранее сколько ему нужно памяти, например если это программа на с++, где есть динамическое выделение памяти

  • если память выделяется в динамическом режиме, то этим занимается оперционная система, т е есть два способа отслеживания использования памяти: битовые матрицы и списки свободного пространства.

  • битовые матрицы - (каждому блоку памяти размерром от машинного слова до блока размера несколько килобайт соотносится 1 бит в битовой матрице)

Вопросы АКОС весна:

Контест 1 (Каналы)

  1. Что такое файловый дескриптор?
  2. Для чего нужны файловые дескрипторы? (https://timeweb.com/ru/community/articles/chto-takoe-faylovyy-deskriptor-prostymi-slovami)
  3. что такое буфферизированный и небуфферезированный файловый ввод-вывод? какие библиотечные функции работают с буферизацией? а какие без? (getch(), putch() из conio) Какие преимущества буферизации перед небуфферизацией и наоборот?
  4. что такое синхронизация передачи данных?
  5. О чем говорит ошибка bad file descriptor?
  6. fcntl что делает, какие аргументы?
  7. что делают команды dup, dup2? в чем разница?
  8. что такое канал? зачем нужен? зачем придуман?
  9. что происходит с записью и чтением в/из канал(а)?
  10. Что такое deadlock?
  11. Приведи примеры race conditional

Контест 2(Сигналы)

  1. Что такое сигнал? Каков механизм их работы?
  2. Что может делать процесс при получении сигнала? (какой обработчик сигнала стоит по умолчанию почти на всех процессах?)
  3. Какой код возврата у процесса, который был завершен с помощью сигнала?
  4. Как отправить сигнал? Какие сигналы умеет отправлять терминал (достаточно 2 примеров)? Какой системный вызов есть для отправки сигнала? какие тонкости работы? int kill(pid_t pid, int signum); // возвращает 0 или -1, если ошибка.
  5. Raise для каких нужд? Abort -> SIGABRT (assert)?
  6. Alarm как системный вызов?
  7. Функции-обработчики сигналов?

Контест 3(Сокеты)

  1. что такое сокет? зачем нужен?
  2. команда для создания сокета, ее аргументы, о каждом подробнее: пространства имен какие бывают? типы взаимодействия какие? (что такое системный вызов?) TCP и UDP протоколы о чем? в чем разница?
  3. зачем нужна такая сущность, как пара сокетов? в чем отличие от канала?

Контест 4 (Неблокирующий файловый ввод-вывод, epoll)

  1. В чем мотивация использования неблокирующего файлового ввода-вывода?
  2. Флаг O_NONBLOCK
  3. что будет, если писать в файловый дескриптор, где нет места? или читать тот, где ничего нет?
  4. что такое epoll, в чем идея?
  5. что такое очередь ядра операционной системы?

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors