Skip to content

Commit 09b5a72

Browse files
committed
Add questions
1 parent a80b0f4 commit 09b5a72

File tree

4 files changed

+213
-1
lines changed

4 files changed

+213
-1
lines changed

cs226.html

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<body>
4+
<h1>Операционные системы и сети (CS226)</h1>
5+
<h2>Программа курса</h2>
6+
<p>
7+
Данный курс знакомит студентов с основами операционных систем, а также с основами сетей и телекоммуникаций.
8+
Описание курса:
9+
</p>
10+
<ul>
11+
<li>Знакомство с программированием событийно-управляемых систем Использование программных интерфейсов приложения (API): программирование с использованием API; программы просмотра классов и другие подобные инструменты; программирование с помощью примеров; отладка программы, использующей API</li>
12+
<li>Обзор операционных систем: роль и задачи операционных систем; история развития операционных систем; функциональность типичной операционной системы</li>
13+
<li>Основные принципы работы операционных систем: методы структуризации; абстракции, процессы и ресурсы; понятие программных интерфейсов приложений; организация устройств; прерывания; понятия режимов работы пользователя/супервизора и защиты</li>
14+
<li>Введение в параллелизм: принципы синхронизации; проблема взаимного исключения и некоторые решения; избегание блокировок</li>
15+
<li>Параллелизм: состояния и диаграммы состояний; структуры; диспетчеризация и переключение контекстов; роль прерываний; параллельное исполнение; проблема взаимного исключения и некоторые решения; блокировки; модели и механизмы; проблемы поставщика/потребителя и синхронизация.</li>
16+
<li>Планирование и диспетчеризация: вытесняющее и невытесняющее планирование; планировщики и политики их работы; процессы и нити; учет предельных сроков и реального времени</li>
17+
<li>Управление памятью: обзор физической памяти и управляющей аппаратуры; оверлеи, подкачка и разделы; страничная организация памяти и сегментация; стратегии подкачки и выгрузки страниц; рабочие множества и пробуксовка; кэширование</li>
18+
<li>Введение в распределенные алгоритмы: консенсус и выборы; отказоустойчивость</li>
19+
<li>Введение в распределенное программирование: причины возникновения и история сетевого программирования и Интернета; сетевые архитектуры, круг специализаций в сетевом программировании </li>
20+
<li>Введение в телекоммуникации и сети: сетевые архитектуры; вопросы, связанные с распределенными вычислениями; простые сетевые протоколы, API для работы выполнения сетевых операций </li>
21+
<li>Знакомство с WWW: веб-технологии; характеристики web-серверов; природа связи клиент-сервер; web-протоколы; программные средства для создания и управления web-сайтом</li>
22+
<li>Сетевая безопасность: основы криптографии; алгоритмы с секретным ключом; алгоритмы с открытым ключом; протоколы аутентификации; цифровые подписи</li>
23+
</ul>
24+
</body>
25+
</html>

index.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
<p><a href="./questions.html">questions</a></p>
2+
13
<p><a href="./1.html">1</a></p>
24

35
<p><a href="./2.html">2</a></p>

