- •1 Понятие операционной Системы. Иерархическая структура. Привилегированный режим.
- •2 Многослойная структура ос
- •3 Характеристики современных ос. Многопоточность. Распределенные ос. Концепция ос на основе микроядра. Функции микроядра.
- •4.Принципы построения ос. Переносимость операционной системы.
- •1.Принцип модульности
- •2.Принцип виртуализации
- •3.Принцип особого режима работы
- •4.Принцип мобильности
- •5 Виды процессов
- •6 Многопоточная модель процесса. Создание потоков. Преимущества много поточности. Уровни потоков
- •7 Цели и необходимость синхронизации процессов и потоков. Критическая секция. Блокирующие переменные. Семафоры Дейкстры.
- •8 Тупики. Восстановление после тупиков. Предотвращение тупиков за счет нарушения условий возникновения.
- •9. Синхронизирующие объекты ос разных процессов. Мьютекс. Сигналы. Почтовый ящик.
- •10) Функции ос по управлению памятью. Физический и виртуальный адрес. Способы преобразования виртуального адреса в физический.
- •11) Соотношение объемов виртуального адресного пространства и физической памяти. Части виртуальных адресных пространств.
- •12 Распределение памяти фиксированными разделами. Распределение памяти динамическими разделами.
- •13 Перемещаемые разделы памяти. Свопинг. Виртуальная память. Разделяемые сегменты памяти.
- •14. Страничное распределение. Сегментное распределение. Сегментно-страничное распределение.
- •Сегментное распределение
- •15 Иерархия запоминающих устройств. Кэш-память. Способы отображения основной памяти на кэш. Схемы выполнения запросов в системах с кэш-памятью.
- •16 Задачи ос по управлению файлами и устройствами. Организация параллельной работы устройств ввода-вывода и процессора.
- •17 Согласование скоростей обмена и кэширование данных. Разделение устройств и данных между процессами. Обеспечение удобного логического интерфейса между устройствами и остальной частью системы.
- •18 Поддержка синхронных и асинхронных операций ввода-вывода в ос. Многослойная модель подсистемы ввода - вывода.
- •19. Логическая организация файловой системы. Типы файлов. Иерархическая структура файловой системы. Имена файлов. Монтирование. Атрибуты файлов. Логическая организация файла.
- •Иерархическая файловая система
- •Логическая организация файла
- •20 Физическая организация файловой системы. Диски, разделы, секторы, кластеры. Адресация файла.
- •21 Физическая организация fat.
- •22 Физическая организация ntfs.
- •23 Регистры процессора. Привилегированные команды. Средства поддержки сегментации памяти.
- •24. Аппаратно-программные особенности процессоров. Виртуальное адресное пространство. Защита данных при сегментной организации памяти. Сегментно-страничный механизм.
- •25 Особенности 64-ох разрядной архитектуры процессоров.
- •26) Модель osi. Стек протоколов tcp/ip.
- •27 Пакеты и инкапсуляция. Ethernet-заголовок. IPv4-заголовок. IPv6-заголовок.
- •28 Пакеты и инкапсуляция. Arp-заголовок. Icmp-заголовок.
- •29. Пакеты и инкапсуляция. Udp-заголовок. Tcp-заголовок.
- •30 Сетевые файловые системы. Принципы построения. Интерфейс сетевой файловой службы. Файловые серверы типа stateful и stateless.
- •31 Определение unix. Архитектурные особенности ос unix. Стандарты. Лицензии.
- •32 Различия дистрибутивов Linux.
- •33 Ядро Linux.
- •35) Bash. Команды управления каталогами. Команды управления файлами. Команды chown и chgrp
- •4.6.2. Команда mkdir
- •4.6.3. Команда cat
- •4.6.4. Команда cp
- •36 Bash. Сценарии. Маски
- •37 Компилятор gcc.
- •38 Работа с файлами и директориями в Unix. Функции open, write, read, opendir, scandir.
- •39. Posix. Работа с потоками. Синхронизация потоков при помощи мьютексов и условных переменных.
- •40 Создание и использование статических библиотек.
- •41 Создание и использование динамических библиотек. Раннее и позднее связывание.
- •42 Socket api. Атрибуты сокета. Адреса. Функции для работы с dns. Функции socket, bind, listen, connect, close.
- •43 Socket api. Реализация tcp- сервера и клиента.
- •44 Socket api. Реализация udp- сервера и клиента.
- •45 Socket api. Использование низкоуровневых сокетов Понятие сокета
- •Атрибуты сокета
- •Установка соединения (сервер)
- •Установка соединения (клиент)
- •Обмен данными
- •Закрытие сокета
- •46) Socket api. Неблокирующие сокеты. Пример реализации tcp- сервера.
- •47 OpenSsl. Генерация псевдослучайной последовательности.
- •48 OpenSsl. Шифрование и дешифрование ассиметричных алгоритмов.
- •49.Программирование драйверов в Linux. Виды драйверов. Методы включения драйвера в ядро. Отличие драйверов от обычных приложений. Файлы устройств. Функции драйвера устройства.
- •52 Программирование интерфейсов. Библиотека qt. Структура программы на qt.
32 Различия дистрибутивов Linux.
Дистрибутив Linux (также Линукс-дистрибутив, дистрибутив Линукса) — общее определение операционных систем, использующих ядро Linux, готовых для конечной установки на пользовательское оборудование. Кроме ядра и, собственно, операционной системы, дистрибутивы обычно содержат широкий набор приложений, таких как редакторы документов и таблиц, мультимедиа-проигрыватели, системы для работы с базами данных, и т. д. Поставляемая в рамках дистрибутива операционная система состоит из ядра Linux и, как правило, включает в себя набор библиотек и утилит, выпускаемых в рамках проекта GNU, а также графическую подсистему X Window System. Небольшие дистрибутивы могут и не включать в поставке подсистему X, и, в целях экономии, предлагать альтернативы GNU-утилитам, такие как Busybox, uClibc или dietlibs. В настоящее время существует более шестисот дистрибутивов Linux; более половины из них поддерживаются в актуальном состоянии, что обеспечивается регулярным выпуском обновлений разработчиками дистрибутива.
Поскольку ядро и сопутствующее ему программное обеспечение, в основном, являются открытыми, тот или иной дистрибутив Linux может быть установлен на самый широкий спектр аппаратуры, как-то: домашний компьютер, оборудованный по последнему слову техники, сервер, ноутбук или нетбук, смартфон или планшетный компьютер. Кроме этого, некоторые из дистрибутивов Linux специально предназначены для разворачивания в средах с ограниченными ресурсами (например, в решениях на микроконтроллерах или на очень устаревшем оборудовании для загрузки с дискеты).
Существуют дистрибутивы, разрабатываемые как при коммерческой поддержке (Red Hat / Fedora, SLED / OpenSUSE, Ubuntu), так и исключительно усилиями добровольцев (Debian, Slackware, Gentoo, ArchLinux).
1. В чем различие между основными популярными дистрибутивами Linux?
> Основная разница это система пакетов. (deb, rpm и т.д.) Также под какие архитектуры выпускается дистрибутив. (sl_bug)
> Основные отличия: Менеджер пакетов, набор ПО, настройки по умолчанию.
> еще иногда отличаются способом конфигурации сервисов, стартуемых при загрузке. Пример — /etc/conf.d/net в Gentoo и /etc/network/interfaces в Ubuntu. Также для каждого дистрибутива характерен свой способ задания списка стартуемых при загрузке сервисов. Иногда различаются способом организации самих конфигурационных файлов (один файл или кучка файлов и макрос, их собирающий). (xtreme)
> В пакетной системе, в инсталляторе, в системных скриптах. В версиях ПО и наборе ПО по умолчанию. (Arceny)
33 Ядро Linux.
Ядро линукс - ядро операционной системы, соответствующее стандартам POSIX(portable operating system interface — переносимый интерфейс операционных систем), составляющее основу операционных систем семейства Linux. Код написан в основном на Си с некоторыми расширениями gcc и на ассемблере (с использованием AT&T-синтаксиса GNU Assembler). Распространяется как свободное программное обеспечение. Весь код ядра компилируется в один большой бинарный файл. Всё ядро исполняется в режиме ядра; В режиме ядра выполняются только самые необходимые части, всё остальное — в режиме пользователя; Ядро Linux использует в качестве минимальной единицы памяти страницу. Размер страницы может зависеть от оборудования; Unix-подобных ОС существует только одна файловая система. Она представляет собой дерево директорий, растущее из «корня». Приложениям, в большинстве случаев, не интересно, на каком носителе находятся данные файлов; они могут находиться на жёстком диске, оптическом диске, флеш-носителе или вообще на другом компьютере и другом континенте. Эта абстракция и реализующая её подсистема называется виртуальной файловой системой (VFS).
34.Bash. Добавление ключей. Получение справочной информации. Групповые символы.
BASH —самый популярный командный интерпретатор в юниксоподобных системах, в особенности в GNU/Linux.
Между прочим, ДОБАВЛЕНИЕ КЛЮЧА (как и добавление репозитория) возможно выполнять и в графическом интерфейсе. В частности в программе Synaptic нужно открыть через меню Settings — Preferences окно Software Sources и можно добавить репозитории во вкладке Other Software, а ключи во вкладке Authentication. Это окно можно открыть и отдельно через System — Administration, либо командой gksu software-properties-gtk (или kdesudo software-properties-kde для KDE соответственно)
Это были самые простые случаи, когда сам ключ или способы его добавления даются сразу. А в том случае, когда репозиторий уже добавлен и ключ неизвестно где или просто искать его не хочется, можно добавить ключ, используя его идентификатор. Это тот набор символов, что выдаётся в тексте ошибки (о которой речь была в самом начале).
То есть, чтобы добавить недостающий ключ от стороннего репозитория, нужен этот самый идентификатор и адрес специального защищённого сервера с ключами, откуда его и надо импортировать.
Получение справочной информации
Система UNIX с самого начала ее использования снабжалась богатым комплектом документации. Некоторое количество информации часто находится в каталогах /usr/docили /usr/local/doc в виде текстовых файлов. Традиционной для UNIX'а с момента ее создания является команда man, созданная еще в эпоху телетайп-терминалов и отлично работающая до сих пор на всех видах оборудования, но имеющая определенные ограничения: невозможность использования графических иллюстраций и гипертекстовых ссылок. В рамках GNU-проекта была создана система info, также работающая на всех видах алфавитно-цифровых терминалов, но с поддержкой гипертекста. Для всех GNU-утилит прилагаются соответствующие справочные файлы как в формате man, так и в формате info. Практически каждым коммерческим производителем UNIX-систем была создана собственная система помощи, включавшая как поддержку гипертекстов, так и графику, и работающая под управлением системы X Window. С появлением HTML справочная информация стала предоставляться в этом формате прямо в составе системы или на WWW-серверах компаний производителей.
LINUX
Раздел |
Каталог |
Содержимое |
1 |
/usr/share/man/man 1 |
Команды пользователей |
2 |
/usr/share/man/man2 |
Системные вызовы |
3 |
/usr/share/man/man3 |
Библиотечные функции, подпрограммы |
4 |
/usr/share/man/man4 |
Устройства |
5 |
/usr/share/man/man5 |
Форматы файлов |
6 |
/usr/share/man/man6 |
Игры |
7 |
/usr/share/man/man7 |
Разное |
8 |
/usr/share/man/man8 |
Ядро |
9 |
/usr/share/man/man9 |
Системное администрирование |
n |
/usr/share/man/mann |
Новые |
