You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
3.5 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

{
"cells": [
{
"cell_type": "markdown",
"id": "4020485b",
"metadata": {},
"source": [
"# Тест по процессам и потокам #"
]
},
{
"cell_type": "markdown",
"id": "1e130053",
"metadata": {},
"source": [
"1. Все процессы работают в ОС\n",
"\n",
"- [x] последовательно, ОС занимается переключением контекста\n",
"- [ ] параллельно, одновременно могут выполняться несколько процессов на одном ядре CPU"
]
},
{
"cell_type": "markdown",
"id": "7952a2d2",
"metadata": {},
"source": [
"2. Предположим вывод команды `lsof` для процесса с `pid 1701`:\n",
"\n",
"```\n",
"lsof -p 1701\n",
"...\n",
"python 1701 user mem REG 8,1 147688 781852 /lib/i386-linux-gnu/ld-2.23.so\n",
"python 1701 user 0u CHR 136,9 0t0 12 /dev/pts/9\n",
"python 1701 user 1w REG 8,1 0 545637 /home/user/log.txt\n",
"python 1701 user 2u CHR 136,9 0t0 12 /dev/pts/9\n",
"```\n",
"\n",
"Стандартный вывод у процесса с `pid 1701` это\n",
"\n",
"- [ ] терминал\n",
"- [ ] область памяти в библиотеке `ld-2.23.so`\n",
"- [x] файл `/home/user/log.txt`\n",
"- [ ] отсутствует"
]
},
{
"cell_type": "markdown",
"id": "693d6bbc",
"metadata": {},
"source": [
"3. Выделить истинные выражения:\n",
"\n",
"- [x] выполнением Python потоков в Linux занимается операционная система\n",
"- [x] все потоки разделяют память процесса в котором они созданы\n",
"- [ ] выполнением Python потоков в Linux занимается процесс, в котором они запущены\n",
"- [ ] у каждого потока есть собственная память\n",
"- [x] потоки в Python выполняются в рамках одного процесса, разделяя GIL"
]
},
{
"cell_type": "markdown",
"id": "591de8bd",
"metadata": {},
"source": [
"4. Какие участки кода в Python могут выполняться без GIL?\n",
"\n",
"- [x] Вызовы сторонних библиотек на языке C\n",
"- [ ] Функции, выполняющиеся в `ThreadPoolExecutor`\n",
"- [ ] Функции, занимающиеся вычислениями на CPU\n",
"- [x] Системные вызовы"
]
},
{
"cell_type": "markdown",
"id": "43165d4c",
"metadata": {},
"source": [
"5. Что происходит с памятью в дочернем процессе?\n",
"\n",
"- [ ] Разделяется с родительским процессом\n",
"- [x] Копируется из родительского процесса"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.8"
}
},
"nbformat": 4,
"nbformat_minor": 5
}