questions.html

Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<body>
4+
<h1>Операционные системы</h1>
5+
<ol>
6+
7+
<li> <!--1-->
8+
Определения ОС: расширенная машина и менеджер ресурсов.
9+
История развития операционных систем.
10+
Типы ОС по назначению.
11+
</li>
12+
13+
<li> <!--2-->
14+
Взаимодействие ОС и программы (API/ABI).
15+
Исключения.
16+
Режимы работы пользователя/супервизора.
17+
Методы организации ОС: монолитные, микроядерные, экзоядерные.
18+
</li>
19+
20+
<li> <!--3-->
21+
Адресное пространство.
22+
Процессы: создание, идентификация, завершение процесса.
23+
Иерархия процессов.
24+
Bourne shell, реализация: fork, exec, waitpid, pipe, dup.
25+
Сигналы.
26+
Файловые дескрипторы.
27+
</li>
28+
29+
<li> <!--4-->
30+
Планирование, планировщик.
31+
Политики планирования.
32+
Невытесняющее планирование, стркутуры данных планировщика.
33+
Кооперативное планирование, политики.
34+
</li>
35+
36+
<li> <!--5-->
37+
Управление памятью.
38+
Иерархия выделения памяти.
39+
Декомпозиция выделения, метрики.
40+
Алгоритмы на списках.
41+
Близнецы.
42+
Граничные маркеры.
43+
Раздельный поиск, хранение.
44+
Специализированные алгоритмы: пул, obstack.
45+
</li>
46+
47+
<li> <!--7-->
48+
Прерывания.
49+
Обработка прерывания в два этапа.
50+
Таймеры: аппаратные, программные.
51+
Реализации программного таймера.
52+
Учет предельных сроков, реального времени.
53+
</li>
54+
55+
<li> <!--9-->
56+
Вытесняющее планирование, переключение контекстов.
57+
Добровольное и принудительное перекелючение.
58+
Системный вызов и квант времени: вытесняемое и невытесняемое ядро.
59+
</li>
60+
61+
<li> <!--11-->
62+
Состязательная ситуация, взаимное исключение.
63+
Использование прерываний.
64+
Блокирующая переменная.
65+
Алгоритм Петерсона.
66+
Семафор, mutex.
67+
Монитор.
68+
Барьер.
69+
</li>
70+
71+
<li> <!--13-->
72+
Задача обедающих философов, решения.
73+
Задача читателя/писателя, решения с приоритетом читателю, писателю, с честным распределением.
74+
Взаимоблокировка.
75+
Необходимые условия, предотвращение.
76+
Уклонение, алгоритм банкира.
77+
Обнаружение и восстановления.
78+
</li>
79+
80+
<li> <!--15-->
81+
Блочные устройства.
82+
Файлы, cистемные вызовы для работы с ними.
83+
Дерево файлов, системные вызовы.
84+
Ссылки: жесткие, мягкие.
85+
Файловая система, возможные реализации:
86+
непрерывное размещение,
87+
связный список,
88+
связный список в таблице,
89+
inode,
90+
журнальная.
91+
Сбои, непротиворечивость ФС.
92+
Журналирование.
93+
Виртуальная файловая система.
94+
FUSE: Filesystem in Userspacе.
95+
</li>
96+
97+
<li> <!--17-->
98+
Модель памяти.
99+
Сегментная модель.
100+
Виртуальная память.
101+
Отображение адресов, таблицы трансляции, Translation Lookaside Buffer (TLB).
102+
Swapping, paging.
103+
Алгоритмы выбора страницы для замещения:
104+
First In First Out (FIFO),
105+
второй шанс,
106+
часы,
107+
Not Recently Used (NRU),
108+
Least Recently Used (LRU),
109+
Not Frequently Used (NFU),
110+
рабочий набор.
111+
</li>
112+
113+
<li> <!--19-->
114+
Многопроцессорные системы.
115+
мультипроцессоры,
116+
мультикомпьютеры.
117+
Типы мультипроцессоров: UMA, NUMA.
118+
Типы ОС для мультипроцессоров: собственная для процессора, AMP, SMP.
119+
Подходы к реализации планирования. Реентерабельность.
120+
Spinlock, реализация.
121+
Подходы к реализации мультикомпьютеров: посылка сообщений, удалённый вызов, обмен страницами.
122+
</li>
123+
124+
<li> <!--20-->
125+
Кеш оперативной памяти, устройство, характеристики.
126+
Проблемы с использованием в мультипроцессорных системах.
127+
Протокол MESI.
128+
Барьеры памяти.
129+
Read-Copy-Update (RCU). Реализация.
130+
</li>
131+
132+
<li> <!--21-->
133+
История появления компьютерных сетей, Интернета.
134+
Типы коммутации.
135+
Протокол, стек протоколов.
136+
Канальный уровень, ethernet.
137+
Сетевой уровень, IP.
138+
Транспортный уровень, UDP, TCP.
139+
Berkeley сокеты, модель программирования для клиента.
140+
Модель программирования для сервера.
141+
Реалзиации HTTP сервера: многопроцессная, многопоточная, событийная.
142+
</li>
143+
144+
<li> <!--23-->
145+
Распределённые системы, фундаметальные проблемы.
146+
Типы: сильносвязанная, слабосвязанная.
147+
Модели распределённых систем, синхронность.
148+
Построение остовного дерева узлов с выделенным корнем.
149+
Взаимное исключение.
150+
Остовное дерево без выделеного корня.
151+
Выбор лидера в кольце.
152+
Синхронизация времени в распределённой системе, NTP.
153+
Логическое время, алгоритм Лампорта.
154+
Векторные часы.
155+
Отказы: аварии, византийские.
156+
Консенсус, алгоритм достижения при возможных авариях, византийских отказах.
157+
Отказоустойчивость, транзакции, восстановление.
158+
Реализации транзакций:
159+
закрытое пространство,
160+
журнал.
161+
Репликация, транзакции в распределённой системе: вложенная, распределённая.
162+
Реализация распределённого подтвеждения.
163+
</li>
164+
165+
<li> <!--25-->
166+
Безопасность.
167+
Модели политик.
168+
Модели авторизации.
169+
Криптография.
170+
Симметричное шифрование: шифры-подстановки, XOR, одноразовые блокнотыю
171+
Ассиметричное шифрование.
172+
Гибридное шифрование.
173+
Man-in-the-Middle, Interlock.
174+
Цифровая подпись, реализация.
175+
</li>
176+
</ol>
177+
</body>
178+
</html>

tocgen.sh

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
1+
#!/bin/bash
12

23
TOC=index.html
34

45
echo -n > $TOC
56

6-
for i in $(find \( -name '*.html' -o -name '*.pdf' \) -and -not -name proto.html -and -not -name index.html | sort -n -k 1.3 ); do
7+
MASKED_FILES=(
8+
index.html
9+
proto.html
10+
cs226.html
11+
)
12+
13+
for i in $(find \( -name '*.html' -o -name '*.pdf' \) ${MASKED_FILES[@]/#/-and -not -name } | sort -n -k 1.3 ); do
714
echo -e "<p><a href=\"$i\">$(basename ${i%.*})</a></p>\n" >> $TOC
815
done

0 commit comments

Comments
 (0)